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

Issue 302993003: Route selection bounds updates through WebLayerTreeView (Closed)

Created:
6 years, 6 months ago by jdduke (slow)
Modified:
6 years, 3 months ago
CC:
blink-reviews, dglazkov+blink, jamesr, trchen, Rick Byers
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Route selection bounds updates through WebLayerTreeView Currently, the selection bounds are pulled from the WebView at the start of each frame. This approach works only if the queried bounds are always in-sync with the visible content, which will not always hold with accelerated compositing. Instead, plumb the selection bounds region through the WebLayerTreeView, providing appropriate composited layers for each endpoint. This allows the compositor to transform the bounds as necessary to provide consistent positioning of visible selection handles. This patch depends directly on the Blink-side change https://codereview.chromium.org/352173002/, and will be used by the Chromium-side change https://codereview.chromium.org/359033002/. BUG=135959

Patch Set 1 #

Patch Set 2 : Settings #

Patch Set 3 : Use layer id's #

Patch Set 4 : Rebase #

Patch Set 5 : Attach to proper scrolling layer #

Total comments: 4

Patch Set 6 : Remove useless TODO's #

Patch Set 7 : Factor common logic to RenderLayerCompositor #

Total comments: 20

Patch Set 8 : Route updates from RenderLayerCompositor #

Patch Set 9 : Rebase to public interface patch #

Patch Set 10 : Rebase #

Patch Set 11 : Rebase #

