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

Issue 6286151: Merge 77706 - 2011-02-04 Adam Barth <abarth@webkit.org>... (Closed)

Created:
9 years, 10 months ago by jam
Modified:
9 years, 7 months ago
Reviewers:
abarth
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/648/
Visibility:
Public.

Description

Merge 77706 - 2011-02-04 Adam Barth <abarth@webkit.org>; Reviewed by Eric Seidel. PluginDocuments don't create widgets for plugins on back/forward https://bugs.webkit.org/show_bug.cgi?id=53474 Test that plugin loads when in a plugin document on back-forward. * plugins/plugin-document-back-forward-expected.txt: Added. * plugins/plugin-document-back-forward.html: Added. 2011-02-04 Adam Barth <abarth@webkit.org>; Reviewed by Eric Seidel. PluginDocuments don't create widgets for plugins on back/forward https://bugs.webkit.org/show_bug.cgi?id=53474 Long ago, PluginDocument always caused the HTMLEmbedElement to create its widget synchronously during a post-layout task. Recently, however, some changes to the HistroyController caused layout on back/forward to become slightly more complicated (and added an extra level of recursion to layout). This extra level of recursion triggered the "I've recursed too many times" condition in the post-layout task queue, causing the FrameView to run the remainder of the tasks asynchronously. Unfortunately, that broke PluginDocument because it needs its the HTMLEmbedElement's updateWidget task to run synchronously. This patch adds a mechanism for "kicking off" the pending post-layout tasks synchronously (instead of waiting for the timer to fire). PluginDocument then uses that facility to ensure that the HTMLEmbedElement's updateWidget task happens. Test: plugins/plugin-document-back-forward.html * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::appendBytes): * page/FrameView.cpp: (WebCore::FrameView::flushAnyPendingPostLayoutTasks): * page/FrameView.h: 2011-02-04 Adam Barth <abarth@webkit.org>; Reviewed by Eric Seidel. PluginDocuments don't create widgets for plugins on back/forward https://bugs.webkit.org/show_bug.cgi?id=53474 Teach the test plugin how to call alert on load. * DumpRenderTree/TestNetscapePlugIn/main.cpp: (NPP_New): TBR=abarth@webkit.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=77832

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2428 lines, --1 lines) Patch
M LayoutTests/ChangeLog View 1 chunk +12 lines, -0 lines 0 comments Download
A + LayoutTests/plugins/plugin-document-back-forward.html View 0 chunks +-1 lines, --1 lines 0 comments Download
A + LayoutTests/plugins/plugin-document-back-forward-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
M Source/WebCore/ChangeLog View 1 chunk +869 lines, -0 lines 0 comments Download
M Source/WebCore/html/PluginDocument.cpp View 2 chunks +8 lines, -0 lines 0 comments Download
M Source/WebCore/page/FrameView.h View 1 chunk +3 lines, -0 lines 0 comments Download
M Source/WebCore/page/FrameView.cpp View 1 chunk +10 lines, -1 line 0 comments Download
M Tools/ChangeLog View 1 chunk +1525 lines, -0 lines 0 comments Download
M Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp View 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
jam
9 years, 10 months ago (2011-02-07 19:10:49 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698