Landing fix for bug 252326. Popup blocker backend improvments. Patch by Wladimir Palant <trev@gtchat.de> and jst@mozilla.org, r=bzbarsky@mit.edu, sr=brendan@mozilla.org, a=chofmann@mozilla.org

git-svn-id: svn://10.0.0.236/branches/AVIARY_1_0_20040515_BRANCH@161886 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
jst%mozilla.jstenback.com
2004-09-07 22:57:48 +00:00
parent f21ede3c91
commit 403366efee
20 changed files with 569 additions and 241 deletions

View File

@@ -428,6 +428,9 @@ struct OnLinkClickEvent : public PLEvent {
~OnLinkClickEvent();
void HandleEvent() {
nsCOMPtr<nsPIDOMWindow> window(do_QueryInterface(mHandler->mScriptGlobal));
nsAutoPopupStatePusher popupStatePusher(window, mPopupState);
mHandler->OnLinkClickSync(mContent, mVerb, mURI,
mTargetSpec.get(), mPostDataStream,
mHeadersDataStream,
@@ -441,6 +444,7 @@ struct OnLinkClickEvent : public PLEvent {
nsCOMPtr<nsIInputStream> mHeadersDataStream;
nsCOMPtr<nsIContent> mContent;
nsLinkVerb mVerb;
PopupControlState mPopupState;
};
static void PR_CALLBACK HandlePLEvent(OnLinkClickEvent* aEvent)
@@ -470,6 +474,10 @@ OnLinkClickEvent::OnLinkClickEvent(nsWebShell* aHandler,
mContent = aContent;
mVerb = aVerb;
nsCOMPtr<nsPIDOMWindow> window(do_QueryInterface(mHandler->mScriptGlobal));
mPopupState = window->GetPopupControlState();
PL_InitEvent(this, nsnull,
(PLHandleEventProc) ::HandlePLEvent,
(PLDestroyEventProc) ::DestroyPLEvent);