Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(595)

Issue 330093003: RenderView is null for import documents. (Closed)

Created:
6 years, 6 months ago by rune
Modified:
6 years, 6 months ago
Reviewers:
esprehn, ojan
CC:
blink-reviews, blink-reviews-dom_chromium.org, dglazkov+blink, eae+blinkwatch, rwlbuis, sof
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

RenderView is null for import documents. Documents for html imports have separate StyleEngines and separate lists of pending stylesheets. However, they don't have a RenderView. In r176050 the repaint was moved from the StyleEngine where non-master documents skipped the repaint. Trying to do a repaint from a non-master document will crash without a check for renderView(). I have added a renderView() check with an assert that checks that it happens if we are in an import document. I did keep the changing of m_pendingSheetLayout to IgnoreLayoutWithPendingSheets, since we envidentially do set it to DidLayoutWithPendingSheets for import documents, even before the r176050 change. It is possible that the m_pendingSheetLayout machinery does nothing useful for imported documents, but I frankly don't know how it should work. I am only able to reproduce the crash in the layout test with --debug. R=ojan@chromium.org,esprehn@chromium.org BUG=386564 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=176649

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+21 lines, -1 line) Patch
A LayoutTests/fast/css/remove-pending-sheet-html-import-crash.html View 1 chunk +3 lines, -0 lines 0 comments Download
A LayoutTests/fast/css/remove-pending-sheet-html-import-crash-expected.txt View 1 chunk +3 lines, -0 lines 0 comments Download
A LayoutTests/fast/css/resources/import-layout-with-pending-sheet.html View 1 chunk +11 lines, -0 lines 0 comments Download
M Source/core/dom/Document.cpp View 1 chunk +4 lines, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
rune
PTAL
6 years, 6 months ago (2014-06-20 12:14:51 UTC) #1
rune
I'll be able to fix issues in this CL during the weekend, but on vacation ...
6 years, 6 months ago (2014-06-20 18:17:14 UTC) #2
esprehn
lgtm
6 years, 6 months ago (2014-06-20 18:21:05 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rune@opera.com/330093003/1
6 years, 6 months ago (2014-06-20 18:22:21 UTC) #4
commit-bot: I haz the power
6 years, 6 months ago (2014-06-20 21:44:29 UTC) #5
Message was sent while issue was closed.
Change committed as 176649

Powered by Google App Engine
This is Rietveld 408576698