merge plugin work from libchromiumipc. add env var check for OOP iframe. a few small bugfixes here and there.

This commit is contained in:
Chris Jones
2009-07-02 11:54:22 -05:00
parent 91eee49a94
commit cbe85303e6
29 changed files with 1564 additions and 1159 deletions

View File

@@ -43,6 +43,8 @@
* handling of loads in it, recursion-checking).
*/
#include "prenv.h"
#include "nsIDOMHTMLIFrameElement.h"
#include "nsIDOMHTMLFrameElement.h"
#include "nsIDOMWindow.h"
@@ -1034,14 +1036,18 @@ nsFrameLoader::CheckForRecursiveLoad(nsIURI* aURI)
PRBool
nsFrameLoader::TryNewProcess()
{
if (PR_GetEnv("DISABLE_OOP_IFRAME")) {
return PR_FALSE;
}
nsIDocument* doc = mOwnerContent->GetDocument();
if (!doc) {
return NS_ERROR_UNEXPECTED;
return PR_FALSE;
}
if (doc->GetDisplayDocument()) {
// Don't allow subframe loads in external reference documents
return NS_ERROR_NOT_AVAILABLE;
return PR_FALSE;
}
nsCOMPtr<nsIWebNavigation> parentAsWebNav =