WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
199349
Tapping on the bottom part of youtube video behaves as if controls were visible
https://bugs.webkit.org/show_bug.cgi?id=199349
Summary
Tapping on the bottom part of youtube video behaves as if controls were visible
zalan
Reported
2019-06-30 10:08:01 PDT
<
rdar://problem/51955744
>
Attachments
Patch
(7.08 KB, patch)
2019-06-30 10:13 PDT
,
zalan
no flags
Details
Formatted Diff
Diff
Patch
(12.46 KB, patch)
2019-06-30 20:04 PDT
,
zalan
no flags
Details
Formatted Diff
Diff
Patch
(12.49 KB, patch)
2019-06-30 20:30 PDT
,
zalan
no flags
Details
Formatted Diff
Diff
Patch
(12.49 KB, patch)
2019-06-30 20:36 PDT
,
zalan
no flags
Details
Formatted Diff
Diff
Patch
(12.75 KB, patch)
2019-07-01 12:13 PDT
,
zalan
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
zalan
Comment 1
2019-06-30 10:13:52 PDT
Created
attachment 373192
[details]
Patch
Brent Fulgham
Comment 2
2019-06-30 12:54:40 PDT
Comment on
attachment 373192
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=373192&action=review
Looks good. Is this ready for review?
> Source/WebCore/page/ios/ContentChangeObserver.cpp:84 > + for (auto* parent = node.parentNode(); parent && i < 3; parent = parent->parentNode(), ++i) {
What is magic about the grandparent node? Should this be encoded as a constant explaining it’s importance?
zalan
Comment 3
2019-06-30 12:59:53 PDT
(In reply to Brent Fulgham from
comment #2
)
> Comment on
attachment 373192
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=373192&action=review
> > Looks good. Is this ready for review?
Almost.
> > > Source/WebCore/page/ios/ContentChangeObserver.cpp:84 > > + for (auto* parent = node.parentNode(); parent && i < 3; parent = parent->parentNode(), ++i) { > > What is magic about the grandparent node? Should this be encoded as a > constant explaining it’s importance?
Will explain it in the final patch. Opacity behaves different in the context of hittesting than display: none or visibility: hidden.
zalan
Comment 4
2019-06-30 20:04:57 PDT
Created
attachment 373202
[details]
Patch
zalan
Comment 5
2019-06-30 20:30:28 PDT
Created
attachment 373207
[details]
Patch
zalan
Comment 6
2019-06-30 20:36:57 PDT
Created
attachment 373208
[details]
Patch
Simon Fraser (smfr)
Comment 7
2019-07-01 10:51:41 PDT
Comment on
attachment 373208
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=373208&action=review
> Source/WebCore/ChangeLog:9 > + Synthetic click event should not be dispatched to a node that is initially hidden and becomes visible by the touchStart event.
Quality "hidden" here as including opacity:0. Also say that we're deliberately choose a different behavior from macOS.
zalan
Comment 8
2019-07-01 12:13:05 PDT
Created
attachment 373247
[details]
Patch
WebKit Commit Bot
Comment 9
2019-07-01 12:57:45 PDT
Comment on
attachment 373247
[details]
Patch Clearing flags on attachment: 373247 Committed
r247015
: <
https://trac.webkit.org/changeset/247015
>
WebKit Commit Bot
Comment 10
2019-07-01 12:57:47 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 11
2019-07-01 12:58:17 PDT
<
rdar://problem/52477135
>
Daniel Bates
Comment 12
2019-07-04 22:51:09 PDT
Comment on
attachment 373247
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=373247&action=review
> Source/WebCore/page/ios/ContentChangeObserver.cpp:85 > + constexpr static unsigned numberOfAncestorsToCheckForOpacity = 4;
The static is absolutely unnecessary here. constexpr static == constexpr unless the compiler is a piece of nonsensical garbage 😃. In my opinion I would remove the static.
> Source/WebCore/page/ios/ContentChangeObserver.cpp:86 > + unsigned i = 0;
In my opinion, it is more idiomatic to define this **in*** the for loop ()s <— also scopes it!
> Source/WebCore/page/ios/ContentChangeObserver.cpp:88 > + if (!parent->renderStyle() || !parent->renderStyle()->opacity())
Use C++17 if init-statement? 🤷♂️ (My line of thinking...dumb compiler will do two calls instead of hoisting the load and doing one for renderStyle(); init-statement is unambiguous what to do...)
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug