Bug 684618 - Deny requests for full-screen in documents containing windowed plugins. Exit full-screen when windowed plugin added document. r=roc

This commit is contained in:
Chris Pearce
2011-10-27 15:57:09 +13:00
parent 95c5ee636d
commit 24ba319202
8 changed files with 287 additions and 7 deletions

View File

@@ -3277,7 +3277,13 @@ NS_IMETHODIMP nsPluginInstanceOwner::CreateWidget(void)
if (!mWidget) {
bool windowless = false;
mInstance->IsWindowless(&windowless);
nsIDocument *doc = mContent ? mContent->OwnerDoc() : nsnull;
#ifndef XP_MACOSX
if (!windowless && doc && doc->IsFullScreenDoc()) {
NS_DispatchToCurrentThread(
NS_NewRunnableMethod(doc, &nsIDocument::CancelFullScreen));
}
#endif
// always create widgets in Twips, not pixels
nsPresContext* context = mObjectFrame->PresContext();
rv = mObjectFrame->CreateWidget(context->DevPixelsToAppUnits(mPluginWindow->width),