WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
145493
PDFs always think they're visible on iOS.
https://bugs.webkit.org/show_bug.cgi?id=145493
Summary
PDFs always think they're visible on iOS.
Gavin Barraclough
Reported
2015-05-30 14:16:29 PDT
The problem here is that WKContentView is currently responsible for notifying the WebPageProxy that the visibility may have changed, but when a PDF isn't showing the WKContentView isn't in the view hierarchy and doesn't receive the didMoveToWindow notifications – and the WKPDFView (which is in the view hierarchy) does not listen for these events. Visibility of the page should really just track the visibility of the WKWebView (and when actually assessing the visibility it largely does - the page client checks the web view's visibility, bar a FIXME, and the foreground/background check, which needs to change). So notifications should really just come from the WKWebView. The WKWebView already listens for the didMoveToWindow notification, it just was only updating the IsInWindow flag. Instead just update all flags, and the call to viewStateDidChange from WKContentView can just be removed. There is one problem with this in that it would reverse the order of the calls to viewStateDidChange & _updateForScreen:, which would mean the the view would become visible before updating the screen pixel density. To fix this, moving the call to _updateForScreen: to willMoveToWindow:, to ensure it occurs before the page becomes visible. This will also change behavior on Mac for WKWebView clients, in coalescing all view state changes within the didMoveToWindow call. This is the direction we intended to go in anyway (the plan is to remove the mayHaveChanged argument from viewStateDidChange - we're currently adding unnecessary IPC traffic).
Attachments
Fix
(3.89 KB, patch)
2015-05-30 14:26 PDT
,
Gavin Barraclough
kling
: review+
Details
Formatted Diff
Diff
With fix for WebKitTestRunner
(4.51 KB, patch)
2015-06-02 14:56 PDT
,
Gavin Barraclough
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Gavin Barraclough
Comment 1
2015-05-30 14:26:52 PDT
Created
attachment 253964
[details]
Fix
Andreas Kling
Comment 2
2015-05-30 20:59:01 PDT
Comment on
attachment 253964
[details]
Fix View in context:
https://bugs.webkit.org/attachment.cgi?id=253964&action=review
r=me
> Source/WebKit2/ChangeLog:25 > + updating the screen pixel density. To fix this, moving the call to _updateForScreen:
s/moving/move/
Gavin Barraclough
Comment 3
2015-05-31 16:17:39 PDT
Committed revision 185046.
Daniel Bates
Comment 4
2015-06-01 10:56:02 PDT
(In reply to
comment #3
)
> Committed revision 185046.
This change causes many animation tests to time out on iOS WebKit2.
Gavin Barraclough
Comment 5
2015-06-01 11:41:48 PDT
Temporary roll-out in
r185068
...
Gavin Barraclough
Comment 6
2015-06-02 14:56:50 PDT
Created
attachment 254107
[details]
With fix for WebKitTestRunner
Gavin Barraclough
Comment 7
2015-06-02 15:02:13 PDT
Comment on
attachment 254107
[details]
With fix for WebKitTestRunner Reviewed by Sam.
Gavin Barraclough
Comment 8
2015-06-02 15:03:09 PDT
Committed revision 185127.
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