Summary: | Hit-testing of boxes over scrollers should account for border-radius | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||||||||||
Component: | Scrolling | Assignee: | Antti Koivisto <koivisto> | ||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||
Severity: | Normal | CC: | commit-queue, ews-watchlist, simon.fraser, webkit-bug-importer | ||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||
Hardware: | Unspecified | ||||||||||||||
OS: | Unspecified | ||||||||||||||
Attachments: |
|
Created attachment 366171 [details]
patch
Attachment 366171 [details] did not pass style-queue:
ERROR: Source/WebCore/testing/Internals.h:350: enum members should use InterCaps with an initial capital letter or initial 'k' for C-style enums. [readability/enum_casing] [4]
Total errors found: 1 in 15 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 366171 [details] patch Attachment 366171 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/11693720 New failing tests: fast/scrolling/ios/border-radious-event-region.html Created attachment 366200 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
Created attachment 366251 [details]
patch
Attachment 366251 [details] did not pass style-queue:
ERROR: Source/WebCore/testing/Internals.h:350: enum members should use InterCaps with an initial capital letter or initial 'k' for C-style enums. [readability/enum_casing] [4]
Total errors found: 1 in 15 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 366251 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=366251&action=review > Source/WebCore/page/Frame.h:118 > LayerTreeFlagsIncludeBackingStoreAttached = 1 << 7, > LayerTreeFlagsIncludeRootLayerProperties = 1 << 8, > + LayerTreeFlagsIncludeEventRegion = 1 << 9, The cool kids are lining up the "= ..." these days :) > Source/WebCore/platform/graphics/GraphicsLayer.cpp:935 > + ts << indent << "(event region\n"; > + for (auto& rect : m_eventRegion.rects()) { > + TextStream::IndentScope indentScope(ts); > + ts << indent << "(rect " << rect.x() << " " << rect.y() << " " << rect.width() << " " << rect.height() << ")\n"; > + } > + ts << indent << ")\n"; Please add and use TextStream& operator<<(TextStream&, const Region&) > Source/WebCore/platform/graphics/RoundedRect.h:117 > + // Approximate by snipping away half-radii sized rectangles from corners. > + WEBCORE_EXPORT Region approximateAsRegion() const; I think I'd prefer some kind of "stepping" function with a configurable step size at some point. > LayoutTests/ChangeLog:10 > + * fast/scrolling/ios/border-radious-event-region-expected.txt: Added. > + * fast/scrolling/ios/border-radious-event-region.html: Added. Bad spelling > > + // Approximate by snipping away half-radii sized rectangles from corners.
That comment is a lie. We now snip away multiple rectangles based on arc length.
Created attachment 366360 [details]
patch
Attachment 366360 [details] did not pass style-queue:
ERROR: Source/WebCore/testing/Internals.h:350: enum members should use InterCaps with an initial capital letter or initial 'k' for C-style enums. [readability/enum_casing] [4]
Total errors found: 1 in 17 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 366360 [details] patch Clearing flags on attachment: 366360 Committed r243674: <https://trac.webkit.org/changeset/243674> All reviewed patches have been landed. Closing bug. |
Created attachment 363784 [details] Testcase Need to take border-radius into account for hit testing.