Bug 169345 - Loading in-body stylesheets should not block rendering of elements before them
Summary: Loading in-body stylesheets should not block rendering of elements before them
Status: RESOLVED DUPLICATE of bug 149157
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-08 00:59 PST by Antti Koivisto
Modified: 2017-03-09 21:11 PST (History)
6 users (show)

See Also:


Attachments
patch (18.45 KB, patch)
2017-03-08 01:02 PST, Antti Koivisto
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews103 for mac-elcapitan (17.31 MB, application/zip)
2017-03-08 02:15 PST, Build Bot
no flags Details
Archive of layout-test-results from ews106 for mac-elcapitan-wk2 (17.21 MB, application/zip)
2017-03-08 02:20 PST, Build Bot
no flags Details
Archive of layout-test-results from ews114 for mac-elcapitan (18.54 MB, application/zip)
2017-03-08 02:30 PST, Build Bot
no flags Details
Archive of layout-test-results from ews122 for ios-simulator-wk2 (7.32 MB, application/zip)
2017-03-08 02:51 PST, Build Bot
no flags Details
wip (21.93 KB, patch)
2017-03-08 07:12 PST, Antti Koivisto
no flags Details | Formatted Diff | Diff
wip (24.98 KB, patch)
2017-03-08 07:15 PST, Antti Koivisto
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antti Koivisto 2017-03-08 00:59:37 PST
Enable incremental rendering for in-body stylesheets.
Comment 1 Antti Koivisto 2017-03-08 01:02:12 PST
Created attachment 303791 [details]
patch
Comment 2 Build Bot 2017-03-08 02:15:36 PST
Comment on attachment 303791 [details]
patch

Attachment 303791 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/3264505

New failing tests:
svg/as-image/img-zoom-svg-stylesheet.html
svg/repaint/repaint-webkit-svg-shadow-container.html
Comment 3 Build Bot 2017-03-08 02:15:40 PST
Created attachment 303800 [details]
Archive of layout-test-results from ews103 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 4 Build Bot 2017-03-08 02:20:52 PST
Comment on attachment 303791 [details]
patch

Attachment 303791 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/3264528

New failing tests:
svg/as-image/img-zoom-svg-stylesheet.html
svg/repaint/repaint-webkit-svg-shadow-container.html
Comment 5 Build Bot 2017-03-08 02:20:55 PST
Created attachment 303801 [details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-elcapitan-wk2  Platform: Mac OS X 10.11.6
Comment 6 Build Bot 2017-03-08 02:30:43 PST
Comment on attachment 303791 [details]
patch

Attachment 303791 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/3264536

New failing tests:
svg/as-image/img-zoom-svg-stylesheet.html
svg/repaint/repaint-webkit-svg-shadow-container.html
Comment 7 Build Bot 2017-03-08 02:30:47 PST
Created attachment 303802 [details]
Archive of layout-test-results from ews114 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 8 Build Bot 2017-03-08 02:51:08 PST
Comment on attachment 303791 [details]
patch

Attachment 303791 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/3264568

New failing tests:
svg/as-image/img-zoom-svg-stylesheet.html
svg/repaint/repaint-webkit-svg-shadow-container.html
Comment 9 Build Bot 2017-03-08 02:51:12 PST
Created attachment 303803 [details]
Archive of layout-test-results from ews122 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6
Comment 10 Antti Koivisto 2017-03-08 07:12:43 PST
Created attachment 303811 [details]
wip
Comment 11 Antti Koivisto 2017-03-08 07:15:09 PST
Created attachment 303812 [details]
wip
Comment 12 Simon Fraser (smfr) 2017-03-08 11:29:16 PST
Comment on attachment 303812 [details]
wip

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

> Source/WebCore/dom/Document.cpp:1251
> +    fprintf(stderr, "Document::setVisualUpdatesAllowed %d\n", visualUpdatesAllowed);

You should add LOG(Style, ...) for logging like this that you find useful.

> Source/WebCore/dom/Document.cpp:1824
> +        if (m_renderView->needsLayout())
> +            frameView.scheduleRelayout();

How does needsLayout() become true without a layout already having been scheduled? This seems odd.

> Source/WebCore/rendering/RenderBlock.cpp:1536
> +        fprintf(stderr, "RenderBlock::paint isNotFinal\n");

LOG(Style, ...)?

> Source/WebCore/rendering/RenderLayer.cpp:3945
> +        fprintf(stderr, "shouldSuppressPaintingLayer\n");

Log(Style, ...)?

> Source/WebCore/style/StyleTreeResolver.cpp:171
> +        fprintf(stderr, "m_didSeePendingStylesheet not styling\n");

LOG

> Source/WebCore/style/StyleTreeResolver.cpp:184
> +        fprintf(stderr, "m_didSeePendingStylesheet marking non-final\n");

LOG
Comment 13 Antti Koivisto 2017-03-08 12:52:01 PST

*** This bug has been marked as a duplicate of bug 149157 ***
Comment 14 Antti Koivisto 2017-03-08 12:59:23 PST
> How does needsLayout() become true without a layout already having been
> scheduled? This seems odd.

We currently fail to schedule layout for a completely new render tree. Some random action later usually schedules it (or parser reaching the end of the document). Updates work as expected.

Moved this to the older bug.
Comment 15 Ryan Haddad 2017-03-09 21:08:48 PST
Reverted r213633 for reason:

This change caused LayoutTest imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html to become a flaky failure.

Committed r213701: <http://trac.webkit.org/changeset/213701>
Comment 16 Ryan Haddad 2017-03-09 21:11:43 PST
Duping back to older bug.

*** This bug has been marked as a duplicate of bug 149157 ***