Bug 134327

Summary: [iOS][WK2] Protect WKWebView's delayUpdateVisibleContentRects in case of reentry
Product: WebKit Reporter: Benjamin Poulain <benjamin>
Component: New BugsAssignee: Benjamin Poulain <benjamin>
Status: RESOLVED LATER    
Severity: Normal CC: buildbot, bunhere, cdumez, commit-queue, gyuyoung.kim, rniwa, sergio
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
simon.fraser: review+, buildbot: commit-queue-
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2 none

Description Benjamin Poulain 2014-06-25 20:22:45 PDT
[iOS][WK2] Protect WKWebView's delayUpdateVisibleContentRects in case of reentry
Comment 1 Benjamin Poulain 2014-06-25 20:41:43 PDT
Created attachment 233870 [details]
Patch
Comment 2 Simon Fraser (smfr) 2014-06-25 21:06:35 PDT
Comment on attachment 233870 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=233870&action=review

> Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:188
> +    unsigned _delayUpdateVisibleContentRectsCounter;

int please to make underflow less devastating?

> Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:636
> +    --_delayUpdateVisibleContentRectsCounter;

Please assert that it's > 0

> Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:-731
> -    _delayUpdateVisibleContentRects = NO;

Set to 0 here?
Comment 3 Build Bot 2014-06-25 22:48:56 PDT
Comment on attachment 233870 [details]
Patch

Attachment 233870 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6471168152305664

New failing tests:
media/W3C/audio/canPlayType/canPlayType_application_octet_stream_with_codecs_1.html
Comment 4 Build Bot 2014-06-25 22:48:59 PDT
Created attachment 233886 [details]
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-12  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 5 Benjamin Poulain 2014-06-30 20:18:00 PDT
I'll keep this out of the tree. We haven't discovered the case where this would be necessary and the boolean is safer than the counter (the side effect is too many updates)