Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(738)

Issue 1062273002: Snap RWHVA and resize the legacy window on Windows whenever the ancestor window's bounds change. (Closed)

Created:
5 years, 8 months ago by ananta
Modified:
5 years, 8 months ago
CC:
chromium-reviews, yusukes+watch_chromium.org, yukishiino+watch_chromium.org, jam, penghuang+watch_chromium.org, sievers+watch_chromium.org, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, James Su
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Snap RWHVA and resize the legacy window on Windows whenever the ancestor window's bounds change. The bookmark bar is hidden through the fast resize code path where in the Renderer is informed about the actual size minus the bookmar bar before the bookmark bar is hidden. To ensure that the RWHVA is snapped to pixel boundaries and the legacy window is resized we observe bounds changed events on the parent of the WCVA window which is the NativeViewHost clipping window. Reason for doing this is the layer for the window hosted by WCVA verifies if the stored bounds is the same as the one coming in and ignores the change if yes. For more context and a general discussion of the reason why this bug happens please visit this link https://codereview.chromium.org/1009533005/ BUG=469857, 468669 Committed: https://crrev.com/e6a9b7fff4802ac6796250987be4d52204716392 Cr-Commit-Position: refs/heads/master@{#324743}

Patch Set 1 #

Patch Set 2 : Added comments #

Patch Set 3 : Rebased to tip #

Patch Set 4 : Fixed comment #

Total comments: 2

Patch Set 5 : Observe all ancestors. #

Total comments: 8

Patch Set 6 : Move the ancestor observer to another class and handle hierarchy changed notifications. #

Patch Set 7 : Reverted change to ~WindowObserver #

Patch Set 8 : Fix content_browsertests redness and a crasher while removing observers #

Total comments: 14

Patch Set 9 : Call RWHVA on Hierachy changed and recreate the ancestor window observer #

Patch Set 10 : Fixed comments #

Total comments: 12

Patch Set 11 : Address review comments #

Patch Set 12 : Add DCHECK in WindowAncestorObserver::OnWindowBoundsChanged #

Unified diffs Side-by-side diffs Delta from patch set Stats (+83 lines, -15 lines) Patch
M content/browser/renderer_host/render_widget_host_view_aura.h View 1 2 3 4 5 6 7 8 9 3 chunks +12 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +71 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_view_aura.cc View 1 2 3 4 5 1 chunk +0 lines, -15 lines 0 comments Download

Messages

