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

Issue 2034363002: Update document marker rects lazily in frame (Closed)

Created:
4 years, 6 months ago by keishi
Modified:
4 years, 6 months ago
Reviewers:
haraken, yoichio, yosin_UTC9
CC:
blink-reviews, blink-reviews-dom_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Update document marker rects lazily in frame Updating document marker rects in a layout can be slow when there are many markers. This defers the document marker update to FrameView::invalidateTreeIfNeeded. BUG=617404 Committed: https://crrev.com/2127dca0ab39f8f53dfd01329ba0d761704de821 Cr-Commit-Position: refs/heads/master@{#399167}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : Also make update in shiftMarkers() lazy #

Total comments: 2

Patch Set 6 : Moved to FrameView::invalidateTreeIfNeeded #

Patch Set 7 : #

Total comments: 4

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Total comments: 12

Patch Set 12 : #

Total comments: 10

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : fix test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+90 lines, -53 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 10 chunks +54 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/core/editing/markers/DocumentMarkerControllerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +0 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/editing/markers/RenderedDocumentMarker.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +27 lines, -14 lines 0 comments Download

Messages

Total messages: 41 (14 generated)
keishi
When there are many spelling mistakes, the # of markers in a document increases and ...
4 years, 6 months ago (2016-06-05 06:21:11 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2034363002/80001
4 years, 6 months ago (2016-06-05 07:32:08 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-05 09:00:15 UTC) #7
yosin_UTC9
Thanks for identifying this! It is good idea to postpone invalidation. BTW, there are number ...
4 years, 6 months ago (2016-06-06 01:45:04 UTC) #8
keishi
https://codereview.chromium.org/2034363002/diff/80001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp File third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp (right): https://codereview.chromium.org/2034363002/diff/80001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp#newcode544 third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp:544: Platform::current()->currentThread()->scheduler()->postIdleTask(BLINK_FROM_HERE, WTF::bind<double>(&DocumentMarkerController::updateRenderedRectsForMarkers, this)); On 2016/06/06 01:45:04, Yosi_UTC9 wrote: > ...
4 years, 6 months ago (2016-06-06 02:46:56 UTC) #9
yosin_UTC9
We discussed offline, we conclude: 1. Compute rendered rect only for TextMatch marker, since rendered ...
4 years, 6 months ago (2016-06-06 05:35:52 UTC) #11
keishi
PTAL Added LayoutClean check to DocumentMarkerController::updateRenderedRectsForMarkersIfNeeded. Added updateRenderedRectsForMarkersIfNeeded to DocumentMarkerController::markerContainingPoint().
4 years, 6 months ago (2016-06-06 07:42:26 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2034363002/120001
4 years, 6 months ago (2016-06-06 08:01:38 UTC) #14
yosin_UTC9
lgtm w/ nits https://codereview.chromium.org/2034363002/diff/120001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h File third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h (right): https://codereview.chromium.org/2034363002/diff/120001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h#newcode60 third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h:60: DocumentMarkerController(Document*); nit: please add |explicit|. Can ...
4 years, 6 months ago (2016-06-06 08:04:04 UTC) #15
yosin_UTC9
Could you referrer similar changes in WebKit? https://bugs.webkit.org/show_bug.cgi?id=155579
4 years, 6 months ago (2016-06-06 08:05:43 UTC) #16
yosin_UTC9
On 2016/06/06 at 08:05:43, Yosi_UTC9 wrote: > Could you referrer similar changes in WebKit? > ...
4 years, 6 months ago (2016-06-06 08:21:35 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2034363002/160001
4 years, 6 months ago (2016-06-06 08:59:52 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/233790)
4 years, 6 months ago (2016-06-06 10:32:37 UTC) #21
keishi
The difference with WebKit patch was that it used per RenderedDocumentMarker invalidation flag. This was ...
4 years, 6 months ago (2016-06-06 12:22:01 UTC) #22
yosin_UTC9
Why did you remove const-ness from DCM marker map? https://codereview.chromium.org/2034363002/diff/200001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp File third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp (right): https://codereview.chromium.org/2034363002/diff/200001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp#newcode400 third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp:400: ...
4 years, 6 months ago (2016-06-07 01:25:56 UTC) #23
keishi
Range doesn't support a cont Node so I did it to remove the const_cast. I ...
4 years, 6 months ago (2016-06-07 07:04:08 UTC) #24
yosin_UTC9
>Range doesn't support a cont Node so I did it to remove the const_cast. >I ...
4 years, 6 months ago (2016-06-07 07:20:07 UTC) #25
keishi
> Could you tell me what member functions in Range don't support const Node? > ...
4 years, 6 months ago (2016-06-07 07:27:22 UTC) #26
keishi
https://codereview.chromium.org/2034363002/diff/220001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h File third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h (right): https://codereview.chromium.org/2034363002/diff/220001/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h#newcode95 third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h:95: void invalidateRectsForMarkersInNode(Node&); On 2016/06/07 07:20:07, Yosi_UTC9 wrote: > I ...
4 years, 6 months ago (2016-06-07 08:02:44 UTC) #27
yosin_UTC9
lgtm Thanks so much!
4 years, 6 months ago (2016-06-07 08:12:38 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2034363002/260001
4 years, 6 months ago (2016-06-07 11:48:17 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/240184)
4 years, 6 months ago (2016-06-07 12:45:58 UTC) #32
keishi
DocumentMarkerControllerTest failures were test issues. Layout test failure was a wrong expectation.
4 years, 6 months ago (2016-06-10 10:22:57 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2034363002/280001
4 years, 6 months ago (2016-06-10 10:23:25 UTC) #36
commit-bot: I haz the power
Committed patchset #15 (id:280001)
4 years, 6 months ago (2016-06-10 13:06:58 UTC) #38
commit-bot: I haz the power
CQ bit was unchecked
4 years, 6 months ago (2016-06-10 13:07:04 UTC) #39
commit-bot: I haz the power
4 years, 6 months ago (2016-06-10 13:08:59 UTC) #41
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/2127dca0ab39f8f53dfd01329ba0d761704de821
Cr-Commit-Position: refs/heads/master@{#399167}

Powered by Google App Engine
This is Rietveld 408576698