Compare commits
4 Commits
a918aa72bc
...
e52707f8c9
Author | SHA1 | Date |
---|---|---|
Marshall Greenblatt | e52707f8c9 | |
Marshall Greenblatt | fda35ba29a | |
Marshall Greenblatt | 31668f9570 | |
Marshall Greenblatt | 8929b36b73 |
|
@ -7,5 +7,5 @@
|
|||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||
|
||||
{
|
||||
'chromium_checkout': 'refs/tags/129.0.6668.29'
|
||||
'chromium_checkout': 'refs/tags/129.0.6668.71'
|
||||
}
|
||||
|
|
|
@ -142,7 +142,7 @@ set(CMAKE_CONFIGURATION_TYPES Debug Release)
|
|||
project(cef)
|
||||
|
||||
# Use folders in the resulting project files.
|
||||
set_property(GLOBAL PROPERTY OS_FOLDERS ON)
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
|
||||
#
|
||||
|
|
|
@ -744,5 +744,11 @@ patches = [
|
|||
# Windows: Add missing check in base/profiler/stack_copier.cc to fix
|
||||
# compilation error of cef_sandbox.
|
||||
'name': 'win_sandbox_stack_copier'
|
||||
},
|
||||
{
|
||||
# Fix dangling RenderProcessHost ptr in RenderProcessHostTaskProvider.
|
||||
# https://github.com/chromiumembedded/cef/issues/3758
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/5894650
|
||||
'name': 'chrome_browser_task_manager_5894650'
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
||||
index 3b809a3c065f6..d9a5b328db5ed 100644
|
||||
index 45086d6838cac..58f4eb5278d99 100644
|
||||
--- build/config/compiler/BUILD.gn
|
||||
+++ build/config/compiler/BUILD.gn
|
||||
@@ -134,6 +134,9 @@ declare_args() {
|
||||
@@ -133,6 +133,9 @@ declare_args() {
|
||||
# The cache can lead to non-determinism: https://crbug.com/1486045
|
||||
thin_lto_enable_cache = true
|
||||
|
||||
|
@ -12,7 +12,7 @@ index 3b809a3c065f6..d9a5b328db5ed 100644
|
|||
# Initialize all local variables with a pattern. This flag will fill
|
||||
# uninitialized floating-point types (and 32-bit pointers) with 0xFF and the
|
||||
# rest with 0xAA. This makes behavior of uninitialized memory bugs consistent,
|
||||
@@ -2260,11 +2263,13 @@ config("export_dynamic") {
|
||||
@@ -2256,11 +2259,13 @@ config("export_dynamic") {
|
||||
config("thin_archive") {
|
||||
# The macOS and iOS default linker ld64 does not support reading thin
|
||||
# archives.
|
||||
|
|
|
@ -578,7 +578,7 @@ index 9081a0ed32b64..5fc21fd1c33a4 100644
|
|||
|
||||
UnloadController unload_controller_;
|
||||
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
|
||||
index 31e27cfa516bc..e98078bf64c61 100644
|
||||
index 41a7c90bc2754..8ccf0dd8b296c 100644
|
||||
--- chrome/browser/ui/browser_navigator.cc
|
||||
+++ chrome/browser/ui/browser_navigator.cc
|
||||
@@ -263,6 +263,10 @@ std::pair<Browser*, int> GetBrowserAndTabForDisposition(
|
||||
|
@ -592,7 +592,7 @@ index 31e27cfa516bc..e98078bf64c61 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);
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ index 4007e26f780c3..26d0d492cf176 100644
|
|||
|
||||
WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate(
|
||||
diff --git chrome/browser/extensions/api/tabs/tabs_api.cc chrome/browser/extensions/api/tabs/tabs_api.cc
|
||||
index 723e68fdb68e0..604989e6bfd1a 100644
|
||||
index cbfeb699bb92c..259c9b9d5938b 100644
|
||||
--- chrome/browser/extensions/api/tabs/tabs_api.cc
|
||||
+++ chrome/browser/extensions/api/tabs/tabs_api.cc
|
||||
@@ -1552,7 +1552,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
|
||||
|
@ -73,23 +73,18 @@ index 723e68fdb68e0..604989e6bfd1a 100644
|
|||
int opener_id = *params->update_properties.opener_tab_id;
|
||||
WebContents* opener_contents = nullptr;
|
||||
if (opener_id == tab_id) {
|
||||
@@ -1638,11 +1638,11 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
|
||||
@@ -1637,7 +1637,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
|
||||
->SetAutoDiscardable(state);
|
||||
}
|
||||
|
||||
const bool contents_in_an_uneditable_saved_group =
|
||||
- contents && ExtensionTabUtil::TabIsInSavedTabGroup(
|
||||
+ browser && contents && ExtensionTabUtil::TabIsInSavedTabGroup(
|
||||
web_contents_, browser->tab_strip_model()) &&
|
||||
!ExtensionHasLockedFullscreenPermission(extension());
|
||||
|
||||
- if (params->update_properties.pinned) {
|
||||
+ if (tab_strip && params->update_properties.pinned) {
|
||||
// Pinning will result in changes to the tabs index/group affiliation in
|
||||
// some cases, Throw an error if a tab is attempting to be pinned.
|
||||
if (contents_in_an_uneditable_saved_group) {
|
||||
@@ -1673,8 +1673,9 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
|
||||
}
|
||||
|
||||
// Bug fix for crbug.com/1197888. Don't let the extension update the tab if
|
||||
// the user is dragging tabs.
|
||||
if (!ExtensionTabUtil::IsTabStripEditable()) {
|
||||
@@ -1658,8 +1658,9 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
|
||||
// Navigate the tab to a new location if the url is different.
|
||||
if (params->update_properties.url) {
|
||||
std::string updated_url = *params->update_properties.url;
|
||||
- if (browser->profile()->IsIncognitoProfile() &&
|
||||
- !IsURLAllowedInIncognito(GURL(updated_url), browser->profile())) {
|
||||
|
@ -99,7 +94,7 @@ index 723e68fdb68e0..604989e6bfd1a 100644
|
|||
return RespondNow(Error(ErrorUtils::FormatErrorMessage(
|
||||
tabs_constants::kURLsNotAllowedInIncognitoError, updated_url)));
|
||||
}
|
||||
@@ -1688,7 +1689,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
|
||||
@@ -1673,7 +1674,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
|
||||
return RespondNow(Error(std::move(error)));
|
||||
}
|
||||
|
||||
|
@ -109,7 +104,7 @@ index 723e68fdb68e0..604989e6bfd1a 100644
|
|||
current_url, updated_url, js_callstack());
|
||||
}
|
||||
diff --git chrome/browser/extensions/extension_tab_util.cc chrome/browser/extensions/extension_tab_util.cc
|
||||
index 9d33f958ae540..40dc75ebc88b6 100644
|
||||
index c630431022688..534c6f9e52726 100644
|
||||
--- chrome/browser/extensions/extension_tab_util.cc
|
||||
+++ chrome/browser/extensions/extension_tab_util.cc
|
||||
@@ -18,6 +18,7 @@
|
||||
|
@ -131,7 +126,7 @@ index 9d33f958ae540..40dc75ebc88b6 100644
|
|||
using content::NavigationEntry;
|
||||
using content::WebContents;
|
||||
using extensions::mojom::APIPermissionID;
|
||||
@@ -758,6 +763,20 @@ bool ExtensionTabUtil::GetTabById(int tab_id,
|
||||
@@ -748,6 +753,20 @@ bool ExtensionTabUtil::GetTabById(int tab_id,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
diff --git chrome/browser/task_manager/providers/render_process_host_task_provider.cc chrome/browser/task_manager/providers/render_process_host_task_provider.cc
|
||||
index 11b05cbfc6077..45a5b11158a21 100644
|
||||
--- chrome/browser/task_manager/providers/render_process_host_task_provider.cc
|
||||
+++ chrome/browser/task_manager/providers/render_process_host_task_provider.cc
|
||||
@@ -110,18 +110,14 @@ void RenderProcessHostTaskProvider::OnRenderProcessHostCreated(
|
||||
void RenderProcessHostTaskProvider::RenderProcessExited(
|
||||
content::RenderProcessHost* host,
|
||||
const content::ChildProcessTerminationInfo& info) {
|
||||
- if (is_updating_) {
|
||||
- DeleteTask(host->GetID());
|
||||
- host_observation_.RemoveObservation(host);
|
||||
- }
|
||||
+ DeleteTask(host->GetID());
|
||||
+ host_observation_.RemoveObservation(host);
|
||||
}
|
||||
|
||||
void RenderProcessHostTaskProvider::RenderProcessHostDestroyed(
|
||||
content::RenderProcessHost* host) {
|
||||
- if (is_updating_) {
|
||||
- DeleteTask(host->GetID());
|
||||
- host_observation_.RemoveObservation(host);
|
||||
- }
|
||||
+ DeleteTask(host->GetID());
|
||||
+ host_observation_.RemoveObservation(host);
|
||||
}
|
||||
|
||||
} // namespace task_manager
|
|
@ -397,7 +397,7 @@ index 14a8a70d853f6..bf81594947886 100644
|
|||
// regenerated.
|
||||
bool RegenerateFrameOnThemeChange(BrowserThemeChangeType theme_change_type);
|
||||
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
|
||||
index 79a944bab28e1..1c236bd829c05 100644
|
||||
index d775394c47cf5..10f089b2389b3 100644
|
||||
--- chrome/browser/ui/views/frame/browser_view.cc
|
||||
+++ chrome/browser/ui/views/frame/browser_view.cc
|
||||
@@ -366,10 +366,6 @@ constexpr base::FeatureParam<base::TimeDelta> kLoadingTabAnimationFrameDelay = {
|
||||
|
@ -411,7 +411,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
// UMA histograms that record animation smoothness for tab loading animation.
|
||||
constexpr char kTabLoadingSmoothnessHistogramName[] =
|
||||
@@ -708,6 +704,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
|
||||
@@ -750,6 +746,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
|
||||
return browser_view_->frame()->GetTopInset() - browser_view_->y();
|
||||
}
|
||||
|
||||
|
@ -426,7 +426,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
bool IsToolbarVisible() const override {
|
||||
return browser_view_->IsToolbarVisible();
|
||||
}
|
||||
@@ -859,11 +863,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
|
||||
@@ -901,11 +905,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// BrowserView, public:
|
||||
|
||||
|
@ -449,7 +449,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
SetShowIcon(
|
||||
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
|
||||
|
||||
@@ -953,8 +967,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||
@@ -995,8 +1009,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
|
||||
devtools_web_view_, contents_web_view_, watermark_view_));
|
||||
|
||||
|
@ -467,7 +467,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
|
||||
contents_separator_ =
|
||||
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
|
||||
@@ -1035,7 +1056,9 @@ void BrowserView::ToggleCompactModeUI() {
|
||||
@@ -1077,7 +1098,9 @@ void BrowserView::ToggleCompactModeUI() {
|
||||
}
|
||||
|
||||
BrowserView::~BrowserView() {
|
||||
|
@ -477,7 +477,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
|
||||
// Destroy the top controls slide controller first as it depends on the
|
||||
// tabstrip model and the browser frame.
|
||||
@@ -1043,7 +1066,9 @@ BrowserView::~BrowserView() {
|
||||
@@ -1085,7 +1108,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.
|
||||
|
@ -487,7 +487,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
|
||||
// Stop the animation timer explicitly here to avoid running it in a nested
|
||||
// message loop, which may run by Browser destructor.
|
||||
@@ -1052,17 +1077,18 @@ BrowserView::~BrowserView() {
|
||||
@@ -1094,17 +1119,18 @@ BrowserView::~BrowserView() {
|
||||
// Immersive mode may need to reparent views before they are removed/deleted.
|
||||
immersive_mode_controller_.reset();
|
||||
|
||||
|
@ -510,7 +510,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
|
||||
// `watermark_view_` is a raw pointer to a child view, so it needs to be set
|
||||
// to null before `RemoveAllChildViews()` is called to avoid dangling.
|
||||
@@ -1622,6 +1648,13 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const {
|
||||
@@ -1664,6 +1690,13 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const {
|
||||
ThemeProperties::kFrameHeightAboveTabs - browser_view_origin.y());
|
||||
}
|
||||
|
||||
|
@ -524,7 +524,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
// static:
|
||||
BrowserView::DevToolsDockedPlacement BrowserView::GetDevToolsDockedPlacement(
|
||||
const gfx::Rect& contents_webview_bounds,
|
||||
@@ -2036,9 +2069,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
|
||||
@@ -2078,9 +2111,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
|
||||
|
||||
bool BrowserView::ShouldHideUIForFullscreen() const {
|
||||
// Immersive mode needs UI for the slide-down top panel.
|
||||
|
@ -540,7 +540,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
|
||||
}
|
||||
|
||||
@@ -3212,7 +3250,8 @@ views::View* BrowserView::GetTopContainer() {
|
||||
@@ -3260,7 +3298,8 @@ views::View* BrowserView::GetTopContainer() {
|
||||
}
|
||||
|
||||
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
|
||||
|
@ -550,7 +550,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
|
||||
return download_button->bubble_controller();
|
||||
return nullptr;
|
||||
@@ -3767,7 +3806,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
|
||||
@@ -3815,7 +3854,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
|
||||
if (top_container()->parent() == this)
|
||||
return;
|
||||
|
||||
|
@ -560,7 +560,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
top_container()->DestroyLayer();
|
||||
AddChildViewAt(top_container(), 0);
|
||||
EnsureFocusOrder();
|
||||
@@ -4254,11 +4294,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
|
||||
@@ -4302,11 +4342,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
|
||||
bool BrowserView::ShouldDescendIntoChildForEventHandling(
|
||||
gfx::NativeView child,
|
||||
const gfx::Point& location) {
|
||||
|
@ -601,7 +601,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
// Draggable regions are defined relative to the web contents.
|
||||
gfx::Point point_in_contents_web_view_coords(location);
|
||||
views::View::ConvertPointToTarget(GetWidget()->GetRootView(),
|
||||
@@ -4267,7 +4334,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
|
||||
@@ -4315,7 +4382,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.
|
||||
|
@ -610,7 +610,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
point_in_contents_web_view_coords.x(),
|
||||
point_in_contents_web_view_coords.y()) ||
|
||||
WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords);
|
||||
@@ -4378,8 +4445,10 @@ void BrowserView::Layout(PassKey) {
|
||||
@@ -4426,8 +4493,10 @@ void BrowserView::Layout(PassKey) {
|
||||
|
||||
// TODO(jamescook): Why was this in the middle of layout code?
|
||||
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
|
||||
|
@ -623,7 +623,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
|
||||
// Some of the situations when the BrowserView is laid out are:
|
||||
// - Enter/exit immersive fullscreen mode.
|
||||
@@ -4445,6 +4514,11 @@ void BrowserView::AddedToWidget() {
|
||||
@@ -4493,6 +4562,11 @@ void BrowserView::AddedToWidget() {
|
||||
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
|
||||
#endif
|
||||
|
||||
|
@ -635,7 +635,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
toolbar_->Init();
|
||||
|
||||
// TODO(pbos): Investigate whether the side panels should be creatable when
|
||||
@@ -4487,13 +4561,9 @@ void BrowserView::AddedToWidget() {
|
||||
@@ -4535,13 +4609,9 @@ void BrowserView::AddedToWidget() {
|
||||
|
||||
EnsureFocusOrder();
|
||||
|
||||
|
@ -651,7 +651,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
using_native_frame_ = frame_->ShouldUseNativeFrame();
|
||||
|
||||
MaybeInitializeWebUITabStrip();
|
||||
@@ -4857,7 +4927,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) {
|
||||
@@ -4905,7 +4975,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) {
|
||||
// Undo our anti-jankiness hacks and force a re-layout.
|
||||
in_process_fullscreen_ = false;
|
||||
ToolbarSizeChanged(false);
|
||||
|
@ -661,7 +661,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
}
|
||||
|
||||
void BrowserView::RequestFullscreen(bool fullscreen, int64_t display_id) {
|
||||
@@ -5361,6 +5432,8 @@ Profile* BrowserView::GetProfile() {
|
||||
@@ -5409,6 +5480,8 @@ Profile* BrowserView::GetProfile() {
|
||||
}
|
||||
|
||||
void BrowserView::UpdateUIForTabFullscreen() {
|
||||
|
@ -670,7 +670,7 @@ index 79a944bab28e1..1c236bd829c05 100644
|
|||
frame()->GetFrameView()->UpdateFullscreenTopUI();
|
||||
}
|
||||
|
||||
@@ -5383,6 +5456,8 @@ void BrowserView::HideDownloadShelf() {
|
||||
@@ -5431,6 +5504,8 @@ void BrowserView::HideDownloadShelf() {
|
||||
}
|
||||
|
||||
bool BrowserView::CanUserExitFullscreen() const {
|
||||
|
@ -721,7 +721,7 @@ index bff67fba31480..bf3c87a126457 100644
|
|||
// Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate
|
||||
// interface to keep these two classes decoupled and testable.
|
||||
diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc
|
||||
index 7359b0457bf17..e661e2af050f0 100644
|
||||
index 80dcf5b08c67c..d0aef3fc40b07 100644
|
||||
--- chrome/browser/ui/views/frame/browser_view_layout.cc
|
||||
+++ chrome/browser/ui/views/frame/browser_view_layout.cc
|
||||
@@ -53,6 +53,10 @@
|
||||
|
@ -755,7 +755,7 @@ index 7359b0457bf17..e661e2af050f0 100644
|
|||
return gfx::Point(middle_x - size.width() / 2, top);
|
||||
}
|
||||
|
||||
@@ -151,7 +159,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
|
||||
@@ -162,7 +170,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
|
||||
// universally.
|
||||
views::View* view = browser_view_layout_->contents_container_;
|
||||
gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds());
|
||||
|
@ -764,7 +764,7 @@ index 7359b0457bf17..e661e2af050f0 100644
|
|||
return gfx::Size(content_area.width(), content_area.bottom() - top);
|
||||
#endif
|
||||
}
|
||||
@@ -181,6 +189,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
|
||||
@@ -192,6 +200,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
|
||||
return host_widget ? host_widget->GetNativeView() : nullptr;
|
||||
}
|
||||
|
||||
|
@ -778,7 +778,7 @@ index 7359b0457bf17..e661e2af050f0 100644
|
|||
// Add/remove observer.
|
||||
void AddObserver(ModalDialogHostObserver* observer) override {
|
||||
observer_list_.AddObserver(observer);
|
||||
@@ -502,6 +517,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
|
||||
@@ -513,6 +528,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
|
||||
if (exclusive_access_bubble)
|
||||
exclusive_access_bubble->RepositionIfVisible();
|
||||
|
||||
|
@ -787,7 +787,7 @@ index 7359b0457bf17..e661e2af050f0 100644
|
|||
// Adjust any hosted dialogs if the browser's dialog hosting bounds changed.
|
||||
const gfx::Rect dialog_bounds(dialog_host_->GetDialogPosition(gfx::Size()),
|
||||
dialog_host_->GetMaximumDialogSize());
|
||||
@@ -515,6 +532,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
|
||||
@@ -526,6 +543,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
|
||||
latest_dialog_bounds_in_screen_ = dialog_bounds_in_screen;
|
||||
dialog_host_->NotifyPositionRequiresUpdate();
|
||||
}
|
||||
|
@ -795,7 +795,7 @@ index 7359b0457bf17..e661e2af050f0 100644
|
|||
}
|
||||
|
||||
gfx::Size BrowserViewLayout::GetPreferredSize(
|
||||
@@ -656,6 +674,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
|
||||
@@ -667,6 +685,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
|
||||
|
||||
int BrowserViewLayout::LayoutToolbar(int top) {
|
||||
TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar");
|
||||
|
|
|
@ -56,10 +56,10 @@ index f1030a744809c..c222a209949e6 100644
|
|||
return nullptr;
|
||||
}
|
||||
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index c77a3fa9a247c..611baceed3883 100644
|
||||
index 4b7a2ab4833ce..bc3b1745875fd 100644
|
||||
--- content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -3190,6 +3190,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
|
||||
@@ -3191,6 +3191,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
|
||||
index 7c222473c1b21..45ee9ed945f1d 100644
|
||||
index c63a9c42f686a..b10a1a0444267 100644
|
||||
--- ui/base/resource/resource_bundle.cc
|
||||
+++ ui/base/resource/resource_bundle.cc
|
||||
@@ -931,6 +931,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
|
||||
|
|
|
@ -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 ea5a519007ffd..1bb591bba1796 100644
|
||||
index 9e1bc80a3f131..88fae6a5664ff 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 @@
|
||||
|
@ -18,7 +18,7 @@ index ea5a519007ffd..1bb591bba1796 100644
|
|||
#include "content/public/common/page_visibility_state.h"
|
||||
#include "services/service_manager/public/cpp/interface_provider.h"
|
||||
#include "third_party/blink/public/common/input/web_input_event.h"
|
||||
@@ -754,10 +756,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
|
||||
@@ -758,10 +760,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
|
||||
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
|
||||
CHECK(GetBackgroundColor());
|
||||
|
||||
|
@ -35,7 +35,7 @@ index ea5a519007ffd..1bb591bba1796 100644
|
|||
}
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
@@ -2371,6 +2375,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
@@ -2394,6 +2398,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor()
|
||||
: SK_ColorWHITE);
|
||||
UpdateFrameSinkIdRegistration();
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git ui/views/controls/textfield/textfield.cc ui/views/controls/textfield/textfield.cc
|
||||
index 404bb1abdfa68..dd9ed220b07f6 100644
|
||||
index ca0720729d433..6aa7907ca7c28 100644
|
||||
--- ui/views/controls/textfield/textfield.cc
|
||||
+++ ui/views/controls/textfield/textfield.cc
|
||||
@@ -3016,6 +3016,10 @@ void Textfield::OnCursorBlinkTimerFired() {
|
||||
@@ -3006,6 +3006,10 @@ void Textfield::OnCursorBlinkTimerFired() {
|
||||
void Textfield::OnEnabledChanged() {
|
||||
if (GetInputMethod())
|
||||
GetInputMethod()->OnTextInputTypeChanged(this);
|
||||
|
|
|
@ -23,7 +23,7 @@ index cef40af382b1e..a2cf4691edc37 100644
|
|||
case ui::SHOW_STATE_END:
|
||||
return ui::SHOW_STATE_NORMAL;
|
||||
diff --git components/sessions/core/session_service_commands.cc components/sessions/core/session_service_commands.cc
|
||||
index 5cd1fb6938b07..3eec7d48690ca 100644
|
||||
index fc9d96c12b063..3fa0ab80926b3 100644
|
||||
--- components/sessions/core/session_service_commands.cc
|
||||
+++ components/sessions/core/session_service_commands.cc
|
||||
@@ -165,9 +165,10 @@ enum PersistedWindowShowState {
|
||||
|
|
|
@ -145,11 +145,36 @@ void WindowCreateMaximizedImpl(CefRefPtr<CefWaitableEvent> event) {
|
|||
TestWindowDelegate::RunTest(event, std::move(config));
|
||||
}
|
||||
|
||||
#if defined(OS_MAC)
|
||||
void WindowFullscreenCreationComplete(CefRefPtr<CefWindow> window,
|
||||
size_t count) {
|
||||
EXPECT_FALSE(window->IsMinimized());
|
||||
EXPECT_EQ(window->IsFullscreen(), window->IsMaximized());
|
||||
|
||||
if (window->IsFullscreen()) {
|
||||
EXPECT_EQ(1U, count);
|
||||
window->SetFullscreen(false);
|
||||
} else {
|
||||
EXPECT_EQ(2U, count);
|
||||
// End the test by closing the Window.
|
||||
window->Close();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void WindowCreateFullscreenImpl(CefRefPtr<CefWaitableEvent> event) {
|
||||
auto config = std::make_unique<TestWindowDelegate::Config>();
|
||||
config->initial_show_state = CEF_SHOW_STATE_FULLSCREEN;
|
||||
config->on_window_created =
|
||||
base::BindOnce(RunWindowShow, config->initial_show_state);
|
||||
#if defined(OS_MAC)
|
||||
// On macOS, destroying a fullscreen window can take a long time.
|
||||
// To prevent the next test from starting before the window is fully closed,
|
||||
// we need to exit fullscreen mode before closing the window.
|
||||
config->on_window_fullscreen_transition_complete =
|
||||
base::BindRepeating(WindowFullscreenCreationComplete);
|
||||
config->close_window = false;
|
||||
#endif
|
||||
TestWindowDelegate::RunTest(event, std::move(config));
|
||||
}
|
||||
|
||||
|
@ -215,9 +240,9 @@ void CreateBoxLayout(CefRefPtr<CefWindow> parent) {
|
|||
|
||||
// The children should each take up 50% of the client area.
|
||||
ExpectCloseRects(CefRect(0, 0, kWSize, kWSize / 2), panel_child1->GetBounds(),
|
||||
2);
|
||||
3);
|
||||
ExpectCloseRects(CefRect(0, kWSize / 2, kWSize, kWSize / 2),
|
||||
panel_child2->GetBounds(), 2);
|
||||
panel_child2->GetBounds(), 3);
|
||||
}
|
||||
|
||||
void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
|
||||
|
@ -242,7 +267,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
|
|||
EXPECT_TRUE(view2->ConvertPointToScreen(point));
|
||||
ExpectClosePoints(CefPoint(client_bounds_in_screen.x,
|
||||
client_bounds_in_screen.y + kWSize / 2),
|
||||
point, 1);
|
||||
point, 3);
|
||||
|
||||
// Test view from screen coordinate conversions.
|
||||
point = CefPoint(client_bounds_in_screen.x, client_bounds_in_screen.y);
|
||||
|
@ -251,7 +276,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
|
|||
point = CefPoint(client_bounds_in_screen.x,
|
||||
client_bounds_in_screen.y + kWSize / 2);
|
||||
EXPECT_TRUE(view2->ConvertPointFromScreen(point));
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 1);
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 3);
|
||||
|
||||
// Test view to window coordinate conversions.
|
||||
point = CefPoint(0, 0);
|
||||
|
@ -259,7 +284,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
|
|||
EXPECT_EQ(CefPoint(0, 0), point);
|
||||
point = CefPoint(0, 0);
|
||||
EXPECT_TRUE(view2->ConvertPointToWindow(point));
|
||||
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 1);
|
||||
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 3);
|
||||
|
||||
// Test view from window coordinate conversions.
|
||||
point = CefPoint(0, 0);
|
||||
|
@ -267,23 +292,23 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
|
|||
EXPECT_EQ(CefPoint(0, 0), point);
|
||||
point = CefPoint(0, kWSize / 2);
|
||||
EXPECT_TRUE(view2->ConvertPointFromWindow(point));
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 1);
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 3);
|
||||
|
||||
// Test view to view coordinate conversions.
|
||||
point = CefPoint(0, 0);
|
||||
EXPECT_TRUE(view1->ConvertPointToView(view2, point));
|
||||
ExpectClosePoints(CefPoint(0, -kWSize / 2), point, 1);
|
||||
ExpectClosePoints(CefPoint(0, -kWSize / 2), point, 3);
|
||||
point = CefPoint(0, 0);
|
||||
EXPECT_TRUE(view2->ConvertPointToView(view1, point));
|
||||
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 1);
|
||||
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 3);
|
||||
|
||||
// Test view from view coordinate conversions.
|
||||
point = CefPoint(0, -kWSize / 2);
|
||||
EXPECT_TRUE(view1->ConvertPointFromView(view2, point));
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 1);
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 3);
|
||||
point = CefPoint(0, kWSize / 2);
|
||||
EXPECT_TRUE(view2->ConvertPointFromView(view1, point));
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 1);
|
||||
ExpectClosePoints(CefPoint(0, 0), point, 3);
|
||||
|
||||
CefRefPtr<CefDisplay> display = window->GetDisplay();
|
||||
EXPECT_TRUE(display.get());
|
||||
|
@ -299,7 +324,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
|
|||
point = CefPoint(client_bounds_in_screen.x, client_bounds_in_screen.y);
|
||||
const auto pixels = CefDisplay::ConvertScreenPointToPixels(point);
|
||||
const auto dip = CefDisplay::ConvertScreenPointFromPixels(pixels);
|
||||
EXPECT_EQ(point, dip);
|
||||
ExpectClosePoints(point, dip, 1);
|
||||
}
|
||||
|
||||
void WindowLayoutAndCoordsImpl(CefRefPtr<CefWaitableEvent> event) {
|
||||
|
|
Loading…
Reference in New Issue