|
|
DescriptionCall invalidatePaintForTickmarks() in Internals::addTextMatchMarker()
Callers of DocumentMarkerController::addTextMatchMarker() must invalidate
tickmarks (according a comment in addTextMatchMarker()) but
Internals::addTextMatchMarker() doesn't invalidate the tickmark.
This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail
if internals.addTextMatchMarker() is called after the first layout.
This CL makes addTextMatchMarker() to do paint invalidation, just like
TextFinder does in TextFinder::invalidateIfNecessary and
TextFinder::finishCurrentScopingEffort().
This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html
that tests internals.addTextMatchMarker() after the first layout and
document onload.
(the test is marked as failing in rootlayerscrolls because the original
scrollbar-tickmarks-styled.html is already marked as failing.)
This is preparation for https://codereview.chromium.org/2269043002
that modifies the timing of document onload event and moves document onload
after first layout in the test above.
BUG=624697
TEST=fast/scrolling/scrollbar-tickmarks-styled.html fast/scrolling/scrollbar-tickmarks-styled-after-onload.html
Committed: https://crrev.com/f768d0e471877996cf0dd06f2a3b1cb9ba49c6be
Cr-Commit-Position: refs/heads/master@{#429841}
Patch Set 1 #Patch Set 2 : Fix #Patch Set 3 : Rebase. #Patch Set 4 : f #Patch Set 5 : TestExpectations #
Total comments: 3
Patch Set 6 : runAfterLayoutAndPaint #
Total comments: 2
Patch Set 7 : Add comment #Dependent Patchsets: Messages
Total messages: 57 (45 generated)
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #2 (id:20001) has been deleted
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() BUG= ========== to ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 ==========
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #5 (id:100001) has been deleted
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
hiroshige@chromium.org changed reviewers: + wangxianzhu@chromium.org
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 ========== to ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 ==========
Could you take a look? (as you looks touched some related areas)
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2450793002/diff/120001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-styled-after-onload.html (right): https://codereview.chromium.org/2450793002/diff/120001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-styled-after-onload.html:44: <body onload="setTimeout(highlight, 0)"> Normally we use runAfterLayoutAndPaint(highlight, true) (requiring <script src="../../resources/run-after-layout-and-paint.js"></script>) for this purpose. It ensures not only layout, but also paint invalidation and paint (full document cycle). I think this test needs the full document cycle, right? If you use it, you can omit the most of the added lines.
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by hiroshige@chromium.org
Patchset #6 (id:140001) has been deleted
The CQ bit was checked by hiroshige@chromium.org
The CQ bit was unchecked by hiroshige@chromium.org
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
No L-G-T-M from a valid reviewer yet. CQ run can only be started by full committers or once the patch has received an L-G-T-M from a full committer. Even if an L-G-T-M may have been provided, it was from a non-committer, _not_ a full super star committer. See http://www.chromium.org/getting-involved/become-a-committer Note that this has nothing to do with OWNERS files.
https://codereview.chromium.org/2450793002/diff/120001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-styled-after-onload.html (right): https://codereview.chromium.org/2450793002/diff/120001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-styled-after-onload.html:44: <body onload="setTimeout(highlight, 0)"> On 2016/10/31 15:59:07, Xianzhu wrote: > Normally we use runAfterLayoutAndPaint(highlight, true) (requiring <script > src="../../resources/run-after-layout-and-paint.js"></script>) for this purpose. > It ensures not only layout, but also paint invalidation and paint (full document > cycle). I think this test needs the full document cycle, right? If you use it, > you can omit the most of the added lines. Thanks for suggestion! I use runAfterLayoutAndPaint() in Patch Set 6, but the test crashing (assertion failure due to under-invalidation check), even without my change to Internals.cpp. Probably it is hitting another existing bug?
The CQ bit was checked by wangxianzhu@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2450793002/diff/120001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-styled-after-onload.html (right): https://codereview.chromium.org/2450793002/diff/120001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-styled-after-onload.html:44: <body onload="setTimeout(highlight, 0)"> On 2016/11/01 05:48:04, hiroshige wrote: > On 2016/10/31 15:59:07, Xianzhu wrote: > > Normally we use runAfterLayoutAndPaint(highlight, true) (requiring <script > > src="../../resources/run-after-layout-and-paint.js"></script>) for this > purpose. > > It ensures not only layout, but also paint invalidation and paint (full > document > > cycle). I think this test needs the full document cycle, right? If you use it, > > you can omit the most of the added lines. > > Thanks for suggestion! > I use runAfterLayoutAndPaint() in Patch Set 6, but the test crashing (assertion > failure due to under-invalidation check), even without my change to > Internals.cpp. Probably it is hitting another existing bug? The crash is expected without your patch because we don't invalidate paint in Internals::addTextMatchMarker(). Actually I have been assigned cluster-fuzz bugs about the crash, but I marked them WontFix because the crash was intentional: we called into internal code which intentionally didn't do paint invalidation. We expected the normal callers in production code to do it. Your patch should fix the crash by letting Internal::addTextMatchMarker() do paint invalidation. If there is still under-invalidation, then your patch seems incomplete to fix the issue. I can help you to investigate it. I scheduled dry run and will look at the results when it's available. BTW, does/will your patch fix scrollbar-tickmarks-styled.html? https://codereview.chromium.org/2450793002/diff/140002/third_party/WebKit/Sou... File third_party/WebKit/Source/core/testing/Internals.cpp (right): https://codereview.chromium.org/2450793002/diff/140002/third_party/WebKit/Sou... third_party/WebKit/Source/core/testing/Internals.cpp:994: range->ownerDocument().view()->invalidatePaintForTickmarks(); Please add a comment like: This simulates what the production code does after addTextMatchMarker().
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
All trybots passed with your patch, so your patch fixed the under-invalidation. lgtm.
> > BTW, does/will your patch fix scrollbar-tickmarks-styled.html? > Please ignore this. I thought the test also failed without rootLayerScrolls.
Description was changed from ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 ========== to ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 TEST=fast/scrolling/scrollbar-tickmarks-styled.html ==========
The CQ bit was checked by hiroshige@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 TEST=fast/scrolling/scrollbar-tickmarks-styled.html ========== to ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 TEST=fast/scrolling/scrollbar-tickmarks-styled.html fast/scrolling/scrollbar-tickmarks-styled-after-onload.html ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2450793002/diff/140002/third_party/WebKit/Sou... File third_party/WebKit/Source/core/testing/Internals.cpp (right): https://codereview.chromium.org/2450793002/diff/140002/third_party/WebKit/Sou... third_party/WebKit/Source/core/testing/Internals.cpp:994: range->ownerDocument().view()->invalidatePaintForTickmarks(); On 2016/11/01 06:41:22, Xianzhu wrote: > Please add a comment like: This simulates what the production code does after > addTextMatchMarker(). Done.
The CQ bit was checked by hiroshige@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from wangxianzhu@chromium.org Link to the patchset: https://codereview.chromium.org/2450793002/#ps160001 (title: "Add comment")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 TEST=fast/scrolling/scrollbar-tickmarks-styled.html fast/scrolling/scrollbar-tickmarks-styled-after-onload.html ========== to ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 TEST=fast/scrolling/scrollbar-tickmarks-styled.html fast/scrolling/scrollbar-tickmarks-styled-after-onload.html ==========
Message was sent while issue was closed.
Committed patchset #7 (id:160001)
Message was sent while issue was closed.
Description was changed from ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 TEST=fast/scrolling/scrollbar-tickmarks-styled.html fast/scrolling/scrollbar-tickmarks-styled-after-onload.html ========== to ========== Call invalidatePaintForTickmarks() in Internals::addTextMatchMarker() Callers of DocumentMarkerController::addTextMatchMarker() must invalidate tickmarks (according a comment in addTextMatchMarker()) but Internals::addTextMatchMarker() doesn't invalidate the tickmark. This causes the fast/scrolling/scrollbar-tickmarks-styled.html test to fail if internals.addTextMatchMarker() is called after the first layout. This CL makes addTextMatchMarker() to do paint invalidation, just like TextFinder does in TextFinder::invalidateIfNecessary and TextFinder::finishCurrentScopingEffort(). This CL adds fast/scrolling/scrollbar-tickmarks-styled-after-onload.html that tests internals.addTextMatchMarker() after the first layout and document onload. (the test is marked as failing in rootlayerscrolls because the original scrollbar-tickmarks-styled.html is already marked as failing.) This is preparation for https://codereview.chromium.org/2269043002 that modifies the timing of document onload event and moves document onload after first layout in the test above. BUG=624697 TEST=fast/scrolling/scrollbar-tickmarks-styled.html fast/scrolling/scrollbar-tickmarks-styled-after-onload.html Committed: https://crrev.com/f768d0e471877996cf0dd06f2a3b1cb9ba49c6be Cr-Commit-Position: refs/heads/master@{#429841} ==========
Message was sent while issue was closed.
Patchset 7 (id:??) landed as https://crrev.com/f768d0e471877996cf0dd06f2a3b1cb9ba49c6be Cr-Commit-Position: refs/heads/master@{#429841} |