Skip to content

Commit 6d1851f

Browse files
author
Dan Bernstein
committed
Assertion failure (!inSetWindow) with in-process plug-in in plugins/destroy-on-setwindow.html
https://bugs.webkit.org/show_bug.cgi?id=52550 Reviewed by Simon Fraser. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView setWindowIfNecessary]): Removed the assertion, making sure that inSetWindow remains YES until we exit the top-level setWindowIfNecessary. Canonical link: https://commits.webkit.org/66153@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@75907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 2e4f58c commit 6d1851f

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

WebKit/mac/ChangeLog

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
2011-01-16 Dan Bernstein <mitz@apple.com>
2+
3+
Reviewed by Simon Fraser.
4+
5+
Assertion failure (!inSetWindow) with in-process plug-in in plugins/destroy-on-setwindow.html
6+
https://bugs.webkit.org/show_bug.cgi?id=52550
7+
8+
* Plugins/WebNetscapePluginView.mm:
9+
(-[WebNetscapePluginView setWindowIfNecessary]): Removed the assertion, making sure
10+
that inSetWindow remains YES until we exit the top-level setWindowIfNecessary.
11+
112
2011-01-16 Simon Fraser <simon.fraser@apple.com>
213

314
Reviewed by Dan Bernstein.

WebKit/mac/Plugins/WebNetscapePluginView.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -988,16 +988,16 @@ - (void)setWindowIfNecessary
988988
// protecting only against this one case, which actually comes up when
989989
// you first install the SVG viewer plug-in.
990990
NPError npErr;
991-
ASSERT(!inSetWindow);
992991

992+
BOOL wasInSetWindow = inSetWindow;
993993
inSetWindow = YES;
994994
[self willCallPlugInFunction];
995995
{
996996
JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
997997
npErr = [_pluginPackage.get() pluginFuncs]->setwindow(plugin, &window);
998998
}
999999
[self didCallPlugInFunction];
1000-
inSetWindow = NO;
1000+
inSetWindow = wasInSetWindow;
10011001

10021002
#ifndef NDEBUG
10031003
switch (drawingModel) {

0 commit comments

Comments
 (0)