зеркало из https://github.com/mozilla/pjs.git
Add a flag to nsIWebNavigation to disable popup-blocking for loads as needed.
Bug 278357, r=biesi, sr=jst, a=bsmedberg
This commit is contained in:
Родитель
9404d2126d
Коммит
1776f51ef6
|
@ -2801,6 +2801,16 @@ nsDocShell::LoadURI(const PRUnichar * aURI,
|
||||||
if (NS_FAILED(rv) || !uri)
|
if (NS_FAILED(rv) || !uri)
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
|
||||||
|
PopupControlState popupState;
|
||||||
|
if (aLoadFlags & LOAD_FLAGS_ALLOW_POPUPS) {
|
||||||
|
popupState = openAllowed;
|
||||||
|
aLoadFlags &= ~LOAD_FLAGS_ALLOW_POPUPS;
|
||||||
|
} else {
|
||||||
|
popupState = openOverridden;
|
||||||
|
}
|
||||||
|
nsCOMPtr<nsPIDOMWindow> win(do_QueryInterface(mScriptGlobal));
|
||||||
|
nsAutoPopupStatePusher statePusher(win, popupState);
|
||||||
|
|
||||||
// Don't pass certain flags that aren't needed and end up confusing
|
// Don't pass certain flags that aren't needed and end up confusing
|
||||||
// ConvertLoadTypeToDocShellLoadInfo. We do need to ensure that they are
|
// ConvertLoadTypeToDocShellLoadInfo. We do need to ensure that they are
|
||||||
// passed to LoadURI though, since it uses them.
|
// passed to LoadURI though, since it uses them.
|
||||||
|
|
|
@ -191,6 +191,12 @@ interface nsIWebNavigation : nsISupports
|
||||||
*/
|
*/
|
||||||
const unsigned long LOAD_FLAGS_FIRST_LOAD = 0x4000;
|
const unsigned long LOAD_FLAGS_FIRST_LOAD = 0x4000;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This flag specifies that the load should not be subject to popup
|
||||||
|
* blocking checks.
|
||||||
|
*/
|
||||||
|
const unsigned long LOAD_FLAGS_ALLOW_POPUPS = 0x8000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads a given URI. This will give priority to loading the requested URI
|
* Loads a given URI. This will give priority to loading the requested URI
|
||||||
* in the object implementing this interface. If it can't be loaded here
|
* in the object implementing this interface. If it can't be loaded here
|
||||||
|
|
Загрузка…
Ссылка в новой задаче