Update to Chromium version 119.0.6045.0 (#1204232)

Mac: 13.5+ build system w/ 14.0 base SDK (Xcode 15.0) is now required.
This commit is contained in:
Marshall Greenblatt 2023-10-19 14:08:48 -04:00
parent 3476199bc5
commit b2274f534d
96 changed files with 812 additions and 581 deletions

View File

@ -1403,12 +1403,12 @@ make_pack_header("strings") {
header = "$root_out_dir/includes/include/cef_pack_strings.h"
inputs = [
"$root_gen_dir/cef/grit/cef_strings.h",
"$root_gen_dir/chrome/grit/chromium_strings.h",
"$root_gen_dir/chrome/grit/branded_strings.h",
"$root_gen_dir/chrome/grit/generated_resources.h",
"$root_gen_dir/chrome/grit/locale_settings.h",
"$root_gen_dir/chrome/grit/platform_locale_settings.h",
"$root_gen_dir/components/omnibox/resources/grit/omnibox_pedal_synonyms.h",
"$root_gen_dir/components/strings/grit/components_chromium_strings.h",
"$root_gen_dir/components/strings/grit/components_branded_strings.h",
"$root_gen_dir/components/strings/grit/components_strings.h",
"$root_gen_dir/extensions/strings/grit/extensions_strings.h",
"$root_gen_dir/services/strings/grit/services_strings.h",
@ -1419,12 +1419,12 @@ make_pack_header("strings") {
deps = [
":cef_strings",
"//chrome/app:chromium_strings",
"//chrome/app:branded_strings",
"//chrome/app:generated_resources",
"//chrome/app/resources:locale_settings",
"//chrome/app/resources:platform_locale_settings",
"//components/omnibox/resources:omnibox_pedal_synonyms",
"//components/strings:components_chromium_strings",
"//components/strings:components_branded_strings",
"//components/strings:components_locale_settings",
"//components/strings:components_strings",
"//extensions/strings",

View File

@ -7,5 +7,5 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/118.0.5993.0'
'chromium_checkout': 'refs/tags/119.0.6045.0'
}

View File

@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d703b8af664ed9dfac8ad935616ef43fafc062e2$
// $hash=f18407bec715e682d5745aeb155a0113473723dd$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_
@ -209,8 +209,7 @@ typedef struct _cef_domnode_t {
///
/// Returns the type of this form control element node.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_form_control_element_type)(
cef_dom_form_control_type_t(CEF_CALLBACK* get_form_control_element_type)(
struct _cef_domnode_t* self);
///

View File

@ -42,13 +42,13 @@
// way that may cause binary incompatibility with other builds. The universal
// hash value will change if any platform is affected whereas the platform hash
// values will change only if that particular platform is affected.
#define CEF_API_HASH_UNIVERSAL "4acea2e5c7a3e281d9652802ae1d24b25eef299b"
#define CEF_API_HASH_UNIVERSAL "647a2df6b870951e70487997f30e75960d609632"
#if defined(OS_WIN)
#define CEF_API_HASH_PLATFORM "3a181fdfaa42d2214c77cd83f76886b0657b0b53"
#define CEF_API_HASH_PLATFORM "4a22d727f3f1f625844191f0f5adf297a2f17fa7"
#elif defined(OS_MAC)
#define CEF_API_HASH_PLATFORM "06bfe874ee215bde0a415bac7ac37ecf4969d4ca"
#define CEF_API_HASH_PLATFORM "84a450a85c81d6cb16dda55d7f07047264d1e205"
#elif defined(OS_LINUX)
#define CEF_API_HASH_PLATFORM "1615f7e7079d89e2e81f683d4a8480455b5f2a60"
#define CEF_API_HASH_PLATFORM "b7cbd7d044e02cb1854184cc1d5d621605b8476b"
#endif
#ifdef __cplusplus

View File

@ -166,6 +166,7 @@ class CefDOMNode : public virtual CefBaseRefCounted {
public:
typedef std::map<CefString, CefString> AttributeMap;
typedef cef_dom_node_type_t Type;
typedef cef_dom_form_control_type_t FormControlType;
///
/// Returns the type for this node.
@ -194,14 +195,14 @@ class CefDOMNode : public virtual CefBaseRefCounted {
///
/// Returns true if this is a form control element node.
///
/*--cef()--*/
/*--cef(default_retval=DOM_NODE_TYPE_UNSUPPORTED)--*/
virtual bool IsFormControlElement() = 0;
///
/// Returns the type of this form control element node.
///
/*--cef()--*/
virtual CefString GetFormControlElementType() = 0;
/*--cef(default_retval=DOM_FORM_CONTROL_TYPE_UNSUPPORTED)--*/
virtual FormControlType GetFormControlElementType() = 0;
///
/// Returns true if this object is pointing to the same handle as |that|

View File

@ -2295,6 +2295,46 @@ typedef enum {
DOM_NODE_TYPE_DOCUMENT_FRAGMENT,
} cef_dom_node_type_t;
///
/// DOM form control types. Should be kept in sync with Chromium's
/// blink::mojom::FormControlType type.
///
typedef enum {
DOM_FORM_CONTROL_TYPE_UNSUPPORTED = 0,
DOM_FORM_CONTROL_TYPE_BUTTON_BUTTON,
DOM_FORM_CONTROL_TYPE_BUTTON_SUBMIT,
DOM_FORM_CONTROL_TYPE_BUTTON_RESET,
DOM_FORM_CONTROL_TYPE_BUTTON_SELECT_LIST,
DOM_FORM_CONTROL_TYPE_FIELDSET,
DOM_FORM_CONTROL_TYPE_INPUT_BUTTON,
DOM_FORM_CONTROL_TYPE_INPUT_CHECKBOX,
DOM_FORM_CONTROL_TYPE_INPUT_COLOR,
DOM_FORM_CONTROL_TYPE_INPUT_DATE,
DOM_FORM_CONTROL_TYPE_INPUT_DATETIME_LOCAL,
DOM_FORM_CONTROL_TYPE_INPUT_EMAIL,
DOM_FORM_CONTROL_TYPE_INPUT_FILE,
DOM_FORM_CONTROL_TYPE_INPUT_HIDDEN,
DOM_FORM_CONTROL_TYPE_INPUT_IMAGE,
DOM_FORM_CONTROL_TYPE_INPUT_MONTH,
DOM_FORM_CONTROL_TYPE_INPUT_NUMBER,
DOM_FORM_CONTROL_TYPE_INPUT_PASSWORD,
DOM_FORM_CONTROL_TYPE_INPUT_RADIO,
DOM_FORM_CONTROL_TYPE_INPUT_RANGE,
DOM_FORM_CONTROL_TYPE_INPUT_RESET,
DOM_FORM_CONTROL_TYPE_INPUT_SEARCH,
DOM_FORM_CONTROL_TYPE_INPUT_SUBMIT,
DOM_FORM_CONTROL_TYPE_INPUT_TELEPHONE,
DOM_FORM_CONTROL_TYPE_INPUT_TEXT,
DOM_FORM_CONTROL_TYPE_INPUT_TIME,
DOM_FORM_CONTROL_TYPE_INPUT_URL,
DOM_FORM_CONTROL_TYPE_INPUT_WEEK,
DOM_FORM_CONTROL_TYPE_OUTPUT,
DOM_FORM_CONTROL_TYPE_SELECT_ONE,
DOM_FORM_CONTROL_TYPE_SELECT_MULTIPLE,
DOM_FORM_CONTROL_TYPE_SELECT_LIST,
DOM_FORM_CONTROL_TYPE_TEXT_AREA,
} cef_dom_form_control_type_t;
///
/// Supported file dialog modes.
///

View File

@ -257,7 +257,11 @@ typedef enum {
/// Website setting to store permissions metadata granted to paths on the
/// local file system via the File System Access API.
/// |FILE_SYSTEM_WRITE_GUARD| is the corresponding "guard" setting.
/// |FILE_SYSTEM_WRITE_GUARD| is the corresponding "guard" setting. The stored
/// data represents valid permission only if
/// |FILE_SYSTEM_ACCESS_EXTENDED_PERMISSION| is enabled via user opt-in.
/// Otherwise, they represent "recently granted but revoked permission", which
/// are used to restore the permission.
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_CHOOSER_DATA,
/// Stores a grant that allows a relying party to send a request for identity
@ -370,6 +374,12 @@ typedef enum {
/// `net::features::kTpcdMetadataGrants` is enabled.
CEF_CONTENT_SETTING_TYPE_TPCD_METADATA_GRANTS,
/// Whether user has opted into keeping file/directory permissions persistent
/// between visits for a given origin. When enabled, permission metadata
/// stored under |FILE_SYSTEM_ACCESS_CHOOSER_DATA| can auto-grant incoming
/// permission request.
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_EXTENDED_PERMISSION,
CEF_CONTENT_SETTING_TYPE_NUM_TYPES,
} cef_content_setting_types_t;

View File

@ -1500,9 +1500,11 @@ void AlloyBrowserHostImpl::StartDragging(
}
}
void AlloyBrowserHostImpl::UpdateDragCursor(
ui::mojom::DragOperation operation) {
void AlloyBrowserHostImpl::UpdateDragOperation(
ui::mojom::DragOperation operation,
bool document_is_handling_drag) {
if (platform_delegate_) {
platform_delegate_->UpdateDragCursor(operation);
platform_delegate_->UpdateDragOperation(operation,
document_is_handling_drag);
}
}

View File

@ -163,7 +163,8 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
const gfx::Vector2d& image_offset,
const blink::mojom::DragEventSourceInfo& event_info,
content::RenderWidgetHostImpl* source_rwh);
void UpdateDragCursor(ui::mojom::DragOperation operation);
void UpdateDragOperation(ui::mojom::DragOperation operation,
bool document_is_handling_drag);
// Accessors that must be called on the UI thread.
extensions::ExtensionHost* GetExtensionHost() const;

View File

@ -85,7 +85,7 @@
#include "base/path_service.h"
#include "chrome/browser/themes/theme_service_aura_linux.h"
#include "chrome/browser/ui/views/theme_profile_key.h"
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/branded_strings.h"
#include "components/os_crypt/sync/key_storage_config_linux.h"
#include "libcef/browser/printing/print_dialog_linux.h"
#include "ui/base/cursor/cursor_factory.h"

View File

@ -1304,6 +1304,31 @@ AlloyContentBrowserClient::GetSandboxedStorageServiceDataDirectory() {
return GetUserDataPath();
}
base::FilePath AlloyContentBrowserClient::GetShaderDiskCacheDirectory() {
return GetUserDataPath().Append(FILE_PATH_LITERAL("ShaderCache"));
}
base::FilePath AlloyContentBrowserClient::GetGrShaderDiskCacheDirectory() {
return GetUserDataPath().Append(FILE_PATH_LITERAL("GrShaderCache"));
}
base::FilePath AlloyContentBrowserClient::GetGraphiteDawnDiskCacheDirectory() {
return GetUserDataPath().Append(FILE_PATH_LITERAL("GraphiteDawnCache"));
}
base::FilePath AlloyContentBrowserClient::GetNetLogDefaultDirectory() {
return GetUserDataPath();
}
base::FilePath AlloyContentBrowserClient::GetFirstPartySetsDirectory() {
return GetUserDataPath();
}
absl::optional<base::FilePath>
AlloyContentBrowserClient::GetLocalTracesDirectory() {
return GetUserDataPath();
}
std::string AlloyContentBrowserClient::GetProduct() {
return GetChromeProduct();
}

View File

@ -239,6 +239,12 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
mojo::BinderMapWithContext<const content::ServiceWorkerVersionBaseInfo&>*
map) override;
base::FilePath GetSandboxedStorageServiceDataDirectory() override;
base::FilePath GetShaderDiskCacheDirectory() override;
base::FilePath GetGrShaderDiskCacheDirectory() override;
base::FilePath GetGraphiteDawnDiskCacheDirectory() override;
base::FilePath GetNetLogDefaultDirectory() override;
base::FilePath GetFirstPartySetsDirectory() override;
absl::optional<base::FilePath> GetLocalTracesDirectory() override;
std::string GetProduct() override;
std::string GetChromeProduct() override;
std::string GetUserAgent() override;

View File

@ -360,8 +360,9 @@ void CefBrowserPlatformDelegate::StartDragging(
DCHECK(false);
}
void CefBrowserPlatformDelegate::UpdateDragCursor(
ui::mojom::DragOperation operation) {
void CefBrowserPlatformDelegate::UpdateDragOperation(
ui::mojom::DragOperation operation,
bool document_is_handling_drag) {
DCHECK(false);
}

View File

@ -350,7 +350,8 @@ class CefBrowserPlatformDelegate {
const gfx::Vector2d& image_offset,
const blink::mojom::DragEventSourceInfo& event_info,
content::RenderWidgetHostImpl* source_rwh);
virtual void UpdateDragCursor(ui::mojom::DragOperation operation);
virtual void UpdateDragOperation(ui::mojom::DragOperation operation,
bool document_is_handling_drag);
virtual void DragSourceEndedAt(int x, int y, cef_drag_operations_mask_t op);
virtual void DragSourceSystemDragEnded();
virtual void AccessibilityEventReceived(

View File

@ -189,10 +189,10 @@ void CefMediaRouterManager::CreateRoute(
const url::Origin& origin,
CreateRouteResultCallback callback) {
GetMediaRouter()->CreateRoute(
source_id, sink_id, origin, nullptr /* web_contents */,
source_id, sink_id, origin, /*web_contents=*/nullptr,
base::BindOnce(&CefMediaRouterManager::OnCreateRoute,
weak_ptr_factory_.GetWeakPtr(), std::move(callback)),
base::Milliseconds(kTimeoutMs), false /* incognito */);
base::Milliseconds(kTimeoutMs));
}
void CefMediaRouterManager::SendRouteMessage(

View File

@ -347,6 +347,7 @@ void CefBrowserPlatformDelegateOsr::DragTargetDragEnter(
CefDragDataImpl* data_impl = static_cast<CefDragDataImpl*>(drag_data.get());
base::AutoLock lock_scope(data_impl->lock());
content::DropData* drop_data = data_impl->drop_data();
drop_data->document_is_handling_drag = document_is_handling_drag_;
const gfx::Point& screen_pt =
GetScreenPoint(client_pt, /*want_dip_coords=*/false);
blink::DragOperationsMask ops =
@ -494,6 +495,7 @@ void CefBrowserPlatformDelegateOsr::DragTargetDrop(const CefMouseEvent& event) {
static_cast<CefDragDataImpl*>(drag_data_.get());
base::AutoLock lock_scope(data_impl->lock());
content::DropData* drop_data = data_impl->drop_data();
drop_data->document_is_handling_drag = document_is_handling_drag_;
int modifiers = TranslateWebEventModifiers(event.modifiers);
target_rwh->DragTargetDrop(*drop_data, transformed_pt,
@ -535,8 +537,11 @@ void CefBrowserPlatformDelegateOsr::StartDragging(
}
}
void CefBrowserPlatformDelegateOsr::UpdateDragCursor(
ui::mojom::DragOperation operation) {
void CefBrowserPlatformDelegateOsr::UpdateDragOperation(
ui::mojom::DragOperation operation,
bool document_is_handling_drag) {
document_is_handling_drag_ = document_is_handling_drag;
CefRefPtr<CefRenderHandler> handler =
browser_->GetClient()->GetRenderHandler();
if (handler.get()) {

View File

@ -82,7 +82,8 @@ class CefBrowserPlatformDelegateOsr
const gfx::Vector2d& image_offset,
const blink::mojom::DragEventSourceInfo& event_info,
content::RenderWidgetHostImpl* source_rwh) override;
void UpdateDragCursor(ui::mojom::DragOperation operation) override;
void UpdateDragOperation(ui::mojom::DragOperation operation,
bool document_is_handling_drag) override;
void DragSourceEndedAt(int x, int y, cef_drag_operations_mask_t op) override;
void DragSourceSystemDragEnded() override;
void AccessibilityEventReceived(
@ -125,11 +126,16 @@ class CefBrowserPlatformDelegateOsr
// We also keep track of the RenderViewHost we're dragging over to avoid
// sending the drag exited message after leaving the current
// view. |current_rvh_for_drag_| should not be dereferenced.
void* current_rvh_for_drag_;
void* current_rvh_for_drag_ = nullptr;
// We keep track of the RenderWidgetHost from which the current drag started,
// in order to properly route the drag end message to it.
base::WeakPtr<content::RenderWidgetHostImpl> drag_start_rwh_;
// Set to true when the document is handling the drag. This means that the
// document has registered an interest in the dropped data and the renderer
// process should pass the data to the document on drop.
bool document_is_handling_drag_ = false;
};
#endif // CEF_LIBCEF_BROWSER_OSR_BROWSER_PLATFORM_DELEGATE_OSR_H_

View File

@ -108,7 +108,7 @@ struct PopulateAxNodeAttributes {
case ax::mojom::IntAttribute::kInPageLinkTargetId:
case ax::mojom::IntAttribute::kErrormessageIdDeprecated:
case ax::mojom::IntAttribute::kDOMNodeId:
case ax::mojom::IntAttribute::kDropeffect:
case ax::mojom::IntAttribute::kDropeffectDeprecated:
case ax::mojom::IntAttribute::kMemberOfId:
case ax::mojom::IntAttribute::kNextFocusId:
case ax::mojom::IntAttribute::kNextWindowFocusId:

View File

@ -44,32 +44,10 @@ void CefWebContentsViewOSR::RenderViewCreated() {
}
}
gfx::NativeView CefWebContentsViewOSR::GetNativeView() const {
return gfx::NativeView();
}
gfx::NativeView CefWebContentsViewOSR::GetContentNativeView() const {
return gfx::NativeView();
}
gfx::NativeWindow CefWebContentsViewOSR::GetTopLevelNativeWindow() const {
return gfx::NativeWindow();
}
gfx::Rect CefWebContentsViewOSR::GetContainerBounds() const {
return GetViewBounds();
}
void CefWebContentsViewOSR::Focus() {}
void CefWebContentsViewOSR::SetInitialFocus() {}
void CefWebContentsViewOSR::StoreFocus() {}
void CefWebContentsViewOSR::RestoreFocus() {}
void CefWebContentsViewOSR::FocusThroughTabTraversal(bool reverse) {}
void CefWebContentsViewOSR::GotFocus(
content::RenderWidgetHostImpl* render_widget_host) {
if (web_contents_) {
@ -98,19 +76,11 @@ void CefWebContentsViewOSR::TakeFocus(bool reverse) {
}
}
void CefWebContentsViewOSR::FullscreenStateChanged(bool is_fullscreen) {}
content::DropData* CefWebContentsViewOSR::GetDropData() const {
return nullptr;
}
gfx::Rect CefWebContentsViewOSR::GetViewBounds() const {
CefRenderWidgetHostViewOSR* view = GetView();
return view ? view->GetViewBounds() : gfx::Rect();
}
void CefWebContentsViewOSR::CreateView(gfx::NativeView context) {}
content::RenderWidgetHostViewBase* CefWebContentsViewOSR::CreateViewForWidget(
content::RenderWidgetHost* render_widget_host) {
if (render_widget_host->GetView()) {
@ -135,29 +105,6 @@ CefWebContentsViewOSR::CreateViewForChildWidget(
render_widget_host, view);
}
void CefWebContentsViewOSR::SetPageTitle(const std::u16string& title) {}
void CefWebContentsViewOSR::RenderViewReady() {
RenderViewCreated();
}
void CefWebContentsViewOSR::RenderViewHostChanged(
content::RenderViewHost* old_host,
content::RenderViewHost* new_host) {}
void CefWebContentsViewOSR::SetOverscrollControllerEnabled(bool enabled) {}
void CefWebContentsViewOSR::OnCapturerCountChanged() {}
void CefWebContentsViewOSR::UpdateWindowControlsOverlay(
const gfx::Rect& bounding_rect) {}
#if BUILDFLAG(IS_MAC)
bool CefWebContentsViewOSR::CloseTabAfterEventTrackingIfNeeded() {
return false;
}
#endif // BUILDFLAG(IS_MAC)
void CefWebContentsViewOSR::ShowContextMenu(
content::RenderFrameHost& render_frame_host,
const content::ContextMenuParams& params) {
@ -176,6 +123,7 @@ void CefWebContentsViewOSR::ShowContextMenu(
void CefWebContentsViewOSR::StartDragging(
const content::DropData& drop_data,
const url::Origin& source_origin,
blink::DragOperationsMask allowed_ops,
const gfx::ImageSkia& image,
const gfx::Vector2d& cursor_offset,
@ -192,11 +140,12 @@ void CefWebContentsViewOSR::StartDragging(
}
}
void CefWebContentsViewOSR::UpdateDragCursor(
ui::mojom::DragOperation operation) {
void CefWebContentsViewOSR::UpdateDragOperation(
ui::mojom::DragOperation operation,
bool document_is_handling_drag) {
CefRefPtr<AlloyBrowserHostImpl> browser = GetBrowser();
if (browser.get()) {
browser->UpdateDragCursor(operation);
browser->UpdateDragOperation(operation, document_is_handling_drag);
}
}

View File

@ -39,51 +39,58 @@ class CefWebContentsViewOSR : public content::WebContentsView,
void RenderViewCreated();
// WebContentsView methods.
gfx::NativeView GetNativeView() const override;
gfx::NativeView GetContentNativeView() const override;
gfx::NativeWindow GetTopLevelNativeWindow() const override;
gfx::NativeView GetNativeView() const override { return gfx::NativeView(); }
gfx::NativeView GetContentNativeView() const override {
return gfx::NativeView();
}
gfx::NativeWindow GetTopLevelNativeWindow() const override {
return gfx::NativeWindow();
}
gfx::Rect GetContainerBounds() const override;
void Focus() override;
void SetInitialFocus() override;
void StoreFocus() override;
void RestoreFocus() override;
void FocusThroughTabTraversal(bool reverse) override;
content::DropData* GetDropData() const override;
void Focus() override {}
void SetInitialFocus() override {}
void StoreFocus() override {}
void RestoreFocus() override {}
void FocusThroughTabTraversal(bool reverse) override {}
content::DropData* GetDropData() const override { return nullptr; }
gfx::Rect GetViewBounds() const override;
void CreateView(gfx::NativeView context) override;
void CreateView(gfx::NativeView context) override {}
content::RenderWidgetHostViewBase* CreateViewForWidget(
content::RenderWidgetHost* render_widget_host) override;
content::RenderWidgetHostViewBase* CreateViewForChildWidget(
content::RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const std::u16string& title) override;
void RenderViewReady() override;
void SetPageTitle(const std::u16string& title) override {}
void RenderViewReady() override {}
void RenderViewHostChanged(content::RenderViewHost* old_host,
content::RenderViewHost* new_host) override;
void SetOverscrollControllerEnabled(bool enabled) override;
void OnCapturerCountChanged() override;
void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override;
content::RenderViewHost* new_host) override {}
void SetOverscrollControllerEnabled(bool enabled) override {}
void OnCapturerCountChanged() override {}
void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override {}
void CancelDragDropForPortalActivation() override {}
#if BUILDFLAG(IS_MAC)
bool CloseTabAfterEventTrackingIfNeeded() override;
bool CloseTabAfterEventTrackingIfNeeded() override { return false; }
#endif
// RenderViewHostDelegateView methods.
void ShowContextMenu(content::RenderFrameHost& render_frame_host,
const content::ContextMenuParams& params) override;
void StartDragging(const content::DropData& drop_data,
const url::Origin& source_origin,
blink::DragOperationsMask allowed_ops,
const gfx::ImageSkia& image,
const gfx::Vector2d& cursor_offset,
const gfx::Rect& drag_obj_rect,
const blink::mojom::DragEventSourceInfo& event_info,
content::RenderWidgetHostImpl* source_rwh) override;
void UpdateDragCursor(ui::mojom::DragOperation operation) override;
void UpdateDragOperation(ui::mojom::DragOperation operation,
bool document_is_handling_drag) override;
virtual void GotFocus(
content::RenderWidgetHostImpl* render_widget_host) override;
virtual void LostFocus(
content::RenderWidgetHostImpl* render_widget_host) override;
virtual void TakeFocus(bool reverse) override;
virtual void FullscreenStateChanged(bool is_fullscreen) override;
virtual void FullscreenStateChanged(bool is_fullscreen) override {}
private:
CefRenderWidgetHostViewOSR* GetView() const;

View File

@ -25,8 +25,8 @@
#include "chrome/browser/media/webrtc/permission_bubble_media_access_handler.h"
#include "chrome/browser/net/profile_network_context_service.h"
#include "chrome/browser/net/system_network_context_manager.h"
#include "chrome/browser/prefetch/prefetch_prefs.h"
#include "chrome/browser/prefs/chrome_command_line_pref_store.h"
#include "chrome/browser/preloading/preloading_prefs.h"
#include "chrome/browser/printing/print_preview_sticky_settings.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ssl/ssl_config_service_manager.h"
@ -55,7 +55,7 @@
#include "components/prefs/pref_filter.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
#include "components/privacy_sandbox/privacy_sandbox_prefs.h"
#include "components/privacy_sandbox/tracking_protection_prefs.h"
#include "components/proxy_config/pref_proxy_config_tracker_impl.h"
#include "components/proxy_config/proxy_config_dictionary.h"
#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
@ -269,7 +269,7 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
permissions::PermissionHatsTriggerHelper::RegisterProfilePrefs(
registry.get());
prefetch::RegisterPredictionOptionsProfilePrefs(registry.get());
privacy_sandbox::RegisterProfilePrefs(registry.get());
privacy_sandbox::tracking_protection::RegisterProfilePrefs(registry.get());
ProfileNetworkContextService::RegisterProfilePrefs(registry.get());
safe_browsing::RegisterProfilePrefs(registry.get());
unified_consent::UnifiedConsentService::RegisterPrefs(registry.get());

View File

@ -347,9 +347,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
RegisterAnimationPolicyPrefs(registry);
// From chrome/browser/ui/browser_ui_prefs.cc RegisterBrowserUserPrefs.
registry->RegisterBooleanPref(
prefs::kEnableDoNotTrack, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kCaretBrowsingEnabled, false);
registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy,

View File

@ -170,9 +170,6 @@ void GetHeaderMap(const CefRequest::HeaderMap& source,
return; \
}
#define SETBOOLFLAG(obj, flags, method, FLAG) \
obj.method((flags & (FLAG)) == (FLAG))
// CefRequest -----------------------------------------------------------------
// static
@ -611,10 +608,12 @@ void CefRequestImpl::Get(const cef::mojom::RequestParamsPtr& params,
}
request.SetCacheMode(GetFetchCacheMode(flags));
SETBOOLFLAG(request, params->load_flags, SetAllowStoredCredentials,
UR_FLAG_ALLOW_STORED_CREDENTIALS);
SETBOOLFLAG(request, params->load_flags, SetReportUploadProgress,
UR_FLAG_REPORT_UPLOAD_PROGRESS);
request.SetCredentialsMode(
(params->load_flags & UR_FLAG_ALLOW_STORED_CREDENTIALS)
? network::mojom::CredentialsMode::kInclude
: network::mojom::CredentialsMode::kOmit);
request.SetReportUploadProgress(params->load_flags &
UR_FLAG_REPORT_UPLOAD_PROGRESS);
}
void CefRequestImpl::Get(cef::mojom::RequestParamsPtr& params) const {

View File

@ -30,6 +30,81 @@ using blink::WebInputElement;
using blink::WebNode;
using blink::WebSelectElement;
using blink::WebString;
using FormControlType = WebFormControlElement::Type;
namespace {
cef_dom_form_control_type_t GetCefFormControlType(FormControlType type) {
switch (type) {
case FormControlType::kButtonButton:
return DOM_FORM_CONTROL_TYPE_BUTTON_BUTTON;
case FormControlType::kButtonSubmit:
return DOM_FORM_CONTROL_TYPE_BUTTON_SUBMIT;
case FormControlType::kButtonReset:
return DOM_FORM_CONTROL_TYPE_BUTTON_RESET;
case FormControlType::kButtonSelectList:
return DOM_FORM_CONTROL_TYPE_BUTTON_SELECT_LIST;
case FormControlType::kFieldset:
return DOM_FORM_CONTROL_TYPE_FIELDSET;
case FormControlType::kInputButton:
return DOM_FORM_CONTROL_TYPE_INPUT_BUTTON;
case FormControlType::kInputCheckbox:
return DOM_FORM_CONTROL_TYPE_INPUT_CHECKBOX;
case FormControlType::kInputColor:
return DOM_FORM_CONTROL_TYPE_INPUT_COLOR;
case FormControlType::kInputDate:
return DOM_FORM_CONTROL_TYPE_INPUT_DATE;
case FormControlType::kInputDatetimeLocal:
return DOM_FORM_CONTROL_TYPE_INPUT_DATETIME_LOCAL;
case FormControlType::kInputEmail:
return DOM_FORM_CONTROL_TYPE_INPUT_EMAIL;
case FormControlType::kInputFile:
return DOM_FORM_CONTROL_TYPE_INPUT_FILE;
case FormControlType::kInputHidden:
return DOM_FORM_CONTROL_TYPE_INPUT_HIDDEN;
case FormControlType::kInputImage:
return DOM_FORM_CONTROL_TYPE_INPUT_IMAGE;
case FormControlType::kInputMonth:
return DOM_FORM_CONTROL_TYPE_INPUT_MONTH;
case FormControlType::kInputNumber:
return DOM_FORM_CONTROL_TYPE_INPUT_NUMBER;
case FormControlType::kInputPassword:
return DOM_FORM_CONTROL_TYPE_INPUT_PASSWORD;
case FormControlType::kInputRadio:
return DOM_FORM_CONTROL_TYPE_INPUT_RADIO;
case FormControlType::kInputRange:
return DOM_FORM_CONTROL_TYPE_INPUT_RANGE;
case FormControlType::kInputReset:
return DOM_FORM_CONTROL_TYPE_INPUT_RESET;
case FormControlType::kInputSearch:
return DOM_FORM_CONTROL_TYPE_INPUT_SEARCH;
case FormControlType::kInputSubmit:
return DOM_FORM_CONTROL_TYPE_INPUT_SUBMIT;
case FormControlType::kInputTelephone:
return DOM_FORM_CONTROL_TYPE_INPUT_TELEPHONE;
case FormControlType::kInputText:
return DOM_FORM_CONTROL_TYPE_INPUT_TEXT;
case FormControlType::kInputTime:
return DOM_FORM_CONTROL_TYPE_INPUT_TIME;
case FormControlType::kInputUrl:
return DOM_FORM_CONTROL_TYPE_INPUT_URL;
case FormControlType::kInputWeek:
return DOM_FORM_CONTROL_TYPE_INPUT_WEEK;
case FormControlType::kOutput:
return DOM_FORM_CONTROL_TYPE_OUTPUT;
case FormControlType::kSelectOne:
return DOM_FORM_CONTROL_TYPE_SELECT_ONE;
case FormControlType::kSelectMultiple:
return DOM_FORM_CONTROL_TYPE_SELECT_MULTIPLE;
case FormControlType::kSelectList:
return DOM_FORM_CONTROL_TYPE_SELECT_LIST;
case FormControlType::kTextArea:
return DOM_FORM_CONTROL_TYPE_TEXT_AREA;
}
return DOM_FORM_CONTROL_TYPE_UNSUPPORTED;
}
} // namespace
CefDOMNodeImpl::CefDOMNodeImpl(CefRefPtr<CefDOMDocumentImpl> document,
const blink::WebNode& node)
@ -113,10 +188,9 @@ bool CefDOMNodeImpl::IsFormControlElement() {
return false;
}
CefString CefDOMNodeImpl::GetFormControlElementType() {
CefString str;
CefDOMNodeImpl::FormControlType CefDOMNodeImpl::GetFormControlElementType() {
if (!VerifyContext()) {
return str;
return DOM_FORM_CONTROL_TYPE_UNSUPPORTED;
}
if (node_.IsElementNode()) {
@ -125,14 +199,11 @@ CefString CefDOMNodeImpl::GetFormControlElementType() {
// Retrieve the type from the form control element.
const WebFormControlElement& formElement =
node_.To<WebFormControlElement>();
const std::u16string& form_control_type =
formElement.FormControlType().Utf16();
str = form_control_type;
return GetCefFormControlType(formElement.FormControlType());
}
}
return str;
return DOM_FORM_CONTROL_TYPE_UNSUPPORTED;
}
bool CefDOMNodeImpl::IsSame(CefRefPtr<CefDOMNode> that) {
@ -175,19 +246,7 @@ CefString CefDOMNodeImpl::GetValue() {
const WebFormControlElement& formElement =
node_.To<WebFormControlElement>();
std::u16string value;
const std::u16string& form_control_type =
formElement.FormControlType().Utf16();
if (form_control_type == u"text") {
const WebInputElement& input_element =
formElement.To<WebInputElement>();
value = input_element.Value().Utf16();
} else if (form_control_type == u"select-one") {
const WebSelectElement& select_element =
formElement.To<WebSelectElement>();
value = select_element.Value().Utf16();
}
std::u16string value = formElement.Value().Utf16();
base::TrimWhitespace(value, base::TRIM_LEADING, &value);
str = value;
}

View File

@ -23,7 +23,7 @@ class CefDOMNodeImpl : public CefDOMNode {
bool IsElement() override;
bool IsEditable() override;
bool IsFormControlElement() override;
CefString GetFormControlElementType() override;
FormControlType GetFormControlElementType() override;
bool IsSame(CefRefPtr<CefDOMNode> that) override;
CefString GetName() override;
CefString GetValue() override;

View File

@ -9,7 +9,6 @@
#include "libcef/renderer/extensions/extensions_dispatcher_delegate.h"
#include "base/stl_util.h"
#include "base/types/optional_util.h"
#include "chrome/common/url_constants.h"
#include "chrome/renderer/extensions/resource_request_policy.h"
#include "content/public/common/content_constants.h"
@ -126,8 +125,7 @@ void CefExtensionsRendererClient::WillSendRequest(
// URL to something invalid to prevent the request and cause an error.
if (url.ProtocolIs(extensions::kExtensionScheme) &&
!resource_request_policy_->CanRequestResource(
GURL(url), frame, transition_type,
base::OptionalFromPtr(initiator_origin))) {
GURL(url), frame, transition_type, initiator_origin)) {
*new_url = GURL(chrome::kExtensionInvalidRequestURL);
}
}

View File

@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=a9a7b8c8b2cb46d6bd2bb9a8883909ebbde803d7$
// $hash=7dd2dd5a49c722abcd0b76b89c73758c199d77bb$
//
#include "libcef_dll/cpptoc/domnode_cpptoc.h"
@ -96,7 +96,7 @@ int CEF_CALLBACK domnode_is_form_control_element(struct _cef_domnode_t* self) {
DCHECK(self);
if (!self) {
return 0;
return DOM_NODE_TYPE_UNSUPPORTED;
}
// Execute
@ -106,7 +106,7 @@ int CEF_CALLBACK domnode_is_form_control_element(struct _cef_domnode_t* self) {
return _retval;
}
cef_string_userfree_t CEF_CALLBACK
cef_dom_form_control_type_t CEF_CALLBACK
domnode_get_form_control_element_type(struct _cef_domnode_t* self) {
shutdown_checker::AssertNotShutdown();
@ -114,14 +114,15 @@ domnode_get_form_control_element_type(struct _cef_domnode_t* self) {
DCHECK(self);
if (!self) {
return NULL;
return DOM_FORM_CONTROL_TYPE_UNSUPPORTED;
}
// Execute
CefString _retval = CefDOMNodeCppToC::Get(self)->GetFormControlElementType();
cef_dom_form_control_type_t _retval =
CefDOMNodeCppToC::Get(self)->GetFormControlElementType();
// Return type: string
return _retval.DetachToUserFree();
// Return type: simple
return _retval;
}
int CEF_CALLBACK domnode_is_same(struct _cef_domnode_t* self,

View File

@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=84848cc9affe98814d49ff6a27854b61bec42992$
// $hash=37ed8551da23d022650ec89ce0fb82b8eec55eae$
//
#include "libcef_dll/ctocpp/domnode_ctocpp.h"
@ -92,7 +92,7 @@ NO_SANITIZE("cfi-icall") bool CefDOMNodeCToCpp::IsFormControlElement() {
cef_domnode_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_form_control_element)) {
return false;
return DOM_NODE_TYPE_UNSUPPORTED;
}
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
@ -105,24 +105,22 @@ NO_SANITIZE("cfi-icall") bool CefDOMNodeCToCpp::IsFormControlElement() {
}
NO_SANITIZE("cfi-icall")
CefString CefDOMNodeCToCpp::GetFormControlElementType() {
CefDOMNode::FormControlType CefDOMNodeCToCpp::GetFormControlElementType() {
shutdown_checker::AssertNotShutdown();
cef_domnode_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_form_control_element_type)) {
return CefString();
return DOM_FORM_CONTROL_TYPE_UNSUPPORTED;
}
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_string_userfree_t _retval =
cef_dom_form_control_type_t _retval =
_struct->get_form_control_element_type(_struct);
// Return type: string
CefString _retvalStr;
_retvalStr.AttachToUserFree(_retval);
return _retvalStr;
// Return type: simple
return _retval;
}
NO_SANITIZE("cfi-icall")

View File

@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=343a5f84d09a6933f005c3915582c73c43bda406$
// $hash=bdfecd683960bdf5cb2ef10617cc7cc0bf9112aa$
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_DOMNODE_CTOCPP_H_
@ -38,7 +38,7 @@ class CefDOMNodeCToCpp
bool IsElement() override;
bool IsEditable() override;
bool IsFormControlElement() override;
CefString GetFormControlElementType() override;
FormControlType GetFormControlElementType() override;
bool IsSame(CefRefPtr<CefDOMNode> that) override;
CefString GetName() override;
CefString GetValue() override;

View File

@ -130,6 +130,8 @@ patches = [
#
# Add WebContentsObserver::RenderWidgetCreated.
# https://github.com/chromiumembedded/cef/issues/3308
#
# Avoid crash in WebContentsImpl::GetWindowShowState with OSR.
'name': 'web_contents_1257_1565',
},
{
@ -442,7 +444,8 @@ patches = [
# "C:\temp\cache\Cache").
# https://github.com/chromiumembedded/cef/issues/2622
#
# alloy: Avoid initialization of privacy sandbox and identity manager.
# alloy: Avoid initialization of privacy sandbox, identity manager and
# first party sets policy.
# https://github.com/chromiumembedded/cef/issues/3434
'name': 'services_network_2622',
},
@ -661,5 +664,15 @@ patches = [
# https://github.com/chromiumembedded/cef/issues/3534
# https://chromium-review.googlesource.com/c/chromium/src/+/4766248
'name': 'light_mode_3534'
},
{
# Fix NOTREACHED() in RenderFrameHostImpl::CommitNavigation() with
# CorsTest.IframeNoneServerToCustomUnregisteredScheme.
# Fix bad optional access in VerifyInitiatorOrigin() with
# RequestHandlerTest.NotificationsCrossOriginDelayedRenderer.
# Partially reverts the below changes.
# https://chromium-review.googlesource.com/c/chromium/src/+/4829483
# https://bugs.chromium.org/p/chromium/issues/detail?id=1470837#c22
'name': 'rfh_navigation_4829483'
}
]

View File

@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn
index 82cb596dcbb36..16c057933e1f8 100644
index 55479f4187323..207b9e3a1e281 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -40,6 +40,7 @@ import("//build/config/ui.gni")
@ -10,7 +10,7 @@ index 82cb596dcbb36..16c057933e1f8 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
@@ -1502,7 +1503,11 @@ component("base") {
@@ -1495,7 +1496,11 @@ component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]
@ -23,7 +23,7 @@ index 82cb596dcbb36..16c057933e1f8 100644
sources += [
"hash/md5_nacl.cc",
"hash/md5_nacl.h",
@@ -1911,6 +1916,12 @@ component("base") {
@@ -1909,6 +1914,12 @@ component("base") {
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
}

View File

@ -33,7 +33,7 @@ index 641bbaf2c7576..afdd641e38452 100644
// Generic container overload.
template <typename Range>
diff --git base/win/registry.cc base/win/registry.cc
index c33cda7211238..063be1886c544 100644
index 7b9dcb90e627e..275b60e6c2a28 100644
--- base/win/registry.cc
+++ base/win/registry.cc
@@ -14,6 +14,14 @@

View File

@ -1,8 +1,8 @@
diff --git base/test/BUILD.gn base/test/BUILD.gn
index c6add87d77744..80d34d031e14b 100644
index 90df027353fe7..fdfc6c6d450d9 100644
--- base/test/BUILD.gn
+++ base/test/BUILD.gn
@@ -185,11 +185,6 @@ static_library("test_support") {
@@ -189,11 +189,6 @@ static_library("test_support") {
if (enable_base_tracing) {
public_deps += [ "//third_party/perfetto:perfetto_test_support" ]
@ -14,7 +14,7 @@ index c6add87d77744..80d34d031e14b 100644
deps += [ ":gen_cc_chrome_track_event_descriptor" ]
if (is_ios) {
deps += [
@@ -534,7 +529,7 @@ if (enable_base_tracing) {
@@ -537,7 +532,7 @@ if (enable_base_tracing) {
# processor depends on dev_sqlite. The two share the same symbols but have
# different implementations, so we need to hide dev_sqlite in this shared
# library even in non-component builds to prevent duplicate symbols.
@ -23,7 +23,7 @@ index c6add87d77744..80d34d031e14b 100644
if (is_ios) {
_target_type = "ios_framework_bundle"
}
@@ -543,6 +538,8 @@ if (enable_base_tracing) {
@@ -546,6 +541,8 @@ if (enable_base_tracing) {
defines = [ "TEST_TRACE_PROCESSOR_IMPL" ]
testonly = true
sources = [
@ -32,7 +32,7 @@ index c6add87d77744..80d34d031e14b 100644
"test_trace_processor_export.h",
"test_trace_processor_impl.cc",
"test_trace_processor_impl.h",
@@ -560,33 +557,6 @@ if (enable_base_tracing) {
@@ -563,33 +560,6 @@ if (enable_base_tracing) {
output_name = "TestTraceProcessor"
bundle_deps_filter = [ "//third_party/icu:icudata" ]
}
@ -88,10 +88,10 @@ index f5191b804bc07..aadb7d66ba4c3 100644
+
#endif // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_
diff --git content/shell/BUILD.gn content/shell/BUILD.gn
index f770bd917f92f..0607e2eedaaca 100644
index acc54b120738f..6a79447c20513 100644
--- content/shell/BUILD.gn
+++ content/shell/BUILD.gn
@@ -841,7 +841,6 @@ if (is_mac) {
@@ -842,7 +842,6 @@ if (is_mac) {
# Specify a sensible install_name for static builds. The library is
# dlopen()ed so this is not used to resolve the module.
ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ]

View File

@ -1,5 +1,5 @@
diff --git third_party/blink/public/web/web_element.h third_party/blink/public/web/web_element.h
index a23dd0a402704..91e4d3615fb6a 100644
index c9a9eb2da897c..7339ae9945fc4 100644
--- third_party/blink/public/web/web_element.h
+++ third_party/blink/public/web/web_element.h
@@ -81,6 +81,9 @@ class BLINK_EXPORT WebElement : public WebNode {
@ -13,10 +13,10 @@ index a23dd0a402704..91e4d3615fb6a 100644
// Returns all <label> elements associated to this element.
WebVector<WebLabelElement> Labels() const;
diff --git third_party/blink/renderer/core/exported/web_element.cc third_party/blink/renderer/core/exported/web_element.cc
index a2afa376065be..be829f7f58854 100644
index 496d5181ff522..f98339358e9d4 100644
--- third_party/blink/renderer/core/exported/web_element.cc
+++ third_party/blink/renderer/core/exported/web_element.cc
@@ -105,6 +105,24 @@ void WebElement::SetAttribute(const WebString& attr_name,
@@ -106,6 +106,24 @@ void WebElement::SetAttribute(const WebString& attr_name,
IGNORE_EXCEPTION_FOR_TESTING);
}

View File

@ -1,8 +1,8 @@
diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc
index 0e9aa441e3298..d22508fe1965f 100644
index 307d5b7ffca63..9a8f0a4d3d7bd 100644
--- content/browser/scheduler/browser_task_executor.cc
+++ content/browser/scheduler/browser_task_executor.cc
@@ -208,7 +208,7 @@ BrowserTaskExecutor::OnUserInputStart() {
@@ -209,7 +209,7 @@ BrowserTaskExecutor::OnUserInputStart() {
// static
void BrowserTaskExecutor::Shutdown() {

View File

@ -1,8 +1,8 @@
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
index ccc2e7da62b79..f3b31e1196988 100644
index 401eb0cd40ee2..5e7ac0b6d9d0a 100644
--- content/browser/child_process_security_policy_impl.cc
+++ content/browser/child_process_security_policy_impl.cc
@@ -1860,6 +1860,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin(
@@ -1866,6 +1866,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin(
// DeclarativeApiTest.PersistRules.
if (actual_process_lock.matches_scheme(url::kDataScheme))
return true;
@ -20,10 +20,10 @@ index ccc2e7da62b79..f3b31e1196988 100644
// Make an exception to allow most visited tiles to commit in
diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc
index e91fb6b203b55..fdf1de970fe18 100644
index 68b50260715c2..79d9cd4558848 100644
--- content/browser/renderer_host/navigation_request.cc
+++ content/browser/renderer_host/navigation_request.cc
@@ -7414,10 +7414,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
@@ -7463,10 +7463,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
bool use_opaque_origin =
(sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) ==
network::mojom::WebSandboxFlags::kOrigin;
@ -47,7 +47,7 @@ index e91fb6b203b55..fdf1de970fe18 100644
}
return origin_and_debug_info;
@@ -7523,6 +7535,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
@@ -7572,6 +7584,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
DetermineInitiatorRelationship(initiator_rfh,
frame_tree_node_->current_frame_host()));

View File

@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 06812fb9c2188..3daa061efcd8f 100644
index 6d05512ae3644..d67b22be8ecea 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -2080,8 +2080,6 @@ config("thin_archive") {
@@ -2116,8 +2116,6 @@ config("thin_archive") {
# confuses lldb.
if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
arflags = [ "-T" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 1a9bff4a3efb7..883534be3c975 100644
index 157ee5cadc0a7..9906a3cc24dd0 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni")
@ -10,7 +10,7 @@ index 1a9bff4a3efb7..883534be3c975 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/common/features.gni")
@@ -2001,6 +2002,7 @@ static_library("browser") {
@@ -2047,6 +2048,7 @@ static_library("browser") {
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
"//cc",
@ -18,7 +18,7 @@ index 1a9bff4a3efb7..883534be3c975 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2630,6 +2632,10 @@ static_library("browser") {
@@ -2694,6 +2696,10 @@ static_library("browser") {
]
}

View File

@ -14,10 +14,10 @@ index 25a82353eace8..bf3c1cc675688 100644
std::unique_ptr<BackgroundModeManager> manager) = 0;
#endif
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
index 080614c2c660d..8a01a0cf10dfa 100644
index 2c378853875b1..abb69e7678b8c 100644
--- chrome/browser/browser_process_impl.cc
+++ chrome/browser/browser_process_impl.cc
@@ -1053,18 +1053,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
@@ -1055,18 +1055,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
return download_request_limiter_.get();
}

View File

@ -13,7 +13,7 @@ index 2480282a19d12..dbd1fbf8a15b5 100644
return false;
}
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index a521886e9eb44..4ba68bf125c94 100644
index eca90c39e0d44..2157b6d86ab02 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni")
@ -24,7 +24,7 @@ index a521886e9eb44..4ba68bf125c94 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//chromeos/ash/components/assistant/assistant.gni")
@@ -382,6 +383,10 @@ static_library("ui") {
@@ -374,6 +375,10 @@ static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@ -35,7 +35,7 @@ index a521886e9eb44..4ba68bf125c94 100644
# Since browser and browser_ui actually depend on each other,
# we must omit the dependency from browser_ui to browser.
# However, this means browser_ui and browser should more or less
@@ -407,6 +412,7 @@ static_library("ui") {
@@ -399,6 +404,7 @@ static_library("ui") {
"//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags",
"//cc/paint",
@ -43,7 +43,7 @@ index a521886e9eb44..4ba68bf125c94 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/app:chrome_dll_resources",
@@ -2710,6 +2716,8 @@ static_library("ui") {
@@ -2759,6 +2765,8 @@ static_library("ui") {
"views/apps/app_dialog/app_block_dialog_view.h",
"views/apps/app_dialog/app_pause_dialog_view.cc",
"views/apps/app_dialog/app_pause_dialog_view.h",
@ -52,7 +52,7 @@ index a521886e9eb44..4ba68bf125c94 100644
"views/apps/app_info_dialog/arc_app_info_links_panel.cc",
"views/apps/app_info_dialog/arc_app_info_links_panel.h",
"views/apps/chrome_app_window_client_views_chromeos.cc",
@@ -4619,8 +4627,6 @@ static_library("ui") {
@@ -4694,8 +4702,6 @@ static_library("ui") {
"views/accessibility/theme_tracking_non_accessible_image_view.h",
"views/apps/app_dialog/app_dialog_view.cc",
"views/apps/app_dialog/app_dialog_view.h",
@ -61,7 +61,7 @@ index a521886e9eb44..4ba68bf125c94 100644
"views/apps/app_info_dialog/app_info_dialog_container.cc",
"views/apps/app_info_dialog/app_info_dialog_container.h",
"views/apps/app_info_dialog/app_info_dialog_views.cc",
@@ -6279,6 +6285,7 @@ static_library("ui") {
@@ -6392,6 +6398,7 @@ static_library("ui") {
if (enable_printing) {
deps += [
"//components/printing/browser",
@ -70,7 +70,7 @@ index a521886e9eb44..4ba68bf125c94 100644
]
}
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
index fdb96dee05067..a188b6442b1ca 100644
index 9ba2025634365..b6ceaa7f0b531 100644
--- chrome/browser/ui/browser.cc
+++ chrome/browser/ui/browser.cc
@@ -265,6 +265,25 @@
@ -99,7 +99,7 @@ index fdb96dee05067..a188b6442b1ca 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_browser_window_helper.h"
#endif
@@ -456,6 +475,10 @@ Browser::Browser(const CreateParams& params)
@@ -460,6 +479,10 @@ Browser::Browser(const CreateParams& params)
type_(params.type),
profile_(params.profile),
window_(nullptr),
@ -110,7 +110,7 @@ index fdb96dee05067..a188b6442b1ca 100644
tab_strip_model_delegate_(
std::make_unique<chrome::BrowserTabStripModelDelegate>(this)),
tab_strip_model_(std::make_unique<TabStripModel>(
@@ -651,6 +674,12 @@ Browser::~Browser() {
@@ -655,6 +678,12 @@ Browser::~Browser() {
// away so they don't try and call back to us.
if (select_file_dialog_.get())
select_file_dialog_->ListenerDestroyed();
@ -123,7 +123,7 @@ index fdb96dee05067..a188b6442b1ca 100644
}
///////////////////////////////////////////////////////////////////////////////
@@ -1055,6 +1084,8 @@ void Browser::WindowFullscreenStateChanged() {
@@ -1059,6 +1088,8 @@ void Browser::WindowFullscreenStateChanged() {
->WindowFullscreenStateChanged();
command_controller_->FullscreenStateChanged();
UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN);
@ -132,7 +132,7 @@ index fdb96dee05067..a188b6442b1ca 100644
}
void Browser::FullscreenTopUIStateChanged() {
@@ -1394,6 +1425,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
@@ -1398,6 +1429,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
if (exclusive_access_manager_->HandleUserKeyEvent(event))
return content::KeyboardEventProcessingResult::HANDLED;
@ -147,7 +147,7 @@ index fdb96dee05067..a188b6442b1ca 100644
return window()->PreHandleKeyboardEvent(event);
}
@@ -1401,8 +1440,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
@@ -1405,8 +1444,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
const NativeWebKeyboardEvent& event) {
DevToolsWindow* devtools_window =
DevToolsWindow::GetInstanceForInspectedWebContents(source);
@ -168,7 +168,7 @@ index fdb96dee05067..a188b6442b1ca 100644
}
bool Browser::TabsNeedBeforeUnloadFired() {
@@ -1613,6 +1662,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
@@ -1617,6 +1666,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -183,7 +183,7 @@ index fdb96dee05067..a188b6442b1ca 100644
NavigateParams nav_params(this, params.url, params.transition);
nav_params.FillNavigateParamsFromOpenURLParams(params);
nav_params.source_contents = source;
@@ -1770,6 +1827,8 @@ void Browser::LoadingStateChanged(WebContents* source,
@@ -1774,6 +1831,8 @@ void Browser::LoadingStateChanged(WebContents* source,
bool should_show_loading_ui) {
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
UpdateWindowForLoadingStateChanged(source, should_show_loading_ui);
@ -192,7 +192,7 @@ index fdb96dee05067..a188b6442b1ca 100644
}
void Browser::CloseContents(WebContents* source) {
@@ -1798,6 +1857,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
@@ -1802,6 +1861,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
}
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@ -201,7 +201,7 @@ index fdb96dee05067..a188b6442b1ca 100644
if (!GetStatusBubble())
return;
@@ -1805,6 +1866,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@@ -1809,6 +1870,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
GetStatusBubble()->SetURL(url);
}
@ -219,7 +219,7 @@ index fdb96dee05067..a188b6442b1ca 100644
void Browser::ContentsMouseEvent(WebContents* source,
bool motion,
bool exited) {
@@ -1829,6 +1901,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
@@ -1833,6 +1905,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
return false;
}
@ -239,7 +239,7 @@ index fdb96dee05067..a188b6442b1ca 100644
void Browser::BeforeUnloadFired(WebContents* web_contents,
bool proceed,
bool* proceed_to_fire_unload) {
@@ -1921,6 +2006,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
@@ -1925,6 +2010,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// Make the tab show up in the task manager.
task_manager::WebContentsTags::CreateForTabContents(new_contents);
@ -250,7 +250,7 @@ index fdb96dee05067..a188b6442b1ca 100644
}
void Browser::PortalWebContentsCreated(WebContents* portal_web_contents) {
@@ -2038,11 +2127,15 @@ void Browser::EnterFullscreenModeForTab(
@@ -2046,11 +2135,15 @@ void Browser::EnterFullscreenModeForTab(
const blink::mojom::FullscreenOptions& options) {
exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab(
requesting_frame, options.display_id);
@ -266,7 +266,7 @@ index fdb96dee05067..a188b6442b1ca 100644
}
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
@@ -2232,6 +2325,15 @@ void Browser::RequestMediaAccessPermission(
@@ -2240,6 +2333,15 @@ void Browser::RequestMediaAccessPermission(
content::WebContents* web_contents,
const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) {
@ -282,29 +282,33 @@ index fdb96dee05067..a188b6442b1ca 100644
const extensions::Extension* extension =
GetExtensionForOrigin(profile_, request.security_origin);
MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest(
@@ -2783,13 +2885,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
@@ -2791,9 +2893,11 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
// Browser, Getters for UI (private):
StatusBubble* Browser::GetStatusBubble() {
+ bool show_by_default = true;
+
// In web apps, and in kiosk and exclusive app mode we want to always hide the
// status bubble.
if (chrome::IsRunningInAppMode() ||
web_app::AppBrowserController::IsWebApp(this)) {
// For kiosk and exclusive app mode we want to always hide the status bubble.
if (chrome::IsRunningInAppMode()) {
- return nullptr;
+ show_by_default = false;
}
// We hide the status bar for web apps windows as this matches native
@@ -2801,6 +2905,12 @@ StatusBubble* Browser::GetStatusBubble() {
// mode, as the minimal browser UI includes the status bar.
if (web_app::AppBrowserController::IsWebApp(this) &&
!app_controller()->HasMinimalUiButtons()) {
+ show_by_default = false;
+ }
+
+ bool show = show_by_default;
+ CALL_CEF_DELEGATE_RESULT(ShowStatusBubble, show, show_by_default);
+ if (!show)
+ return nullptr;
+
return window_ ? window_->GetStatusBubble() : nullptr;
}
+ if (!show) {
return nullptr;
}
@@ -2923,6 +3032,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
@@ -2937,6 +3047,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
web_contents_collection_.StopObserving(web_contents);
}
@ -313,7 +317,7 @@ index fdb96dee05067..a188b6442b1ca 100644
}
void Browser::TabDetachedAtImpl(content::WebContents* contents,
@@ -3077,6 +3188,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature(
@@ -3091,6 +3203,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature(
bool Browser::SupportsWindowFeatureImpl(WindowFeature feature,
bool check_can_support) const {
@ -329,7 +333,7 @@ index fdb96dee05067..a188b6442b1ca 100644
case TYPE_NORMAL:
return NormalBrowserSupportsWindowFeature(feature, check_can_support);
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
index ce9edb90a7ac7..a0f0e6fe0d02f 100644
index db37e861d2546..c47dfc31131f7 100644
--- chrome/browser/ui/browser.h
+++ chrome/browser/ui/browser.h
@@ -22,6 +22,7 @@
@ -351,7 +355,7 @@ index ce9edb90a7ac7..a0f0e6fe0d02f 100644
#if BUILDFLAG(IS_ANDROID)
#error This file should only be included on desktop.
#endif
@@ -327,6 +332,15 @@ class Browser : public TabStripModelObserver,
@@ -331,6 +336,15 @@ class Browser : public TabStripModelObserver,
// Document Picture in Picture options, specific to TYPE_PICTURE_IN_PICTURE.
absl::optional<blink::mojom::PictureInPictureWindowOptions> pip_options;
@ -367,7 +371,7 @@ index ce9edb90a7ac7..a0f0e6fe0d02f 100644
private:
friend class Browser;
friend class WindowSizerChromeOSTest;
@@ -408,6 +422,13 @@ class Browser : public TabStripModelObserver,
@@ -412,6 +426,13 @@ class Browser : public TabStripModelObserver,
update_ui_immediately_for_testing_ = true;
}
@ -381,7 +385,7 @@ index ce9edb90a7ac7..a0f0e6fe0d02f 100644
// Accessors ////////////////////////////////////////////////////////////////
const CreateParams& create_params() const { return create_params_; }
@@ -481,6 +502,12 @@ class Browser : public TabStripModelObserver,
@@ -485,6 +506,12 @@ class Browser : public TabStripModelObserver,
base::WeakPtr<Browser> AsWeakPtr();
@ -394,7 +398,7 @@ index ce9edb90a7ac7..a0f0e6fe0d02f 100644
// Get the FindBarController for this browser, creating it if it does not
// yet exist.
FindBarController* GetFindBarController();
@@ -872,11 +899,19 @@ class Browser : public TabStripModelObserver,
@@ -876,11 +903,19 @@ class Browser : public TabStripModelObserver,
void SetContentsBounds(content::WebContents* source,
const gfx::Rect& bounds) override;
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
@ -414,7 +418,7 @@ index ce9edb90a7ac7..a0f0e6fe0d02f 100644
void BeforeUnloadFired(content::WebContents* source,
bool proceed,
bool* proceed_to_fire_unload) override;
@@ -1215,6 +1250,10 @@ class Browser : public TabStripModelObserver,
@@ -1219,6 +1254,10 @@ class Browser : public TabStripModelObserver,
// This Browser's window.
raw_ptr<BrowserWindow, DanglingUntriaged> window_;
@ -425,7 +429,7 @@ index ce9edb90a7ac7..a0f0e6fe0d02f 100644
std::unique_ptr<TabStripModelDelegate> const tab_strip_model_delegate_;
std::unique_ptr<TabStripModel> const tab_strip_model_;
@@ -1284,6 +1323,8 @@ class Browser : public TabStripModelObserver,
@@ -1288,6 +1327,8 @@ class Browser : public TabStripModelObserver,
const std::string initial_workspace_;
bool initial_visible_on_all_workspaces_state_;
@ -435,7 +439,7 @@ index ce9edb90a7ac7..a0f0e6fe0d02f 100644
UnloadController unload_controller_;
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
index 3b7f96e505e0b..d44d0369def55 100644
index e76824b5ba371..27c8e3d131238 100644
--- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc
@@ -288,6 +288,10 @@ std::pair<Browser*, int> GetBrowserAndTabForDisposition(
@ -449,7 +453,7 @@ index 3b7f96e505e0b..d44d0369def55 100644
const BrowserWindow* const browser_window = params.browser->window();
const gfx::NativeWindow native_window =
browser_window ? browser_window->GetNativeWindow()
@@ -551,6 +555,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
@@ -553,6 +557,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
std::unique_ptr<WebContents> target_contents =
WebContents::Create(create_params);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 81349bc10ffe9..6fce9815a6c51 100644
index 9ed9d3b43c45b..845bb4ff858ef 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -341,6 +341,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
@@ -344,6 +344,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
return callback.get();
}
@ -16,7 +16,7 @@ index 81349bc10ffe9..6fce9815a6c51 100644
enum class UmaEnumIdLookupType {
GeneralEnumId,
ContextSpecificEnumId,
@@ -590,6 +597,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
@@ -593,6 +600,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
if (ContextMenuMatcher::IsExtensionsCustomCommandId(id))
return 1;
@ -27,7 +27,7 @@ index 81349bc10ffe9..6fce9815a6c51 100644
id = CollapseCommandsForUMA(id);
const auto& map = GetIdcToUmaMap(type);
auto it = map.find(id);
@@ -814,6 +825,14 @@ RenderViewContextMenu::RenderViewContextMenu(
@@ -816,6 +827,14 @@ RenderViewContextMenu::RenderViewContextMenu(
pdf_ocr_submenu_model_ = std::make_unique<ui::SimpleMenuModel>(this);
#endif // BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
@ -42,7 +42,7 @@ index 81349bc10ffe9..6fce9815a6c51 100644
observers_.AddObserver(&autofill_context_menu_manager_);
}
@@ -1252,6 +1271,12 @@ void RenderViewContextMenu::InitMenu() {
@@ -1278,6 +1297,12 @@ void RenderViewContextMenu::InitMenu() {
autofill::PopupHidingReason::kContextMenuOpened);
}
}
@ -55,7 +55,7 @@ index 81349bc10ffe9..6fce9815a6c51 100644
}
Profile* RenderViewContextMenu::GetProfile() const {
@@ -3320,6 +3345,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
@@ -3334,6 +3359,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
execute_plugin_action_callback_ = std::move(cb);
}
@ -69,7 +69,7 @@ index 81349bc10ffe9..6fce9815a6c51 100644
RenderViewContextMenu::GetHandlersForLinkUrl() {
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
index 88034ab234827..e11cde8e1663b 100644
index 45f2a2a82cb03..5abee00109363 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -152,6 +152,12 @@ class RenderViewContextMenu
@ -85,7 +85,7 @@ index 88034ab234827..e11cde8e1663b 100644
protected:
Profile* GetProfile() const;
@@ -433,6 +439,9 @@ class RenderViewContextMenu
@@ -437,6 +443,9 @@ class RenderViewContextMenu
// built.
bool is_protocol_submenu_valid_ = false;

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc
index 961f04a054a1a..b2080237e8deb 100644
index 3f5042600416e..25c23b1a0f00d 100644
--- chrome/browser/file_select_helper.cc
+++ chrome/browser/file_select_helper.cc
@@ -20,6 +20,7 @@
@ -10,7 +10,7 @@ index 961f04a054a1a..b2080237e8deb 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/connectors/common.h"
#include "chrome/browser/platform_util.h"
@@ -253,6 +254,13 @@ void FileSelectHelper::OnListFile(
@@ -256,6 +257,13 @@ void FileSelectHelper::OnListFile(
void FileSelectHelper::LaunchConfirmationDialog(
const base::FilePath& path,
std::vector<ui::SelectedFileInfo> selected_files) {
@ -24,7 +24,7 @@ index 961f04a054a1a..b2080237e8deb 100644
ShowFolderUploadConfirmationDialog(
path,
base::BindOnce(&FileSelectHelper::ConvertToFileChooserFileInfoList, this),
@@ -337,6 +345,12 @@ void FileSelectHelper::PerformContentAnalysisIfNeeded(
@@ -340,6 +348,12 @@ void FileSelectHelper::PerformContentAnalysisIfNeeded(
if (AbortIfWebContentsDestroyed())
return;
@ -37,7 +37,7 @@ index 961f04a054a1a..b2080237e8deb 100644
#if BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS)
enterprise_connectors::ContentAnalysisDelegate::Data data;
if (enterprise_connectors::ContentAnalysisDelegate::IsEnabled(
@@ -467,7 +481,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() {
@@ -470,7 +484,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() {
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo>
FileSelectHelper::GetFileTypesFromAcceptType(
@ -47,7 +47,7 @@ index 961f04a054a1a..b2080237e8deb 100644
auto base_file_type = std::make_unique<ui::SelectFileDialog::FileTypeInfo>();
if (accept_types.empty())
return base_file_type;
@@ -480,17 +495,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -483,17 +498,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
std::vector<base::FilePath::StringType>* extensions =
&file_type->extensions.back();
@ -73,7 +73,7 @@ index 961f04a054a1a..b2080237e8deb 100644
} else {
if (!base::IsStringASCII(accept_type))
continue;
@@ -501,10 +523,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -504,10 +526,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
description_id = IDS_AUDIO_FILES;
else if (ascii_type == "video/*")
description_id = IDS_VIDEO_FILES;
@ -94,7 +94,7 @@ index 961f04a054a1a..b2080237e8deb 100644
if (extensions->size() > old_extension_size)
valid_type_count++;
}
@@ -529,6 +559,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -532,6 +562,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
l10n_util::GetStringUTF16(description_id));
}
@ -110,7 +110,7 @@ index 961f04a054a1a..b2080237e8deb 100644
return file_type;
}
@@ -536,7 +575,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -539,7 +578,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
void FileSelectHelper::RunFileChooser(
content::RenderFrameHost* render_frame_host,
scoped_refptr<content::FileSelectListener> listener,
@ -120,7 +120,7 @@ index 961f04a054a1a..b2080237e8deb 100644
Profile* profile = Profile::FromBrowserContext(
render_frame_host->GetProcess()->GetBrowserContext());
@@ -555,6 +595,7 @@ void FileSelectHelper::RunFileChooser(
@@ -558,6 +598,7 @@ void FileSelectHelper::RunFileChooser(
// message.
scoped_refptr<FileSelectHelper> file_select_helper(
new FileSelectHelper(profile));
@ -128,7 +128,7 @@ index 961f04a054a1a..b2080237e8deb 100644
file_select_helper->RunFileChooser(render_frame_host, std::move(listener),
params.Clone());
}
@@ -606,7 +647,8 @@ void FileSelectHelper::RunFileChooser(
@@ -609,7 +650,8 @@ void FileSelectHelper::RunFileChooser(
}
void FileSelectHelper::GetFileTypesInThreadPool(FileChooserParamsPtr params) {
@ -139,7 +139,7 @@ index 961f04a054a1a..b2080237e8deb 100644
params->need_local_path ? ui::SelectFileDialog::FileTypeInfo::NATIVE_PATH
: ui::SelectFileDialog::FileTypeInfo::ANY_PATH;
diff --git chrome/browser/file_select_helper.h chrome/browser/file_select_helper.h
index 143b971ea541e..a45df89a843b0 100644
index 57dae0b3670ae..85eeda4cbaa5b 100644
--- chrome/browser/file_select_helper.h
+++ chrome/browser/file_select_helper.h
@@ -62,7 +62,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe<
@ -255,10 +255,10 @@ index e2c00b2ec1532..a2e8753766597 100644
return CreateSelectFileDialog(listener, std::move(policy));
}
diff --git ui/shell_dialogs/select_file_dialog.h ui/shell_dialogs/select_file_dialog.h
index f4c63672b1a5f..6c756beaba0f3 100644
index 65f0342389117..c4b79bc0dab91 100644
--- ui/shell_dialogs/select_file_dialog.h
+++ ui/shell_dialogs/select_file_dialog.h
@@ -114,7 +114,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -116,7 +116,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
// is refcounted and uses a background thread.
static scoped_refptr<SelectFileDialog> Create(
Listener* listener,
@ -268,7 +268,7 @@ index f4c63672b1a5f..6c756beaba0f3 100644
SelectFileDialog(const SelectFileDialog&) = delete;
SelectFileDialog& operator=(const SelectFileDialog&) = delete;
@@ -211,6 +212,19 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -213,6 +214,19 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr);
bool HasMultipleFileTypeChoices();
@ -288,7 +288,7 @@ index f4c63672b1a5f..6c756beaba0f3 100644
protected:
friend class base::RefCountedThreadSafe<SelectFileDialog>;
@@ -236,6 +250,11 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -238,6 +252,11 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
// The listener to be notified of selection completion.
raw_ptr<Listener> listener_;
@ -300,7 +300,7 @@ index f4c63672b1a5f..6c756beaba0f3 100644
private:
// Tests if the file selection dialog can be displayed by
// testing if the AllowFileSelectionDialogs-Policy is
@@ -248,8 +267,6 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -250,8 +269,6 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
// Returns true if the dialog has multiple file type choices.
virtual bool HasMultipleFileTypeChoicesImpl() = 0;

View File

@ -12,7 +12,7 @@ index b169371e4d42f..509e4bda85b47 100644
// on the screen, we can't actually attach to it.
parent_window = nullptr;
diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc
index 819da6b0bff94..b25a48fb2516b 100644
index 819da6b0bff94..a8e3ecd8527bd 100644
--- components/constrained_window/constrained_window_views.cc
+++ components/constrained_window/constrained_window_views.cc
@@ -105,15 +105,24 @@ void UpdateModalDialogPosition(views::Widget* widget,
@ -77,10 +77,10 @@ index 819da6b0bff94..b25a48fb2516b 100644
DCHECK_EQ(parent_view, host->GetHostView());
ModalDialogHostObserver* dialog_host_observer =
diff --git components/constrained_window/native_web_contents_modal_dialog_manager_views.cc components/constrained_window/native_web_contents_modal_dialog_manager_views.cc
index 647391095306e..bd49316ac758e 100644
index b986b7fa98c73..1000f529acc82 100644
--- components/constrained_window/native_web_contents_modal_dialog_manager_views.cc
+++ components/constrained_window/native_web_contents_modal_dialog_manager_views.cc
@@ -184,9 +184,20 @@ void NativeWebContentsModalDialogManagerViews::HostChanged(
@@ -188,9 +188,20 @@ void NativeWebContentsModalDialogManagerViews::HostChanged(
if (host_) {
host_->AddObserver(this);
@ -105,7 +105,7 @@ index 647391095306e..bd49316ac758e 100644
OnPositionRequiresUpdate();
diff --git components/web_modal/modal_dialog_host.h components/web_modal/modal_dialog_host.h
index 51ed6bcf6b540..9ae4737e0737e 100644
index 51ed6bcf6b540..c6e1161140655 100644
--- components/web_modal/modal_dialog_host.h
+++ components/web_modal/modal_dialog_host.h
@@ -34,6 +34,10 @@ class WEB_MODAL_EXPORT ModalDialogHost {

View File

@ -33,7 +33,7 @@ index a5ee05ae5f5e9..97fd2e8da450e 100644
~BrowserFrameMac() override;
diff --git chrome/browser/ui/views/frame/browser_frame_mac.mm chrome/browser/ui/views/frame/browser_frame_mac.mm
index 65e7e391139ba..88dfa39f4cdcd 100644
index 1473ed154f906..bf861087fe292 100644
--- chrome/browser/ui/views/frame/browser_frame_mac.mm
+++ chrome/browser/ui/views/frame/browser_frame_mac.mm
@@ -182,7 +182,14 @@ void BrowserFrameMac::OnWindowFullscreenTransitionComplete() {

View File

@ -142,10 +142,10 @@ index fbce13c16ad10..0512b2f09937e 100644
std::unique_ptr<permissions::PermissionPrompt> CreatePermissionPrompt(
content::WebContents* web_contents,
diff --git chrome/browser/ui/views/permissions/permission_prompt_factory.cc chrome/browser/ui/views/permissions/permission_prompt_factory.cc
index 162e03560b2ed..8d3c92202e55f 100644
index 3171d0aed2cd0..dc47430ccc81e 100644
--- chrome/browser/ui/views/permissions/permission_prompt_factory.cc
+++ chrome/browser/ui/views/permissions/permission_prompt_factory.cc
@@ -181,11 +181,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt(
@@ -182,11 +182,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt(
}
}

View File

@ -351,10 +351,10 @@ index 8dbf958c189dd..6eaccc6688eca 100644
*dir = base::FilePath(policy::path_parser::ExpandPathVariables(value));
return true;
diff --git chrome/common/chrome_paths.cc chrome/common/chrome_paths.cc
index 1d75edad24781..62dda7d933828 100644
index 9c8efc76fc3f1..5ae2ec3ff1fdd 100644
--- chrome/common/chrome_paths.cc
+++ chrome/common/chrome_paths.cc
@@ -504,7 +504,8 @@ bool PathProvider(int key, base::FilePath* result) {
@@ -516,7 +516,8 @@ bool PathProvider(int key, base::FilePath* result) {
return false;
}
break;

View File

@ -14,10 +14,10 @@ index 7ae18c5a960b0..d48ba838efe6f 100644
? profile_metrics::BrowserProfileType::kRegular
: profile_metrics::BrowserProfileType::kIncognito;
diff --git chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
index f3a5093abe7ca..f2bcc7b3c1f4c 100644
index 9f1cb38d90303..986ac5ed9bdaf 100644
--- chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
+++ chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
@@ -30,7 +30,9 @@ IncognitoClearBrowsingDataDialog::IncognitoClearBrowsingDataDialog(
@@ -31,7 +31,9 @@ IncognitoClearBrowsingDataDialog::IncognitoClearBrowsingDataDialog(
dialog_type_(type),
incognito_profile_(incognito_profile) {
DCHECK(incognito_profile_);

View File

@ -84,7 +84,7 @@ index ee1675aa1ecc9..cb526d1aba30d 100644
// Returns whether the user has signed in this profile to an account.
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
index f3e41082fe306..abdefa172be33 100644
index 90859a99248a4..26fec83939559 100644
--- chrome/browser/profiles/profile_impl.cc
+++ chrome/browser/profiles/profile_impl.cc
@@ -1023,7 +1023,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index 0f823ed1e7066..99bbeb884cdfb 100644
index 19c1eac726602..b9528268d6a9a 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -32,6 +32,7 @@ static_library("safe_browsing") {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc
index 3b1af39b69a60..3f3f15c23a74f 100644
index dbd628982e216..d77a39111e254 100644
--- chrome/browser/themes/theme_service.cc
+++ chrome/browser/themes/theme_service.cc
@@ -29,6 +29,7 @@

View File

@ -42,7 +42,7 @@ index 438276b719c2f..69635e429be78 100644
const extensions::Extension* extension =
registry->enabled_extensions().GetByID(extension_id);
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index c573a3908fd43..1077f313f71b8 100644
index 8ef09f60649bb..8a4eb86233f67 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -982,6 +982,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/prefs/pref_watcher.h chrome/browser/ui/prefs/pref_watcher.h
index 67365a45be704..840f4e4860571 100644
index 81ccdbf504726..80f44f4a87881 100644
--- chrome/browser/ui/prefs/pref_watcher.h
+++ chrome/browser/ui/prefs/pref_watcher.h
@@ -30,10 +30,10 @@ class PrefWatcher : public KeyedService {
@@ -33,10 +33,10 @@ class PrefWatcher : public KeyedService,
void RegisterRendererPreferenceWatcher(
mojo::PendingRemote<blink::mojom::RendererPreferenceWatcher> watcher);
@ -11,6 +11,6 @@ index 67365a45be704..840f4e4860571 100644
void Shutdown() override;
+ private:
void OnDoNotTrackEnabledChanged() override;
void UpdateRendererPreferences();
void OnWebPrefChanged(const std::string& pref_name);
void OnLiveCaptionEnabledPrefChanged(const std::string& pref_name);

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 01c93bf7e64af..858c5eb8e7e27 100644
index 18b342e66f11a..765b0634327d1 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -5,6 +5,7 @@
@ -10,7 +10,7 @@ index 01c93bf7e64af..858c5eb8e7e27 100644
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -135,6 +136,7 @@ static_library("renderer") {
@@ -136,6 +137,7 @@ static_library("renderer") {
deps = [
"//base/allocator:buildflags",
"//build:chromeos_buildflags",
@ -18,7 +18,7 @@ index 01c93bf7e64af..858c5eb8e7e27 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -237,6 +239,10 @@ static_library("renderer") {
@@ -238,6 +240,10 @@ static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
index 7aacff321a40c..3dbbd8f6d03c5 100644
index 4c150b5cb007d..51e5c89714978 100644
--- chrome/app/chrome_main_delegate.cc
+++ chrome/app/chrome_main_delegate.cc
@@ -41,6 +41,7 @@
@ -10,7 +10,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
#include "chrome/browser/buildflags.h"
#include "chrome/browser/chrome_content_browser_client.h"
#include "chrome/browser/chrome_resource_bundle_helper.h"
@@ -522,6 +523,8 @@ struct MainFunction {
@@ -569,6 +570,8 @@ struct MainFunction {
// Initializes the user data dir. Must be called before InitializeLocalState().
void InitializeUserDataDir(base::CommandLine* command_line) {
@ -19,7 +19,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
#if BUILDFLAG(IS_WIN)
// Reach out to chrome_elf for the truth on the user data directory.
// Note that in tests, this links to chrome_elf_test_stubs.
@@ -694,6 +697,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
@@ -741,6 +744,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
ChromeMainDelegate::~ChromeMainDelegate() = default;
#endif // !BUILDFLAG(IS_ANDROID)
@ -30,7 +30,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
absl::optional<int> ChromeMainDelegate::PostEarlyInitialization(
InvokedIn invoked_in) {
DCHECK(base::ThreadPoolInstance::Get());
@@ -896,7 +903,8 @@ absl::optional<int> ChromeMainDelegate::PostEarlyInitialization(
@@ -914,7 +921,8 @@ absl::optional<int> ChromeMainDelegate::PostEarlyInitialization(
if (base::FeatureList::IsEnabled(
features::kWriteBasicSystemProfileToPersistentHistogramsFile)) {
@ -40,7 +40,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
#if BUILDFLAG(IS_ANDROID)
record =
base::FeatureList::IsEnabled(chrome::android::kUmaBackgroundSessions);
@@ -1340,6 +1348,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1358,6 +1366,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
std::string process_type =
command_line.GetSwitchValueASCII(switches::kProcessType);
@ -48,7 +48,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
crash_reporter::InitializeCrashKeys();
#if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -1367,6 +1376,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1385,6 +1394,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
InitMacCrashReporter(command_line, process_type);
SetUpInstallerPreferences(command_line);
#endif
@ -56,7 +56,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
#if BUILDFLAG(IS_WIN)
child_process_logging::Init();
@@ -1561,6 +1571,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1589,6 +1599,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
}
@ -64,7 +64,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
@@ -1604,6 +1615,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1632,6 +1643,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
crash_keys::SetCrashKeysFromCommandLine(command_line);
@ -72,7 +72,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
#if BUILDFLAG(ENABLE_PDF)
MaybePatchGdiGetFontData();
@@ -1723,6 +1735,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1750,6 +1762,7 @@ void ChromeMainDelegate::ZygoteForked() {
SetUpProfilingShutdownHandler();
}
@ -80,7 +80,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
// Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets
// this up for the browser process in a different manner.
const base::CommandLine* command_line =
@@ -1745,6 +1758,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1772,6 +1785,7 @@ void ChromeMainDelegate::ZygoteForked() {
// Reset the command line for the newly spawned process.
crash_keys::SetCrashKeysFromCommandLine(*command_line);
@ -88,7 +88,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
}
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -1845,6 +1859,7 @@ void ChromeMainDelegate::InitializeMemorySystem() {
@@ -1872,6 +1886,7 @@ void ChromeMainDelegate::InitializeMemorySystem() {
channel == version_info::Channel::DEV);
const bool gwp_asan_boost_sampling = is_canary_dev || is_browser_process;
@ -96,7 +96,7 @@ index 7aacff321a40c..3dbbd8f6d03c5 100644
memory_system::Initializer()
.SetGwpAsanParameters(gwp_asan_boost_sampling, process_type)
.SetProfilingClientParameters(channel,
@@ -1854,5 +1869,5 @@ void ChromeMainDelegate::InitializeMemorySystem() {
@@ -1881,5 +1896,5 @@ void ChromeMainDelegate::InitializeMemorySystem() {
memory_system::DispatcherParameters::
AllocationTraceRecorderInclusion::kDynamic,
process_type)
@ -126,7 +126,7 @@ index 176b6248f18e8..1360e8c209eba 100644
#if BUILDFLAG(IS_CHROMEOS_LACROS)
std::unique_ptr<chromeos::LacrosService> lacros_service_;
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index f2613018d0bc3..fab49b0c14657 100644
index 143a625d3bb54..cff7b898c66a9 100644
--- chrome/browser/chrome_browser_main.cc
+++ chrome/browser/chrome_browser_main.cc
@@ -52,6 +52,7 @@
@ -137,7 +137,7 @@ index f2613018d0bc3..fab49b0c14657 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/active_use_util.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -1556,7 +1557,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1507,7 +1508,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -146,7 +146,7 @@ index f2613018d0bc3..fab49b0c14657 100644
// Handle special early return paths (which couldn't be processed even earlier
// as they require the process singleton to be held) first.
@@ -1603,7 +1604,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1554,7 +1555,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
return content::RESULT_CODE_NORMAL_EXIT;
#endif // BUILDFLAG(IS_WIN)
}
@ -155,7 +155,7 @@ index f2613018d0bc3..fab49b0c14657 100644
#if BUILDFLAG(IS_WIN)
// Check if there is any machine level Chrome installed on the current
@@ -1657,12 +1658,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1608,12 +1609,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->local_state());
}
@ -170,7 +170,7 @@ index f2613018d0bc3..fab49b0c14657 100644
#if BUILDFLAG(IS_ANDROID)
page_info::SetPageInfoClient(new ChromePageInfoClient());
@@ -1808,6 +1811,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1759,6 +1762,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -181,7 +181,7 @@ index f2613018d0bc3..fab49b0c14657 100644
// This step is costly and is already measured in
// Startup.StartupBrowserCreator_Start.
// See the comment above for an explanation of |process_command_line|.
@@ -1846,11 +1853,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1797,11 +1804,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Create the RunLoop for MainMessageLoopRun() to use and transfer
// ownership of the browser's lifetime to the BrowserProcess.
@ -197,7 +197,7 @@ index f2613018d0bc3..fab49b0c14657 100644
#endif // !BUILDFLAG(IS_ANDROID)
diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm
index a85dd48b0c298..11944bf767f9b 100644
index a509d0b37e953..0d48c4a1f1daf 100644
--- chrome/browser/chrome_browser_main_mac.mm
+++ chrome/browser/chrome_browser_main_mac.mm
@@ -17,6 +17,7 @@
@ -233,7 +233,7 @@ index a85dd48b0c298..11944bf767f9b 100644
+#endif
}
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index 267387e7e079c..48376496d4895 100644
index 54053dfc9b86d..19c11cf71046d 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -42,6 +42,7 @@
@ -244,7 +244,7 @@ index 267387e7e079c..48376496d4895 100644
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_labels_service_factory.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -1552,6 +1553,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
@@ -1550,6 +1551,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
}
ChromeContentBrowserClient::ChromeContentBrowserClient() {
@ -253,7 +253,7 @@ index 267387e7e079c..48376496d4895 100644
#if BUILDFLAG(ENABLE_PLUGINS)
extra_parts_.push_back(
std::make_unique<ChromeContentBrowserClientPluginsPart>());
@@ -1584,6 +1587,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
@@ -1582,6 +1585,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
}
}
@ -265,7 +265,7 @@ index 267387e7e079c..48376496d4895 100644
// static
void ChromeContentBrowserClient::RegisterLocalStatePrefs(
PrefRegistrySimple* registry) {
@@ -4431,9 +4439,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
@@ -4463,9 +4471,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite);
#endif // BUILDFLAG(IS_ANDROID)
@ -277,7 +277,7 @@ index 267387e7e079c..48376496d4895 100644
}
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -6494,7 +6504,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
@@ -6529,7 +6539,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
#endif
}
@ -286,7 +286,7 @@ index 267387e7e079c..48376496d4895 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -6512,6 +6522,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
@@ -6547,6 +6557,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = GetApplicationLocale();
}
@ -295,7 +295,7 @@ index 267387e7e079c..48376496d4895 100644
}
std::vector<base::FilePath>
@@ -7577,10 +7589,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
@@ -7652,10 +7664,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
const auto now = base::TimeTicks::Now();
const auto timeout = GetKeepaliveTimerTimeout(context);
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
@ -308,7 +308,7 @@ index 267387e7e079c..48376496d4895 100644
FROM_HERE, keepalive_deadline_ - now,
base::BindOnce(
&ChromeContentBrowserClient::OnKeepaliveTimerFired,
@@ -7599,7 +7611,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
@@ -7674,7 +7686,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
--num_keepalive_requests_;
if (num_keepalive_requests_ == 0) {
DVLOG(1) << "Stopping the keepalive timer";
@ -318,7 +318,7 @@ index 267387e7e079c..48376496d4895 100644
// This deletes the keep alive handle attached to the timer function and
// unblock the shutdown sequence.
}
@@ -7741,7 +7754,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
@@ -7816,7 +7829,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
const auto now = base::TimeTicks::Now();
const auto then = keepalive_deadline_;
if (now < then) {
@ -328,7 +328,7 @@ index 267387e7e079c..48376496d4895 100644
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
weak_factory_.GetWeakPtr(),
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index 28633d6bd4cb9..d17cbef0ae5af 100644
index db4ede8eb28c8..a5ca9f6c57826 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -136,6 +136,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@ -340,7 +340,7 @@ index 28633d6bd4cb9..d17cbef0ae5af 100644
// TODO(https://crbug.com/787567): This file is about calls from content/ out
// to chrome/ to get values or notify about events, but both of these
// functions are from chrome/ to chrome/ and don't involve content/ at all.
@@ -647,7 +649,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -654,7 +656,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
override;
void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override;
@ -349,7 +349,7 @@ index 28633d6bd4cb9..d17cbef0ae5af 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1081,7 +1083,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -1098,7 +1100,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
#if !BUILDFLAG(IS_ANDROID)
uint64_t num_keepalive_requests_ = 0;
@ -359,7 +359,7 @@ index 28633d6bd4cb9..d17cbef0ae5af 100644
#endif
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 327282bd86785..a27fb4161b70c 100644
index fc8d276b5191a..7fbdb13fe7ff4 100644
--- chrome/browser/prefs/browser_prefs.cc
+++ chrome/browser/prefs/browser_prefs.cc
@@ -14,6 +14,7 @@
@ -370,7 +370,7 @@ index 327282bd86785..a27fb4161b70c 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_ui.h"
@@ -185,6 +186,10 @@
@@ -189,6 +190,10 @@
#include "chrome/browser/background/background_mode_manager.h"
#endif
@ -381,7 +381,7 @@ index 327282bd86785..a27fb4161b70c 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/accessibility/animation_policy_prefs.h"
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
@@ -1531,6 +1536,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1619,6 +1624,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
// This is intentionally last.
RegisterLocalStatePrefsForMigration(registry);
@ -393,7 +393,7 @@ index 327282bd86785..a27fb4161b70c 100644
}
// Register prefs applicable to all profiles.
@@ -1945,6 +1955,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2039,6 +2049,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
const std::string& locale) {
RegisterProfilePrefs(registry, locale);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
index db31ee0b50746..2f3aebdcb6101 100644
index 85dc58159a58a..9b582e691f6d8 100644
--- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc
@@ -401,6 +401,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -402,6 +402,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
// choose to not implement CommandUpdaterDelegate inside this class and
// therefore command_updater_ doesn't have the delegate set).
if (!SupportsCommand(id) || !IsCommandEnabled(id)) {
@ -10,7 +10,7 @@ index db31ee0b50746..2f3aebdcb6101 100644
return false;
}
@@ -417,6 +418,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -418,6 +419,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
DCHECK(command_updater_.IsCommandEnabled(id))
<< "Invalid/disabled command " << id;
@ -24,7 +24,7 @@ index db31ee0b50746..2f3aebdcb6101 100644
// The order of commands in this switch statement must match the function
// declaration order in browser.h!
switch (id) {
@@ -1148,11 +1156,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
@@ -1152,11 +1160,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
// BrowserCommandController, private:
bool BrowserCommandController::IsShowingMainUI() {
@ -41,7 +41,7 @@ index db31ee0b50746..2f3aebdcb6101 100644
bool BrowserCommandController::IsWebAppOrCustomTab() const {
diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc
index 2f7825a3bdf38..8553f4293c576 100644
index d2b2a605cbba5..afaf26c26a6db 100644
--- chrome/browser/ui/toolbar/app_menu_model.cc
+++ chrome/browser/ui/toolbar/app_menu_model.cc
@@ -590,6 +590,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel(
@ -102,7 +102,7 @@ index 2f7825a3bdf38..8553f4293c576 100644
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -1370,7 +1421,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const {
@@ -1382,7 +1433,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const {
return false;
}
@ -111,7 +111,7 @@ index 2f7825a3bdf38..8553f4293c576 100644
GlobalError* error =
GlobalErrorServiceFactory::GetForProfile(browser_->profile())
->GetGlobalErrorByMenuItemCommandID(command_id);
@@ -1385,6 +1436,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const {
@@ -1397,6 +1448,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const {
}
}
@ -142,7 +142,7 @@ index 2f7825a3bdf38..8553f4293c576 100644
bool AppMenuModel::IsCommandIdAlerted(int command_id) const {
if ((command_id == IDC_RECENT_TABS_MENU) ||
(command_id == AppMenuModel::kMinRecentTabsCommandId)) {
@@ -1555,11 +1630,15 @@ void AppMenuModel::Build() {
@@ -1566,11 +1641,15 @@ void AppMenuModel::Build() {
kDefaultIconSize));
}
@ -163,7 +163,7 @@ index 2f7825a3bdf38..8553f4293c576 100644
AddItemWithStringId(IDC_PRINT, IDS_PRINT);
@@ -1640,9 +1719,13 @@ void AppMenuModel::Build() {
@@ -1651,9 +1730,13 @@ void AppMenuModel::Build() {
kMoreToolsMenuItem);
if (!features::IsChromeRefresh2023()) {
@ -180,7 +180,7 @@ index 2f7825a3bdf38..8553f4293c576 100644
}
if (!features::IsChromeRefresh2023()) {
@@ -1724,6 +1807,11 @@ void AppMenuModel::Build() {
@@ -1739,6 +1822,11 @@ void AppMenuModel::Build() {
SetCommandIcon(this, IDC_EXIT, kExitMenuIcon);
}
@ -193,10 +193,10 @@ index 2f7825a3bdf38..8553f4293c576 100644
}
diff --git chrome/browser/ui/toolbar/app_menu_model.h chrome/browser/ui/toolbar/app_menu_model.h
index fe6f250d169a3..606cbd2e248b3 100644
index f06cf1bf08ba4..4e89b522715fc 100644
--- chrome/browser/ui/toolbar/app_menu_model.h
+++ chrome/browser/ui/toolbar/app_menu_model.h
@@ -202,6 +202,7 @@ class AppMenuModel : public ui::SimpleMenuModel,
@@ -204,6 +204,7 @@ class AppMenuModel : public ui::SimpleMenuModel,
void ExecuteCommand(int command_id, int event_flags) override;
bool IsCommandIdChecked(int command_id) const override;
bool IsCommandIdEnabled(int command_id) const override;
@ -204,7 +204,7 @@ index fe6f250d169a3..606cbd2e248b3 100644
bool IsCommandIdAlerted(int command_id) const override;
bool GetAcceleratorForCommandId(int command_id,
ui::Accelerator* accelerator) const override;
@@ -234,6 +235,8 @@ class AppMenuModel : public ui::SimpleMenuModel,
@@ -236,6 +237,8 @@ class AppMenuModel : public ui::SimpleMenuModel,
// took to select the command.
void LogMenuMetrics(int command_id);
@ -231,7 +231,7 @@ index 59024587ef6b7..0c30aa71768cf 100644
void FindBarHost::RegisterAccelerators() {
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
index c3b5d07643806..761cc6306363f 100644
index bb4b3821bcfda..9734fe4aaffcf 100644
--- chrome/browser/ui/views/frame/browser_frame.cc
+++ chrome/browser/ui/views/frame/browser_frame.cc
@@ -114,15 +114,23 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant(
@ -331,7 +331,7 @@ index c3b5d07643806..761cc6306363f 100644
key.app_controller = browser_view_->browser()->app_controller();
@@ -642,5 +672,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
@@ -632,5 +662,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
}
bool BrowserFrame::IsIncognitoBrowser() const {
@ -355,10 +355,10 @@ index 0c231b6ac5b01..6b5af98e18e42 100644
BrowserFrame(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
index 2c4cb9a1e892c..2e38fc9d32d98 100644
index 41376bb2d8af1..43ed7312cd8d9 100644
--- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc
@@ -338,11 +338,10 @@ using content::NativeWebKeyboardEvent;
@@ -343,11 +343,10 @@ using content::NativeWebKeyboardEvent;
using content::WebContents;
using web_modal::WebContentsModalDialogHost;
@ -373,7 +373,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
#if BUILDFLAG(IS_CHROMEOS_ASH)
// UMA histograms that record animation smoothness for tab loading animation.
@@ -838,11 +837,22 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
@@ -843,12 +842,23 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
///////////////////////////////////////////////////////////////////////////////
// BrowserView, public:
@ -383,7 +383,9 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
: views::ClientView(nullptr, nullptr),
- browser_(std::move(browser)),
accessibility_mode_observer_(
std::make_unique<AccessibilityModeObserver>(this)) {
- std::make_unique<AccessibilityModeObserver>(this)),
- browser_actions_(*browser_) {
+ std::make_unique<AccessibilityModeObserver>(this)) {
+ if (browser)
+ InitBrowser(std::move(browser));
+}
@ -392,12 +394,13 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
+ DCHECK(!browser_);
+ browser_ = std::move(browser);
+
+ browser_actions_ = std::make_unique<BrowserActions>(*browser_);
+ immersive_mode_controller_ = chrome::CreateImmersiveModeController(this);
+
SetShowIcon(
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
@@ -888,7 +898,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -897,7 +907,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
}
browser_->tab_strip_model()->AddObserver(this);
@ -405,7 +408,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
// Top container holds tab strip region and toolbar and lives at the front of
// the view hierarchy.
@@ -944,8 +953,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -956,8 +965,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
devtools_web_view_, contents_web_view_));
@ -423,7 +426,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
contents_separator_ =
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
@@ -1019,7 +1035,9 @@ BrowserView::~BrowserView() {
@@ -1031,7 +1047,9 @@ BrowserView::~BrowserView() {
// All the tabs should have been destroyed already. If we were closed by the
// OS with some tabs than the NativeBrowserFrame should have destroyed them.
@ -433,7 +436,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
// Stop the animation timer explicitly here to avoid running it in a nested
// message loop, which may run by Browser destructor.
@@ -1033,12 +1051,14 @@ BrowserView::~BrowserView() {
@@ -1045,12 +1063,14 @@ BrowserView::~BrowserView() {
// child views and it is an observer for avatar toolbar button if any.
autofill_bubble_handler_.reset();
@ -448,7 +451,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
// The TabStrip attaches a listener to the model. Make sure we shut down the
// TabStrip first so that it can cleanly remove the listener.
@@ -1056,7 +1076,9 @@ BrowserView::~BrowserView() {
@@ -1068,7 +1088,9 @@ BrowserView::~BrowserView() {
// `SidePanelUI::RemoveSidePanelUIForBrowser()` deletes the
// SidePanelCoordinator.
@ -458,7 +461,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
}
// static
@@ -1147,12 +1169,14 @@ gfx::Size BrowserView::GetWebAppFrameToolbarPreferredSize() const {
@@ -1159,12 +1181,14 @@ gfx::Size BrowserView::GetWebAppFrameToolbarPreferredSize() const {
#if BUILDFLAG(IS_MAC)
bool BrowserView::UsesImmersiveFullscreenMode() const {
@ -475,7 +478,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
}
bool BrowserView::UsesImmersiveFullscreenTabbedMode() const {
@@ -1914,6 +1938,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
@@ -1942,6 +1966,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
if (immersive_mode_controller_->IsEnabled())
return false;
@ -484,7 +487,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
}
@@ -2921,7 +2947,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() {
@@ -2956,7 +2982,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() {
}
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
@ -494,7 +497,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
return download_button->bubble_controller();
return nullptr;
@@ -3454,7 +3481,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
@@ -3490,7 +3517,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
if (top_container()->parent() == this)
return;
@ -504,7 +507,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
top_container()->DestroyLayer();
AddChildViewAt(top_container(), 0);
EnsureFocusOrder();
@@ -3904,11 +3932,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
@@ -3948,11 +3976,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
bool BrowserView::ShouldDescendIntoChildForEventHandling(
gfx::NativeView child,
const gfx::Point& location) {
@ -545,7 +548,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
// Draggable regions are defined relative to the web contents.
gfx::Point point_in_contents_web_view_coords(location);
views::View::ConvertPointToTarget(GetWidget()->GetRootView(),
@@ -3917,7 +3972,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
@@ -3961,7 +4016,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
// Draggable regions should be ignored for clicks into any browser view's
// owned widgets, for example alerts, permission prompts or find bar.
@ -554,7 +557,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
point_in_contents_web_view_coords.x(),
point_in_contents_web_view_coords.y()) ||
WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords);
@@ -4025,8 +4080,10 @@ void BrowserView::Layout() {
@@ -4069,8 +4124,10 @@ void BrowserView::Layout() {
// TODO(jamescook): Why was this in the middle of layout code?
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
@ -567,7 +570,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
#if BUILDFLAG(IS_CHROMEOS_ASH)
// In chromeOS ash we round the bottom two corners of the browser frame by
@@ -4104,6 +4161,11 @@ void BrowserView::AddedToWidget() {
@@ -4148,6 +4205,11 @@ void BrowserView::AddedToWidget() {
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
#endif
@ -579,7 +582,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
toolbar_->Init();
// TODO(pbos): Investigate whether the side panels should be creatable when
@@ -4152,13 +4214,9 @@ void BrowserView::AddedToWidget() {
@@ -4196,13 +4258,9 @@ void BrowserView::AddedToWidget() {
EnsureFocusOrder();
@ -595,7 +598,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
using_native_frame_ = frame_->ShouldUseNativeFrame();
MaybeInitializeWebUITabStrip();
@@ -4571,7 +4629,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
@@ -4614,7 +4672,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
// Undo our anti-jankiness hacks and force a re-layout.
in_process_fullscreen_ = false;
ToolbarSizeChanged(false);
@ -605,7 +608,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
}
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
@@ -4942,6 +5001,8 @@ Profile* BrowserView::GetProfile() {
@@ -5003,6 +5062,8 @@ Profile* BrowserView::GetProfile() {
}
void BrowserView::UpdateUIForTabFullscreen() {
@ -614,7 +617,7 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
frame()->GetFrameView()->UpdateFullscreenTopUI();
}
@@ -4964,6 +5025,8 @@ void BrowserView::HideDownloadShelf() {
@@ -5025,6 +5086,8 @@ void BrowserView::HideDownloadShelf() {
}
bool BrowserView::CanUserExitFullscreen() const {
@ -624,10 +627,10 @@ index 2c4cb9a1e892c..2e38fc9d32d98 100644
}
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
index 8d0b8e65bb269..35cee8880bb31 100644
index f6251860d8bd3..9756332121fd8 100644
--- chrome/browser/ui/views/frame/browser_view.h
+++ chrome/browser/ui/views/frame/browser_view.h
@@ -136,11 +136,16 @@ class BrowserView : public BrowserWindow,
@@ -140,11 +140,16 @@ class BrowserView : public BrowserWindow,
kUnknown
};
@ -644,7 +647,16 @@ index 8d0b8e65bb269..35cee8880bb31 100644
void set_frame(BrowserFrame* frame) {
frame_ = frame;
paint_as_active_subscription_ =
@@ -819,6 +824,9 @@ class BrowserView : public BrowserWindow,
@@ -377,7 +382,7 @@ class BrowserView : public BrowserWindow,
}
actions::ActionItem* root_action_item() const {
- return browser_actions_.root_action_item();
+ return browser_actions_->root_action_item();
}
// Returns true if the view has been initialized.
@@ -822,6 +827,9 @@ class BrowserView : public BrowserWindow,
// TopContainerBackground::PaintThemeCustomImage for details.
gfx::Point GetThemeOffsetFromBrowserView() const;
@ -654,8 +666,17 @@ index 8d0b8e65bb269..35cee8880bb31 100644
private:
// Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate
// interface to keep these two classes decoupled and testable.
@@ -1255,7 +1263,7 @@ class BrowserView : public BrowserWindow,
// `browser_actions_` creates the root browser level action along with child
// actions.
- const BrowserActions browser_actions_;
+ std::unique_ptr<BrowserActions> browser_actions_;
std::unique_ptr<AccessibilityFocusHighlight> accessibility_focus_highlight_;
diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc
index 36831f71eeb95..24e0f9e70781b 100644
index ab36dd2ae50e2..6dabacc9773fc 100644
--- chrome/browser/ui/views/frame/browser_view_layout.cc
+++ chrome/browser/ui/views/frame/browser_view_layout.cc
@@ -48,6 +48,10 @@
@ -700,10 +721,10 @@ index 8267a265a8e10..ee08f18e96a34 100644
ContentsWebView::~ContentsWebView() {
diff --git chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
index f1d303e9b7fd8..8a5935e8f10da 100644
index b9b50af047993..30793a69c4942 100644
--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
+++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
@@ -549,6 +549,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView(
@@ -573,6 +573,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView(
frame->GetNativeWindow()->SetEventTargeter(
std::make_unique<chromeos::InteriorResizeHandleTargeter>());
#endif
@ -715,7 +736,7 @@ index f1d303e9b7fd8..8a5935e8f10da 100644
}
PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() {
@@ -644,17 +649,20 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds(
@@ -669,17 +674,20 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds(
int PictureInPictureBrowserFrameView::NonClientHitTest(
const gfx::Point& point) {
@ -745,7 +766,7 @@ index f1d303e9b7fd8..8a5935e8f10da 100644
}
// Allow dragging and resizing the window.
@@ -664,6 +672,27 @@ int PictureInPictureBrowserFrameView::NonClientHitTest(
@@ -689,6 +697,27 @@ int PictureInPictureBrowserFrameView::NonClientHitTest(
if (window_component != HTNOWHERE)
return window_component;
@ -773,7 +794,7 @@ index f1d303e9b7fd8..8a5935e8f10da 100644
// Allow interacting with the web contents.
int frame_component = frame()->client_view()->NonClientHitTest(point);
if (frame_component != HTNOWHERE)
@@ -722,7 +751,8 @@ void PictureInPictureBrowserFrameView::Layout() {
@@ -747,7 +776,8 @@ void PictureInPictureBrowserFrameView::Layout() {
gfx::Rect content_area = GetLocalBounds();
content_area.Inset(FrameBorderInsets());
gfx::Rect top_bar = content_area;
@ -783,7 +804,7 @@ index f1d303e9b7fd8..8a5935e8f10da 100644
top_bar_container_view_->SetBoundsRect(top_bar);
#if !BUILDFLAG(IS_ANDROID)
if (auto_pip_setting_overlay_) {
@@ -1171,7 +1201,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
@@ -1207,7 +1237,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
}
int PictureInPictureBrowserFrameView::GetTopAreaHeight() const {
@ -794,10 +815,10 @@ index f1d303e9b7fd8..8a5935e8f10da 100644
gfx::Size PictureInPictureBrowserFrameView::GetNonClientViewAreaSize() const {
diff --git chrome/browser/ui/views/page_action/page_action_icon_controller.cc chrome/browser/ui/views/page_action/page_action_icon_controller.cc
index 723a2840bd988..975152c988917 100644
index ca602db58de3a..1db448a2526a4 100644
--- chrome/browser/ui/views/page_action/page_action_icon_controller.cc
+++ chrome/browser/ui/views/page_action/page_action_icon_controller.cc
@@ -96,6 +96,12 @@ void PageActionIconController::Init(const PageActionIconParams& params,
@@ -97,6 +97,12 @@ void PageActionIconController::Init(const PageActionIconParams& params,
};
for (PageActionIconType type : params.types_enabled) {
@ -857,10 +878,10 @@ index 734c741d1f2fa..739b468cfc0d8 100644
}
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644
index 26de912e300e9..c3761d1cb060c 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -183,7 +183,7 @@ class TabstripLikeBackground : public views::Background {
@@ -186,7 +186,7 @@ class TabstripLikeBackground : public views::Background {
void Paint(gfx::Canvas* canvas, views::View* view) const override {
bool painted = TopContainerBackground::PaintThemeCustomImage(canvas, view,
browser_view_);
@ -869,7 +890,7 @@ index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644
SkColor frame_color =
browser_view_->frame()->GetFrameView()->GetFrameColor(
BrowserFrameActiveState::kUseCurrent);
@@ -208,12 +208,13 @@ class ToolbarView::ContainerView : public views::View {
@@ -215,12 +215,13 @@ END_METADATA
////////////////////////////////////////////////////////////////////////////////
// ToolbarView, public:
@ -885,7 +906,7 @@ index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644
SetID(VIEW_ID_TOOLBAR);
container_view_ = AddChildView(std::make_unique<ContainerView>());
@@ -238,6 +239,19 @@ ToolbarView::~ToolbarView() {
@@ -245,6 +246,19 @@ ToolbarView::~ToolbarView() {
}
void ToolbarView::Init() {
@ -905,7 +926,7 @@ index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644
#if defined(USE_AURA)
// Avoid generating too many occlusion tracking calculation events before this
// function returns. The occlusion status will be computed only once once this
@@ -262,12 +276,13 @@ void ToolbarView::Init() {
@@ -269,12 +283,13 @@ void ToolbarView::Init() {
auto location_bar = std::make_unique<LocationBarView>(
browser_, browser_->profile(), browser_->command_controller(), this,
@ -921,7 +942,7 @@ index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644
download_button =
std::make_unique<DownloadToolbarButtonView>(browser_view_);
}
@@ -349,8 +364,10 @@ void ToolbarView::Init() {
@@ -356,8 +371,10 @@ void ToolbarView::Init() {
}
}
std::unique_ptr<media_router::CastToolbarButton> cast;
@ -933,7 +954,7 @@ index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644
std::unique_ptr<MediaToolbarButtonView> media_button;
if (base::FeatureList::IsEnabled(media::kGlobalMediaControls)) {
@@ -360,7 +377,8 @@ void ToolbarView::Init() {
@@ -367,7 +384,8 @@ void ToolbarView::Init() {
std::unique_ptr<send_tab_to_self::SendTabToSelfToolbarIconView>
send_tab_to_self_button;
@ -943,20 +964,20 @@ index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644
send_tab_to_self_button =
std::make_unique<send_tab_to_self::SendTabToSelfToolbarIconView>(
browser_view_);
@@ -368,7 +386,7 @@ void ToolbarView::Init() {
@@ -375,7 +393,7 @@ void ToolbarView::Init() {
std::unique_ptr<SidePanelToolbarButton> side_panel_button;
std::unique_ptr<SidePanelToolbarContainer> side_panel_toolbar_container;
- if (browser_view_->unified_side_panel()) {
+ if (browser_view_->unified_side_panel() && BUTTON_VISIBLE(kSidePanel)) {
if (companion::IsCompanionFeatureEnabled()) {
side_panel_toolbar_container =
std::make_unique<SidePanelToolbarContainer>(browser_view_);
if (base::FeatureList::IsEnabled(features::kSidePanelPinning)) {
// TODO(b:299463334): Use the new SidePanelContainer which supports
// ActionItems
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
index be3bd96444563..96669547e3ccf 100644
index 2bca1ba1b72eb..f7b0cf9d09e6e 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.h
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
@@ -89,7 +89,8 @@ class ToolbarView : public views::AccessiblePaneView,
@@ -91,7 +91,8 @@ class ToolbarView : public views::AccessiblePaneView,
// needs to be displayed.
};

View File

@ -1,8 +1,8 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index d7bf8b91f83e8..af05c80574ac1 100644
index 2d570cb3b70c7..4df17e47d3c17 100644
--- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h
@@ -102,7 +102,7 @@ bool ApplyUserAgentMetadataOverrides(
@@ -109,7 +109,7 @@ bool ApplyUserAgentMetadataOverrides(
FrameTreeNode* frame_tree_node,
absl::optional<blink::UserAgentMetadata>* override_out);

View File

@ -34,10 +34,10 @@ index 3b58e4f2de295..e0348501c83d8 100644
factory = base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
std::move(loader_factory));
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index a0d56a9a24f22..c7cc6c3f6ae3f 100644
index 5733e6d1ea77f..5aa0dffc85def 100644
--- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc
@@ -1047,7 +1047,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
@@ -1060,7 +1060,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
void ContentBrowserClient::OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) {}
@ -46,7 +46,7 @@ index a0d56a9a24f22..c7cc6c3f6ae3f 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1056,6 +1056,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
@@ -1069,6 +1069,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) {
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = "en-us,en";
@ -55,7 +55,7 @@ index a0d56a9a24f22..c7cc6c3f6ae3f 100644
std::vector<base::FilePath>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index a6e922be7e686..e4b4a9150295a 100644
index 8b4b26ed9f976..6f01db1ae5ef7 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -40,6 +40,7 @@
@ -66,7 +66,7 @@ index a6e922be7e686..e4b4a9150295a 100644
#include "content/public/common/alternative_error_page_override_info.mojom-forward.h"
#include "content/public/common/page_visibility_state.h"
#include "content/public/common/window_container_type.mojom-forward.h"
@@ -1914,7 +1915,7 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1940,7 +1941,7 @@ class CONTENT_EXPORT ContentBrowserClient {
//
// If |relative_partition_path| is the empty string, it means this needs to
// create the default NetworkContext for the BrowserContext.
@ -75,7 +75,7 @@ index a6e922be7e686..e4b4a9150295a 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -2128,6 +2129,19 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2154,6 +2155,19 @@ class CONTENT_EXPORT ContentBrowserClient {
RenderFrameHost* initiator_document,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -95,7 +95,7 @@ index a6e922be7e686..e4b4a9150295a 100644
// Creates an OverlayWindow to be used for video or Picture-in-Picture.
// This window will house the content shown when in Picture-in-Picture mode.
// This will return a new OverlayWindow.
@@ -2184,6 +2198,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2210,6 +2224,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@ -132,10 +132,10 @@ index a4130ad4dc815..b303f6c8768b7 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 328ed025f6b71..3f0e661054c7e 100644
index 3c3ebfeec280e..b239506a39b43 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -621,6 +621,8 @@ void RenderThreadImpl::Init() {
@@ -584,6 +584,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
blink::URLLoaderThrottleProviderType::kFrame);
@ -145,10 +145,10 @@ index 328ed025f6b71..3f0e661054c7e 100644
base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver,
base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 3206463a734a8..39cd7e0e2656c 100644
index cddb519c4c893..68b5fc0f60d9c 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -947,6 +947,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
@@ -941,6 +941,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
//------------------------------------------------------------------------------
@ -165,10 +165,10 @@ index 3206463a734a8..39cd7e0e2656c 100644
RendererBlinkPlatformImpl::CreateWebV8ValueConverter() {
return std::make_unique<V8ValueConverterImpl>();
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 4813c8ce4525f..be9f6167288a7 100644
index 84c36d410a352..7904a0050e3bb 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -224,6 +224,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -225,6 +225,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override;
#endif // BUILDFLAG(IS_ANDROID)
@ -179,10 +179,10 @@ index 4813c8ce4525f..be9f6167288a7 100644
// plus eTLD+1, such as https://google.com), or to a more specific origin.
void SetIsLockedToSite();
diff --git content/shell/browser/shell_content_browser_client.cc content/shell/browser/shell_content_browser_client.cc
index c1834434b9e7d..71b9d1034e7d8 100644
index 0008e3c7c9600..e639ae5373af0 100644
--- content/shell/browser/shell_content_browser_client.cc
+++ content/shell/browser/shell_content_browser_client.cc
@@ -668,7 +668,7 @@ void ShellContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
@@ -685,7 +685,7 @@ void ShellContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
// BUILDFLAG(IS_ANDROID)
@ -191,7 +191,7 @@ index c1834434b9e7d..71b9d1034e7d8 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -677,6 +677,7 @@ void ShellContentBrowserClient::ConfigureNetworkContextParams(
@@ -694,6 +694,7 @@ void ShellContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) {
ConfigureNetworkContextParamsForShell(context, network_context_params,
cert_verifier_creation_params);
@ -200,10 +200,10 @@ index c1834434b9e7d..71b9d1034e7d8 100644
std::vector<base::FilePath>
diff --git content/shell/browser/shell_content_browser_client.h content/shell/browser/shell_content_browser_client.h
index 32966a5dcf3e6..0954d033d0f4b 100644
index b33300b6da3ea..fb7d4c5f7b029 100644
--- content/shell/browser/shell_content_browser_client.h
+++ content/shell/browser/shell_content_browser_client.h
@@ -130,7 +130,7 @@ class ShellContentBrowserClient : public ContentBrowserClient {
@@ -137,7 +137,7 @@ class ShellContentBrowserClient : public ContentBrowserClient {
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
// BUILDFLAG(IS_ANDROID)
device::GeolocationManager* GetGeolocationManager() override;

View File

@ -1,8 +1,8 @@
diff --git content/app/content_main.cc content/app/content_main.cc
index a3c00c9743117..d596775057fb9 100644
index f70a103a45c6d..e880a7ec4b26c 100644
--- content/app/content_main.cc
+++ content/app/content_main.cc
@@ -173,11 +173,8 @@ ContentMainParams::~ContentMainParams() = default;
@@ -174,11 +174,8 @@ ContentMainParams::~ContentMainParams() = default;
ContentMainParams::ContentMainParams(ContentMainParams&&) = default;
ContentMainParams& ContentMainParams::operator=(ContentMainParams&&) = default;
@ -16,41 +16,40 @@ index a3c00c9743117..d596775057fb9 100644
base::FeatureList::FailOnFeatureAccessWithoutFeatureList();
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// Lacros is launched with inherited priority. Revert to normal priority
@@ -185,9 +182,6 @@ RunContentProcess(ContentMainParams params,
@@ -186,9 +183,6 @@ RunContentProcess(ContentMainParams params,
base::PlatformThread::SetCurrentThreadType(base::ThreadType::kDefault);
#endif
int exit_code = -1;
-#if BUILDFLAG(IS_MAC)
- std::unique_ptr<base::apple::ScopedNSAutoreleasePool> autorelease_pool;
- base::apple::ScopedNSAutoreleasePool autorelease_pool;
-#endif
// A flag to indicate whether Main() has been called before. On Android, we
// may re-run Main() without restarting the browser process. This flag
@@ -273,12 +267,6 @@ RunContentProcess(ContentMainParams params,
@@ -274,14 +268,6 @@ RunContentProcess(ContentMainParams params,
#endif
#if BUILDFLAG(IS_MAC)
- // We need this pool for all the objects created before we get to the event
- // loop, but we don't want to leave them hanging around until the app quits.
- // Each "main" needs to flush this pool right before it goes into its main
- // event loop to get rid of the cruft.
- autorelease_pool = std::make_unique<base::apple::ScopedNSAutoreleasePool>();
- params.autorelease_pool = autorelease_pool.get();
- // event loop to get rid of the cruft. TODO(https://crbug.com/1424190): This
- // is not safe. Each main loop should create and destroy its own pool; it
- // should not be flushing the pool at the base of the autorelease pool
- // stack.
- params.autorelease_pool = &autorelease_pool;
InitializeMac();
#endif
@@ -323,16 +311,49 @@ RunContentProcess(ContentMainParams params,
@@ -331,12 +317,46 @@ RunContentProcess(ContentMainParams params,
if (IsSubprocess())
CommonSubprocessInit();
- exit_code = content_main_runner->Run();
-#if BUILDFLAG(IS_MAC)
- autorelease_pool.reset();
-#endif
+ return exit_code;
+}
+
+// This function must be marked with NO_STACK_PROTECTOR or it may crash on
+// return, see the --change-stack-guard-on-fork command line flag.
+int NO_STACK_PROTECTOR
@ -73,28 +72,25 @@ index a3c00c9743117..d596775057fb9 100644
+ // We need this pool for all the objects created before we get to the event
+ // loop, but we don't want to leave them hanging around until the app quits.
+ // Each "main" needs to flush this pool right before it goes into its main
+ // event loop to get rid of the cruft.
+ std::unique_ptr<base::apple::ScopedNSAutoreleasePool> autorelease_pool =
+ std::make_unique<base::apple::ScopedNSAutoreleasePool>();
+ params.autorelease_pool = autorelease_pool.get();
+ // event loop to get rid of the cruft. TODO(https://crbug.com/1424190): This
+ // is not safe. Each main loop should create and destroy its own pool; it
+ // should not be flushing the pool at the base of the autorelease pool
+ // stack.
+ base::apple::ScopedNSAutoreleasePool autorelease_pool;
+ params.autorelease_pool = &autorelease_pool;
+#endif
+
+ int exit_code = ContentMainInitialize(std::move(params), content_main_runner);
+ if (exit_code >= 0)
+ return exit_code;
+ exit_code = ContentMainRun(content_main_runner);
+
+#if BUILDFLAG(IS_MAC)
+ params.autorelease_pool = nullptr;
+ autorelease_pool.reset();
+#endif
+ ContentMainShutdown(content_main_runner);
return exit_code;
}
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 11dcd5eaabaab..ea72a69767e7c 100644
index 965b07bc43847..89da1178ca765 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -46,6 +46,7 @@
@ -105,7 +101,7 @@ index 11dcd5eaabaab..ea72a69767e7c 100644
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@@ -1328,6 +1329,11 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -1338,6 +1339,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}
@ -153,7 +149,7 @@ index 283161145d792..9f3f635abdd1c 100644
if (main_argv)
setproctitle_init(main_argv);
diff --git content/public/app/content_main.h content/public/app/content_main.h
index 876ee72774be1..2b458ac4dcc7a 100644
index 44d9aa44ae430..47f916f566696 100644
--- content/public/app/content_main.h
+++ content/public/app/content_main.h
@@ -96,6 +96,13 @@ struct CONTENT_EXPORT ContentMainParams {

View File

@ -81,7 +81,7 @@ index 27a803784eb9e..a8b033f475cb4 100644
g_crash_helper_enabled = true;
return true;
diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc
index 819bffbbe47c1..c00e3e6925cfe 100644
index 680c8ec662ecf..2c898fc6e1c70 100644
--- chrome/common/crash_keys.cc
+++ chrome/common/crash_keys.cc
@@ -6,6 +6,8 @@
@ -93,7 +93,7 @@ index 819bffbbe47c1..c00e3e6925cfe 100644
#include "base/base_switches.h"
#include "base/command_line.h"
#include "base/format_macros.h"
@@ -90,8 +92,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) {
@@ -100,8 +102,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) {
"commandline-disabled-feature");
}
@ -105,7 +105,7 @@ index 819bffbbe47c1..c00e3e6925cfe 100644
static const char* const kIgnoreSwitches[] = {
switches::kEnableLogging,
switches::kFlagSwitchesBegin,
@@ -149,11 +153,9 @@ bool IsBoringSwitch(const std::string& flag) {
@@ -159,11 +163,9 @@ bool IsBoringSwitch(const std::string& flag) {
return false;
}

View File

@ -60,18 +60,19 @@ index cead7cfa14bae..24142c2e4896f 100644
std::unique_ptr<StreamContainer> stream_container(
new StreamContainer(tab_id, embedded, handler_url, extension_id,
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
index 3d2108f13ea2f..261b0a42bfb21 100644
index 9c44797e9e238..b61704db987b6 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -62,11 +62,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -62,12 +62,13 @@ ExtensionHost::ExtensionHost(const Extension* extension,
host_type == mojom::ViewType::kExtensionDialog ||
host_type == mojom::ViewType::kExtensionPopup ||
host_type == mojom::ViewType::kExtensionSidePanel);
- host_contents_ = WebContents::Create(
+ host_contents_owned_ = WebContents::Create(
WebContents::CreateParams(browser_context_, site_instance)),
- content::WebContentsObserver::Observe(host_contents_.get());
WebContents::CreateParams(browser_context_, site_instance));
+ host_contents_ = host_contents_owned_.get();
host_contents_->SetOwnerLocationForDebug(FROM_HERE);
- content::WebContentsObserver::Observe(host_contents_.get());
+ content::WebContentsObserver::Observe(host_contents_);
host_contents_->SetDelegate(this);
- SetViewType(host_contents_.get(), host_type);
@ -79,7 +80,7 @@ index 3d2108f13ea2f..261b0a42bfb21 100644
main_frame_host_ = host_contents_->GetPrimaryMainFrame();
// Listen for when an extension is unloaded from the same profile, as it may
@@ -82,11 +83,49 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -83,11 +84,49 @@ ExtensionHost::ExtensionHost(const Extension* extension,
// Create password reuse detection manager when new extension web contents are
// created.
ExtensionsBrowserClient::Get()->CreatePasswordReuseDetectionManager(
@ -131,7 +132,7 @@ index 3d2108f13ea2f..261b0a42bfb21 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index dda0620251895..2b29bdef52444 100644
index dda0620251895..4014bd801f727 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -62,6 +62,12 @@ class ExtensionHost : public DeferredStartRenderHost,

View File

@ -12,7 +12,7 @@ index 628071cb9a464..1595a4283e134 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index e8c8a8450ff83..065f99491a2cb 100644
index 64819b31d74a7..3dc461fde620f 100644
--- BUILD.gn
+++ BUILD.gn
@@ -19,6 +19,7 @@ import("//build/config/sanitizers/sanitizers.gni")
@ -23,7 +23,7 @@ index e8c8a8450ff83..065f99491a2cb 100644
import("//chrome/browser/buildflags.gni")
import("//components/nacl/features.gni")
import("//device/vr/buildflags/buildflags.gni")
@@ -276,6 +277,10 @@ group("gn_all") {
@@ -275,6 +276,10 @@ group("gn_all") {
deps += root_extra_deps
@ -76,7 +76,7 @@ index 1da479dd5eebc..ff9c7e467997c 100644
- visual_studio_runtime_dirs = []
}
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index 353fdabb937ca..4e09414bc211f 100644
index d60ce9a1f8534..be1f4879542dd 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni")
@ -99,7 +99,7 @@ index 353fdabb937ca..4e09414bc211f 100644
sources += [ "$root_gen_dir/extensions/extensions_browser_resources_${percent}_percent.pak" ]
deps += [ "//extensions:extensions_browser_resources" ]
diff --git chrome/chrome_repack_locales.gni chrome/chrome_repack_locales.gni
index 7aa8989a0f471..7c93cbd96b362 100644
index a1666413e61d3..6cac57842af85 100644
--- chrome/chrome_repack_locales.gni
+++ chrome/chrome_repack_locales.gni
@@ -6,6 +6,7 @@ import("//build/config/chrome_build.gni")

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index e65fe348a1b7e..7ef760b495845 100644
index 99322038017cc..d34154ba2a374 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -1216,6 +1216,15 @@
@@ -1241,6 +1241,15 @@
# END "everything else" section.
# Everything but chrome/, components/, content/, and ios/

View File

@ -79,10 +79,10 @@ index e6078b2a45d88..bf051fb8a02f4 100644
web_instance->SetPreferredContrast(CalculatePreferredContrast());
web_instance->set_prefers_reduced_transparency(PrefersReducedTransparency());
diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc
index faa15be0b3e08..a61974c495507 100644
index 50647269ec84f..c947bd2717d04 100644
--- ui/native_theme/native_theme_win.cc
+++ ui/native_theme/native_theme_win.cc
@@ -656,14 +656,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
@@ -662,14 +662,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
// Windows high contrast modes are entirely different themes,
// so let them take priority over dark mode.
// ...unless --force-dark-mode was specified in which case caveat emptor.
@ -102,7 +102,7 @@ index faa15be0b3e08..a61974c495507 100644
return NativeTheme::CalculatePreferredColorScheme();
// According to the spec, the preferred color scheme for web content is 'dark'
@@ -1652,8 +1655,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() {
@@ -1660,8 +1663,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() {
}
void NativeThemeWin::UpdateDarkModeStatus() {

View File

@ -1,8 +1,8 @@
diff --git content/browser/child_process_launcher_helper_linux.cc content/browser/child_process_launcher_helper_linux.cc
index ff73345339cca..9f05df0924a9c 100644
index 321faab043958..7586dc52e50ca 100644
--- content/browser/child_process_launcher_helper_linux.cc
+++ content/browser/child_process_launcher_helper_linux.cc
@@ -187,7 +187,7 @@ ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() {
@@ -188,7 +188,7 @@ ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() {
base::File OpenFileToShare(const base::FilePath& path,
base::MemoryMappedFile::Region* region) {
base::FilePath exe_dir;

View File

@ -12,7 +12,7 @@ index 239c3870a149a..9f5a34fc846bd 100644
if (use_atk) {
assert(use_glib, "use_atk=true requires that use_glib=true")
diff --git build/config/linux/atspi2/BUILD.gn build/config/linux/atspi2/BUILD.gn
index 51b6d33aab3c2..970d454e6b539 100644
index d1629205c82a3..21de94bee534b 100644
--- build/config/linux/atspi2/BUILD.gn
+++ build/config/linux/atspi2/BUILD.gn
@@ -6,7 +6,7 @@ import("//build/config/linux/pkg_config.gni")

View File

@ -1,8 +1,8 @@
diff --git device/bluetooth/BUILD.gn device/bluetooth/BUILD.gn
index 4885f927ae2b8..5e7d3e61391bf 100644
index 003a2504dd681..782c83813dfc6 100644
--- device/bluetooth/BUILD.gn
+++ device/bluetooth/BUILD.gn
@@ -46,10 +46,12 @@ source_set("deprecated_experimental_mojo") {
@@ -47,10 +47,12 @@ source_set("deprecated_experimental_mojo") {
]
if (is_chromeos || is_linux) {

View File

@ -1,5 +1,5 @@
diff --git printing/printing_context_linux.cc printing/printing_context_linux.cc
index bbb0082a2ec07..2be329bc10344 100644
index ab6cda8e54b37..164b3ef67445a 100644
--- printing/printing_context_linux.cc
+++ printing/printing_context_linux.cc
@@ -73,11 +73,11 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSettings() {

View File

@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index e6d84c4bbdaae..d6f75f348235f 100644
index 9425ad4ba5432..20a6c1c9c74fa 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@
@ -10,7 +10,7 @@ index e6d84c4bbdaae..d6f75f348235f 100644
#include "base/message_loop/message_pump_win.h"
#include <algorithm>
@@ -495,7 +496,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
@@ -496,7 +497,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
ctx.event()->set_chrome_message_pump();
msg_pump_data->set_sent_messages_in_queue(more_work_is_plausible);
});

View File

@ -1,8 +1,8 @@
diff --git base/message_loop/message_pump_apple.mm base/message_loop/message_pump_apple.mm
index 1ca1926d0f423..ad88913a3f463 100644
index a79ef2f20a507..33856ab5322c2 100644
--- base/message_loop/message_pump_apple.mm
+++ base/message_loop/message_pump_apple.mm
@@ -731,7 +731,8 @@ void MessagePumpUIApplication::Detach() {
@@ -762,7 +762,8 @@ void MessagePumpUIApplication::Detach() {
#else
ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@ -12,7 +12,7 @@ index 1ca1926d0f423..ad88913a3f463 100644
DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask());
// Pumping events in private runloop modes is known to interact badly with
// app modal windows like NSAlert.
@@ -742,7 +743,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@@ -773,7 +774,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
}
ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {

View File

@ -1,5 +1,5 @@
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
index a3f8485e40bbc..dc8c1aa898f72 100644
index dc763b0fac47b..d8b63a0f62267 100644
--- content/browser/web_contents/web_contents_view.h
+++ content/browser/web_contents/web_contents_view.h
@@ -25,7 +25,7 @@ struct DropData;

View File

@ -10,10 +10,10 @@ index 4fc3870bcfbc8..24c6d32d4a8d8 100644
+// This load will not send any cookies. For CEF usage.
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 19)
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
index eac944172789c..313c46b8088ed 100644
index db9ca10ea0f1c..48af940fa0571 100644
--- net/url_request/url_request_http_job.cc
+++ net/url_request/url_request_http_job.cc
@@ -1818,7 +1818,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
@@ -1797,7 +1797,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
// Read cookies whenever allow_credentials() is true, even if the PrivacyMode
// is being overridden by NetworkDelegate and will eventually block them, as
// blocked cookies still need to be logged in that case.

View File

@ -41,10 +41,10 @@ index afefe3cd83dee..6668463247644 100644
} // namespace content
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index 9e946e02bca27..220b1ffecf063 100644
index 7a99c04fcf5bb..2ed7d26f2d047 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -3255,6 +3255,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
@@ -3261,6 +3261,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE);
}
@ -57,10 +57,10 @@ index 9e946e02bca27..220b1ffecf063 100644
const WebInputEvent& event) {
if ((base::FeatureList::IsEnabled(
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
index cd75eee211a8e..0ab051d0d586b 100644
index 5c042eea04022..8752e45f39f1f 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -803,6 +803,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -801,6 +801,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void ProgressFlingIfNeeded(base::TimeTicks current_time);
void StopFling();

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc
index 578e66a7e8209..e25eff9c4e6d5 100644
index c4c7b83733167..3a22deb1cdb19 100644
--- chrome/browser/download/download_prefs.cc
+++ chrome/browser/download/download_prefs.cc
@@ -23,6 +23,7 @@
@ -21,7 +21,7 @@ index 578e66a7e8209..e25eff9c4e6d5 100644
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
@@ -360,6 +365,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
@@ -358,6 +363,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
// static
DownloadPrefs* DownloadPrefs::FromBrowserContext(
content::BrowserContext* context) {
@ -34,10 +34,10 @@ index 578e66a7e8209..e25eff9c4e6d5 100644
}
diff --git chrome/browser/printing/print_preview_dialog_controller.cc chrome/browser/printing/print_preview_dialog_controller.cc
index 1a6740b36343b..6c1a3fe19cf07 100644
index c7ba18ac2081e..2d5dbe156d335 100644
--- chrome/browser/printing/print_preview_dialog_controller.cc
+++ chrome/browser/printing/print_preview_dialog_controller.cc
@@ -15,6 +15,7 @@
@@ -16,6 +16,7 @@
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@ -84,7 +84,7 @@ index d5767fe27db0d..5778847a68208 100644
}
diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc
index 9e616396c9c97..87803d244eda3 100644
index 363b7f7037532..2ac23b428fbea 100644
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -24,6 +24,7 @@
@ -109,7 +109,7 @@ index 9e616396c9c97..87803d244eda3 100644
constexpr char kInvalidArgsForDidStartPreview[] =
"Invalid arguments for DidStartPreview";
constexpr char kInvalidPageIndexForDidPreviewPage[] =
@@ -303,7 +311,7 @@ void AddPrintPreviewStrings(content::WebUIDataSource* source) {
@@ -299,7 +307,7 @@ void AddPrintPreviewStrings(content::WebUIDataSource* source) {
source->AddLocalizedStrings(kLocalizedStrings);
#if !BUILDFLAG(IS_CHROMEOS)

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/printing/printer_query.cc chrome/browser/printing/printer_query.cc
index 83bce57ef52af..cb14470d16e4a 100644
index e175525a96266..7434b2f5eaa75 100644
--- chrome/browser/printing/printer_query.cc
+++ chrome/browser/printing/printer_query.cc
@@ -122,6 +122,7 @@ PrinterQuery::PrinterQuery(content::GlobalRenderFrameHostId rfh_id)

View File

@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc
index 8a8f88c0beed2..c2c47c2a063fe 100644
index 914e4cdd97154..13d3a939ba731 100644
--- content/browser/renderer_host/render_view_host_impl.cc
+++ content/browser/renderer_host/render_view_host_impl.cc
@@ -713,6 +713,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const {

View File

@ -1,8 +1,8 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index 3604fa07ff1c4..baf2f2d6507df 100644
index bb38b0bd52767..91ff16ccc058b 100644
--- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc
@@ -944,6 +944,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
@@ -943,6 +943,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
: delegate_(delegate),
locale_resources_data_lock_(new base::Lock),
max_scale_factor_(k100Percent) {
@ -15,7 +15,7 @@ index 3604fa07ff1c4..baf2f2d6507df 100644
mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMangleLocalizedStrings);
}
@@ -953,6 +959,11 @@ ResourceBundle::~ResourceBundle() {
@@ -952,6 +958,11 @@ ResourceBundle::~ResourceBundle() {
UnloadLocaleResources();
}

View File

@ -0,0 +1,25 @@
diff --git content/browser/renderer_host/ipc_utils.cc content/browser/renderer_host/ipc_utils.cc
index 5cb6e6463767d..84a9de1dfc6f0 100644
--- content/browser/renderer_host/ipc_utils.cc
+++ content/browser/renderer_host/ipc_utils.cc
@@ -73,7 +73,7 @@ bool VerifyInitiatorOrigin(
navigation_url_key,
navigation_url->DeprecatedGetOriginAsURL().spec());
}
- if (initiator_frame_token) {
+ if (initiator_frame_token && initiator_frame_token->has_value()) {
if (RenderFrameHostImpl* initiator_render_frame_host =
RenderFrameHostImpl::FromFrameToken(
process_id, initiator_frame_token->value())) {
diff --git content/browser/renderer_host/render_frame_host_impl.cc content/browser/renderer_host/render_frame_host_impl.cc
index f9295c24641e9..118e86979c5c7 100644
--- content/browser/renderer_host/render_frame_host_impl.cc
+++ content/browser/renderer_host/render_frame_host_impl.cc
@@ -10086,6 +10086,7 @@ void RenderFrameHostImpl::CommitNavigation(
auto browser_calc_origin_to_commit =
navigation_request->GetOriginToCommitWithDebugInfo();
if (!process_lock.is_error_page() && !is_mhtml_subframe &&
+ common_params->url.IsStandard() &&
!policy->CanAccessDataForOrigin(
GetProcess()->GetID(), browser_calc_origin_to_commit.first.value())) {
SCOPED_CRASH_KEY_STRING64("CommitNavigation", "lock_url",

View File

@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index d8345f942111f..36c1fa6d7f64f 100644
index 98746fea627ab..e00c36762eeb8 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -6,6 +6,7 @@
@ -10,7 +10,7 @@ index d8345f942111f..36c1fa6d7f64f 100644
#include <set>
#include <utility>
@@ -745,10 +746,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
@@ -746,10 +747,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
DCHECK(GetBackgroundColor());
@ -27,7 +27,7 @@ index d8345f942111f..36c1fa6d7f64f 100644
}
#if BUILDFLAG(IS_WIN)
@@ -2383,6 +2386,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2384,6 +2387,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
// This needs to happen only after |window_| has been initialized using
// Init(), because it needs to have the layer.
window_->SetEmbedFrameSinkId(frame_sink_id_);

View File

@ -1,5 +1,5 @@
diff --git ui/display/screen.cc ui/display/screen.cc
index b74a058c4034e..441ccadf6a729 100644
index 5e8e23ada050f..c11ea072109ec 100644
--- ui/display/screen.cc
+++ ui/display/screen.cc
@@ -107,13 +107,13 @@ base::TimeDelta Screen::CalculateIdleTime() const {
@ -19,10 +19,10 @@ index b74a058c4034e..441ccadf6a729 100644
bool Screen::GetDisplayWithDisplayId(int64_t display_id,
diff --git ui/display/win/screen_win.cc ui/display/win/screen_win.cc
index f02d58195a931..baed756a0e2fe 100644
index 773fbb8e90276..bdbda65c05dd6 100644
--- ui/display/win/screen_win.cc
+++ ui/display/win/screen_win.cc
@@ -580,7 +580,7 @@ gfx::Rect ScreenWin::ScreenToDIPRect(HWND hwnd, const gfx::Rect& pixel_bounds) {
@@ -535,7 +535,7 @@ gfx::Rect ScreenWin::ScreenToDIPRect(HWND hwnd, const gfx::Rect& pixel_bounds) {
gfx::PointF(pixel_bounds.origin()), screen_win_display));
const float scale_factor =
1.0f / screen_win_display.display().device_scale_factor();
@ -31,7 +31,7 @@ index f02d58195a931..baed756a0e2fe 100644
}
// static
@@ -595,7 +595,7 @@ gfx::Rect ScreenWin::DIPToScreenRect(HWND hwnd, const gfx::Rect& dip_bounds) {
@@ -550,7 +550,7 @@ gfx::Rect ScreenWin::DIPToScreenRect(HWND hwnd, const gfx::Rect& dip_bounds) {
const gfx::Point origin =
display::win::DIPToScreenPoint(dip_bounds.origin(), screen_win_display);
const float scale_factor = screen_win_display.display().device_scale_factor();

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
index 0257b1e7e2ad4..b910f788f5a57 100644
index 0a6c1f498b8fc..79e0cf27a7715 100644
--- chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
+++ chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
@@ -23,6 +23,7 @@
@ -21,7 +21,7 @@ index 0257b1e7e2ad4..b910f788f5a57 100644
// If the corresponding Connector policy isn't set, don't perform scans.
if (!service || !service->IsConnectorEnabled(connector))
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
index fd92bb9a1f148..4d27c25791033 100644
index 1200475275e91..d32195f01c7ed 100644
--- chrome/browser/net/profile_network_context_service.cc
+++ chrome/browser/net/profile_network_context_service.cc
@@ -22,6 +22,7 @@
@ -32,7 +32,7 @@ index fd92bb9a1f148..4d27c25791033 100644
#include "chrome/browser/browser_features.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
@@ -337,8 +338,10 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
@@ -320,8 +321,10 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
base::Unretained(this)));
cookie_settings_ = CookieSettingsFactory::GetForProfile(profile);
cookie_settings_observation_.Observe(cookie_settings_.get());
@ -45,7 +45,17 @@ index fd92bb9a1f148..4d27c25791033 100644
DisableQuicIfNotAllowed();
@@ -893,9 +896,26 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
@@ -480,6 +483,9 @@ void ProfileNetworkContextService::OnTruncatedCookieBlockingChanged() {
void ProfileNetworkContextService::OnFirstPartySetsEnabledChanged(
bool enabled) {
+ if (cef::IsAlloyRuntimeEnabled()) {
+ return;
+ }
// Update all FPS Access Delegates on the FPS service to be `enabled`.
first_party_sets::FirstPartySetsPolicyServiceFactory::GetForBrowserContext(
profile_)
@@ -866,9 +872,26 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
network_context_params->cookie_manager_params =
CreateCookieManagerParams(profile_, *cookie_settings_);
@ -73,7 +83,7 @@ index fd92bb9a1f148..4d27c25791033 100644
PrefService* local_state = g_browser_process->local_state();
// Configure the HTTP cache path and size.
base::FilePath base_cache_path;
@@ -904,15 +924,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
@@ -877,15 +900,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
local_state->GetFilePath(prefs::kDiskCacheDir);
if (!disk_cache_dir.empty())
base_cache_path = disk_cache_dir.Append(base_cache_path.BaseName());
@ -93,6 +103,46 @@ index fd92bb9a1f148..4d27c25791033 100644
network_context_params->file_paths->data_directory =
path.Append(chrome::kNetworkDataDirname);
network_context_params->file_paths->unsandboxed_data_path = path;
@@ -1038,6 +1060,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
network_context_params->block_trust_tokens =
anti_abuse_content_setting == CONTENT_SETTING_BLOCK;
+ if (!cef::IsAlloyRuntimeEnabled()) {
network_context_params->first_party_sets_access_delegate_params =
network::mojom::FirstPartySetsAccessDelegateParams::New();
network_context_params->first_party_sets_access_delegate_params->enabled =
@@ -1054,6 +1077,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
GetForBrowserContext(profile_);
DCHECK(fps_service);
fps_service->AddRemoteAccessDelegate(std::move(fps_access_delegate_remote));
+ }
network_context_params->acam_preflight_spec_conformant =
profile_->GetPrefs()->GetBoolean(
diff --git chrome/browser/net/profile_network_context_service_factory.cc chrome/browser/net/profile_network_context_service_factory.cc
index 14ac2ce8b90c5..99297094beea2 100644
--- chrome/browser/net/profile_network_context_service_factory.cc
+++ chrome/browser/net/profile_network_context_service_factory.cc
@@ -6,6 +6,7 @@
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/runtime.h"
#include "chrome/browser/first_party_sets/first_party_sets_policy_service_factory.h"
#include "chrome/browser/net/profile_network_context_service.h"
#include "chrome/browser/privacy_sandbox/privacy_sandbox_settings_factory.h"
@@ -53,9 +54,11 @@ ProfileNetworkContextServiceFactory::ProfileNetworkContextServiceFactory()
#if BUILDFLAG(IS_CHROMEOS_ASH)
DependsOn(chromeos::CertificateProviderServiceFactory::GetInstance());
#endif
+ if (!cef::IsAlloyRuntimeEnabled()) {
DependsOn(PrivacySandboxSettingsFactory::GetInstance());
DependsOn(
first_party_sets::FirstPartySetsPolicyServiceFactory::GetInstance());
+ }
}
ProfileNetworkContextServiceFactory::~ProfileNetworkContextServiceFactory() =
diff --git chrome/browser/signin/identity_manager_factory.cc chrome/browser/signin/identity_manager_factory.cc
index 77522f65b7b6e..51cc2d60d4b8d 100644
--- chrome/browser/signin/identity_manager_factory.cc
@ -195,10 +245,10 @@ index 6c804ec1092af..605ff3b32b0b8 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index f076c5dc62ca5..5b53652ef63df 100644
index 0a0fa8772cab9..e581302c76db1 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -2444,16 +2444,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2509,16 +2509,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_service_->network_quality_estimator());
}
@ -227,10 +277,10 @@ index f076c5dc62ca5..5b53652ef63df 100644
base::FeatureList::IsEnabled(features::kFledgePst)) {
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index 039407080ba9b..aa960e5943129 100644
index 3d95f8cd1adeb..8a2fa92c7eb5e 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -377,6 +377,9 @@ struct NetworkContextParams {
@@ -376,6 +376,9 @@ struct NetworkContextParams {
// cookies. Otherwise it should be false.
bool persist_session_cookies = false;

View File

@ -1,8 +1,8 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index 421063895a58f..9d43a6f76a4dd 100644
index 5202b07e11c21..e0448617c9512 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -538,10 +538,6 @@ class LoginHandlerDelegate {
@@ -540,10 +540,6 @@ class LoginHandlerDelegate {
}
WebContents* web_contents = web_contents_getter_.Run();
@ -13,7 +13,7 @@ index 421063895a58f..9d43a6f76a4dd 100644
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
creating_login_delegate_ = true;
@@ -593,12 +589,6 @@ void OnAuthRequiredContinuation(
@@ -595,12 +591,6 @@ void OnAuthRequiredContinuation(
mojo::PendingRemote<network::mojom::AuthChallengeResponder>
auth_challenge_responder,
base::RepeatingCallback<WebContents*(void)> web_contents_getter) {
@ -26,7 +26,7 @@ index 421063895a58f..9d43a6f76a4dd 100644
new LoginHandlerDelegate(
std::move(auth_challenge_responder), std::move(web_contents_getter),
auth_info, is_request_for_primary_main_frame, process_id, request_id, url,
@@ -3250,8 +3240,12 @@ void StoragePartitionImpl::GetQuotaSettings(
@@ -3257,8 +3247,12 @@ void StoragePartitionImpl::GetQuotaSettings(
return;
}
@ -40,7 +40,7 @@ index 421063895a58f..9d43a6f76a4dd 100644
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
}
@@ -3261,9 +3255,12 @@ void StoragePartitionImpl::InitNetworkContext() {
@@ -3268,9 +3262,12 @@ void StoragePartitionImpl::InitNetworkContext() {
cert_verifier::mojom::CertVerifierCreationParamsPtr
cert_verifier_creation_params =
cert_verifier::mojom::CertVerifierCreationParams::New();

View File

@ -1,8 +1,8 @@
diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc
index 46833be700bb8..3ffdedd8509ac 100644
index a2459f3137633..ad29bed6db43a 100644
--- ui/views/controls/webview/webview.cc
+++ ui/views/controls/webview/webview.cc
@@ -150,6 +150,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
@@ -160,6 +160,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
}
}
@ -14,10 +14,10 @@ index 46833be700bb8..3ffdedd8509ac 100644
if (crashed_overlay_view_.view() == crashed_overlay_view) {
return;
diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h
index e5bc9be5a44b3..132e374aff1de 100644
index ff8755f0cfa28..0c7d3e22b863a 100644
--- ui/views/controls/webview/webview.h
+++ ui/views/controls/webview/webview.h
@@ -89,6 +89,10 @@ class WEBVIEW_EXPORT WebView : public View,
@@ -91,6 +91,10 @@ class WEBVIEW_EXPORT WebView : public View,
void EnableSizingFromWebContents(const gfx::Size& min_size,
const gfx::Size& max_size);

View File

@ -1,8 +1,8 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index 292e5ce4922b3..b9080fa2b6253 100644
index 2f9a9813f863c..f6cc9aabf8540 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -64,6 +64,8 @@
@@ -65,6 +65,8 @@
X("cc") \
X("cc.debug") \
X("cdp.perf") \

View File

@ -1,8 +1,8 @@
diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index 50f6783cda7a0..a8f781375c719 100644
index 5d169e08b509d..aff534bddfd2f 100644
--- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -139,7 +139,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
@@ -157,7 +157,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
format_map_.Insert(x11::GetAtom(kMimeTypeMozillaURL), mem);
// Set a string fallback as well.

View File

@ -43,10 +43,10 @@ index a6d70c71a1b3a..1b628f5284409 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index 794b77e9eca3e..636589ae29c20 100644
index dab8c9be8d902..5951ec36a874e 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -667,6 +667,14 @@ void RenderText::SetWhitespaceElision(absl::optional<bool> whitespace_elision) {
@@ -670,6 +670,14 @@ void RenderText::SetWhitespaceElision(absl::optional<bool> whitespace_elision) {
}
}
@ -61,7 +61,7 @@ index 794b77e9eca3e..636589ae29c20 100644
void RenderText::SetDisplayRect(const Rect& r) {
if (r != display_rect_) {
display_rect_ = r;
@@ -2036,6 +2044,19 @@ void RenderText::OnTextAttributeChanged() {
@@ -2061,6 +2069,19 @@ void RenderText::OnTextAttributeChanged() {
layout_text_up_to_date_ = false;
@ -82,7 +82,7 @@ index 794b77e9eca3e..636589ae29c20 100644
}
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index 678bc9cbf63b4..92322cf339523 100644
index 212c98c242ed3..26f9bb4c28400 100644
--- ui/gfx/render_text.h
+++ ui/gfx/render_text.h
@@ -347,6 +347,10 @@ class GFX_EXPORT RenderText {
@ -96,7 +96,7 @@ index 678bc9cbf63b4..92322cf339523 100644
const Rect& display_rect() const { return display_rect_; }
void SetDisplayRect(const Rect& r);
@@ -1050,6 +1054,8 @@ class GFX_EXPORT RenderText {
@@ -1056,6 +1060,8 @@ class GFX_EXPORT RenderText {
// Tell whether or not the |layout_text_| needs an update or is up to date.
mutable bool layout_text_up_to_date_ = false;
@ -119,10 +119,10 @@ index c1c0631071a11..aa2c01ebce43e 100644
friend class test::InkDropHostTestApi;
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index 6d6c45b7dc519..f09365053469d 100644
index c7b00c3852d02..be30a1995d570 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -562,6 +562,12 @@ void LabelButton::OnThemeChanged() {
@@ -566,6 +566,12 @@ void LabelButton::OnThemeChanged() {
SchedulePaint();
}
@ -150,10 +150,10 @@ index 8dbd918f09528..06fad642642c4 100644
ImageView* image() const { return image_; }
Label* label() const { return label_; }
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index 8faa59e449ddc..d07df64e9bd8e 100644
index a1a17ca0f4090..ad4ac7a2678e0 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -50,12 +50,29 @@ enum LabelPropertyKey {
@@ -53,12 +53,29 @@ enum LabelPropertyKey {
kLabelLineHeight,
kLabelObscured,
kLabelAllowCharacterBreak,
@ -183,7 +183,7 @@ index 8faa59e449ddc..d07df64e9bd8e 100644
} // namespace
namespace views {
@@ -464,6 +481,15 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
@@ -474,6 +491,15 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
OnPropertyChanged(&elide_behavior_, kPropertyEffectsPreferredSizeChanged);
}
@ -199,7 +199,7 @@ index 8faa59e449ddc..d07df64e9bd8e 100644
std::u16string Label::GetTooltipText() const {
return tooltip_text_;
}
@@ -768,6 +794,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
@@ -778,6 +804,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
render_text->SelectRange(stored_selection_range_);
}
@ -396,10 +396,10 @@ index 10c4ecd08f76b..062f0c58bb805 100644
explicit MenuHost(SubmenuView* submenu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index e509227da023b..c4d85ccd39302 100644
index bbb50ca16f67e..9217236ef056b 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1045,6 +1045,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@@ -1057,6 +1057,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
spilling_rect.set_y(spilling_rect.y() - corner_radius_);
spilling_rect.set_height(spilling_rect.height() + corner_radius_);
canvas->DrawRoundRect(spilling_rect, corner_radius_, flags);
@ -415,7 +415,7 @@ index e509227da023b..c4d85ccd39302 100644
} else if (paint_as_selected) {
gfx::Rect item_bounds = GetLocalBounds();
if (type_ == Type::kActionableSubMenu) {
@@ -1109,6 +1118,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
@@ -1121,6 +1130,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
}
SkColor MenuItemView::GetTextColor(bool minor, bool paint_as_selected) const {
@ -639,7 +639,7 @@ index e6587d2208a13..c2c72f7edb89c 100644
void Cancel() override;
base::TimeTicks GetClosingEventTime() const override;
diff --git ui/views/controls/menu/menu_runner_impl_cocoa.h ui/views/controls/menu/menu_runner_impl_cocoa.h
index 2056016df3098..6c6467f5a719e 100644
index 2325534ec9243..7573a54cc891c 100644
--- ui/views/controls/menu/menu_runner_impl_cocoa.h
+++ ui/views/controls/menu/menu_runner_impl_cocoa.h
@@ -42,6 +42,7 @@ class VIEWS_EXPORT MenuRunnerImplCocoa : public MenuRunnerImplInterface {
@ -651,7 +651,7 @@ index 2056016df3098..6c6467f5a719e 100644
void Cancel() override;
base::TimeTicks GetClosingEventTime() const override;
diff --git ui/views/controls/menu/menu_runner_impl_cocoa.mm ui/views/controls/menu/menu_runner_impl_cocoa.mm
index f137d6f86aba7..5b329ae12ada1 100644
index c3c80f6becee7..5b6fc116f6255 100644
--- ui/views/controls/menu/menu_runner_impl_cocoa.mm
+++ ui/views/controls/menu/menu_runner_impl_cocoa.mm
@@ -190,6 +190,7 @@ void MenuRunnerImplCocoa::RunMenuAt(
@ -676,7 +676,7 @@ index cf696fbcf0714..5c48fd7410b88 100644
// Hides and cancels the menu.
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
index 6b6df6857209a..75c62afef88b4 100644
index 8c093e002326c..3a500adcd39bb 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -250,6 +250,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)

View File

@ -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
index 9dd7439e8c1c0..7da7d04fb2d00 100644
index 1634c3556dc78..276a9f58e2bac 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -648,6 +648,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
@ -18,7 +18,7 @@ index 9dd7439e8c1c0..7da7d04fb2d00 100644
if (!GetMouseWheelPhaseHandler())
return;
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
index 3b4461acc2fc6..ed1ef17fb3667 100644
index b010d43aaeb90..5172abec682b9 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -71,6 +71,7 @@ class CursorManager;
@ -85,7 +85,7 @@ index 3b4461acc2fc6..ed1ef17fb3667 100644
// renderer process changes. This method is called before notifying
// RenderWidgetHostImpl in order to allow the view to allocate a new
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
index 36b742a3f2b77..9f9d22b531237 100644
index 401e65a8ebe6f..b83410da96f67 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -52,6 +52,10 @@ namespace {
@ -179,10 +179,10 @@ index e4e6d3104da9e..bb372b0cd2960 100644
return host ? host->GetAcceleratedWidget() : nullptr;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
index 19e84689c878f..a8943c34699c5 100644
index e5c4e4d662261..15ed8c1a24557 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -165,6 +165,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
@@ -171,6 +171,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
return result;
}
@ -201,7 +201,7 @@ index 19e84689c878f..a8943c34699c5 100644
void DesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) {
// In Windows, the native events sent to chrome are separated into client
// and non-client versions of events, which we record on our LocatedEvent
@@ -288,6 +300,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
@@ -294,6 +306,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
properties->wayland_app_id = params.wayland_app_id;
@ -211,10 +211,10 @@ index 19e84689c878f..a8943c34699c5 100644
properties->x11_extension_delegate = this;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
index 01d4ffe408a84..fbe41fefbb2bd 100644
index ee09e16753ff0..256a24a0c6ebd 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
@@ -57,6 +57,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
@@ -59,6 +59,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
// Disables event listening to make |dialog| modal.
base::OnceClosure DisableEventListening();
@ -223,7 +223,7 @@ index 01d4ffe408a84..fbe41fefbb2bd 100644
protected:
// Overridden from DesktopWindowTreeHost:
void Init(const Widget::InitParams& params) override;
@@ -66,6 +68,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
@@ -68,6 +70,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
const gfx::Vector2d& drag_offset,
Widget::MoveLoopSource source,
Widget::MoveLoopEscapeBehavior escape_behavior) override;
@ -232,7 +232,7 @@ index 01d4ffe408a84..fbe41fefbb2bd 100644
// PlatformWindowDelegate:
void DispatchEvent(ui::Event* event) override;
@@ -114,6 +118,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
@@ -116,6 +120,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
uint32_t modal_dialog_counter_ = 0;
@ -243,7 +243,7 @@ index 01d4ffe408a84..fbe41fefbb2bd 100644
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
};
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index 91bee2b0173c6..c0ccd724d4bcc 100644
index 9092e91e37b7d..9d749f2508eb0 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -286,8 +286,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
@ -359,7 +359,7 @@ index 2e4bacce52a45..76916c5d21cb9 100644
// the implementation of ::ShowCursor() is based on a counter, so making this
// member static ensures that ::ShowCursor() is always called exactly once
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 6e1bc593b0082..4c5925f946616 100644
index 2f552f72074e3..3f057242d198c 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -368,7 +368,8 @@ void Widget::Init(InitParams params) {
@ -372,7 +372,7 @@ index 6e1bc593b0082..4c5925f946616 100644
if (params.opacity == views::Widget::InitParams::WindowOpacity::kInferred &&
params.type != views::Widget::InitParams::TYPE_WINDOW) {
@@ -472,13 +473,21 @@ void Widget::Init(InitParams params) {
@@ -480,14 +481,22 @@ void Widget::Init(InitParams params) {
if (show_state == ui::SHOW_STATE_MAXIMIZED) {
Maximize();
@ -385,17 +385,18 @@ index 6e1bc593b0082..4c5925f946616 100644
}
} else if (delegate) {
SetContentsView(delegate->TransferOwnershipOfContentsView());
- SetInitialBoundsForFramelessWindow(bounds);
+ if (params.parent_widget != gfx::kNullAcceleratedWidget) {
+ // Set the bounds directly instead of applying an inset.
+ SetBounds(bounds);
+ } else {
+ SetInitialBoundsForFramelessWindow(bounds);
+ }
if (should_set_initial_bounds) {
- SetInitialBoundsForFramelessWindow(bounds);
+ if (params.parent_widget != gfx::kNullAcceleratedWidget) {
+ // Set the bounds directly instead of applying an inset.
+ SetBounds(bounds);
+ } else {
+ SetInitialBoundsForFramelessWindow(bounds);
+ }
}
}
if (base::FeatureList::IsEnabled(features::kWidgetLayering)) {
@@ -1615,10 +1624,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) {
@@ -1631,10 +1640,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) {
}
gfx::Size Widget::GetMinimumSize() const {
@ -413,7 +414,7 @@ index 6e1bc593b0082..4c5925f946616 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 6d10ae19965c3..6eba4e7492e81 100644
index 419b75d0608b2..d772dc17d165c 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -351,6 +351,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@ -455,10 +456,10 @@ index 3b9b00b7d79ae..e759e3c1a9f34 100644
if (native_widget_delegate->IsDialogBox()) {
*style |= DS_MODALFRAME;
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
index a386fb0594530..edc5dc99de31d 100644
index f43aa724b2a8e..2782c80694a70 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -953,8 +953,12 @@ bool HWNDMessageHandler::IsActive() const {
@@ -955,8 +955,12 @@ bool HWNDMessageHandler::IsActive() const {
// In headless mode return expected activation state instead of the
// actual one. This ensures that onfocus/onblur notifications work
// as expected and no unexpected throttling occurs.
@ -472,7 +473,7 @@ index a386fb0594530..edc5dc99de31d 100644
}
bool HWNDMessageHandler::IsMinimized() const {
@@ -3346,10 +3350,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3353,10 +3357,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -80,10 +80,10 @@ index 8af69cac78b74..9f74e511c263d 100644
private:
const HWND hwnd_;
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
index 72d9d594a9370..f95511fc9ca89 100644
index d3a1ba02c0924..cf74aba62b079 100644
--- components/viz/service/BUILD.gn
+++ components/viz/service/BUILD.gn
@@ -228,6 +228,8 @@ viz_component("service") {
@@ -230,6 +230,8 @@ viz_component("service") {
"transitions/transferable_resource_tracker.cc",
"transitions/transferable_resource_tracker.h",
"viz_service_export.h",

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index 6f1581c517bf6..5c4004b963ef6 100644
index 355f0d796d3c6..d8c047d6173e3 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -3324,6 +3324,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3348,6 +3348,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create());
@ -15,7 +15,7 @@ index 6f1581c517bf6..5c4004b963ef6 100644
std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3334,6 +3340,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3358,6 +3364,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_);
}
@ -23,7 +23,7 @@ index 6f1581c517bf6..5c4004b963ef6 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -3523,6 +3530,9 @@ void WebContentsImpl::RenderWidgetCreated(
@@ -3548,6 +3555,9 @@ void WebContentsImpl::RenderWidgetCreated(
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated",
"render_widget_host", render_widget_host);
created_widgets_.insert(render_widget_host);
@ -33,7 +33,18 @@ index 6f1581c517bf6..5c4004b963ef6 100644
}
void WebContentsImpl::RenderWidgetDeleted(
@@ -4279,6 +4289,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -3868,6 +3878,10 @@ void WebContentsImpl::SetWindowShowState(ui::WindowShowState state) {
ui::WindowShowState WebContentsImpl::GetWindowShowState() {
aura::Window* window = GetTopLevelNativeWindow();
+ if (!window) {
+ // |window| will be nullptr with CEF windowless rendering.
+ return ui::SHOW_STATE_DEFAULT;
+ }
return wm::GetWindowState(window);
}
#endif
@@ -4335,6 +4349,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
create_params.picture_in_picture_options = *(params.pip_options);
}
@ -49,7 +60,7 @@ index 6f1581c517bf6..5c4004b963ef6 100644
// Check whether there is an available prerendered page for this navigation if
// this is not for guest. If it exists, take WebContents pre-created for
// hosting the prerendered page instead of creating new WebContents.
@@ -8286,6 +8305,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
@@ -8342,6 +8365,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
}
CloseListenerManager::DidChangeFocusedFrame(this);
@ -60,7 +71,7 @@ index 6f1581c517bf6..5c4004b963ef6 100644
void WebContentsImpl::DidCallFocus() {
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index f02cd75e7ad4c..8a3761e505d2d 100644
index d3d0b0aab60e9..79938331d05f1 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -98,10 +98,12 @@ class BrowserContext;

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index 132096c44cf32..7828efe4197ee 100644
index cfb8b2634af81..d7c120ea753c3 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -774,6 +774,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -780,6 +780,11 @@ class BLINK_PLATFORM_EXPORT Platform {
}
#endif

View File

@ -11,7 +11,7 @@ index 8a18ecf567cd3..9697d43bbbfb9 100644
// Cancels and hides the current popup (datetime, select...) if any.
virtual void CancelPagePopup() = 0;
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index 1043f13dd1d47..896d479022df7 100644
index acb43e9f5471e..d78498411ec92 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -249,8 +249,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {

View File

@ -1,9 +1,9 @@
diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index 70be25ddddf1d..8aa1b6f33d7fb 100644
index a7ab5cf0c3cd0..8a8014df43457 100644
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
@@ -19,10 +19,12 @@
#include "base/strings/stringprintf.h"
@@ -18,10 +18,12 @@
#include "base/strings/string_util.h"
#include "base/system/sys_info.h"
#include "base/task/thread_pool.h"
+#include "base/threading/thread_restrictions.h"
@ -15,7 +15,7 @@ index 70be25ddddf1d..8aa1b6f33d7fb 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/chrome_content_browser_client_extensions_part.h"
#include "chrome/browser/google/google_brand.h"
@@ -399,7 +401,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
@@ -422,7 +424,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
response->emplace(kOsVersionTag, os_version);
#endif
@ -28,7 +28,7 @@ index 70be25ddddf1d..8aa1b6f33d7fb 100644
PopulateExtensionInfoLogs(response.get());
PopulatePowerApiLogs(response.get());
#if BUILDFLAG(IS_WIN)
@@ -479,8 +485,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
@@ -504,8 +510,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
if (!profile)
return;
@ -41,7 +41,7 @@ index 70be25ddddf1d..8aa1b6f33d7fb 100644
std::string extensions_list;
for (const scoped_refptr<const extensions::Extension>& extension :
extension_registry->enabled_extensions()) {
@@ -584,6 +594,8 @@ void ChromeInternalLogSource::PopulateOnboardingTime(
@@ -606,6 +616,8 @@ void ChromeInternalLogSource::PopulateOnboardingTime(
#if BUILDFLAG(IS_WIN)
void ChromeInternalLogSource::PopulateUsbKeyboardDetected(
SystemLogsResponse* response) {

View File

@ -1,8 +1,8 @@
diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc
index 3add6ba6997a3..c6cedeed4da7b 100644
index fc31388dc3232..c0e303c816042 100644
--- sandbox/policy/win/sandbox_win.cc
+++ sandbox/policy/win/sandbox_win.cc
@@ -988,6 +988,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -997,6 +997,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
const base::HandlesToInheritVector& handles_to_inherit,
SandboxDelegate* delegate,
base::Process* process) {

View File

@ -821,9 +821,10 @@ void SetupIframeRequest(CookieTestSetup* setup,
!has_same_origin || IsNonStandardType(iframe_handler)
? "null"
: GetOrigin(iframe_handler);
setup->AddConsoleMessage("SecurityError: Blocked a frame with origin \"" +
origin +
"\" from accessing a cross-origin frame.");
setup->AddConsoleMessage(
"SecurityError: Failed to read a named property 'document' from "
"'Window': Blocked a frame with origin \"" +
origin + "\" from accessing a cross-origin frame.");
}
if (has_same_origin && main_handler == iframe_handler &&

View File

@ -1162,14 +1162,16 @@ class OSRTestHandler : public RoutingTestHandler,
void UpdateDragCursor(CefRefPtr<CefBrowser> browser,
DragOperation operation) override {
if (operation == DRAG_OPERATION_NONE) {
return;
}
if (test_type_ == OSR_TEST_DRAG_DROP_UPDATE_CURSOR && started()) {
if (operation != DRAG_OPERATION_NONE) {
const CefRect& dropdiv = GetElementBounds("dropdiv");
browser->GetHost()->DragSourceEndedAt(
MiddleX(dropdiv), MiddleY(dropdiv), DRAG_OPERATION_NONE);
browser->GetHost()->DragSourceSystemDragEnded();
DestroySucceededTestSoon();
}
const CefRect& dropdiv = GetElementBounds("dropdiv");
browser->GetHost()->DragSourceEndedAt(MiddleX(dropdiv), MiddleY(dropdiv),
DRAG_OPERATION_NONE);
browser->GetHost()->DragSourceSystemDragEnded();
DestroySucceededTestSoon();
} else if (test_type_ == OSR_TEST_DRAG_DROP_DROP && started()) {
// Don't end the drag multiple times.
if (got_update_cursor_) {

View File

@ -1395,7 +1395,8 @@ TEST(SchemeHandlerTest, CustomNonStandardXSSSameOrigin) {
"customnonstd:xhr%20value");
test_results.console_messages.push_back(
"Error: Blocked a frame with origin \"null\" from accessing a "
"Error: Failed to read a named property 'getResult' from 'Window': "
"Blocked a frame with origin \"null\" from accessing a "
"cross-origin frame.");
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results);
@ -1520,7 +1521,8 @@ TEST(SchemeHandlerTest, CustomStandardXSSDifferentOrigin) {
"customstd://test2/iframe.html");
test_results.console_messages.push_back(
"Error: Blocked a frame with origin \"customstd://test2\" from accessing "
"Error: Failed to read a named property 'getResult' from 'Window': "
"Blocked a frame with origin \"customstd://test2\" from accessing "
"a cross-origin frame.");
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results);
@ -1547,7 +1549,8 @@ TEST(SchemeHandlerTest, CustomStandardXSSDifferentProtocolHttp) {
"https://test2/iframe.html");
test_results.console_messages.push_back(
"Error: Blocked a frame with origin \"https://test2\" from accessing a "
"Error: Failed to read a named property 'getResult' from 'Window': "
"Blocked a frame with origin \"https://test2\" from accessing a "
"cross-origin frame.");
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results);
@ -1575,7 +1578,8 @@ TEST(SchemeHandlerTest, CustomStandardXSSDifferentProtocolCustomNonStandard) {
"customnonstd:some%20value");
test_results.console_messages.push_back(
"Error: Blocked a frame with origin \"null\" from accessing a "
"Error: Failed to read a named property 'getResult' from 'Window': "
"Blocked a frame with origin \"null\" from accessing a "
"cross-origin frame.");
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results);
@ -1602,7 +1606,8 @@ TEST(SchemeHandlerTest, HttpXSSDifferentProtocolCustomStandard) {
"customstd://test2/iframe.html");
test_results.console_messages.push_back(
"Error: Blocked a frame with origin \"customstd://test2\" from accessing "
"Error: Failed to read a named property 'getResult' from 'Window': "
"Blocked a frame with origin \"customstd://test2\" from accessing "
"a cross-origin frame.");
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results);
@ -1629,7 +1634,8 @@ TEST(SchemeHandlerTest, HttpXSSDifferentProtocolCustomNonStandard) {
"customnonstd:some%20value");
test_results.console_messages.push_back(
"Error: Blocked a frame with origin \"null\" from accessing a "
"Error: Failed to read a named property 'getResult' from 'Window': "
"Blocked a frame with origin \"null\" from accessing a "
"cross-origin frame.");
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results);
@ -1754,7 +1760,8 @@ TEST(SchemeHandlerTest, HttpXSSDifferentOrigin) {
SetUpXSS(&test_results, "https://test1/run.html", "https://test2/xss.html");
test_results.console_messages.push_back(
"Error: Blocked a frame with origin \"https://test2\" from accessing a "
"Error: Failed to read a named property 'getResult' from 'Window': "
"Blocked a frame with origin \"https://test2\" from accessing a "
"cross-origin frame.");
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results);

View File

@ -68,12 +68,6 @@ void ClientAppBrowser::OnBeforeCommandLineProcessing(
command_line->AppendSwitchWithValue("top-chrome-md", "non-material");
}
if (!command_line->HasSwitch(switches::kCachePath) &&
!command_line->HasSwitch("disable-gpu-shader-disk-cache")) {
// Don't create a "GPUCache" directory when cache-path is unspecified.
command_line->AppendSwitch("disable-gpu-shader-disk-cache");
}
#if defined(OS_MAC)
// Disable the toolchain prompt on macOS.
command_line->AppendSwitch("use-mock-keychain");