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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user