mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Compare commits
21 Commits
5bafd32ee1
...
5304
Author | SHA1 | Date | |
---|---|---|---|
|
65b79a64a3 | ||
|
26c0b5e462 | ||
|
d2cd90f03a | ||
|
1f0a21a25e | ||
|
0a489c6ada | ||
|
59a795cb74 | ||
|
8a0d72d88e | ||
|
58ed78eea5 | ||
|
eb36a79857 | ||
|
8beb523991 | ||
|
632c702272 | ||
|
792694178c | ||
|
0bd2c19a20 | ||
|
b095af7f07 | ||
|
f717ff1365 | ||
|
e2ebe99118 | ||
|
92f0b8a971 | ||
|
9e207ab857 | ||
|
e92a530af3 | ||
|
183bef031b | ||
|
318ab1716e |
16
BUILD.gn
16
BUILD.gn
@@ -106,6 +106,7 @@ import("//media/media_options.gni")
|
|||||||
import("//mojo/public/tools/bindings/mojom.gni")
|
import("//mojo/public/tools/bindings/mojom.gni")
|
||||||
import("//ppapi/buildflags/buildflags.gni")
|
import("//ppapi/buildflags/buildflags.gni")
|
||||||
import("//printing/buildflags/buildflags.gni")
|
import("//printing/buildflags/buildflags.gni")
|
||||||
|
import("//rlz/buildflags/buildflags.gni")
|
||||||
import("//testing/test.gni")
|
import("//testing/test.gni")
|
||||||
import("//third_party/icu/config.gni")
|
import("//third_party/icu/config.gni")
|
||||||
import("//third_party/widevine/cdm/widevine.gni")
|
import("//third_party/widevine/cdm/widevine.gni")
|
||||||
@@ -257,6 +258,14 @@ assert(enable_print_preview)
|
|||||||
# Enable support for Widevine CDM.
|
# Enable support for Widevine CDM.
|
||||||
assert(enable_widevine)
|
assert(enable_widevine)
|
||||||
|
|
||||||
|
if (is_mac || is_win) {
|
||||||
|
# Enable Widevine CDM host verification and storage ID.
|
||||||
|
assert(enable_cdm_host_verification)
|
||||||
|
assert(enable_cdm_storage_id)
|
||||||
|
assert(alternate_cdm_storage_id_key != "")
|
||||||
|
assert(enable_rlz)
|
||||||
|
}
|
||||||
|
|
||||||
# Enable Views UI framework.
|
# Enable Views UI framework.
|
||||||
assert(toolkit_views)
|
assert(toolkit_views)
|
||||||
|
|
||||||
@@ -1165,6 +1174,13 @@ source_set("libcef_static") {
|
|||||||
"//ui/wm/public",
|
"//ui/wm/public",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (enable_cdm_host_verification) {
|
||||||
|
sources += [
|
||||||
|
"libcef/common/cdm_host_file_path.cc",
|
||||||
|
"libcef/common/cdm_host_file_path.h",
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -7,5 +7,6 @@
|
|||||||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||||
|
|
||||||
{
|
{
|
||||||
'chromium_checkout': 'refs/tags/107.0.5304.0'
|
'chromium_checkout': 'refs/tags/107.0.5304.122',
|
||||||
|
'depot_tools_checkout': 'e3ed6a8e01'
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@
|
|||||||
// by hand. See the translator.README.txt file in the tools directory for
|
// by hand. See the translator.README.txt file in the tools directory for
|
||||||
// more information.
|
// more information.
|
||||||
//
|
//
|
||||||
// $hash=3ff71283b14972df89a3c4c7c698faf887cef6d0$
|
// $hash=6eed21d200bad5e898dfbe2701ad327cc1e4cc5c$
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_DISPLAY_CAPI_H_
|
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_DISPLAY_CAPI_H_
|
||||||
@@ -140,6 +140,20 @@ CEF_EXPORT size_t cef_display_get_count(void);
|
|||||||
CEF_EXPORT void cef_display_get_alls(size_t* displaysCount,
|
CEF_EXPORT void cef_display_get_alls(size_t* displaysCount,
|
||||||
cef_display_t** displays);
|
cef_display_t** displays);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Convert |point| from DIP screen coordinates to pixel screen coordinates.
|
||||||
|
/// This function is only used on Windows.
|
||||||
|
///
|
||||||
|
CEF_EXPORT cef_point_t
|
||||||
|
cef_display_convert_screen_point_to_pixels(const cef_point_t* point);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Convert |point| from pixel screen coordinates to DIP screen coordinates.
|
||||||
|
/// This function is only used on Windows.
|
||||||
|
///
|
||||||
|
CEF_EXPORT cef_point_t
|
||||||
|
cef_display_convert_screen_point_from_pixels(const cef_point_t* point);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -42,13 +42,13 @@
|
|||||||
// way that may cause binary incompatibility with other builds. The universal
|
// way that may cause binary incompatibility with other builds. The universal
|
||||||
// hash value will change if any platform is affected whereas the platform hash
|
// hash value will change if any platform is affected whereas the platform hash
|
||||||
// values will change only if that particular platform is affected.
|
// values will change only if that particular platform is affected.
|
||||||
#define CEF_API_HASH_UNIVERSAL "44197292401010f8fce5b053733edd8642d01095"
|
#define CEF_API_HASH_UNIVERSAL "a63640eaa583092b069ec9895526b3e9e4932f6a"
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
#define CEF_API_HASH_PLATFORM "95bf7fa1356070be95b7a6fee958355c6619fb63"
|
#define CEF_API_HASH_PLATFORM "510cec552fbcfb4b7d47853ddfccd91f1e4f4c7b"
|
||||||
#elif defined(OS_MAC)
|
#elif defined(OS_MAC)
|
||||||
#define CEF_API_HASH_PLATFORM "8ec5426d7aa0418fca147380e97623a49cd8eaf4"
|
#define CEF_API_HASH_PLATFORM "ad36f5b62d9c4c2100859abb6b5b9fcedf8934ef"
|
||||||
#elif defined(OS_LINUX)
|
#elif defined(OS_LINUX)
|
||||||
#define CEF_API_HASH_PLATFORM "b2cbc2e6a3048d2415566d35ba434967fd796491"
|
#define CEF_API_HASH_PLATFORM "d9657b0023ae05b5b92787b5e7da70893caf15af"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@@ -91,6 +91,20 @@ class CefDisplay : public CefBaseRefCounted {
|
|||||||
/*--cef(count_func=displays:GetDisplayCount)--*/
|
/*--cef(count_func=displays:GetDisplayCount)--*/
|
||||||
static void GetAllDisplays(std::vector<CefRefPtr<CefDisplay>>& displays);
|
static void GetAllDisplays(std::vector<CefRefPtr<CefDisplay>>& displays);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Convert |point| from DIP screen coordinates to pixel screen coordinates.
|
||||||
|
/// This method is only used on Windows.
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
static CefPoint ConvertScreenPointToPixels(const CefPoint& point);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Convert |point| from pixel screen coordinates to DIP screen coordinates.
|
||||||
|
/// This method is only used on Windows.
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
static CefPoint ConvertScreenPointFromPixels(const CefPoint& point);
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Returns the unique identifier for this Display.
|
/// Returns the unique identifier for this Display.
|
||||||
///
|
///
|
||||||
|
@@ -140,6 +140,7 @@
|
|||||||
#include "storage/browser/quota/quota_settings.h"
|
#include "storage/browser/quota/quota_settings.h"
|
||||||
#include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
|
#include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
|
||||||
#include "third_party/blink/public/common/web_preferences/web_preferences.h"
|
#include "third_party/blink/public/common/web_preferences/web_preferences.h"
|
||||||
|
#include "third_party/blink/public/mojom/badging/badging.mojom.h"
|
||||||
#include "third_party/blink/public/mojom/prerender/prerender.mojom.h"
|
#include "third_party/blink/public/mojom/prerender/prerender.mojom.h"
|
||||||
#include "third_party/blink/public/web/web_window_features.h"
|
#include "third_party/blink/public/web/web_window_features.h"
|
||||||
#include "ui/base/l10n/l10n_util.h"
|
#include "ui/base/l10n/l10n_util.h"
|
||||||
@@ -377,6 +378,14 @@ void BindPluginInfoHost(
|
|||||||
std::move(receiver));
|
std::move(receiver));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BindBadgeService(
|
||||||
|
content::RenderFrameHost* frame_host,
|
||||||
|
mojo::PendingReceiver<blink::mojom::BadgeService> receiver) {}
|
||||||
|
|
||||||
|
void BindBadgeServiceForServiceWorker(
|
||||||
|
const content::ServiceWorkerVersionBaseInfo& info,
|
||||||
|
mojo::PendingReceiver<blink::mojom::BadgeService> receiver) {}
|
||||||
|
|
||||||
void BindMediaFoundationRendererNotifierHandler(
|
void BindMediaFoundationRendererNotifierHandler(
|
||||||
content::RenderFrameHost* frame_host,
|
content::RenderFrameHost* frame_host,
|
||||||
mojo::PendingReceiver<media::mojom::MediaFoundationRendererNotifier>
|
mojo::PendingReceiver<media::mojom::MediaFoundationRendererNotifier>
|
||||||
@@ -1331,6 +1340,7 @@ void AlloyContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
|
|||||||
CefBrowserFrame::RegisterBrowserInterfaceBindersForFrame(render_frame_host,
|
CefBrowserFrame::RegisterBrowserInterfaceBindersForFrame(render_frame_host,
|
||||||
map);
|
map);
|
||||||
|
|
||||||
|
map->Add<blink::mojom::BadgeService>(base::BindRepeating(&BindBadgeService));
|
||||||
map->Add<media::mojom::MediaFoundationRendererNotifier>(
|
map->Add<media::mojom::MediaFoundationRendererNotifier>(
|
||||||
base::BindRepeating(&BindMediaFoundationRendererNotifierHandler));
|
base::BindRepeating(&BindMediaFoundationRendererNotifierHandler));
|
||||||
map->Add<network_hints::mojom::NetworkHintsHandler>(
|
map->Add<network_hints::mojom::NetworkHintsHandler>(
|
||||||
@@ -1360,6 +1370,14 @@ void AlloyContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
|
|||||||
extension);
|
extension);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AlloyContentBrowserClient::RegisterBrowserInterfaceBindersForServiceWorker(
|
||||||
|
content::BrowserContext* browser_context,
|
||||||
|
mojo::BinderMapWithContext<const content::ServiceWorkerVersionBaseInfo&>*
|
||||||
|
map) {
|
||||||
|
map->Add<blink::mojom::BadgeService>(
|
||||||
|
base::BindRepeating(&BindBadgeServiceForServiceWorker));
|
||||||
|
}
|
||||||
|
|
||||||
base::FilePath
|
base::FilePath
|
||||||
AlloyContentBrowserClient::GetSandboxedStorageServiceDataDirectory() {
|
AlloyContentBrowserClient::GetSandboxedStorageServiceDataDirectory() {
|
||||||
return GetRootCachePath();
|
return GetRootCachePath();
|
||||||
|
@@ -229,6 +229,10 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
|
|||||||
void RegisterBrowserInterfaceBindersForFrame(
|
void RegisterBrowserInterfaceBindersForFrame(
|
||||||
content::RenderFrameHost* render_frame_host,
|
content::RenderFrameHost* render_frame_host,
|
||||||
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) override;
|
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) override;
|
||||||
|
void RegisterBrowserInterfaceBindersForServiceWorker(
|
||||||
|
content::BrowserContext* browser_context,
|
||||||
|
mojo::BinderMapWithContext<const content::ServiceWorkerVersionBaseInfo&>*
|
||||||
|
map) override;
|
||||||
base::FilePath GetSandboxedStorageServiceDataDirectory() override;
|
base::FilePath GetSandboxedStorageServiceDataDirectory() override;
|
||||||
std::string GetProduct() override;
|
std::string GetProduct() override;
|
||||||
std::string GetChromeProduct() override;
|
std::string GetChromeProduct() override;
|
||||||
|
@@ -75,7 +75,7 @@ class ResolveHostHelper : public network::ResolveHostClientBase {
|
|||||||
host_resolver_->ResolveHost(
|
host_resolver_->ResolveHost(
|
||||||
network::mojom::HostResolverHost::NewHostPortPair(
|
network::mojom::HostResolverHost::NewHostPortPair(
|
||||||
net::HostPortPair::FromURL(GURL(origin.ToString()))),
|
net::HostPortPair::FromURL(GURL(origin.ToString()))),
|
||||||
net::NetworkIsolationKey::CreateTransient(), nullptr,
|
net::NetworkAnonymizationKey::CreateTransient(), nullptr,
|
||||||
receiver_.BindNewPipeAndPassRemote());
|
receiver_.BindNewPipeAndPassRemote());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -51,6 +51,30 @@ void CefDisplay::GetAllDisplays(std::vector<CefRefPtr<CefDisplay>>& displays) {
|
|||||||
displays.push_back(new CefDisplayImpl(vec[i]));
|
displays.push_back(new CefDisplayImpl(vec[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
CefPoint CefDisplay::ConvertScreenPointToPixels(const CefPoint& point) {
|
||||||
|
CEF_REQUIRE_UIT_RETURN(CefPoint());
|
||||||
|
#if BUILDFLAG(IS_WIN)
|
||||||
|
const gfx::Point pix_point =
|
||||||
|
view_util::ConvertPointToPixels(gfx::Point(point.x, point.y));
|
||||||
|
return CefPoint(pix_point.x(), pix_point.y());
|
||||||
|
#else
|
||||||
|
return point;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
CefPoint CefDisplay::ConvertScreenPointFromPixels(const CefPoint& point) {
|
||||||
|
CEF_REQUIRE_UIT_RETURN(CefPoint());
|
||||||
|
#if BUILDFLAG(IS_WIN)
|
||||||
|
const gfx::Point dip_point =
|
||||||
|
view_util::ConvertPointFromPixels(gfx::Point(point.x, point.y));
|
||||||
|
return CefPoint(dip_point.x(), dip_point.y());
|
||||||
|
#else
|
||||||
|
return point;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
CefDisplayImpl::CefDisplayImpl(const display::Display& display)
|
CefDisplayImpl::CefDisplayImpl(const display::Display& display)
|
||||||
: display_(display) {
|
: display_(display) {
|
||||||
CEF_REQUIRE_UIT();
|
CEF_REQUIRE_UIT();
|
||||||
|
@@ -227,6 +227,17 @@ void ConvertPointToPixels(gfx::Point* point, float device_scale_factor) {
|
|||||||
gfx::ScalePoint(gfx::PointF(*point), device_scale_factor));
|
gfx::ScalePoint(gfx::PointF(*point), device_scale_factor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_WIN)
|
||||||
|
gfx::Point ConvertPointFromPixels(const gfx::Point& point) {
|
||||||
|
return gfx::ToFlooredPoint(
|
||||||
|
display::win::ScreenWin::ScreenToDIPPoint(gfx::PointF(point)));
|
||||||
|
}
|
||||||
|
|
||||||
|
gfx::Point ConvertPointToPixels(const gfx::Point& point) {
|
||||||
|
return display::win::ScreenWin::DIPToScreenPoint(point);
|
||||||
|
}
|
||||||
|
#endif // BUILDFLAG(IS_WIN)
|
||||||
|
|
||||||
bool ConvertPointToScreen(views::View* view,
|
bool ConvertPointToScreen(views::View* view,
|
||||||
gfx::Point* point,
|
gfx::Point* point,
|
||||||
bool output_pixel_coords) {
|
bool output_pixel_coords) {
|
||||||
|
@@ -91,6 +91,14 @@ void ConvertPointFromPixels(gfx::Point* point, float device_scale_factor);
|
|||||||
// using |device_scale_factor|.
|
// using |device_scale_factor|.
|
||||||
void ConvertPointToPixels(gfx::Point* point, float device_scale_factor);
|
void ConvertPointToPixels(gfx::Point* point, float device_scale_factor);
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_WIN)
|
||||||
|
// Convert |point| from pixel screen coordinates to DIP screen coordinates.
|
||||||
|
gfx::Point ConvertPointFromPixels(const gfx::Point& point);
|
||||||
|
|
||||||
|
// Convert |point| from DIP screen coordinates to pixel screen coordinates.
|
||||||
|
gfx::Point ConvertPointToPixels(const gfx::Point& point);
|
||||||
|
#endif // BUILDFLAG(IS_WIN)
|
||||||
|
|
||||||
// Convert |point| from |view| to screen coordinates. If |output_pixel_coords|
|
// Convert |point| from |view| to screen coordinates. If |output_pixel_coords|
|
||||||
// is true then |point| will be output in pixel coordinates instead of density
|
// is true then |point| will be output in pixel coordinates instead of density
|
||||||
// independent pixels (DIP). Returns false if |view| does not currently belong
|
// independent pixels (DIP). Returns false if |view| does not currently belong
|
||||||
|
@@ -39,7 +39,7 @@
|
|||||||
#include "ui/base/resource/resource_bundle.h"
|
#include "ui/base/resource/resource_bundle.h"
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_CDM_HOST_VERIFICATION)
|
#if BUILDFLAG(ENABLE_CDM_HOST_VERIFICATION)
|
||||||
#include "chrome/common/media/cdm_host_file_path.h"
|
#include "libcef/common/cdm_host_file_path.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@@ -92,7 +92,7 @@ void AlloyContentClient::AddContentDecryptionModules(
|
|||||||
|
|
||||||
#if BUILDFLAG(ENABLE_CDM_HOST_VERIFICATION)
|
#if BUILDFLAG(ENABLE_CDM_HOST_VERIFICATION)
|
||||||
if (cdm_host_file_paths)
|
if (cdm_host_file_paths)
|
||||||
AddCdmHostFilePaths(cdm_host_file_paths);
|
cef::AddCdmHostFilePaths(cdm_host_file_paths);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
119
libcef/common/cdm_host_file_path.cc
Normal file
119
libcef/common/cdm_host_file_path.cc
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
// Copyright 2022 The Chromium Embedded Framework Authors. Portions Copyright
|
||||||
|
// 2017 The Chromium Authors. Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#include "libcef/common/cdm_host_file_path.h"
|
||||||
|
|
||||||
|
#include "base/check.h"
|
||||||
|
#include "base/files/file_path.h"
|
||||||
|
#include "base/files/file_util.h"
|
||||||
|
#include "base/logging.h"
|
||||||
|
#include "base/notreached.h"
|
||||||
|
#include "base/path_service.h"
|
||||||
|
#include "build/build_config.h"
|
||||||
|
#include "chrome/common/chrome_constants.h"
|
||||||
|
#include "chrome/common/chrome_version.h"
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_MAC)
|
||||||
|
#include "libcef/common/util_mac.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace cef {
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
// TODO(xhwang): Move this to a common place if needed.
|
||||||
|
const base::FilePath::CharType kSignatureFileExtension[] =
|
||||||
|
FILE_PATH_LITERAL(".sig");
|
||||||
|
|
||||||
|
// Returns the signature file path given the |file_path|. This function should
|
||||||
|
// only be used when the signature file and the file are located in the same
|
||||||
|
// directory.
|
||||||
|
base::FilePath GetSigFilePath(const base::FilePath& file_path) {
|
||||||
|
return file_path.AddExtension(kSignatureFileExtension);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FileExists(const base::FilePath& path) {
|
||||||
|
return base::PathExists(path) && !base::DirectoryExists(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
void AddCdmHostFilePaths(
|
||||||
|
std::vector<media::CdmHostFilePath>* cdm_host_file_paths) {
|
||||||
|
DVLOG(1) << __func__;
|
||||||
|
DCHECK(cdm_host_file_paths);
|
||||||
|
DCHECK(cdm_host_file_paths->empty());
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_WIN)
|
||||||
|
|
||||||
|
// Find the full path to the current executable.
|
||||||
|
base::FilePath cef_exe;
|
||||||
|
CHECK(base::PathService::Get(base::FILE_EXE, &cef_exe));
|
||||||
|
const auto cef_exe_sig = GetSigFilePath(cef_exe);
|
||||||
|
DVLOG(2) << __func__ << ": exe_path=" << cef_exe.value()
|
||||||
|
<< ", signature_path=" << cef_exe_sig.value();
|
||||||
|
|
||||||
|
if (FileExists(cef_exe_sig)) {
|
||||||
|
cdm_host_file_paths->emplace_back(cef_exe, cef_exe_sig);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the full path to the module. This may be the same as the executable if
|
||||||
|
// libcef is statically linked.
|
||||||
|
base::FilePath cef_module;
|
||||||
|
CHECK(base::PathService::Get(base::FILE_MODULE, &cef_module));
|
||||||
|
if (cef_module != cef_exe) {
|
||||||
|
const auto cef_module_sig = GetSigFilePath(cef_module);
|
||||||
|
DVLOG(2) << __func__ << ": module_path=" << cef_module.value()
|
||||||
|
<< ", signature_path=" << cef_module_sig.value();
|
||||||
|
|
||||||
|
if (FileExists(cef_module_sig)) {
|
||||||
|
cdm_host_file_paths->emplace_back(cef_module, cef_module_sig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif BUILDFLAG(IS_MAC)
|
||||||
|
|
||||||
|
// Find the full path to the current executable.
|
||||||
|
base::FilePath cef_exe;
|
||||||
|
CHECK(base::PathService::Get(base::FILE_EXE, &cef_exe));
|
||||||
|
|
||||||
|
// Find the sig file for the executable in the main Resources directory. This
|
||||||
|
// directory may be empty if we're not bundled.
|
||||||
|
const auto main_resources_path = util_mac::GetMainResourcesDirectory();
|
||||||
|
if (!main_resources_path.empty()) {
|
||||||
|
const auto exe_name = cef_exe.BaseName();
|
||||||
|
const auto exe_sig_path =
|
||||||
|
GetSigFilePath(main_resources_path.Append(exe_name));
|
||||||
|
|
||||||
|
DVLOG(2) << __func__ << ": exe_path=" << cef_exe.value()
|
||||||
|
<< ", signature_path=" << exe_sig_path.value();
|
||||||
|
|
||||||
|
if (FileExists(exe_sig_path)) {
|
||||||
|
cdm_host_file_paths->emplace_back(cef_exe, exe_sig_path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the sig file for the framework in the framework Resources directory.
|
||||||
|
// This directory may be empty if we're not bundled.
|
||||||
|
const auto framework_resources_path =
|
||||||
|
util_mac::GetFrameworkResourcesDirectory();
|
||||||
|
if (!framework_resources_path.empty()) {
|
||||||
|
const auto framework_name = util_mac::GetFrameworkName();
|
||||||
|
const auto framework_path =
|
||||||
|
util_mac::GetFrameworkDirectory().Append(framework_name);
|
||||||
|
const auto framework_sig_path =
|
||||||
|
GetSigFilePath(framework_resources_path.Append(framework_name));
|
||||||
|
|
||||||
|
DVLOG(2) << __func__ << ": framework_path=" << framework_path.value()
|
||||||
|
<< ", signature_path=" << framework_sig_path.value();
|
||||||
|
|
||||||
|
if (FileExists(framework_sig_path)) {
|
||||||
|
cdm_host_file_paths->emplace_back(framework_path, framework_sig_path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // !BUILDFLAG(IS_MAC)
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace cef
|
20
libcef/common/cdm_host_file_path.h
Normal file
20
libcef/common/cdm_host_file_path.h
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
// Copyright 2022 The Chromium Embedded Framework Authors. Portions Copyright
|
||||||
|
// 2017 The Chromium Authors. Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef CEF_LIBCEF_COMMON_CDM_HOST_FILE_PATH_H_
|
||||||
|
#define CEF_LIBCEF_COMMON_CDM_HOST_FILE_PATH_H_
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "media/cdm/cdm_host_file.h"
|
||||||
|
|
||||||
|
namespace cef {
|
||||||
|
|
||||||
|
// Gets a list of CDM host file paths and put them in |cdm_host_file_paths|.
|
||||||
|
void AddCdmHostFilePaths(
|
||||||
|
std::vector<media::CdmHostFilePath>* cdm_host_file_paths);
|
||||||
|
|
||||||
|
} // namespace cef
|
||||||
|
|
||||||
|
#endif // CEF_LIBCEF_COMMON_CDM_HOST_FILE_PATH_H_
|
@@ -7,9 +7,27 @@
|
|||||||
|
|
||||||
#include "libcef/common/app_manager.h"
|
#include "libcef/common/app_manager.h"
|
||||||
|
|
||||||
|
#include "chrome/common/media/cdm_registration.h"
|
||||||
|
|
||||||
|
#if BUILDFLAG(ENABLE_CDM_HOST_VERIFICATION)
|
||||||
|
#include "libcef/common/cdm_host_file_path.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
ChromeContentClientCef::ChromeContentClientCef() = default;
|
ChromeContentClientCef::ChromeContentClientCef() = default;
|
||||||
ChromeContentClientCef::~ChromeContentClientCef() = default;
|
ChromeContentClientCef::~ChromeContentClientCef() = default;
|
||||||
|
|
||||||
|
void ChromeContentClientCef::AddContentDecryptionModules(
|
||||||
|
std::vector<content::CdmInfo>* cdms,
|
||||||
|
std::vector<media::CdmHostFilePath>* cdm_host_file_paths) {
|
||||||
|
if (cdms)
|
||||||
|
RegisterCdmInfo(cdms);
|
||||||
|
|
||||||
|
#if BUILDFLAG(ENABLE_CDM_HOST_VERIFICATION)
|
||||||
|
if (cdm_host_file_paths)
|
||||||
|
cef::AddCdmHostFilePaths(cdm_host_file_paths);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void ChromeContentClientCef::AddAdditionalSchemes(Schemes* schemes) {
|
void ChromeContentClientCef::AddAdditionalSchemes(Schemes* schemes) {
|
||||||
ChromeContentClient::AddAdditionalSchemes(schemes);
|
ChromeContentClient::AddAdditionalSchemes(schemes);
|
||||||
CefAppManager::Get()->AddAdditionalSchemes(schemes);
|
CefAppManager::Get()->AddAdditionalSchemes(schemes);
|
||||||
|
@@ -14,6 +14,9 @@ class ChromeContentClientCef : public ChromeContentClient {
|
|||||||
~ChromeContentClientCef() override;
|
~ChromeContentClientCef() override;
|
||||||
|
|
||||||
// content::ContentClient overrides.
|
// content::ContentClient overrides.
|
||||||
|
void AddContentDecryptionModules(
|
||||||
|
std::vector<content::CdmInfo>* cdms,
|
||||||
|
std::vector<media::CdmHostFilePath>* cdm_host_file_paths) override;
|
||||||
void AddAdditionalSchemes(Schemes* schemes) override;
|
void AddAdditionalSchemes(Schemes* schemes) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -8,15 +8,16 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace base {
|
#include "base/files/file_path.h"
|
||||||
class FilePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace util_mac {
|
namespace util_mac {
|
||||||
|
|
||||||
// Returns the path to the NSLibraryDirectory (e.g. "~/Library").
|
// Returns the path to the NSLibraryDirectory (e.g. "~/Library").
|
||||||
bool GetLocalLibraryDirectory(base::FilePath* result);
|
bool GetLocalLibraryDirectory(base::FilePath* result);
|
||||||
|
|
||||||
|
// Returns the framework name (e.g. "Chromium Embedded Framework").
|
||||||
|
base::FilePath::StringType GetFrameworkName();
|
||||||
|
|
||||||
// Returns the path to the CEF framework directory inside the top-level app
|
// Returns the path to the CEF framework directory inside the top-level app
|
||||||
// bundle (e.g. "myapp.app/Contents/Frameworks/Chromium Embedded
|
// bundle (e.g. "myapp.app/Contents/Frameworks/Chromium Embedded
|
||||||
// Framework.framework"). May return an empty value if not running in an app
|
// Framework.framework"). May return an empty value if not running in an app
|
||||||
|
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
#include "base/base_paths.h"
|
#include "base/base_paths.h"
|
||||||
#include "base/command_line.h"
|
#include "base/command_line.h"
|
||||||
#include "base/files/file_path.h"
|
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
#include "base/mac/bundle_locations.h"
|
#include "base/mac/bundle_locations.h"
|
||||||
#include "base/mac/foundation_util.h"
|
#include "base/mac/foundation_util.h"
|
||||||
@@ -72,6 +71,10 @@ bool GetLocalLibraryDirectory(base::FilePath* result) {
|
|||||||
return base::mac::GetLocalDirectory(NSLibraryDirectory, result);
|
return base::mac::GetLocalDirectory(NSLibraryDirectory, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
base::FilePath::StringType GetFrameworkName() {
|
||||||
|
return FILE_PATH_LITERAL("Chromium Embedded Framework");
|
||||||
|
}
|
||||||
|
|
||||||
base::FilePath GetFrameworkDirectory() {
|
base::FilePath GetFrameworkDirectory() {
|
||||||
base::FilePath frameworks_path =
|
base::FilePath frameworks_path =
|
||||||
base::CommandLine::ForCurrentProcess()->GetSwitchValuePath(
|
base::CommandLine::ForCurrentProcess()->GetSwitchValuePath(
|
||||||
@@ -83,8 +86,8 @@ base::FilePath GetFrameworkDirectory() {
|
|||||||
if (frameworks_path.empty())
|
if (frameworks_path.empty())
|
||||||
return base::FilePath();
|
return base::FilePath();
|
||||||
|
|
||||||
return frameworks_path.Append(
|
return frameworks_path.Append(GetFrameworkName())
|
||||||
FILE_PATH_LITERAL("Chromium Embedded Framework.framework"));
|
.AddExtension(FILE_PATH_LITERAL(".framework"));
|
||||||
}
|
}
|
||||||
|
|
||||||
base::FilePath GetFrameworkResourcesDirectory() {
|
base::FilePath GetFrameworkResourcesDirectory() {
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
// implementations. See the translator.README.txt file in the tools directory
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
// for more information.
|
// for more information.
|
||||||
//
|
//
|
||||||
// $hash=546b8f890852fb4df26a85aec6b83effe1bdc6e6$
|
// $hash=5e68fdaae42fe008a95bcf2672debe3cf04fa2ff$
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "libcef_dll/cpptoc/views/display_cpptoc.h"
|
#include "libcef_dll/cpptoc/views/display_cpptoc.h"
|
||||||
@@ -121,6 +121,48 @@ CEF_EXPORT void cef_display_get_alls(size_t* displaysCount,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CEF_EXPORT cef_point_t
|
||||||
|
cef_display_convert_screen_point_to_pixels(const cef_point_t* point) {
|
||||||
|
shutdown_checker::AssertNotShutdown();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Verify param: point; type: simple_byref_const
|
||||||
|
DCHECK(point);
|
||||||
|
if (!point)
|
||||||
|
return CefPoint();
|
||||||
|
|
||||||
|
// Translate param: point; type: simple_byref_const
|
||||||
|
CefPoint pointVal = point ? *point : CefPoint();
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_point_t _retval = CefDisplay::ConvertScreenPointToPixels(pointVal);
|
||||||
|
|
||||||
|
// Return type: simple
|
||||||
|
return _retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
CEF_EXPORT cef_point_t
|
||||||
|
cef_display_convert_screen_point_from_pixels(const cef_point_t* point) {
|
||||||
|
shutdown_checker::AssertNotShutdown();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Verify param: point; type: simple_byref_const
|
||||||
|
DCHECK(point);
|
||||||
|
if (!point)
|
||||||
|
return CefPoint();
|
||||||
|
|
||||||
|
// Translate param: point; type: simple_byref_const
|
||||||
|
CefPoint pointVal = point ? *point : CefPoint();
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_point_t _retval = CefDisplay::ConvertScreenPointFromPixels(pointVal);
|
||||||
|
|
||||||
|
// Return type: simple
|
||||||
|
return _retval;
|
||||||
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
// implementations. See the translator.README.txt file in the tools directory
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
// for more information.
|
// for more information.
|
||||||
//
|
//
|
||||||
// $hash=ba41b36a0cdd335f2a964665576aaf50d8be9c55$
|
// $hash=afef323719b977c74bb86d015ad1b0f5c253c3ba$
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "libcef_dll/ctocpp/views/display_ctocpp.h"
|
#include "libcef_dll/ctocpp/views/display_ctocpp.h"
|
||||||
@@ -110,6 +110,32 @@ void CefDisplay::GetAllDisplays(std::vector<CefRefPtr<CefDisplay>>& displays) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NO_SANITIZE("cfi-icall")
|
||||||
|
CefPoint CefDisplay::ConvertScreenPointToPixels(const CefPoint& point) {
|
||||||
|
shutdown_checker::AssertNotShutdown();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_point_t _retval = cef_display_convert_screen_point_to_pixels(&point);
|
||||||
|
|
||||||
|
// Return type: simple
|
||||||
|
return _retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
NO_SANITIZE("cfi-icall")
|
||||||
|
CefPoint CefDisplay::ConvertScreenPointFromPixels(const CefPoint& point) {
|
||||||
|
shutdown_checker::AssertNotShutdown();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_point_t _retval = cef_display_convert_screen_point_from_pixels(&point);
|
||||||
|
|
||||||
|
// Return type: simple
|
||||||
|
return _retval;
|
||||||
|
}
|
||||||
|
|
||||||
// VIRTUAL METHODS - Body may be edited by hand.
|
// VIRTUAL METHODS - Body may be edited by hand.
|
||||||
|
|
||||||
NO_SANITIZE("cfi-icall") int64 CefDisplayCToCpp::GetID() {
|
NO_SANITIZE("cfi-icall") int64 CefDisplayCToCpp::GetID() {
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
// implementations. See the translator.README.txt file in the tools directory
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
// for more information.
|
// for more information.
|
||||||
//
|
//
|
||||||
// $hash=93d56886080f7dc864034a17ce1f794198b14259$
|
// $hash=7e9918c2136d28088af105cb6678fe13b42ce5c0$
|
||||||
//
|
//
|
||||||
|
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
@@ -232,6 +232,10 @@ struct libcef_pointers {
|
|||||||
decltype(&cef_display_get_matching_bounds) cef_display_get_matching_bounds;
|
decltype(&cef_display_get_matching_bounds) cef_display_get_matching_bounds;
|
||||||
decltype(&cef_display_get_count) cef_display_get_count;
|
decltype(&cef_display_get_count) cef_display_get_count;
|
||||||
decltype(&cef_display_get_alls) cef_display_get_alls;
|
decltype(&cef_display_get_alls) cef_display_get_alls;
|
||||||
|
decltype(&cef_display_convert_screen_point_to_pixels)
|
||||||
|
cef_display_convert_screen_point_to_pixels;
|
||||||
|
decltype(&cef_display_convert_screen_point_from_pixels)
|
||||||
|
cef_display_convert_screen_point_from_pixels;
|
||||||
decltype(&cef_label_button_create) cef_label_button_create;
|
decltype(&cef_label_button_create) cef_label_button_create;
|
||||||
decltype(&cef_menu_button_create) cef_menu_button_create;
|
decltype(&cef_menu_button_create) cef_menu_button_create;
|
||||||
decltype(&cef_panel_create) cef_panel_create;
|
decltype(&cef_panel_create) cef_panel_create;
|
||||||
@@ -441,6 +445,8 @@ int libcef_init_pointers(const char* path) {
|
|||||||
INIT_ENTRY(cef_display_get_matching_bounds);
|
INIT_ENTRY(cef_display_get_matching_bounds);
|
||||||
INIT_ENTRY(cef_display_get_count);
|
INIT_ENTRY(cef_display_get_count);
|
||||||
INIT_ENTRY(cef_display_get_alls);
|
INIT_ENTRY(cef_display_get_alls);
|
||||||
|
INIT_ENTRY(cef_display_convert_screen_point_to_pixels);
|
||||||
|
INIT_ENTRY(cef_display_convert_screen_point_from_pixels);
|
||||||
INIT_ENTRY(cef_label_button_create);
|
INIT_ENTRY(cef_label_button_create);
|
||||||
INIT_ENTRY(cef_menu_button_create);
|
INIT_ENTRY(cef_menu_button_create);
|
||||||
INIT_ENTRY(cef_panel_create);
|
INIT_ENTRY(cef_panel_create);
|
||||||
@@ -1257,6 +1263,18 @@ void cef_display_get_alls(size_t* displaysCount,
|
|||||||
g_libcef_pointers.cef_display_get_alls(displaysCount, displays);
|
g_libcef_pointers.cef_display_get_alls(displaysCount, displays);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NO_SANITIZE("cfi-icall")
|
||||||
|
cef_point_t cef_display_convert_screen_point_to_pixels(
|
||||||
|
const cef_point_t* point) {
|
||||||
|
return g_libcef_pointers.cef_display_convert_screen_point_to_pixels(point);
|
||||||
|
}
|
||||||
|
|
||||||
|
NO_SANITIZE("cfi-icall")
|
||||||
|
cef_point_t cef_display_convert_screen_point_from_pixels(
|
||||||
|
const cef_point_t* point) {
|
||||||
|
return g_libcef_pointers.cef_display_convert_screen_point_from_pixels(point);
|
||||||
|
}
|
||||||
|
|
||||||
NO_SANITIZE("cfi-icall")
|
NO_SANITIZE("cfi-icall")
|
||||||
struct _cef_label_button_t* cef_label_button_create(
|
struct _cef_label_button_t* cef_label_button_create(
|
||||||
struct _cef_button_delegate_t* delegate,
|
struct _cef_button_delegate_t* delegate,
|
||||||
|
@@ -118,6 +118,9 @@ patches = [
|
|||||||
# Allow override of RWHVBase::GetNewScreenInfosForUpdate() which is now
|
# Allow override of RWHVBase::GetNewScreenInfosForUpdate() which is now
|
||||||
# required due to https://crrev.com/96938eb36e in order to use
|
# required due to https://crrev.com/96938eb36e in order to use
|
||||||
# RWHVBase::UpdateScreenInfo() with OSR.
|
# RWHVBase::UpdateScreenInfo() with OSR.
|
||||||
|
#
|
||||||
|
# Windows: Fix 1px gap with maximized frameless windows on Win11.
|
||||||
|
# https://bitbucket.org/chromiumembedded/cef/issues/3414
|
||||||
'name': 'views_widget',
|
'name': 'views_widget',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -608,5 +611,10 @@ patches = [
|
|||||||
# chrome/browser/devtools/protocol/page_handler.cc.
|
# chrome/browser/devtools/protocol/page_handler.cc.
|
||||||
# https://bugs.chromium.org/p/chromium/issues/detail?id=1366011
|
# https://bugs.chromium.org/p/chromium/issues/detail?id=1366011
|
||||||
'name': 'chrome_browser_devtools_1366011'
|
'name': 'chrome_browser_devtools_1366011'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
# Support GN configuration of enable_rlz (see issue #3404).
|
||||||
|
# https://chromium-review.googlesource.com/c/chromium/src/+/3934411
|
||||||
|
'name': 'rlz_3934411'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -20,10 +20,10 @@ index 18c138c21a853..554e22458da45 100644
|
|||||||
|
|
||||||
// TODO(wjmaclean): We should update the ProcessLock comparison API
|
// TODO(wjmaclean): We should update the ProcessLock comparison API
|
||||||
diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc
|
diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc
|
||||||
index fe59047aca94b..a2b6583dba0b5 100644
|
index cb4c320c7f020..dedfabddad297 100644
|
||||||
--- content/browser/renderer_host/navigation_request.cc
|
--- content/browser/renderer_host/navigation_request.cc
|
||||||
+++ content/browser/renderer_host/navigation_request.cc
|
+++ content/browser/renderer_host/navigation_request.cc
|
||||||
@@ -6542,6 +6542,14 @@ std::pair<url::Origin, std::string> NavigationRequest::
|
@@ -6554,6 +6554,14 @@ std::pair<url::Origin, std::string> NavigationRequest::
|
||||||
origin_and_debug_info.second += ", error";
|
origin_and_debug_info.second += ", error";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ index fe59047aca94b..a2b6583dba0b5 100644
|
|||||||
if (use_opaque_origin) {
|
if (use_opaque_origin) {
|
||||||
origin_and_debug_info =
|
origin_and_debug_info =
|
||||||
std::make_pair(origin_and_debug_info.first.DeriveNewOpaqueOrigin(),
|
std::make_pair(origin_and_debug_info.first.DeriveNewOpaqueOrigin(),
|
||||||
@@ -6569,6 +6577,15 @@ std::pair<url::Origin, std::string> NavigationRequest::
|
@@ -6581,6 +6589,15 @@ std::pair<url::Origin, std::string> NavigationRequest::
|
||||||
GetOriginForURLLoaderFactoryWithoutFinalFrameHostWithDebugInfo(
|
GetOriginForURLLoaderFactoryWithoutFinalFrameHostWithDebugInfo(
|
||||||
SandboxFlagsToCommit());
|
SandboxFlagsToCommit());
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
||||||
index a094aa41ec525..8f3fa35fe40bb 100644
|
index e54bbc810767f..978fed0f3e071 100644
|
||||||
--- build/config/compiler/BUILD.gn
|
--- build/config/compiler/BUILD.gn
|
||||||
+++ build/config/compiler/BUILD.gn
|
+++ build/config/compiler/BUILD.gn
|
||||||
@@ -1840,8 +1840,6 @@ config("thin_archive") {
|
@@ -1844,8 +1844,6 @@ config("thin_archive") {
|
||||||
# confuses lldb.
|
# confuses lldb.
|
||||||
if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
|
if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
|
||||||
arflags = [ "-T" ]
|
arflags = [ "-T" ]
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
|
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
|
||||||
index 073ded4a9482b..55edbcad5b2a3 100644
|
index 8a745f6c29c0d..925acef4d38bb 100644
|
||||||
--- chrome/browser/BUILD.gn
|
--- chrome/browser/BUILD.gn
|
||||||
+++ chrome/browser/BUILD.gn
|
+++ chrome/browser/BUILD.gn
|
||||||
@@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni")
|
@@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni")
|
||||||
@@ -10,7 +10,7 @@ index 073ded4a9482b..55edbcad5b2a3 100644
|
|||||||
import("//chrome/browser/buildflags.gni")
|
import("//chrome/browser/buildflags.gni")
|
||||||
import("//chrome/browser/downgrade/buildflags.gni")
|
import("//chrome/browser/downgrade/buildflags.gni")
|
||||||
import("//chrome/common/features.gni")
|
import("//chrome/common/features.gni")
|
||||||
@@ -1974,6 +1975,7 @@ static_library("browser") {
|
@@ -1976,6 +1977,7 @@ static_library("browser") {
|
||||||
"//build/config/chromebox_for_meetings:buildflags",
|
"//build/config/chromebox_for_meetings:buildflags",
|
||||||
"//build/config/compiler:compiler_buildflags",
|
"//build/config/compiler:compiler_buildflags",
|
||||||
"//cc",
|
"//cc",
|
||||||
@@ -18,7 +18,7 @@ index 073ded4a9482b..55edbcad5b2a3 100644
|
|||||||
"//chrome:extra_resources",
|
"//chrome:extra_resources",
|
||||||
"//chrome:resources",
|
"//chrome:resources",
|
||||||
"//chrome:strings",
|
"//chrome:strings",
|
||||||
@@ -2520,6 +2522,10 @@ static_library("browser") {
|
@@ -2523,6 +2525,10 @@ static_library("browser") {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ index 073ded4a9482b..55edbcad5b2a3 100644
|
|||||||
if (is_android) {
|
if (is_android) {
|
||||||
sources += [
|
sources += [
|
||||||
"after_startup_task_utils_android.cc",
|
"after_startup_task_utils_android.cc",
|
||||||
@@ -6349,8 +6355,6 @@ static_library("browser") {
|
@@ -6352,8 +6358,6 @@ static_library("browser") {
|
||||||
sources += [
|
sources += [
|
||||||
"enterprise/chrome_browser_main_extra_parts_enterprise.cc",
|
"enterprise/chrome_browser_main_extra_parts_enterprise.cc",
|
||||||
"enterprise/chrome_browser_main_extra_parts_enterprise.h",
|
"enterprise/chrome_browser_main_extra_parts_enterprise.h",
|
||||||
|
@@ -13,7 +13,7 @@ index af62c19be9db6..d58f033cffecc 100644
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
|
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
|
||||||
index 7b4b0ed936514..8949125070a54 100644
|
index 14d4783802ca6..4f9edb0b96d98 100644
|
||||||
--- chrome/browser/ui/BUILD.gn
|
--- chrome/browser/ui/BUILD.gn
|
||||||
+++ chrome/browser/ui/BUILD.gn
|
+++ chrome/browser/ui/BUILD.gn
|
||||||
@@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni")
|
@@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni")
|
||||||
@@ -43,7 +43,7 @@ index 7b4b0ed936514..8949125070a54 100644
|
|||||||
"//chrome:extra_resources",
|
"//chrome:extra_resources",
|
||||||
"//chrome:resources",
|
"//chrome:resources",
|
||||||
"//chrome:strings",
|
"//chrome:strings",
|
||||||
@@ -5665,6 +5671,7 @@ static_library("ui") {
|
@@ -5674,6 +5680,7 @@ static_library("ui") {
|
||||||
if (enable_basic_printing) {
|
if (enable_basic_printing) {
|
||||||
deps += [
|
deps += [
|
||||||
"//components/printing/browser",
|
"//components/printing/browser",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
||||||
index d1244c71932df..fab3cb730f084 100644
|
index f4d0d93510f26..e1ccee6851a04 100644
|
||||||
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
||||||
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
||||||
@@ -310,6 +310,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
|
@@ -310,6 +310,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
|
||||||
@@ -42,7 +42,7 @@ index d1244c71932df..fab3cb730f084 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
RenderViewContextMenu::~RenderViewContextMenu() = default;
|
RenderViewContextMenu::~RenderViewContextMenu() = default;
|
||||||
@@ -1160,6 +1179,12 @@ void RenderViewContextMenu::InitMenu() {
|
@@ -1165,6 +1184,12 @@ void RenderViewContextMenu::InitMenu() {
|
||||||
// menu, meaning that each menu item added/removed in this function will cause
|
// menu, meaning that each menu item added/removed in this function will cause
|
||||||
// it to visibly jump on the screen (see b/173569669).
|
// it to visibly jump on the screen (see b/173569669).
|
||||||
AppendQuickAnswersItems();
|
AppendQuickAnswersItems();
|
||||||
@@ -55,7 +55,7 @@ index d1244c71932df..fab3cb730f084 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
Profile* RenderViewContextMenu::GetProfile() const {
|
Profile* RenderViewContextMenu::GetProfile() const {
|
||||||
@@ -3015,6 +3040,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
|
@@ -3020,6 +3045,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
|
||||||
execute_plugin_action_callback_ = std::move(cb);
|
execute_plugin_action_callback_ = std::move(cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ index d1244c71932df..fab3cb730f084 100644
|
|||||||
RenderViewContextMenu::GetHandlersForLinkUrl() {
|
RenderViewContextMenu::GetHandlersForLinkUrl() {
|
||||||
custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers =
|
custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers =
|
||||||
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h
|
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h
|
||||||
index 0156137c2853a..ad27c7920e6e7 100644
|
index 1963c6ed3776d..d302dc4f05bdd 100644
|
||||||
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
|
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
|
||||||
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
|
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
|
||||||
@@ -127,6 +127,12 @@ class RenderViewContextMenu
|
@@ -127,6 +127,12 @@ class RenderViewContextMenu
|
||||||
@@ -85,7 +85,7 @@ index 0156137c2853a..ad27c7920e6e7 100644
|
|||||||
protected:
|
protected:
|
||||||
Profile* GetProfile() const;
|
Profile* GetProfile() const;
|
||||||
|
|
||||||
@@ -356,6 +362,9 @@ class RenderViewContextMenu
|
@@ -357,6 +363,9 @@ class RenderViewContextMenu
|
||||||
// built.
|
// built.
|
||||||
bool is_protocol_submenu_valid_ = false;
|
bool is_protocol_submenu_valid_ = false;
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc
|
diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc
|
||||||
index ab0022f97fd3a..0632f7b4d966d 100644
|
index ab0022f97fd3a..4f27ddec84153 100644
|
||||||
--- chrome/browser/file_select_helper.cc
|
--- chrome/browser/file_select_helper.cc
|
||||||
+++ chrome/browser/file_select_helper.cc
|
+++ chrome/browser/file_select_helper.cc
|
||||||
@@ -20,6 +20,7 @@
|
@@ -20,6 +20,7 @@
|
||||||
@@ -24,7 +24,20 @@ index ab0022f97fd3a..0632f7b4d966d 100644
|
|||||||
ShowFolderUploadConfirmationDialog(
|
ShowFolderUploadConfirmationDialog(
|
||||||
path,
|
path,
|
||||||
base::BindOnce(&FileSelectHelper::ConvertToFileChooserFileInfoList, this),
|
base::BindOnce(&FileSelectHelper::ConvertToFileChooserFileInfoList, this),
|
||||||
@@ -480,7 +488,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() {
|
@@ -367,6 +375,12 @@ void FileSelectHelper::PerformContentAnalysisIfNeeded(
|
||||||
|
if (AbortIfWebContentsDestroyed())
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ // Don't trigger creation of a AccountConsistencyModeManager (see issue #3401)
|
||||||
|
+ if (cef::IsAlloyRuntimeEnabled()) {
|
||||||
|
+ NotifyListenerAndEnd(std::move(list));
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
#if BUILDFLAG(FULL_SAFE_BROWSING)
|
||||||
|
enterprise_connectors::ContentAnalysisDelegate::Data data;
|
||||||
|
if (enterprise_connectors::ContentAnalysisDelegate::IsEnabled(
|
||||||
|
@@ -480,7 +494,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() {
|
||||||
|
|
||||||
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo>
|
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo>
|
||||||
FileSelectHelper::GetFileTypesFromAcceptType(
|
FileSelectHelper::GetFileTypesFromAcceptType(
|
||||||
@@ -34,7 +47,7 @@ index ab0022f97fd3a..0632f7b4d966d 100644
|
|||||||
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo> base_file_type(
|
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo> base_file_type(
|
||||||
new ui::SelectFileDialog::FileTypeInfo());
|
new ui::SelectFileDialog::FileTypeInfo());
|
||||||
if (accept_types.empty())
|
if (accept_types.empty())
|
||||||
@@ -494,17 +503,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
@@ -494,17 +509,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||||
std::vector<base::FilePath::StringType>* extensions =
|
std::vector<base::FilePath::StringType>* extensions =
|
||||||
&file_type->extensions.back();
|
&file_type->extensions.back();
|
||||||
|
|
||||||
@@ -60,7 +73,7 @@ index ab0022f97fd3a..0632f7b4d966d 100644
|
|||||||
} else {
|
} else {
|
||||||
if (!base::IsStringASCII(accept_type))
|
if (!base::IsStringASCII(accept_type))
|
||||||
continue;
|
continue;
|
||||||
@@ -515,10 +531,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
@@ -515,10 +537,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||||
description_id = IDS_AUDIO_FILES;
|
description_id = IDS_AUDIO_FILES;
|
||||||
else if (ascii_type == "video/*")
|
else if (ascii_type == "video/*")
|
||||||
description_id = IDS_VIDEO_FILES;
|
description_id = IDS_VIDEO_FILES;
|
||||||
@@ -81,7 +94,7 @@ index ab0022f97fd3a..0632f7b4d966d 100644
|
|||||||
if (extensions->size() > old_extension_size)
|
if (extensions->size() > old_extension_size)
|
||||||
valid_type_count++;
|
valid_type_count++;
|
||||||
}
|
}
|
||||||
@@ -543,6 +567,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
@@ -543,6 +573,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||||
l10n_util::GetStringUTF16(description_id));
|
l10n_util::GetStringUTF16(description_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,7 +110,7 @@ index ab0022f97fd3a..0632f7b4d966d 100644
|
|||||||
return file_type;
|
return file_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -550,7 +583,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
@@ -550,7 +589,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||||
void FileSelectHelper::RunFileChooser(
|
void FileSelectHelper::RunFileChooser(
|
||||||
content::RenderFrameHost* render_frame_host,
|
content::RenderFrameHost* render_frame_host,
|
||||||
scoped_refptr<content::FileSelectListener> listener,
|
scoped_refptr<content::FileSelectListener> listener,
|
||||||
@@ -107,7 +120,7 @@ index ab0022f97fd3a..0632f7b4d966d 100644
|
|||||||
Profile* profile = Profile::FromBrowserContext(
|
Profile* profile = Profile::FromBrowserContext(
|
||||||
render_frame_host->GetProcess()->GetBrowserContext());
|
render_frame_host->GetProcess()->GetBrowserContext());
|
||||||
|
|
||||||
@@ -569,6 +603,7 @@ void FileSelectHelper::RunFileChooser(
|
@@ -569,6 +609,7 @@ void FileSelectHelper::RunFileChooser(
|
||||||
// message.
|
// message.
|
||||||
scoped_refptr<FileSelectHelper> file_select_helper(
|
scoped_refptr<FileSelectHelper> file_select_helper(
|
||||||
new FileSelectHelper(profile));
|
new FileSelectHelper(profile));
|
||||||
@@ -115,7 +128,7 @@ index ab0022f97fd3a..0632f7b4d966d 100644
|
|||||||
file_select_helper->RunFileChooser(render_frame_host, std::move(listener),
|
file_select_helper->RunFileChooser(render_frame_host, std::move(listener),
|
||||||
params.Clone());
|
params.Clone());
|
||||||
}
|
}
|
||||||
@@ -622,7 +657,8 @@ void FileSelectHelper::RunFileChooser(
|
@@ -622,7 +663,8 @@ void FileSelectHelper::RunFileChooser(
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileSelectHelper::GetFileTypesInThreadPool(FileChooserParamsPtr params) {
|
void FileSelectHelper::GetFileTypesInThreadPool(FileChooserParamsPtr params) {
|
||||||
|
@@ -198,7 +198,7 @@ index 791b74ef57995..20cd406ff81bb 100644
|
|||||||
+#endif
|
+#endif
|
||||||
}
|
}
|
||||||
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
|
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
|
||||||
index 6f268f5937bd5..2152a26496ceb 100644
|
index ed79018b99afb..7353238e1fb0f 100644
|
||||||
--- chrome/browser/chrome_content_browser_client.cc
|
--- chrome/browser/chrome_content_browser_client.cc
|
||||||
+++ chrome/browser/chrome_content_browser_client.cc
|
+++ chrome/browser/chrome_content_browser_client.cc
|
||||||
@@ -31,6 +31,7 @@
|
@@ -31,6 +31,7 @@
|
||||||
@@ -260,7 +260,7 @@ index 6f268f5937bd5..2152a26496ceb 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<base::FilePath>
|
std::vector<base::FilePath>
|
||||||
@@ -6623,10 +6635,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
|
@@ -6625,10 +6637,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
|
||||||
const auto now = base::TimeTicks::Now();
|
const auto now = base::TimeTicks::Now();
|
||||||
const auto timeout = GetKeepaliveTimerTimeout(context);
|
const auto timeout = GetKeepaliveTimerTimeout(context);
|
||||||
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
|
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
|
||||||
@@ -273,7 +273,7 @@ index 6f268f5937bd5..2152a26496ceb 100644
|
|||||||
FROM_HERE, keepalive_deadline_ - now,
|
FROM_HERE, keepalive_deadline_ - now,
|
||||||
base::BindOnce(
|
base::BindOnce(
|
||||||
&ChromeContentBrowserClient::OnKeepaliveTimerFired,
|
&ChromeContentBrowserClient::OnKeepaliveTimerFired,
|
||||||
@@ -6645,7 +6657,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
|
@@ -6647,7 +6659,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
|
||||||
--num_keepalive_requests_;
|
--num_keepalive_requests_;
|
||||||
if (num_keepalive_requests_ == 0) {
|
if (num_keepalive_requests_ == 0) {
|
||||||
DVLOG(1) << "Stopping the keepalive timer";
|
DVLOG(1) << "Stopping the keepalive timer";
|
||||||
@@ -283,7 +283,7 @@ index 6f268f5937bd5..2152a26496ceb 100644
|
|||||||
// This deletes the keep alive handle attached to the timer function and
|
// This deletes the keep alive handle attached to the timer function and
|
||||||
// unblock the shutdown sequence.
|
// unblock the shutdown sequence.
|
||||||
}
|
}
|
||||||
@@ -6777,7 +6790,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
|
@@ -6779,7 +6792,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
|
||||||
const auto now = base::TimeTicks::Now();
|
const auto now = base::TimeTicks::Now();
|
||||||
const auto then = keepalive_deadline_;
|
const auto then = keepalive_deadline_;
|
||||||
if (now < then) {
|
if (now < then) {
|
||||||
@@ -293,7 +293,7 @@ index 6f268f5937bd5..2152a26496ceb 100644
|
|||||||
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
|
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
|
||||||
weak_factory_.GetWeakPtr(),
|
weak_factory_.GetWeakPtr(),
|
||||||
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
|
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
|
||||||
index cb93058f317e4..27215441c206c 100644
|
index df6896d3f444f..8ee9b740f7f41 100644
|
||||||
--- chrome/browser/chrome_content_browser_client.h
|
--- chrome/browser/chrome_content_browser_client.h
|
||||||
+++ chrome/browser/chrome_content_browser_client.h
|
+++ chrome/browser/chrome_content_browser_client.h
|
||||||
@@ -119,6 +119,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
@@ -119,6 +119,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||||
@@ -324,7 +324,7 @@ index cb93058f317e4..27215441c206c 100644
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
|
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
|
||||||
index 5e72dbd77de9b..40c346953edb0 100644
|
index bcdc111b9168a..a78f8696530d0 100644
|
||||||
--- chrome/browser/prefs/browser_prefs.cc
|
--- chrome/browser/prefs/browser_prefs.cc
|
||||||
+++ chrome/browser/prefs/browser_prefs.cc
|
+++ chrome/browser/prefs/browser_prefs.cc
|
||||||
@@ -11,6 +11,7 @@
|
@@ -11,6 +11,7 @@
|
||||||
@@ -346,7 +346,7 @@ index 5e72dbd77de9b..40c346953edb0 100644
|
|||||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||||
#include "chrome/browser/accessibility/animation_policy_prefs.h"
|
#include "chrome/browser/accessibility/animation_policy_prefs.h"
|
||||||
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
|
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
|
||||||
@@ -1347,6 +1352,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
@@ -1348,6 +1353,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||||
SessionDataService::RegisterProfilePrefs(registry);
|
SessionDataService::RegisterProfilePrefs(registry);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -179,10 +179,10 @@ index 195674a56169c..bee591ec8f2f3 100644
|
|||||||
BrowserFrame(const BrowserFrame&) = delete;
|
BrowserFrame(const BrowserFrame&) = delete;
|
||||||
BrowserFrame& operator=(const BrowserFrame&) = delete;
|
BrowserFrame& operator=(const BrowserFrame&) = delete;
|
||||||
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
|
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
|
||||||
index a8e5cd8826ca4..0b958e49730d4 100644
|
index 092add8cc9349..7b9f8c33ce328 100644
|
||||||
--- chrome/browser/ui/views/frame/browser_view.cc
|
--- chrome/browser/ui/views/frame/browser_view.cc
|
||||||
+++ chrome/browser/ui/views/frame/browser_view.cc
|
+++ chrome/browser/ui/views/frame/browser_view.cc
|
||||||
@@ -305,11 +305,10 @@ using content::NativeWebKeyboardEvent;
|
@@ -306,11 +306,10 @@ using content::NativeWebKeyboardEvent;
|
||||||
using content::WebContents;
|
using content::WebContents;
|
||||||
using web_modal::WebContentsModalDialogHost;
|
using web_modal::WebContentsModalDialogHost;
|
||||||
|
|
||||||
@@ -197,7 +197,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
|
|
||||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||||
// UMA histograms that record animation smoothness for tab loading animation.
|
// UMA histograms that record animation smoothness for tab loading animation.
|
||||||
@@ -802,11 +801,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver {
|
@@ -803,11 +802,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver {
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// BrowserView, public:
|
// BrowserView, public:
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
SetShowIcon(
|
SetShowIcon(
|
||||||
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
|
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
|
||||||
|
|
||||||
@@ -848,7 +858,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
@@ -849,7 +859,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||||
}
|
}
|
||||||
|
|
||||||
browser_->tab_strip_model()->AddObserver(this);
|
browser_->tab_strip_model()->AddObserver(this);
|
||||||
@@ -229,7 +229,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
|
|
||||||
// Top container holds tab strip region and toolbar and lives at the front of
|
// Top container holds tab strip region and toolbar and lives at the front of
|
||||||
// the view hierarchy.
|
// the view hierarchy.
|
||||||
@@ -894,8 +903,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
@@ -895,8 +904,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||||
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
|
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
|
||||||
devtools_web_view_, contents_web_view_));
|
devtools_web_view_, contents_web_view_));
|
||||||
|
|
||||||
@@ -247,7 +247,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
|
|
||||||
contents_separator_ =
|
contents_separator_ =
|
||||||
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
|
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
|
||||||
@@ -1841,6 +1857,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
|
@@ -1845,6 +1861,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
|
||||||
if (immersive_mode_controller_->IsEnabled())
|
if (immersive_mode_controller_->IsEnabled())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -256,7 +256,17 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
|
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3202,7 +3220,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
|
@@ -2715,7 +2733,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() {
|
||||||
|
}
|
||||||
|
|
||||||
|
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
|
||||||
|
- DCHECK(toolbar_button_provider_);
|
||||||
|
+ if (!toolbar_button_provider_)
|
||||||
|
+ return nullptr;
|
||||||
|
if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
|
||||||
|
return download_button->bubble_controller();
|
||||||
|
return nullptr;
|
||||||
|
@@ -3207,7 +3226,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
|
||||||
if (top_container()->parent() == this)
|
if (top_container()->parent() == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -266,7 +276,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
top_container()->DestroyLayer();
|
top_container()->DestroyLayer();
|
||||||
AddChildViewAt(top_container(), 0);
|
AddChildViewAt(top_container(), 0);
|
||||||
EnsureFocusOrder();
|
EnsureFocusOrder();
|
||||||
@@ -3747,8 +3766,10 @@ void BrowserView::Layout() {
|
@@ -3752,8 +3772,10 @@ void BrowserView::Layout() {
|
||||||
|
|
||||||
// TODO(jamescook): Why was this in the middle of layout code?
|
// TODO(jamescook): Why was this in the middle of layout code?
|
||||||
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
|
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
|
||||||
@@ -279,7 +289,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
|
|
||||||
// Some of the situations when the BrowserView is laid out are:
|
// Some of the situations when the BrowserView is laid out are:
|
||||||
// - Enter/exit immersive fullscreen mode.
|
// - Enter/exit immersive fullscreen mode.
|
||||||
@@ -3814,6 +3835,11 @@ void BrowserView::AddedToWidget() {
|
@@ -3819,6 +3841,11 @@ void BrowserView::AddedToWidget() {
|
||||||
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
|
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -291,7 +301,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
toolbar_->Init();
|
toolbar_->Init();
|
||||||
|
|
||||||
// TODO(pbos): Manage this either inside SidePanel or the corresponding button
|
// TODO(pbos): Manage this either inside SidePanel or the corresponding button
|
||||||
@@ -3874,13 +3900,9 @@ void BrowserView::AddedToWidget() {
|
@@ -3879,13 +3906,9 @@ void BrowserView::AddedToWidget() {
|
||||||
|
|
||||||
EnsureFocusOrder();
|
EnsureFocusOrder();
|
||||||
|
|
||||||
@@ -307,7 +317,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
using_native_frame_ = frame_->ShouldUseNativeFrame();
|
using_native_frame_ = frame_->ShouldUseNativeFrame();
|
||||||
|
|
||||||
MaybeInitializeWebUITabStrip();
|
MaybeInitializeWebUITabStrip();
|
||||||
@@ -4296,7 +4318,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
|
@@ -4301,7 +4324,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
|
||||||
// Undo our anti-jankiness hacks and force a re-layout.
|
// Undo our anti-jankiness hacks and force a re-layout.
|
||||||
in_process_fullscreen_ = false;
|
in_process_fullscreen_ = false;
|
||||||
ToolbarSizeChanged(false);
|
ToolbarSizeChanged(false);
|
||||||
@@ -317,7 +327,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
|
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
|
||||||
@@ -4638,6 +4661,8 @@ Profile* BrowserView::GetProfile() {
|
@@ -4643,6 +4667,8 @@ Profile* BrowserView::GetProfile() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrowserView::UpdateUIForTabFullscreen() {
|
void BrowserView::UpdateUIForTabFullscreen() {
|
||||||
@@ -326,7 +336,7 @@ index a8e5cd8826ca4..0b958e49730d4 100644
|
|||||||
frame()->GetFrameView()->UpdateFullscreenTopUI();
|
frame()->GetFrameView()->UpdateFullscreenTopUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4660,6 +4685,8 @@ void BrowserView::HideDownloadShelf() {
|
@@ -4665,6 +4691,8 @@ void BrowserView::HideDownloadShelf() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BrowserView::CanUserExitFullscreen() const {
|
bool BrowserView::CanUserExitFullscreen() const {
|
||||||
@@ -465,7 +475,7 @@ index 57d5e9f7b4e3c..da7b2d14bae49 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
|
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||||
index 73869775288dc..524f32d3ae877 100644
|
index afe27a1bdcc26..530238e430e29 100644
|
||||||
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
|
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||||
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
|
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||||
@@ -170,12 +170,13 @@ auto& GetViewCommandMap() {
|
@@ -170,12 +170,13 @@ auto& GetViewCommandMap() {
|
||||||
@@ -494,7 +504,7 @@ index 73869775288dc..524f32d3ae877 100644
|
|||||||
size_animation_.Reset(1);
|
size_animation_.Reset(1);
|
||||||
|
|
||||||
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
|
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
|
||||||
index e597548896482..b9985ed50a2e3 100644
|
index da32d80ee4f08..8a5e1af098414 100644
|
||||||
--- chrome/browser/ui/views/toolbar/toolbar_view.h
|
--- chrome/browser/ui/views/toolbar/toolbar_view.h
|
||||||
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
|
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
|
||||||
@@ -95,7 +95,8 @@ class ToolbarView : public views::AccessiblePaneView,
|
@@ -95,7 +95,8 @@ class ToolbarView : public views::AccessiblePaneView,
|
||||||
|
@@ -12,7 +12,7 @@ index 286e99d804cd0..2f431dcab0283 100644
|
|||||||
GetContentClient()->browser()->GetUserAgent());
|
GetContentClient()->browser()->GetUserAgent());
|
||||||
version.SetString("V8-Version", V8_VERSION_STRING);
|
version.SetString("V8-Version", V8_VERSION_STRING);
|
||||||
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
|
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
|
||||||
index cbadbda605709..048c88486ce06 100644
|
index aee570cfc179d..fb5ee4ce008f1 100644
|
||||||
--- content/browser/loader/navigation_url_loader_impl.cc
|
--- content/browser/loader/navigation_url_loader_impl.cc
|
||||||
+++ content/browser/loader/navigation_url_loader_impl.cc
|
+++ content/browser/loader/navigation_url_loader_impl.cc
|
||||||
@@ -716,6 +716,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
|
@@ -716,6 +716,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
|
||||||
|
@@ -10,7 +10,7 @@ index 38062cfb9329e..14429ff0ee7eb 100644
|
|||||||
+// This load will not send any cookies. For CEF usage.
|
+// This load will not send any cookies. For CEF usage.
|
||||||
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 17)
|
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 17)
|
||||||
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
|
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
|
||||||
index 696d21520e076..874954e24bc8c 100644
|
index 0878808a8dc72..59efcead3b145 100644
|
||||||
--- net/url_request/url_request_http_job.cc
|
--- net/url_request/url_request_http_job.cc
|
||||||
+++ net/url_request/url_request_http_job.cc
|
+++ net/url_request/url_request_http_job.cc
|
||||||
@@ -1734,7 +1734,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
|
@@ -1734,7 +1734,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
|
||||||
|
15
patch/patches/rlz_3934411.patch
Normal file
15
patch/patches/rlz_3934411.patch
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
diff --git rlz/buildflags/buildflags.gni rlz/buildflags/buildflags.gni
|
||||||
|
index 8090796ea3ec7..acfc599577296 100644
|
||||||
|
--- rlz/buildflags/buildflags.gni
|
||||||
|
+++ rlz/buildflags/buildflags.gni
|
||||||
|
@@ -9,4 +9,9 @@ import("//build/config/chromeos/ui_mode.gni")
|
||||||
|
# rlz codes for searches but do not use the library.
|
||||||
|
enable_rlz_support = is_win || is_apple || is_chromeos_ash
|
||||||
|
|
||||||
|
-enable_rlz = is_chrome_branded && enable_rlz_support
|
||||||
|
+declare_args() {
|
||||||
|
+ enable_rlz = is_chrome_branded && enable_rlz_support
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+assert(!enable_rlz || enable_rlz_support,
|
||||||
|
+ "RLZ is only supported on Windows, Apple and ChromeOS Ash.")
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
|
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
|
||||||
index a41ab3c6e50f0..1dd98219869cf 100644
|
index 9b4f43c0c9c13..a68ecf3bd933d 100644
|
||||||
--- chrome/browser/net/profile_network_context_service.cc
|
--- chrome/browser/net/profile_network_context_service.cc
|
||||||
+++ chrome/browser/net/profile_network_context_service.cc
|
+++ chrome/browser/net/profile_network_context_service.cc
|
||||||
@@ -22,6 +22,7 @@
|
@@ -22,6 +22,7 @@
|
||||||
@@ -42,7 +42,7 @@ index a41ab3c6e50f0..1dd98219869cf 100644
|
|||||||
::network::mojom::NetworkContextFilePaths::New();
|
::network::mojom::NetworkContextFilePaths::New();
|
||||||
|
|
||||||
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
|
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
|
||||||
index 4c79de32e5f01..9ff92cda4dc3c 100644
|
index 48a6f90e18d4e..51fe448cd2289 100644
|
||||||
--- net/cookies/cookie_monster.cc
|
--- net/cookies/cookie_monster.cc
|
||||||
+++ net/cookies/cookie_monster.cc
|
+++ net/cookies/cookie_monster.cc
|
||||||
@@ -549,6 +549,25 @@ void CookieMonster::SetCookieableSchemes(
|
@@ -549,6 +549,25 @@ void CookieMonster::SetCookieableSchemes(
|
||||||
@@ -72,7 +72,7 @@ index 4c79de32e5f01..9ff92cda4dc3c 100644
|
|||||||
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
|
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
|
||||||
DCHECK(thread_checker_.CalledOnValidThread());
|
DCHECK(thread_checker_.CalledOnValidThread());
|
||||||
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
|
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
|
||||||
index 0e48488a03aa5..412f09945878d 100644
|
index 490072c987e95..19a43087e07fa 100644
|
||||||
--- net/cookies/cookie_monster.h
|
--- net/cookies/cookie_monster.h
|
||||||
+++ net/cookies/cookie_monster.h
|
+++ net/cookies/cookie_monster.h
|
||||||
@@ -209,6 +209,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
|
@@ -209,6 +209,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
|
||||||
@@ -123,10 +123,10 @@ index 955126eed8968..cda1d55350d1e 100644
|
|||||||
|
|
||||||
void CookieManager::SetForceKeepSessionState() {
|
void CookieManager::SetForceKeepSessionState() {
|
||||||
diff --git services/network/network_context.cc services/network/network_context.cc
|
diff --git services/network/network_context.cc services/network/network_context.cc
|
||||||
index 757059958a1ea..6eeac7e1df7a6 100644
|
index ef9b375140df2..e8ca983e93fc1 100644
|
||||||
--- services/network/network_context.cc
|
--- services/network/network_context.cc
|
||||||
+++ services/network/network_context.cc
|
+++ services/network/network_context.cc
|
||||||
@@ -2385,17 +2385,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
@@ -2388,17 +2388,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||||
network_service_->network_quality_estimator());
|
network_service_->network_quality_estimator());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,10 +157,10 @@ index 757059958a1ea..6eeac7e1df7a6 100644
|
|||||||
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
|
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
|
||||||
|
|
||||||
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
|
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
|
||||||
index ecb6f95f694c0..7a567de87c2b1 100644
|
index cf3f2d65c15aa..d49ca60c9bd87 100644
|
||||||
--- services/network/public/mojom/network_context.mojom
|
--- services/network/public/mojom/network_context.mojom
|
||||||
+++ services/network/public/mojom/network_context.mojom
|
+++ services/network/public/mojom/network_context.mojom
|
||||||
@@ -341,6 +341,9 @@ struct NetworkContextParams {
|
@@ -342,6 +342,9 @@ struct NetworkContextParams {
|
||||||
// cookies. Otherwise it should be false.
|
// cookies. Otherwise it should be false.
|
||||||
bool persist_session_cookies = false;
|
bool persist_session_cookies = false;
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
|
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
|
||||||
index 8500ee5f439c3..7fde560103ec2 100644
|
index 92b87fc3be69c..f5fcf0c7bd7b5 100644
|
||||||
--- content/browser/renderer_host/render_widget_host_view_base.cc
|
--- content/browser/renderer_host/render_widget_host_view_base.cc
|
||||||
+++ content/browser/renderer_host/render_widget_host_view_base.cc
|
+++ content/browser/renderer_host/render_widget_host_view_base.cc
|
||||||
@@ -662,6 +662,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
|
@@ -662,6 +662,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
|
||||||
@@ -418,10 +418,21 @@ index d24c447bb8030..29215d6578169 100644
|
|||||||
if (native_widget_delegate->IsDialogBox()) {
|
if (native_widget_delegate->IsDialogBox()) {
|
||||||
*style |= DS_MODALFRAME;
|
*style |= DS_MODALFRAME;
|
||||||
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
|
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
|
||||||
index db731ec8ab093..f63db294d8480 100644
|
index db731ec8ab093..f590ff6d99e85 100644
|
||||||
--- ui/views/win/hwnd_message_handler.cc
|
--- ui/views/win/hwnd_message_handler.cc
|
||||||
+++ ui/views/win/hwnd_message_handler.cc
|
+++ ui/views/win/hwnd_message_handler.cc
|
||||||
@@ -826,7 +826,11 @@ bool HWNDMessageHandler::IsVisible() const {
|
@@ -625,7 +625,9 @@ void HWNDMessageHandler::SetDwmFrameExtension(DwmFrameState state) {
|
||||||
|
if (!delegate_->HasFrame() && ui::win::IsAeroGlassEnabled() &&
|
||||||
|
!is_translucent_) {
|
||||||
|
MARGINS m = {0, 0, 0, 0};
|
||||||
|
- if (state == DwmFrameState::kOn)
|
||||||
|
+ // Fix 1px gap with frameless windows on Win11 by not setting DWM margins
|
||||||
|
+ // when maximized. See CEF issue #3414.
|
||||||
|
+ if (state == DwmFrameState::kOn && !IsMaximized())
|
||||||
|
m = {0, 0, 1, 0};
|
||||||
|
DwmExtendFrameIntoClientArea(hwnd(), &m);
|
||||||
|
}
|
||||||
|
@@ -826,7 +828,11 @@ bool HWNDMessageHandler::IsVisible() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HWNDMessageHandler::IsActive() const {
|
bool HWNDMessageHandler::IsActive() const {
|
||||||
@@ -434,7 +445,7 @@ index db731ec8ab093..f63db294d8480 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool HWNDMessageHandler::IsMinimized() const {
|
bool HWNDMessageHandler::IsMinimized() const {
|
||||||
@@ -3224,10 +3228,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
@@ -3224,10 +3230,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||||
} else if (event.type() == ui::ET_MOUSEWHEEL) {
|
} else if (event.type() == ui::ET_MOUSEWHEEL) {
|
||||||
ui::MouseWheelEvent mouse_wheel_event(msg);
|
ui::MouseWheelEvent mouse_wheel_event(msg);
|
||||||
// Reroute the mouse wheel to the window under the pointer if applicable.
|
// Reroute the mouse wheel to the window under the pointer if applicable.
|
||||||
|
@@ -253,13 +253,16 @@ struct TestSetup {
|
|||||||
return GetResource(request->GetURL(), request->GetMethod());
|
return GetResource(request->GetURL(), request->GetMethod());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Optional initialization after the test server is started.
|
||||||
|
virtual void Initialize() {}
|
||||||
|
|
||||||
// Validate expected initial state.
|
// Validate expected initial state.
|
||||||
void Validate() const { DCHECK(!resources.empty()); }
|
void Validate() const { DCHECK(!resources.empty()); }
|
||||||
|
|
||||||
std::string GetMainURL() const { return resources.front()->GetPathURL(); }
|
std::string GetMainURL() const { return resources.front()->GetPathURL(); }
|
||||||
|
|
||||||
// Returns true if the server will be used.
|
// Returns true if the server will be used.
|
||||||
bool NeedsServer() const {
|
virtual bool NeedsServer() const {
|
||||||
ResourceList::const_iterator it = resources.begin();
|
ResourceList::const_iterator it = resources.begin();
|
||||||
for (; it != resources.end(); ++it) {
|
for (; it != resources.end(); ++it) {
|
||||||
Resource* resource = *it;
|
Resource* resource = *it;
|
||||||
@@ -346,9 +349,7 @@ class TestServerObserver : public test_server::ObserverHelper {
|
|||||||
|
|
||||||
class CorsTestHandler : public RoutingTestHandler {
|
class CorsTestHandler : public RoutingTestHandler {
|
||||||
public:
|
public:
|
||||||
explicit CorsTestHandler(TestSetup* setup) : setup_(setup) {
|
explicit CorsTestHandler(TestSetup* setup) : setup_(setup) {}
|
||||||
setup_->Validate();
|
|
||||||
}
|
|
||||||
|
|
||||||
void RunTest() override {
|
void RunTest() override {
|
||||||
StartServer(base::BindOnce(&CorsTestHandler::TriggerCreateBrowser, this));
|
StartServer(base::BindOnce(&CorsTestHandler::TriggerCreateBrowser, this));
|
||||||
@@ -489,6 +490,9 @@ class CorsTestHandler : public RoutingTestHandler {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void TriggerCreateBrowser() {
|
void TriggerCreateBrowser() {
|
||||||
|
setup_->Initialize();
|
||||||
|
setup_->Validate();
|
||||||
|
|
||||||
main_url_ = setup_->GetMainURL();
|
main_url_ = setup_->GetMainURL();
|
||||||
CreateBrowser(main_url_);
|
CreateBrowser(main_url_);
|
||||||
}
|
}
|
||||||
@@ -817,18 +821,45 @@ void SetupIframeRequest(CookieTestSetup* setup,
|
|||||||
setup->AddResource(iframe_resource);
|
setup->AddResource(iframe_resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct IframeTestSetup : CookieTestSetup {
|
||||||
|
IframeTestSetup(const std::string& test_name,
|
||||||
|
HandlerType main_handler,
|
||||||
|
HandlerType iframe_handler,
|
||||||
|
const std::string& sandbox_attribs)
|
||||||
|
: test_name_(test_name),
|
||||||
|
main_handler_(main_handler),
|
||||||
|
iframe_handler_(iframe_handler),
|
||||||
|
sandbox_attribs_(sandbox_attribs) {}
|
||||||
|
|
||||||
|
bool NeedsServer() const override {
|
||||||
|
return main_handler_ == HandlerType::SERVER ||
|
||||||
|
iframe_handler_ == HandlerType::SERVER;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Initialize() override {
|
||||||
|
SetupIframeRequest(this, test_name_, main_handler_, &resource_main_,
|
||||||
|
iframe_handler_, &resource_iframe_, sandbox_attribs_);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
const std::string test_name_;
|
||||||
|
const HandlerType main_handler_;
|
||||||
|
const HandlerType iframe_handler_;
|
||||||
|
const std::string sandbox_attribs_;
|
||||||
|
|
||||||
|
CookieResource resource_main_;
|
||||||
|
CookieResource resource_iframe_;
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
// Test iframe sandbox attributes with different origin combinations.
|
// Test iframe sandbox attributes with different origin combinations.
|
||||||
#define CORS_TEST_IFRAME(test_name, handler_main, handler_iframe, \
|
#define CORS_TEST_IFRAME(test_name, handler_main, handler_iframe, \
|
||||||
sandbox_attribs) \
|
sandbox_attribs) \
|
||||||
TEST(CorsTest, Iframe##test_name) { \
|
TEST(CorsTest, Iframe##test_name) { \
|
||||||
CookieTestSetup setup; \
|
IframeTestSetup setup("CorsTest.Iframe" #test_name, \
|
||||||
CookieResource resource_main, resource_iframe; \
|
HandlerType::handler_main, \
|
||||||
SetupIframeRequest(&setup, "CorsTest.Iframe" #test_name, \
|
HandlerType::handler_iframe, sandbox_attribs); \
|
||||||
HandlerType::handler_main, &resource_main, \
|
|
||||||
HandlerType::handler_iframe, &resource_iframe, \
|
|
||||||
sandbox_attribs); \
|
|
||||||
CefRefPtr<CorsTestHandler> handler = new CorsTestHandler(&setup); \
|
CefRefPtr<CorsTestHandler> handler = new CorsTestHandler(&setup); \
|
||||||
handler->ExecuteTest(); \
|
handler->ExecuteTest(); \
|
||||||
ReleaseAndWaitForDestructor(handler); \
|
ReleaseAndWaitForDestructor(handler); \
|
||||||
|
@@ -200,6 +200,12 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
|
|||||||
display->ConvertPointFromPixels(point);
|
display->ConvertPointFromPixels(point);
|
||||||
EXPECT_EQ(CefPoint(client_bounds_in_screen.x, client_bounds_in_screen.y),
|
EXPECT_EQ(CefPoint(client_bounds_in_screen.x, client_bounds_in_screen.y),
|
||||||
point);
|
point);
|
||||||
|
|
||||||
|
// We don't know what the pixel values will be, but they should be reversable.
|
||||||
|
point = CefPoint(client_bounds_in_screen.x, client_bounds_in_screen.y);
|
||||||
|
const auto pixels = CefDisplay::ConvertScreenPointToPixels(point);
|
||||||
|
const auto dip = CefDisplay::ConvertScreenPointFromPixels(pixels);
|
||||||
|
EXPECT_EQ(point, dip);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowLayoutAndCoordsImpl(CefRefPtr<CefWaitableEvent> event) {
|
void WindowLayoutAndCoordsImpl(CefRefPtr<CefWaitableEvent> event) {
|
||||||
|
@@ -809,6 +809,12 @@ parser.add_option(
|
|||||||
dest='arm64build',
|
dest='arm64build',
|
||||||
default=False,
|
default=False,
|
||||||
help='Create an ARM64 build.')
|
help='Create an ARM64 build.')
|
||||||
|
parser.add_option(
|
||||||
|
'--with-pgo-profiles',
|
||||||
|
action='store_true',
|
||||||
|
dest='withpgoprofiles',
|
||||||
|
default=False,
|
||||||
|
help='Download PGO profiles for the build.')
|
||||||
|
|
||||||
# Test-related options.
|
# Test-related options.
|
||||||
parser.add_option(
|
parser.add_option(
|
||||||
@@ -1261,6 +1267,9 @@ if not os.path.exists(gclient_file) or options.forceconfig:
|
|||||||
"'managed': False,"+\
|
"'managed': False,"+\
|
||||||
"'name': 'src', "+\
|
"'name': 'src', "+\
|
||||||
"'url': '" + chromium_url + "', "+\
|
"'url': '" + chromium_url + "', "+\
|
||||||
|
"'custom_vars': {"+\
|
||||||
|
"'checkout_pgo_profiles': " + ('True' if options.withpgoprofiles else 'False') + ", "+\
|
||||||
|
"}, "+\
|
||||||
"'custom_deps': {"+\
|
"'custom_deps': {"+\
|
||||||
"'build': None, "+\
|
"'build': None, "+\
|
||||||
"'build/scripts/command_wrapper/bin': None, "+\
|
"'build/scripts/command_wrapper/bin': None, "+\
|
||||||
|
@@ -14,20 +14,4 @@
|
|||||||
'source' : '../net/base/net_error_list.h',
|
'source' : '../net/base/net_error_list.h',
|
||||||
'target' : 'include/base/internal/cef_net_error_list.h',
|
'target' : 'include/base/internal/cef_net_error_list.h',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'source' : '../net/data/ssl/certificates/expired_cert.pem',
|
|
||||||
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/expired_cert.pem',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'source' : '../net/data/ssl/certificates/localhost_cert.pem',
|
|
||||||
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/localhost_cert.pem',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'source' : '../net/data/ssl/certificates/ok_cert.pem',
|
|
||||||
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/ok_cert.pem',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'source' : '../net/data/ssl/certificates/root_ca_cert.pem',
|
|
||||||
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/root_ca_cert.pem',
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
|
29
tools/distrib/transfer_standard.cfg
Normal file
29
tools/distrib/transfer_standard.cfg
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Additional handling of transfer files.
|
||||||
|
# target: Target location relative to the target release directory. This
|
||||||
|
# value is required.
|
||||||
|
# source: Source location relative to the CEF root directory. This value
|
||||||
|
# is optional. If specified the source file will be copied to the target
|
||||||
|
# location and a TRANSFER-README.txt file will be created.
|
||||||
|
# post-process: Post-processing operation to perform. This value is
|
||||||
|
# optional and may be any one of the following:
|
||||||
|
# 'normalize_headers': Replace fully-qualified project header paths with
|
||||||
|
# the optionally specified 'new_header_path' value.
|
||||||
|
|
||||||
|
[
|
||||||
|
{
|
||||||
|
'source' : '../net/data/ssl/certificates/expired_cert.pem',
|
||||||
|
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/expired_cert.pem',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'source' : '../net/data/ssl/certificates/localhost_cert.pem',
|
||||||
|
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/localhost_cert.pem',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'source' : '../net/data/ssl/certificates/ok_cert.pem',
|
||||||
|
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/ok_cert.pem',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'source' : '../net/data/ssl/certificates/root_ca_cert.pem',
|
||||||
|
'target' : 'tests/ceftests/resources/net/data/ssl/certificates/root_ca_cert.pem',
|
||||||
|
},
|
||||||
|
]
|
@@ -212,12 +212,6 @@ def GetRecommendedDefaultArgs():
|
|||||||
# distribution.
|
# distribution.
|
||||||
'is_component_build': False,
|
'is_component_build': False,
|
||||||
|
|
||||||
# Specify the current PGO phase. Default is 0 (turned off) for normal
|
|
||||||
# builds and 2 (used during the optimization phase) for official Windows
|
|
||||||
# and macOS builds. Currently turned off for CEF because it requires
|
|
||||||
# additional setup and is not yet tested. See issue #2956.
|
|
||||||
'chrome_pgo_phase': 0,
|
|
||||||
|
|
||||||
# Disable support for background apps, which don't make sense with CEF.
|
# Disable support for background apps, which don't make sense with CEF.
|
||||||
# Default is enabled on desktop platforms. This feature was also causing
|
# Default is enabled on desktop platforms. This feature was also causing
|
||||||
# strange shutdown crashes when using the Chrome runtime with a Debug
|
# strange shutdown crashes when using the Chrome runtime with a Debug
|
||||||
@@ -235,18 +229,17 @@ def GetRecommendedDefaultArgs():
|
|||||||
'v8_enable_sandbox': False,
|
'v8_enable_sandbox': False,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if platform == 'windows' or platform == 'mac':
|
||||||
|
# A browser specific value of at least 32 characters that will be used in
|
||||||
|
# the computation of the CDM storage ID.
|
||||||
|
result['alternate_cdm_storage_id_key'] = '968b476909da4373b08903c28e859454'
|
||||||
|
|
||||||
if platform != 'windows':
|
if platform != 'windows':
|
||||||
# Only allow non-component Debug builds on non-Windows platforms. These
|
# Only allow non-component Debug builds on non-Windows platforms. These
|
||||||
# builds will fail on Windows due to linker issues (running out of memory,
|
# builds will fail on Windows due to linker issues (running out of memory,
|
||||||
# etc). See https://bitbucket.org/chromiumembedded/cef/issues/2679.
|
# etc). See https://bitbucket.org/chromiumembedded/cef/issues/2679.
|
||||||
result['forbid_non_component_debug_builds'] = False
|
result['forbid_non_component_debug_builds'] = False
|
||||||
|
|
||||||
if platform == 'mac':
|
|
||||||
# Use the system allocator on Mac. Default is 'partition' (PartitionAlloc)
|
|
||||||
# with the allocator shim enabled. See issue #3061.
|
|
||||||
result['use_allocator'] = 'none'
|
|
||||||
result['use_allocator_shim'] = False
|
|
||||||
|
|
||||||
if platform == 'linux':
|
if platform == 'linux':
|
||||||
# Use a sysroot environment. Default is true. False is recommended for local
|
# Use a sysroot environment. Default is true. False is recommended for local
|
||||||
# builds.
|
# builds.
|
||||||
@@ -255,18 +248,20 @@ def GetRecommendedDefaultArgs():
|
|||||||
# x86 or x64 build: $ gclient runhooks
|
# x86 or x64 build: $ gclient runhooks
|
||||||
result['use_sysroot'] = False
|
result['use_sysroot'] = False
|
||||||
|
|
||||||
# Don't add the `-Wl,--fatal-warnings` linker flag when building on Ubuntu
|
|
||||||
# 14 (Trusty) host systems. It results in errors like the following:
|
|
||||||
# ld.lld: error: found local symbol '__bss_start' in global part of symbol
|
|
||||||
# table in file /usr/lib/x86_64-linux-gnu/libGL.so
|
|
||||||
# TODO(cef): Remove this flag once we require a newer host system.
|
|
||||||
result['fatal_linker_warnings'] = False
|
|
||||||
|
|
||||||
# Disable QT by default because we don't want to introduce the build
|
# Disable QT by default because we don't want to introduce the build
|
||||||
# dependencies at this time. For background see
|
# dependencies at this time. For background see
|
||||||
# https://groups.google.com/a/chromium.org/g/chromium-packagers/c/-2VGexQAK6w/m/5K5ppK9WBAAJ
|
# https://groups.google.com/a/chromium.org/g/chromium-packagers/c/-2VGexQAK6w/m/5K5ppK9WBAAJ
|
||||||
result['use_qt'] = False
|
result['use_qt'] = False
|
||||||
|
|
||||||
|
if platform == 'mac':
|
||||||
|
# Disable the allocator shim. Default is True. See issue #3061.
|
||||||
|
result['use_allocator_shim'] = False
|
||||||
|
|
||||||
|
if platform == 'mac' or platform == 'linux':
|
||||||
|
# Use the system allocator instead of PartitionAlloc. Default is 'partition'
|
||||||
|
# with the allocator shim enabled. See issues #3061 and #3095.
|
||||||
|
result['use_allocator'] = 'none'
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@@ -294,6 +289,14 @@ def GetRequiredArgs():
|
|||||||
'clang_use_chrome_plugins': False,
|
'clang_use_chrome_plugins': False,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if platform == 'windows' or platform == 'mac':
|
||||||
|
# Enable Widevine CDM host verification and storage ID.
|
||||||
|
result['enable_cdm_host_verification'] = True
|
||||||
|
result['enable_cdm_storage_id'] = True
|
||||||
|
|
||||||
|
# Enable use of the RLZ library as required by CDM storage ID.
|
||||||
|
result['enable_rlz'] = True
|
||||||
|
|
||||||
if platform == 'linux':
|
if platform == 'linux':
|
||||||
# Don't generate Chromium installer packages. This avoids GN dependency
|
# Don't generate Chromium installer packages. This avoids GN dependency
|
||||||
# errors with CEF (see issue #2301).
|
# errors with CEF (see issue #2301).
|
||||||
|
@@ -31,7 +31,7 @@ if exist %vcvars% goto found_vcvars
|
|||||||
|
|
||||||
:: Search for the default VS installation path.
|
:: Search for the default VS installation path.
|
||||||
for %%x in ("%PROGRAMFILES(X86)%" "%PROGRAMFILES%") do (
|
for %%x in ("%PROGRAMFILES(X86)%" "%PROGRAMFILES%") do (
|
||||||
for %%y in (2019 2017) do (
|
for %%y in (2022 2019 2017) do (
|
||||||
for %%z in (Professional Enterprise Community BuildTools) do (
|
for %%z in (Professional Enterprise Community BuildTools) do (
|
||||||
set vcvars="%%~x\Microsoft Visual Studio\%%y\%%z\VC\Auxiliary\Build\%vcvarsbat%"
|
set vcvars="%%~x\Microsoft Visual Studio\%%y\%%z\VC\Auxiliary\Build\%vcvarsbat%"
|
||||||
if exist !vcvars! goto found_vcvars
|
if exist !vcvars! goto found_vcvars
|
||||||
|
Reference in New Issue
Block a user