Patch Set 12 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+211 lines, -58 lines) Patch
M Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +92 lines, -2 lines 0 comments Download
M Source/core/page/ChromeClient.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -0 lines 0 comments Download
A + Source/core/rendering/compositing/CompositedSelectionBound.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +22 lines, -6 lines 0 comments Download
M Source/core/rendering/compositing/RenderLayerCompositor.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
M Source/core/rendering/compositing/RenderLayerCompositor.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +45 lines, -0 lines 0 comments Download
M Source/web/AssertMatchingEnums.cpp View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +6 lines, -0 lines 0 comments Download
M Source/web/ChromeClientImpl.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M Source/web/ChromeClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +18 lines, -0 lines 0 comments Download
M Source/web/LinkHighlight.cpp View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +6 lines, -50 lines 0 comments Download
M Source/web/WebRuntimeFeatures.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -0 lines 0 comments Download
M Source/web/WebViewImpl.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -0 lines 0 comments Download
M Source/web/WebViewImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +6 lines, -0 lines 0 comments Download
M public/web/WebRuntimeFeatures.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
jdduke (slow)
aelias@: Could you take a look? I'd still like to hook in a test or ...
6 years, 6 months ago (2014-06-09 15:55:55 UTC) #1
aelias_OOO_until_Jul13
Looks mostly OK, please add a few unit tests and follow-up/remove the TODOs. https://codereview.chromium.org/302993003/diff/80001/Source/web/WebViewImpl.cpp File ...
6 years, 6 months ago (2014-06-12 06:02:01 UTC) #2
jdduke (slow)
I imagine WebViewTest would be the best place to add unit tests? Or WebFrameTest? https://codereview.chromium.org/302993003/diff/80001/Source/web/WebViewImpl.cpp ...
6 years, 6 months ago (2014-06-12 18:03:20 UTC) #3
aelias_OOO_until_Jul13
RenderLayerCompositor seems as reasonable a place as any.
6 years, 6 months ago (2014-06-12 18:47:32 UTC) #4
abarth-chromium
not lgtm This logic is much too detailed for WebViewImpl. Also, this CL reads like ...
6 years, 6 months ago (2014-06-13 04:47:15 UTC) #5
jdduke (slow)
On 2014/06/13 04:47:15, abarth wrote: > not lgtm > > This logic is much too ...
6 years, 6 months ago (2014-06-13 14:16:39 UTC) #6
abarth-chromium
On 2014/06/13 at 14:16:39, jdduke wrote: > Would you prefer that all of the plumbing ...
6 years, 6 months ago (2014-06-13 17:42:22 UTC) #7
jdduke (slow)
On 2014/06/13 17:42:22, abarth wrote: > On 2014/06/13 at 14:16:39, jdduke wrote: > > Would ...
6 years, 6 months ago (2014-06-13 17:53:39 UTC) #8
jdduke (slow)
On 2014/06/13 17:53:39, jdduke wrote: > On 2014/06/13 17:42:22, abarth wrote: > > On 2014/06/13 ...
6 years, 6 months ago (2014-06-13 17:55:49 UTC) #9
abarth-chromium
On 2014/06/13 at 17:53:39, jdduke wrote: > Sure, the corresponding design doc is here: https://docs.google.com/document/d/1Y0jGc4TqWGfA_59KeTqb7QrVw5jCikme0c1sGAKyMTo/edit?usp=sharing ...
6 years, 6 months ago (2014-06-13 21:27:02 UTC) #10
abarth-chromium
https://codereview.chromium.org/302993003/diff/140001/Source/core/frame/Settings.in File Source/core/frame/Settings.in (right): https://codereview.chromium.org/302993003/diff/140001/Source/core/frame/Settings.in#newcode212 Source/core/frame/Settings.in:212: compositedSelectionUpdatesEnabled initial=false This should be a runtime-enabled feature rather ...
6 years, 6 months ago (2014-06-13 21:38:16 UTC) #11
abarth-chromium
I still think the general approach of this CL is wrong. What you've done is ...
6 years, 6 months ago (2014-06-13 21:47:42 UTC) #12
aelias_OOO_until_Jul13
You are right about the design problems although I was willing to give it a ...
6 years, 6 months ago (2014-06-13 22:44:34 UTC) #13
jdduke (slow)
On 2014/06/13 21:47:42, abarth wrote: > I still think the general approach of this CL ...
6 years, 6 months ago (2014-06-13 22:59:24 UTC) #14
abarth-chromium
On 2014/06/13 at 22:59:24, jdduke wrote: > it seemed to work just fine in practice ...
6 years, 6 months ago (2014-06-14 00:21:21 UTC) #15
abarth-chromium
On 2014/06/13 at 22:44:34, aelias wrote: > By the same token, I think if we ...
6 years, 6 months ago (2014-06-14 00:30:51 UTC) #16
jdduke (slow)
https://codereview.chromium.org/302993003/diff/140001/Source/web/LinkHighlight.cpp File Source/web/LinkHighlight.cpp (right): https://codereview.chromium.org/302993003/diff/140001/Source/web/LinkHighlight.cpp#newcode108 Source/web/LinkHighlight.cpp:108: RenderLayer* LinkHighlight::computeEnclosingCompositingLayer() On 2014/06/13 21:38:15, abarth wrote: > LinkHighlight ...
6 years, 6 months ago (2014-06-20 17:15:59 UTC) #17
jdduke (slow)
I've rewired how the selection bounds computation are triggered and when they take place, but ...
6 years, 6 months ago (2014-06-24 18:22:07 UTC) #18
jdduke (slow)
I've held off on adding tests until we can settle on a more concrete approach...
6 years, 6 months ago (2014-06-24 18:24:03 UTC) #19
abarth-chromium
On 2014/06/24 at 18:24:03, jdduke wrote: > I've held off on adding tests until we ...
6 years, 6 months ago (2014-06-24 19:20:05 UTC) #20
jdduke (slow)
On 2014/06/24 19:20:05, abarth wrote: > On 2014/06/24 at 18:24:03, jdduke wrote: > > I've ...
6 years, 6 months ago (2014-06-24 19:27:01 UTC) #21
jdduke (slow)
6 years, 3 months ago (2014-08-28 19:00:40 UTC) #22
Message was sent while issue was closed.
On 2014/06/24 19:27:01, jdduke wrote:
> On 2014/06/24 19:20:05, abarth wrote:
> > On 2014/06/24 at 18:24:03, jdduke wrote:
> > > I've held off on adding tests until we can settle on a more concrete
> > approach...
> > 
> > This CL is too big to review.  Would you be willing to break it down into
the
> > four steps I mentioned above?  The idea with breaking the change down into
> > pieces is that the CLs will be easier to review (and hence land) and you
won't
> > get too far off into the woods.
> 
> Certainly, I'll try to post them for review in the next day or so, thanks.

Closing this issue, trchen@ is working on a follow-up.

Powered by Google App Engine
This is Rietveld 408576698