Total messages: 29 (5 generated)
ananta
5 years, 8 months ago (2015-04-07 20:04:38 UTC) #2
sky
https://codereview.chromium.org/1062273002/diff/60001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/60001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode363 content/browser/renderer_host/render_widget_host_view_aura.cc:363: view_ancestor_->AddObserver(this); Don't you want to know when the bounds ...
5 years, 8 months ago (2015-04-08 20:13:09 UTC) #3
ananta
https://codereview.chromium.org/1062273002/diff/60001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/60001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode363 content/browser/renderer_host/render_widget_host_view_aura.cc:363: view_ancestor_->AddObserver(this); On 2015/04/08 20:13:09, sky wrote: > Don't you ...
5 years, 8 months ago (2015-04-08 21:08:20 UTC) #4
sky
https://codereview.chromium.org/1062273002/diff/80001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/80001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode336 content/browser/renderer_host/render_widget_host_view_aura.cc:336: class RenderWidgetHostViewAura::WindowObserver : public aura::WindowObserver { Using the same ...
5 years, 8 months ago (2015-04-09 00:01:14 UTC) #5
ananta
https://codereview.chromium.org/1062273002/diff/80001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/80001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode336 content/browser/renderer_host/render_widget_host_view_aura.cc:336: class RenderWidgetHostViewAura::WindowObserver : public aura::WindowObserver { On 2015/04/09 00:01:14, ...
5 years, 8 months ago (2015-04-09 03:36:05 UTC) #6
ananta
5 years, 8 months ago (2015-04-09 03:37:04 UTC) #7
ananta
On 2015/04/09 03:37:04, ananta wrote: Please hold off on the review. Looking at the test ...
5 years, 8 months ago (2015-04-09 14:57:14 UTC) #8
ananta
Patch is ready for a look. Thanks Ananta
5 years, 8 months ago (2015-04-09 19:45:32 UTC) #9
sky
https://codereview.chromium.org/1062273002/diff/140001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/140001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode388 content/browser/renderer_host/render_widget_host_view_aura.cc:388: if (!params.target->Contains(view_->window_) || !params.new_parent) I'm wondering if you could ...
5 years, 8 months ago (2015-04-09 23:44:39 UTC) #10
ananta
https://codereview.chromium.org/1062273002/diff/140001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/140001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode388 content/browser/renderer_host/render_widget_host_view_aura.cc:388: if (!params.target->Contains(view_->window_) || !params.new_parent) On 2015/04/09 23:44:38, sky wrote: ...
5 years, 8 months ago (2015-04-10 00:36:52 UTC) #11
sky
https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode367 content/browser/renderer_host/render_widget_host_view_aura.cc:367: // This class provides functionality to observe the ancestors ...
5 years, 8 months ago (2015-04-10 15:20:21 UTC) #12
ananta
https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode367 content/browser/renderer_host/render_widget_host_view_aura.cc:367: // This class provides functionality to observe the ancestors ...
5 years, 8 months ago (2015-04-10 17:51:22 UTC) #13
sky
https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode397 content/browser/renderer_host/render_widget_host_view_aura.cc:397: if (ancestor_observer_tracker_.find(window) != On 2015/04/10 17:51:21, ananta wrote: > ...
5 years, 8 months ago (2015-04-10 19:36:25 UTC) #14
ananta
On 2015/04/10 19:36:25, sky wrote: > https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc > File content/browser/renderer_host/render_widget_host_view_aura.cc (right): > > https://codereview.chromium.org/1062273002/diff/180001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode397 > ...
5 years, 8 months ago (2015-04-10 20:02:58 UTC) #15
sky
LGTM
5 years, 8 months ago (2015-04-10 21:18:37 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1062273002/220001
5 years, 8 months ago (2015-04-10 23:46:39 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/55656)
5 years, 8 months ago (2015-04-11 01:13:52 UTC) #20
ananta
5 years, 8 months ago (2015-04-11 01:20:10 UTC) #22
cpu_(ooo_6.6-7.5)
hmm.. complicated, but I given ananta's explanation I can't see why not. sky: I wonder ...
5 years, 8 months ago (2015-04-11 01:35:00 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1062273002/220001
5 years, 8 months ago (2015-04-11 01:37:54 UTC) #25
commit-bot: I haz the power
Committed patchset #12 (id:220001)
5 years, 8 months ago (2015-04-11 01:42:42 UTC) #26
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/e6a9b7fff4802ac6796250987be4d52204716392 Cr-Commit-Position: refs/heads/master@{#324743}
5 years, 8 months ago (2015-04-11 01:43:31 UTC) #27
sky
The issue isn't specific to the bookmark bar, right? My understanding is we need to ...
5 years, 8 months ago (2015-04-11 16:04:08 UTC) #28
Nico
5 years, 8 months ago (2015-04-13 00:12:20 UTC) #29
Message was sent while issue was closed.
A revert of this CL (patchset #12 id:220001) has been created in
https://codereview.chromium.org/1063083003/ by thakis@chromium.org.

The reason for reverting is: Speculative, possibly caused lots of browsert_tests
redness on a bot that runs browser_tests with an official build (and a different
compiler, but all the redness we fixed on official builds so far were caused by
the builds being official, not because of the compiler):
http://build.chromium.org/p/chromium.fyi/builders/CrWinClang%20tester/builds/285
(see http://crbug.com/467929).

Powered by Google App Engine
This is Rietveld 408576698