Changeset 246948 in webkit for trunk/Source/WebCore/ChangeLog


Ignore:
Timestamp:
Jun 28, 2019, 8:48:18 PM (6 years ago)
Author:
[email protected]
Message:

iOS WebKit2 find-in-page indicator doesn't move with 'overflow: scroll'
https://bugs.webkit.org/show_bug.cgi?id=175032
<rdar://problem/29346482>

Reviewed by Wenson Hsieh.

Source/WebCore:

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::selectionBounds const):
(WebCore::FrameSelection::revealSelection):

  • editing/FrameSelection.h:

Make selectionBounds' clipToVisibleContent param an enum class.

  • page/TextIndicator.cpp:

(WebCore::initializeIndicator):
Save the un-clipped selection rect; otherwise we'll frequently save 0, 0
here when finding a match that is off-screen.

Source/WebKit:

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::drawRect):
(WebKit::FindController::didScrollAffectingFindIndicatorPosition):
Adopt the macOS code that notices that the find highlight doesn't match
its original position, but instead of hiding the highlight like we do on macOS,
update it. We do this asynchronously to avoid mutating the layer tree
in the middle of painting, which is not /truly/ unsafe, but definitely
non-ideal and causes fun flashes.

  • WebProcess/WebPage/FindController.h:
  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindController::updateFindIndicator):
Store m_findIndicatorRect when updating the indicator, just like we do on macOS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r246943 r246948  
     12019-06-28  Tim Horton  <[email protected]>
     2
     3        iOS WebKit2 find-in-page indicator doesn't move with 'overflow: scroll'
     4        https://bugs.webkit.org/show_bug.cgi?id=175032
     5        <rdar://problem/29346482>
     6
     7        Reviewed by Wenson Hsieh.
     8
     9        * editing/FrameSelection.cpp:
     10        (WebCore::FrameSelection::selectionBounds const):
     11        (WebCore::FrameSelection::revealSelection):
     12        * editing/FrameSelection.h:
     13        Make selectionBounds' clipToVisibleContent param an enum class.
     14
     15        * page/TextIndicator.cpp:
     16        (WebCore::initializeIndicator):
     17        Save the un-clipped selection rect; otherwise we'll frequently save 0, 0
     18        here when finding a match that is off-screen.
     19
    1202019-06-28  Zalan Bujtas  <[email protected]>
    221
Note: See TracChangeset for help on using the changeset viewer.