diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-08-27 12:01:11 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-27 12:12:13 +0200 |
| commit | a978cfb2e4c0fc3dd7551aaff16f1eee60ab1b1b (patch) | |
| tree | d255c362d6eabdcd6ab73f9db9e3e6112facf4cc | |
| parent | 5141326b74e03c3d4a5ec9d9beb68c3f0c06489e (diff) | |
| download | qtwebkit-a978cfb2e4c0fc3dd7551aaff16f1eee60ab1b1b.tar.gz | |
Assertion while scrolling news.google.com
https://bugs.webkit.org/show_bug.cgi?id=115303
Reviewed by Anders Carlsson.
Do not relayout when accessing script elements during painting.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
Task-number: QTBUG-30892
Change-Id: Ide884c78dd6a359c0e0de22bb98774d7da90b901
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| -rw-r--r-- | Source/WebCore/html/HTMLEmbedElement.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/WebCore/html/HTMLEmbedElement.cpp b/Source/WebCore/html/HTMLEmbedElement.cpp index 9176d95be..ba830f041 100644 --- a/Source/WebCore/html/HTMLEmbedElement.cpp +++ b/Source/WebCore/html/HTMLEmbedElement.cpp @@ -28,6 +28,7 @@ #include "CSSPropertyNames.h" #include "DocumentLoader.h" #include "Frame.h" +#include "FrameView.h" #include "HTMLDocument.h" #include "HTMLImageLoader.h" #include "HTMLNames.h" @@ -70,7 +71,9 @@ static inline RenderWidget* findWidgetRenderer(const Node* n) RenderWidget* HTMLEmbedElement::renderWidgetForJSBindings() const { - document()->updateLayoutIgnorePendingStylesheets(); + FrameView* view = document()->view(); + if (!view || (!view->isInLayout() && !view->isPainting())) + document()->updateLayoutIgnorePendingStylesheets(); return findWidgetRenderer(this); } |
