WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 184210
REGRESSION (
r229828
): web view doesn’t update or respond to resizing until client calls policy decision handler
https://bugs.webkit.org/show_bug.cgi?id=184210
Summary
REGRESSION (r229828): web view doesn’t update or respond to resizing until cl...
mitz
Reported
2018-03-31 01:09:41 PDT
In TOT (
r230129
), WKWebView isn’t updating and responding to resizing between when it calls -webView:decidePolicyForNavigationAction:decisionHandler: and when the client calls the decision handler. To see the bug, build and run
attachment 336921
[details]
. Click the WebKit link in the window and observe that as long as the sheet is up, the link remains red, the seconds counter isn’t updating, and resizing the window doesn’t cause the yellow rectangle to resize to fit the new width. Compare to the correct behavior with built-in WebKit in macOS 10.13.4, where the link reverts to inactive color, the numbers keep updating, and the rectangle follows along as the window is resized.
Attachments
Patch
(13.14 KB, patch)
2018-04-20 14:19 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(13.13 KB, patch)
2018-04-20 17:04 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(13.12 KB, patch)
2018-04-20 17:06 PDT
,
Chris Dumez
wenson_hsieh
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2018-03-31 08:52:16 PDT
<
rdar://problem/39072354
>
Chris Dumez
Comment 2
2018-03-31 08:59:02 PDT
Yes, I caused this by freezing the layer tree during the navigation policy decision. This change was made to make the async code path more like the old sync code path. Several API tests started failing on iOS when we moved everybody over to the async policy code path. The reason for those failures is that the view would now do an initial layer tree commit for about:blank even though it was navigated to a test page as soon as it was created. This confused the tests which were getting temporarily a blank view and doing things like snapshots. If it is not acceptable freeze the layer tree during this policy decision then we’ll need to find another solution to make those API tests happy. I thought it was would acceptable because the policy decision is normally quick as most clients respond right away.
Chris Dumez
Comment 3
2018-03-31 09:01:13 PDT
Caused by fix for
https://bugs.webkit.org/show_bug.cgi?id=183787
Chris Dumez
Comment 4
2018-04-19 16:44:40 PDT
API tests that were failing on iOS without
r229828
:
> DataInteractionTests.AdditionalLinkAndImageIntoContentEditable > DataInteractionTests.CanStartDragOnDivWithDraggableAttribute > DataInteractionTests.DoNotCrashWhenSelectionMovesOffscreenAfterDragStart > DataInteractionTests.DragEventClientCoordinatesBasic > DataInteractionTests.DragImageFromContentEditable > DataInteractionTests.DragLiftPreviewDataTransferSetDragImage > DataInteractionTests.ImageDoesNotUseElementSizeAsEstimatedSize > DataInteractionTests.ImageToContentEditable > DataInteractionTests.ImageToTextarea > DataInteractionTests.InjectedBundleAttachmentElementData > DataInteractionTests.InjectedBundleImageElementData > DataInteractionTests.LargeImageToTargetDiv > ScrollViewInsetTests.RestoreInitialContentOffsetAfterCrash > WKWebView.SnapshotImageLargeAsyncDecoding
So we need to find an alternative to
r229828
and make sure those API tests still pass on iOS.
Chris Dumez
Comment 5
2018-04-20 14:19:37 PDT
Created
attachment 338460
[details]
Patch
Chris Dumez
Comment 6
2018-04-20 17:04:50 PDT
Created
attachment 338495
[details]
Patch
Chris Dumez
Comment 7
2018-04-20 17:06:13 PDT
Created
attachment 338497
[details]
Patch
Wenson Hsieh
Comment 8
2018-04-20 17:08:47 PDT
Comment on
attachment 338497
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=338497&action=review
> Source/WebCore/ChangeLog:13 > + To address the issue, this patch revers
r229828
and instead updates the iOS
Nit - s/revers/reverts
> Source/WebKit/ChangeLog:13 > + To address the issue, this patch revers
r229828
and instead updates the iOS
Nit - s/revers/reverts
Chris Dumez
Comment 9
2018-04-20 18:55:40 PDT
Committed
r230876
: <
https://trac.webkit.org/changeset/230876
>
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