зеркало из https://github.com/mozilla/pjs.git
Bug #343933 --> images aren't getting loaded in the compose window after a save operation happens because nsMsgWindow::SetDOMWindow changes the app type to MAIL. Make callers explicitly set the app type instead of doing it in SetDOMWindow.
sr=bienvenu
This commit is contained in:
Родитель
63d6f3b200
Коммит
3516f0d813
|
@ -109,7 +109,8 @@ const nsMsgFilterMotion = Components.interfaces.nsMsgFilterMotion;
|
||||||
function onLoad()
|
function onLoad()
|
||||||
{
|
{
|
||||||
gFilterListMsgWindow = Components.classes["@mozilla.org/messenger/msgwindow;1"].createInstance(Components.interfaces.nsIMsgWindow);
|
gFilterListMsgWindow = Components.classes["@mozilla.org/messenger/msgwindow;1"].createInstance(Components.interfaces.nsIMsgWindow);
|
||||||
gFilterListMsgWindow.domWindow = window;
|
gFilterListMsgWindow.domWindow = window;
|
||||||
|
gFilterListMsgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
gFilterListMsgWindow.statusFeedback = gStatusFeedback;
|
gFilterListMsgWindow.statusFeedback = gStatusFeedback;
|
||||||
|
|
||||||
gFilterBundle = document.getElementById("bundle_filter");
|
gFilterBundle = document.getElementById("bundle_filter");
|
||||||
|
|
|
@ -189,6 +189,7 @@ function InitMsgWindow()
|
||||||
mailSession.AddMsgWindow(msgWindow);
|
mailSession.AddMsgWindow(msgWindow);
|
||||||
getBrowser().docShell.allowAuth = false;
|
getBrowser().docShell.allowAuth = false;
|
||||||
msgWindow.rootDocShell.allowAuth = true;
|
msgWindow.rootDocShell.allowAuth = true;
|
||||||
|
msgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
function AddDataSources()
|
function AddDataSources()
|
||||||
|
|
|
@ -186,6 +186,7 @@ function SubscribeOnLoad()
|
||||||
msgWindow.domWindow = window;
|
msgWindow.domWindow = window;
|
||||||
msgWindow.statusFeedback = gStatusFeedback;
|
msgWindow.statusFeedback = gStatusFeedback;
|
||||||
msgWindow.rootDocShell.allowAuth = true;
|
msgWindow.rootDocShell.allowAuth = true;
|
||||||
|
msgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
|
|
||||||
// look in arguments[0] for parameters
|
// look in arguments[0] for parameters
|
||||||
if (window.arguments && window.arguments[0]) {
|
if (window.arguments && window.arguments[0]) {
|
||||||
|
|
|
@ -214,7 +214,8 @@ function InitMsgWindow()
|
||||||
|
|
||||||
var messagepane = document.getElementById("messagepane");
|
var messagepane = document.getElementById("messagepane");
|
||||||
messagepane.docShell.allowAuth = false;
|
messagepane.docShell.allowAuth = false;
|
||||||
msgWindow.rootDocShell.allowAuth = true;
|
msgWindow.rootDocShell.allowAuth = true;
|
||||||
|
msgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
function messagePaneOnClick(event)
|
function messagePaneOnClick(event)
|
||||||
|
|
|
@ -126,6 +126,7 @@ function selectOnLoad()
|
||||||
{
|
{
|
||||||
gMsgWindow = Components.classes[msgWindowContractID].createInstance(Components.interfaces.nsIMsgWindow);
|
gMsgWindow = Components.classes[msgWindowContractID].createInstance(Components.interfaces.nsIMsgWindow);
|
||||||
gMsgWindow.domWindow = window;
|
gMsgWindow.domWindow = window;
|
||||||
|
gMsgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
|
|
||||||
gAccountManager = Components.classes["@mozilla.org/messenger/account-manager;1"].getService(Components.interfaces.nsIMsgAccountManager);
|
gAccountManager = Components.classes["@mozilla.org/messenger/account-manager;1"].getService(Components.interfaces.nsIMsgAccountManager);
|
||||||
gSynchronizeTree = document.getElementById('synchronizeTree');
|
gSynchronizeTree = document.getElementById('synchronizeTree');
|
||||||
|
|
|
@ -188,6 +188,7 @@ function SubscribeOnLoad()
|
||||||
msgWindow.domWindow = window;
|
msgWindow.domWindow = window;
|
||||||
msgWindow.statusFeedback = gStatusFeedback;
|
msgWindow.statusFeedback = gStatusFeedback;
|
||||||
msgWindow.rootDocShell.allowAuth = true;
|
msgWindow.rootDocShell.allowAuth = true;
|
||||||
|
msgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
|
|
||||||
// look in arguments[0] for parameters
|
// look in arguments[0] for parameters
|
||||||
if (window.arguments && window.arguments[0]) {
|
if (window.arguments && window.arguments[0]) {
|
||||||
|
|
|
@ -408,7 +408,8 @@ function GetFilterEditorMsgWindow()
|
||||||
var msgWindowContractID = "@mozilla.org/messenger/msgwindow;1";
|
var msgWindowContractID = "@mozilla.org/messenger/msgwindow;1";
|
||||||
var nsIMsgWindow = Components.interfaces.nsIMsgWindow;
|
var nsIMsgWindow = Components.interfaces.nsIMsgWindow;
|
||||||
gFilterEditorMsgWindow = Components.classes[msgWindowContractID].createInstance(nsIMsgWindow);
|
gFilterEditorMsgWindow = Components.classes[msgWindowContractID].createInstance(nsIMsgWindow);
|
||||||
gFilterEditorMsgWindow.domWindow = window;
|
gFilterEditorMsgWindow.domWindow = window;
|
||||||
|
gFilterEditorMsgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
}
|
}
|
||||||
return gFilterEditorMsgWindow;
|
return gFilterEditorMsgWindow;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,8 @@ const nsMsgFilterMotion = Components.interfaces.nsMsgFilterMotion;
|
||||||
function onLoad()
|
function onLoad()
|
||||||
{
|
{
|
||||||
gFilterListMsgWindow = Components.classes["@mozilla.org/messenger/msgwindow;1"].createInstance(Components.interfaces.nsIMsgWindow);
|
gFilterListMsgWindow = Components.classes["@mozilla.org/messenger/msgwindow;1"].createInstance(Components.interfaces.nsIMsgWindow);
|
||||||
gFilterListMsgWindow.domWindow = window;
|
gFilterListMsgWindow.domWindow = window;
|
||||||
|
gFilterListMsgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
gFilterListMsgWindow.statusFeedback = gStatusFeedback;
|
gFilterListMsgWindow.statusFeedback = gStatusFeedback;
|
||||||
|
|
||||||
gFilterBundle = document.getElementById("bundle_filter");
|
gFilterBundle = document.getElementById("bundle_filter");
|
||||||
|
|
|
@ -317,7 +317,8 @@ function initializeSearchWindowWidgets()
|
||||||
hideMatchAllItem();
|
hideMatchAllItem();
|
||||||
|
|
||||||
msgWindow = Components.classes[msgWindowContractID].createInstance(nsIMsgWindow);
|
msgWindow = Components.classes[msgWindowContractID].createInstance(nsIMsgWindow);
|
||||||
msgWindow.domWindow = window;
|
msgWindow.domWindow = window;
|
||||||
|
msgWindow.rootDocShell.appType = Components.interfaces.nsIDocShell.APP_TYPE_MAIL;
|
||||||
msgWindow.statusFeedback = gStatusFeedback;
|
msgWindow.statusFeedback = gStatusFeedback;
|
||||||
|
|
||||||
// functionality to enable/disable buttons using nsSearchResultsController
|
// functionality to enable/disable buttons using nsSearchResultsController
|
||||||
|
|
|
@ -179,8 +179,6 @@ NS_IMETHODIMP nsMsgWindow::SetStatusFeedback(nsIMsgStatusFeedback * aStatusFeedb
|
||||||
nsCOMPtr<nsIDocShell> messageWindowDocShell;
|
nsCOMPtr<nsIDocShell> messageWindowDocShell;
|
||||||
GetMessageWindowDocShell(getter_AddRefs(messageWindowDocShell));
|
GetMessageWindowDocShell(getter_AddRefs(messageWindowDocShell));
|
||||||
|
|
||||||
NS_ASSERTION(messageWindowDocShell, "No messagepane docshell found! setStatusFeedback called before setDOMWindow");
|
|
||||||
|
|
||||||
// register our status feedback object as a web progress listener
|
// register our status feedback object as a web progress listener
|
||||||
nsCOMPtr<nsIWebProgress> webProgress(do_GetInterface(messageWindowDocShell));
|
nsCOMPtr<nsIWebProgress> webProgress(do_GetInterface(messageWindowDocShell));
|
||||||
if (webProgress && mStatusFeedback && messageWindowDocShell)
|
if (webProgress && mStatusFeedback && messageWindowDocShell)
|
||||||
|
@ -266,12 +264,8 @@ NS_IMETHODIMP nsMsgWindow::SetRootDocShell(nsIDocShell * aDocShell)
|
||||||
{
|
{
|
||||||
mRootDocShellWeak = do_GetWeakReference(aDocShell);
|
mRootDocShellWeak = do_GetWeakReference(aDocShell);
|
||||||
nsCOMPtr<nsIURIContentListener> listener(do_GetInterface(aDocShell));
|
nsCOMPtr<nsIURIContentListener> listener(do_GetInterface(aDocShell));
|
||||||
if (listener) {
|
if (listener)
|
||||||
listener->SetParentContentListener(this);
|
listener->SetParentContentListener(this);
|
||||||
}
|
|
||||||
// be sure to set the application flag on the root docshell
|
|
||||||
// so it knows we are a mail application.
|
|
||||||
aDocShell->SetAppType(nsIDocShell::APP_TYPE_MAIL);
|
|
||||||
}
|
}
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче