New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 633281 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , Windows , Chrome
Pri: 3
Type: Bug

Blocked on:
issue 636481

Blocking:
issue 548245
issue 627234
issue 645601



Sign in to add a comment

Refactor Selection Handle Visibility

Project Member Reported by amaralp@chromium.org, Aug 1 2016

Issue description

Currently the browser handles selection handle visibility. This refactor will move that logic into blink.
 
Blockedon: 636481

Comment 2 by yosin@chromium.org, Oct 7 2016

In review: http://crrev.com/2201853002
Blocking: 645601
Blocking: 652916
Labels: M-55 ReleaseBlock-Stable

Comment 5 by gov...@chromium.org, Oct 24 2016

Is this applicable to all OS or any specific OS?

Comment 6 by aelias@chromium.org, Oct 24 2016

Labels: OS-Android

Comment 7 by aelias@chromium.org, Oct 24 2016

Blocking: -652916
Cc: -siev...@chromium.org
Labels: -M-55 -ReleaseBlock-Stable
We came up with a nondependent quick fix for  http://crbug.com/652916 , so removing the labels.
Blocking: 548245
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d

commit 1107a295dcee2f4ee3f6c24f836c6adfa7b3830d
Author: amaralp <amaralp@chromium.org>
Date: Tue Jan 17 20:05:52 2017

Blink handle selection handle visibility

The goal of this CL is to move all of the selection handle visibility to Blink.

Previously the touch selection handle visibility was handled all in the browser
in TouchSelectionController. This was done by the renderer passing the selection
information to the browser through OnSwapCompositorFrame using
CompositorFrameMetadata. This would get passed down to TouchSelectionController
which would decide whether or not it wants to show handles on the new
selection. This meant that the browser side needed to handle touch and split
the responsibility for handles across processes.

The new approach has Blink deciding when to show the touch handles. It does
this by keeping track of a isHandleVisible boolean in the VisibleSelection
class. We also add a boolean handle_visibility_changed_ to LayerTreeHost. This
is necessary because we always want to force a draw whenever the handle
visibility changed to notify the browser through the SwapCompositorFrame IPC.
The handles are in some sense part of the frame that should cause damage, and
this worked mostly by luck before (handle updates happened to piggyback on
selection updates).

Finally the handles are propagated to the browser in the
CompositorFrameMetadata as before except that only selection with handles are
propagated. Handleless selections are viewed the same way as no selection in
the browser. In other words, the browser doesn't know or care about selections
that have no handles. This means we had to remove the SELECTION_ESTABLISHED and
SELECTION_DISSOLVED from the SelectionEventType enum since we don’t know what
is happening with all selections. Luckily this was only used in
ContextualSearch and some tests and those instances were taken care of.

BUG=633281

Review-Url: https://codereview.chromium.org/2201853002
Cr-Commit-Position: refs/heads/master@{#444119}

[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchSelectionController.java
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/browser/renderer_host/input/touch_selection_controller_client_aura.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/browser/renderer_host/render_widget_host_view_event_handler.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/content/test/data/touch_selection.html
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-reset-selection-range.html
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-setrangetext-with-events.html
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/core/editing/FrameSelection.h
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/core/editing/SelectionController.cpp
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/core/editing/SelectionController.h
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/core/editing/SelectionControllerTest.cpp
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/core/input/EventHandlerTest.cpp
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_basic.html
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_editable_div.html
[delete] https://crrev.com/28b1bf2e4e780f510109ca4b1d61e72f024232aa/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_editable_area.html
[delete] https://crrev.com/28b1bf2e4e780f510109ca4b1d61e72f024232aa/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_editable_div.html
[delete] https://crrev.com/28b1bf2e4e780f510109ca4b1d61e72f024232aa/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_editable_input.html
[delete] https://crrev.com/28b1bf2e4e780f510109ca4b1d61e72f024232aa/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_layer.html
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_iframe.html
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_transformed.html
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/ui/touch_selection/selection_event_type.h
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/ui/touch_selection/touch_selection_controller.cc
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/ui/touch_selection/touch_selection_controller.h
[modify] https://crrev.com/1107a295dcee2f4ee3f6c24f836c6adfa7b3830d/ui/touch_selection/touch_selection_controller_unittest.cc

Comment 11 by yosin@chromium.org, Jan 19 2017

Cc: changwan@chromium.org
Components: -Blink>Editing Blink>Editing>Selection
I think more about this approach. I think we should move handle visibility handling in content/renderer instead of in blink, because

1. It causes Web incompatibility. When handle visibility changed w/o change positions, it fires "selectionchange" event.
2. Layering violation: Since "Selection Handle" is UI gadget, it should not be in Blink core/.
3. Introduce code complexity and makes Blink to be hard to maintain [1][2]
4. "Selection Handler" makes Blink contributors harder to contribute to Blink. Not all contributors familiar with "Selection Handle" which is Android and ChromeOS feature.


[1] http://crrev.com/2370663002: Remove logic to reset input method more than needed
[2] http://crrev.com/2642913003: Select All should show handles if they were already present
Cc: yosin@chromium.org
Selection handles have become a fundamental selection feature on modern devices.  Windows touch tablets also have them.  So I believe it's appropriate for them to be in FrameSelection and for core Blink contributors to be forced to think about them.  I could just as well complain that Blink core is full of mouse-specific logic like the distinction between start/end and base/extent which doesn't make sense for touch selections.

The refactoring to put this logic in Blink core eliminated significant complexity on the browser side.  https://codereview.chromium.org/2201853002 is "491 insertions(+), 914 deletions(-)".  We refactored it into Blink specifically to eliminate complexity because FrameSelection is in the natural place to make store state about visibility and is close to the editing logic that is relevant to the UX decisions.

We've thought about the remaining special cases for touch showing, and I think [1] and [2] cover the ones we know about and I don't believe there should be an explosion of further complex patches from here.  There might be a couple more small ones, but the selection handle logic is almost complete and I expect we'll soon stop touching it in Blink.

Comment 13 by yosin@chromium.org, Jan 20 2017

TL;DR: Make handle visibility as first class citizen ==
Represent handle visibility in SelectionTemplate[1]

Since "Handle Visibility" is state of selection and we want to manage selection state in one place rather than spread into various place.

Rationale:
We've done same thing for following UI state into  SelectionTemplate[1]:
  TextAffinity m_affinity = TextAffinity::Downstream;
  TextGranularity m_granularity = CharacterGranularity;
  bool m_hasTrailingWhitespace = false;
  bool m_isDirectional = false;

Before putting them in SelecitonTemplate, they are spread around the code like current "handle visibility".


>https://codereview.chromium.org/2201853002 is "491 insertions(+), 914 deletions(-)"
This is the reason I agreed.

>Blink core is full of mouse-specific logic like the distinction between start/end and base/extent which doesn't make sense for touch selections.
Concept of start/end will be removed[2], they are used for execCommand
bese/anchor (will be renamed to anchor/focus) are comes from specification[3]. Yes, anchor/focus comes from mouse and keyboard but this concept is also use in touch UI.

[1] https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/core/editing/SelectionTemplate.h
[2] http://crbug.com/682886: Make VisibleSelection to align with Selection specification
[3] https://www.w3.org/TR/selection-api/

Comment 14 by yosin@chromium.org, Jan 20 2017

At this time, SelectionTemplate is just using for passing selection state as parameter. Hence, please keep FrameSelection::m_handleVisibility.

Once [1] is commited, SelectionTemplate is fundamental state of FrameSelection


[1] http://crrev.com/2637013002: Make FrameSelection to hold non-canonicalized positions
Sounds good to me, thanks!  Then amaralp@ can write another patch to move the visibility state to SelectionTemplate after http://crrev.com/2637013002 is landed.  We'll leave open this bug to track that.

Comment 16 by yosin@chromium.org, Jan 20 2017

We don't need to wait [1] because it takes time to land. [1] is a big patch and is needed to be split into multiple patch.

The plan is
1. Add m_handleVisibility to SelectionTemplate and SelectionTemplate::Builder
2. [2] and [3] can be done in parallel with using SelectionTemplate::Build

In SelectionTemplate, default value of m_handleVisible is hidden since most of usage of set selection hides handle.

We can call FrameSelection::setSelection() with

* Hide/Default case: 
Just pass SelectionInXXX::Builder()...Build()

* Preserve case:
SelectionInXXX::Builder()...setHandleVisible(frame().selection().isHandleVisible()).Build()

*Show Handle case: 
SelectionInXXX::Builder()...setHandleVisible(true).Build()


[1] http://crrev.com/2637013002: Make FrameSelection to hold non-canonicalized positions
[2] http://crrev.com/2642913003: Select All should show handles if they were already present
[3] http://crrev.com/2370663002: Remove logic to reset input method more than needed


Project Member

Comment 18 by bugdroid1@chromium.org, Jan 31 2017

Labels: merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4a0edccbd81c94be848c35be0c541dda6d015d84

commit 4a0edccbd81c94be848c35be0c541dda6d015d84
Author: Alexandre Elias <aelias@chromium.org>
Date: Tue Jan 31 18:24:34 2017

Revert "Blink handle selection handle visibility"

This reverts commit 1107a295dcee2f4ee3f6c24f836c6adfa7b3830d
directly off M57 branch to address selection regressions
(long-term fix being worked on on trunk).

BUG=686700, 682128 ,633281
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2664253002 .
Cr-Commit-Position: refs/branch-heads/2987@{#226}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchSelectionController.java
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/browser/renderer_host/input/touch_selection_controller_client_aura.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/browser/renderer_host/render_widget_host_view_event_handler.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/content/test/data/touch_selection.html
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-reset-selection-range.html
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-setrangetext-with-events.html
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/core/editing/FrameSelection.h
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/core/editing/SelectionController.cpp
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/core/editing/SelectionController.h
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/core/editing/SelectionControllerTest.cpp
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/core/input/EventHandlerTest.cpp
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_basic.html
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_editable_div.html
[add] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_editable_area.html
[add] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_editable_div.html
[add] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_editable_input.html
[add] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_empty_layer.html
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_iframe.html
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/third_party/WebKit/Source/web/tests/data/composited_selection_bounds_transformed.html
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/ui/touch_selection/selection_event_type.h
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/ui/touch_selection/touch_selection_controller.cc
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/ui/touch_selection/touch_selection_controller.h
[modify] https://crrev.com/4a0edccbd81c94be848c35be0c541dda6d015d84/ui/touch_selection/touch_selection_controller_unittest.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Feb 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/28723a9523b82c5d37ef3232650f81d7f95ecac5

commit 28723a9523b82c5d37ef3232650f81d7f95ecac5
Author: amaralp <amaralp@chromium.org>
Date: Mon Feb 06 07:04:37 2017

Fixing adding isHandleVisible to |SelectionTemplate|

The CL, crrev.com/2651803007, was missing parts to the copy constructor
and equality operator.

BUG=633281

Review-Url: https://codereview.chromium.org/2664443002
Cr-Commit-Position: refs/heads/master@{#448219}

[modify] https://crrev.com/28723a9523b82c5d37ef3232650f81d7f95ecac5/third_party/WebKit/Source/core/editing/SelectionTemplate.cpp
[modify] https://crrev.com/28723a9523b82c5d37ef3232650f81d7f95ecac5/third_party/WebKit/Source/core/editing/SelectionTemplateTest.cpp

Project Member

Comment 21 by bugdroid1@chromium.org, Feb 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3

commit d9d34e59b180cb66b27b3bc28a61ce1ef6728db3
Author: amaralp <amaralp@chromium.org>
Date: Fri Feb 17 19:51:15 2017

Removed fields from Selection classes

Landing crrev.com/2201853002 made the |is_editable| and |is_empty_text_form_control| fields unnecessary. This CL removes them.

BUG=633281

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2691583003
Cr-Commit-Position: refs/heads/master@{#451357}

[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/cc/input/selection.h
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/cc/ipc/selection.mojom
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/cc/ipc/selection_struct_traits.h
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/cc/ipc/struct_traits_unittest.cc
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/cc/trees/layer_tree_impl_unittest.cc
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/third_party/WebKit/Source/core/layout/compositing/CompositedSelection.h
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/third_party/WebKit/Source/web/WebSelection.cpp
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[modify] https://crrev.com/d9d34e59b180cb66b27b3bc28a61ce1ef6728db3/third_party/WebKit/public/web/WebSelection.h

Blocking: 601863
Cc: rjkroege@chromium.org sadrul@chromium.org piman@chromium.org danakj@chromium.org mfomitchev@chromium.org fsam...@chromium.org enne@chromium.org
Labels: displaycompositor OS-Chrome OS-Windows
Looks like there's ongoing selection handle work happening here. I'm cc'ing a bunch of mus folks, and adding some labels to track this bug.
Components: Internals>MUS Internals>Compositing
Cc: weiliangc@chromium.org
Cc: varkha@chromium.org
Blocking: 732555
Blocking: -601863
Components: -Internals>MUS
Cc: -mfomitchev@chromium.org
Blocking: -732555
This shouldn't block OOP-D on Android.

Sign in to add a comment