Images do not appear in compose window when "Do not load remote images..." pref is set to true

RESOLVED WORKSFORME

Status

defect
RESOLVED WORKSFORME
16 years ago
11 years ago

People

(Reporter: nbaca, Assigned: sspitzer)

Tracking

({regression})

Trunk
mozilla1.6alpha

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

Reporter

Description

16 years ago
Trunk build 2003-05-22: Mac 10.1.5, WinMe
haven't tried linux yet.

Overview: Images drag-n-dropped from a website do not appear in a new message
compose window when the pref "Do not load remote images in Mail & Newsgroup
messages" is selected. This pref should not effect the new message compose window.

Steps to reproduce:
1. Go to Preferences, Privacy & Security, Images and select the checkbox "Do not
load remote images in Mail & Newsgroup messages".
2. Create a new message and drag-n-drop an image from a website into the body of
the message.

Actual Results: The image does not appear.

Deselect the pref and the image appears.

Expected Results: The image should appear even with the pref selected. This pref
should only effect remote images during display time and not composition.
Reporter

Updated

16 years ago
QA Contact: esther → nbaca
Reporter

Comment 1

16 years ago
This has regressed from N7.02.
Keywords: nsbeta1, regression
aiming for 1.4 final
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.4final
as you'd expect, the code that blocks image loading is blocking in the html
compose window, because app type of the doc shell is == 1 (APP_TYPE_MAIL)

here's a stack:

nsImgManager::ShouldLoad(nsImgManager * const 0x018d554c, int 2, nsIURI *
0x06d28c38, nsISupports * 0x06d28bd0, nsIDOMWindow * 0x053e1f2c, int *
0x0012a970) line 182
nsContentPolicy::CheckPolicy(nsContentPolicy * const 0x018d5000, int 0, int 2,
nsIURI * 0x06d28c38, nsISupports * 0x06d28bd0, nsIDOMWindow * 0x053e1f2c, int *
0x0012a970) line 140 + 43 bytes
nsContentPolicy::ShouldLoad(nsContentPolicy * const 0x018d5000, int 2, nsIURI *
0x06d28c38, nsISupports * 0x06d28bd0, nsIDOMWindow * 0x053e1f2c, int *
0x0012a970) line 167
NS_CheckContentLoadPolicy(int 2, nsIURI * 0x06d28c38, nsISupports * 0x06d28bd0,
nsIDOMWindow * 0x053e1f2c, int * 0x0012a970) line 56 + 112 bytes
nsImageLoadingContent::CanLoadImage(nsIURI * 0x06d28c38, nsIDocument *
0x05487920) line 554 + 28 bytes
nsImageLoadingContent::ImageURIChanged(const nsACString & {...}) line 414 + 29 bytes
nsImageLoadingContent::ImageURIChanged(nsImageLoadingContent * const 0x06d28bd0,
const nsAString & {...}) line 372 + 25 bytes
nsHTMLImageElement::SetAttr(nsHTMLImageElement * const 0x06d28bb0, int 0,
nsIAtom * 0x00ee4a10, const nsAString & {...}, int 0) line 622
nsHTMLFragmentContentSink::AddAttributes(const nsIParserNode & {...}, nsIContent
* 0x06d28bb0) line 931
nsHTMLFragmentContentSink::AddLeaf(nsHTMLFragmentContentSink * const 0x02f11560,
const nsIParserNode & {...}) line 608 + 21 bytes
CNavDTD::AddLeaf(const nsIParserNode * 0x06d28618) line 3698 + 25 bytes
CNavDTD::HandleDefaultStartToken(CToken * 0x06d27008, nsHTMLTag eHTMLTag_img,
nsCParserNode * 0x06d28618) line 1384 + 12 bytes
CNavDTD::HandleStartToken(CToken * 0x06d27008) line 1759 + 20 bytes
CNavDTD::HandleToken(CNavDTD * const 0x02f11d08, CToken * 0x06d27008, nsIParser
* 0x02f11458) line 942 + 12 bytes
CNavDTD::BuildModel(CNavDTD * const 0x02f11d08, nsIParser * 0x02f11458,
nsITokenizer * 0x06d28860, nsITokenObserver * 0x00000000, nsIContentSink *
0x02f11560) line 510 + 20 bytes
nsParser::BuildModel(nsParser * const 0x02f11458) line 1898 + 34 bytes
nsParser::ResumeParse(int 0, int 0, int 0) line 1765 + 12 bytes
nsParser::Parse(nsParser * const 0x02f11458, const nsAString & {...}, void *
0x0012b094, const nsACString & {...}, int 0, int 1, nsDTDMode eDTDMode_quirks)
line 1648 + 17 bytes
nsParser::ParseFragment(nsParser * const 0x02f11458, const nsAString & {...},
void * 0x00000000, nsVoidArray & {...}, unsigned int 0, const nsACString &
{...}, nsDTDMode eDTDMode_quirks) line 1696 + 58 bytes
nsHTMLEditor::ParseFragment(const nsAString & {...}, nsVoidArray & {...},
nsIDocument * 0x05487920, nsCOMPtr<nsIDOMNode> * 0x0012b6e4) line 2280 + 63 bytes
nsHTMLEditor::CreateDOMFragmentFromPaste(const nsAString & {...}, const
nsAString & {...}, const nsAString & {...}, nsCOMPtr<nsIDOMNode> * 0x0012b6e4,
int * 0x0012b6c4, int * 0x0012b748) line 2208 + 38 bytes
nsHTMLEditor::InsertHTMLWithCharsetAndContext(nsHTMLEditor * const 0x05519868,
const nsAString & {...}, const nsAString & {...}, const nsAString & {...}, const
nsAString & {...}, const nsAString & {...}, nsIDOMNode * 0x04bbe074, int 1, int
0) line 285 + 50 bytes
nsHTMLEditor::InsertFromTransferable(nsHTMLEditor * const 0x05519780,
nsITransferable * 0x06d2cc30, const nsAString & {...}, const nsAString & {...},
nsIDOMNode * 0x04bbe074, int 1, int 0) line 1047 + 75 bytes
nsHTMLEditor::InsertFromDrop(nsHTMLEditor * const 0x05519780, nsIDOMEvent *
0x02f10600) line 1378 + 55 bytes
nsTextEditorDragListener::DragDrop(nsTextEditorDragListener * const 0x0554e9c8,
nsIDOMEvent * 0x02f10600) line 773 + 25 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x055186a0,
nsIPresContext * 0x05493fa0, nsEvent * 0x0012cc9c, nsIDOMEvent * * 0x0012c8dc,
nsIDOMEventTarget * 0x05487954, unsigned int 2, nsEventStatus * 0x0012cb10) line
1975 + 41 bytes
nsDocument::HandleDOMEvent(nsDocument * const 0x05487920, nsIPresContext *
0x05493fa0, nsEvent * 0x0012cc9c, nsIDOMEvent * * 0x0012c8dc, unsigned int 2,
nsEventStatus * 0x0012cb10) line 3616
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x04fd4840,
nsIPresContext * 0x05493fa0, nsEvent * 0x0012cc9c, nsIDOMEvent * * 0x0012c8dc,
unsigned int 7, nsEventStatus * 0x0012cb10) line 1961 + 47 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012cc9c, nsIView * 0x05527ed0,
unsigned int 1, nsEventStatus * 0x0012cb10) line 6387 + 47 bytes
PresShell::HandleEvent(PresShell * const 0x055165dc, nsIView * 0x05527ed0,
nsGUIEvent * 0x0012cc9c, nsEventStatus * 0x0012cb10, int 0, int & 1) line 6288 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x05527c00, nsGUIEvent * 0x0012cc9c, int 0)
line 2314
nsView::HandleEvent(nsViewManager * 0x05524030, nsGUIEvent * 0x0012cc9c, int 0)
line 308
nsViewManager::DispatchEvent(nsViewManager * const 0x05524030, nsGUIEvent *
0x0012cc9c, nsEventStatus * 0x0012cc20) line 2044 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012cc9c) line 82
nsWindow::DispatchEvent(nsWindow * const 0x05527ccc, nsGUIEvent * 0x0012cc9c,
nsEventStatus & nsEventStatus_eIgnore) line 1054 + 10 bytes
nsNativeDragTarget::DispatchDragDropEvent(unsigned int 1403, _POINTL {...}) line 209
nsNativeDragTarget::ProcessDrag(IDataObject * 0x06bb1d20, unsigned int 1403,
unsigned long 0, _POINTL {...}, unsigned long * 0x0012cec0) line 234
nsNativeDragTarget::Drop(nsNativeDragTarget * const 0x05527e00, IDataObject *
0x06bb1d20, unsigned long 0, _POINTL {...}, unsigned long * 0x0012cec0) line 336
OLE32! 77b20018()
OLE32! 77b201ef()
OLE32! 77af3b07()
OLE32! 77af38c9()
nsDragService::StartInvokingDragSession(nsDragService * const 0x01992e40,
IDataObject * 0x06bb1d20, unsigned int 7) line 161 + 25 bytes
nsDragService::InvokeDragSession(nsDragService * const 0x01992e40, nsIDOMNode *
0x056164b0, nsISupportsArray * 0x06bb1ca8, nsIScriptableRegion * 0x00000000,
unsigned int 7) line 130
nsContentAreaDragDrop::DragGesture(nsContentAreaDragDrop * const 0x06b91b40,
nsIDOMEvent * 0x06d2d648) line 1169
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x06b5dd90,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
nsIDOMEventTarget * 0x03a73398, unsigned int 2, nsEventStatus * 0x0012efd4) line
1978 + 41 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x06b5bec0, nsIPresContext *
0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8, unsigned int 2,
nsEventStatus * 0x0012efd4) line 3302
nsXULElement::HandleChromeEvent(nsXULElement * const 0x06b5becc, nsIPresContext
* 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8, unsigned int 2,
nsEventStatus * 0x0012efd4) line 4446 + 39 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x06bad028,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 841
nsDocument::HandleDOMEvent(nsDocument * const 0x06be0650, nsIPresContext *
0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8, unsigned int 2,
nsEventStatus * 0x0012efd4) line 3626
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x06afa058,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1961 + 47 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x055ffa88,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1954 + 60 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x06cffa50,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1954 + 60 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x055942a0,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1954 + 60 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x055943c8,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1954 + 60 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x05594910,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1954 + 60 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x056160e0,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1954 + 60 bytes
nsGenericHTMLElement::HandleDOMEventForAnchors(nsIContent * 0x056160e0,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 1416 + 32 bytes
nsHTMLAnchorElement::HandleDOMEvent(nsHTMLAnchorElement * const 0x056160e0,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 2, nsEventStatus * 0x0012efd4) line 355
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x05616478,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x0012eef8,
unsigned int 7, nsEventStatus * 0x0012efd4) line 1954 + 60 bytes
nsHTMLImageElement::HandleDOMEvent(nsHTMLImageElement * const 0x05616478,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012ef8c, nsIDOMEvent * * 0x00000000,
unsigned int 1, nsEventStatus * 0x0012efd4) line 609
nsEventStateManager::GenerateDragGesture(nsIPresContext * 0x06c5d550, nsGUIEvent
* 0x0012f78c) line 1518
nsEventStateManager::PreHandleEvent(nsEventStateManager * const 0x0501eb48,
nsIPresContext * 0x06c5d550, nsEvent * 0x0012f78c, nsIFrame * 0x06d69b10,
nsEventStatus * 0x0012f574, nsIView * 0x06cff0a0) line 400
PresShell::HandleEventInternal(nsEvent * 0x0012f78c, nsIView * 0x06cff0a0,
unsigned int 1, nsEventStatus * 0x0012f574) line 6381 + 54 bytes
PresShell::HandleEvent(PresShell * const 0x055a702c, nsIView * 0x06cff0a0,
nsGUIEvent * 0x0012f78c, nsEventStatus * 0x0012f574, int 0, int & 1) line 6288 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x055ea5d8, nsGUIEvent * 0x0012f78c, int 0)
line 2314
nsView::HandleEvent(nsViewManager * 0x06d21b78, nsGUIEvent * 0x0012f78c, int 0)
line 308
nsViewManager::DispatchEvent(nsViewManager * const 0x06d21b78, nsGUIEvent *
0x0012f78c, nsEventStatus * 0x0012f684) line 2044 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f78c) line 82
nsWindow::DispatchEvent(nsWindow * const 0x055ea6a4, nsGUIEvent * 0x0012f78c,
nsEventStatus & nsEventStatus_eIgnore) line 1054 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f78c) line 1075
nsWindow::DispatchMouseEvent(unsigned int 300, unsigned int 1, nsPoint *
0x00000000) line 5203 + 21 bytes
ChildWindow::DispatchMouseEvent(unsigned int 300, unsigned int 1, nsPoint *
0x00000000) line 5460
nsWindow::ProcessMessage(unsigned int 512, unsigned int 1, long 3408076, long *
0x0012fc34) line 3975 + 28 bytes
nsWindow::WindowProc(HWND__ * 0x000a0326, unsigned int 512, unsigned int 1, long
3408076) line 1348 + 27 bytes
USER32! 77e3a244()
USER32! 77e145e5()
USER32! 77e1a792()
nsAppShellService::Run(nsAppShellService * const 0x017f1a08) line 479
main1(int 2, char * * 0x00271b40, nsISupports * 0x00ef2830) line 1268 + 32 bytes
main(int 2, char * * 0x00271b40) line 1647 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77ea847c()
this is caused by bug #167131.

that bug is about "Replying to message causes remote images to load when load
remote is disabled".

that makes sense, if I'm blocking images, on reply, I shouldn't see it when reply.

so, we need a way to allow this when the user tries to insert a remote image.

here's the stach when I do "insert image" (instead of dnd)

nsImgManager::ShouldLoad(nsImgManager * const 0x018d554c, int 2, nsIURI *
0x070c89b8, nsISupports * 0x07004510, nsIDOMWindow * 0x053e1f2c, int *
0x0012953c) line 182
nsContentPolicy::CheckPolicy(nsContentPolicy * const 0x018d5000, int 0, int 2,
nsIURI * 0x070c89b8, nsISupports * 0x07004510, nsIDOMWindow * 0x053e1f2c, int *
0x0012953c) line 140 + 43 bytes
nsContentPolicy::ShouldLoad(nsContentPolicy * const 0x018d5000, int 2, nsIURI *
0x070c89b8, nsISupports * 0x07004510, nsIDOMWindow * 0x053e1f2c, int *
0x0012953c) line 167
NS_CheckContentLoadPolicy(int 2, nsIURI * 0x070c89b8, nsISupports * 0x07004510,
nsIDOMWindow * 0x053e1f2c, int * 0x0012953c) line 56 + 112 bytes
nsImageLoadingContent::CanLoadImage(nsIURI * 0x070c89b8, nsIDocument *
0x05487920) line 554 + 28 bytes
nsImageLoadingContent::ImageURIChanged(const nsACString & {...}) line 414 + 29 bytes
nsImageLoadingContent::ImageURIChanged(nsImageLoadingContent * const 0x07004510,
const nsAString & {...}) line 372 + 25 bytes
nsHTMLImageElement::SetAttr(nsHTMLImageElement * const 0x070044f0, int 0,
nsIAtom * 0x00ee4a10, const nsAString & {...}, int 1) line 622
nsGenericHTMLElement::SetAttr(nsGenericHTMLElement * const 0x070044f0,
nsINodeInfo * 0x070c8950, const nsAString & {...}, int 1) line 1781 + 36 bytes
nsHTMLImageElement::SetAttr(nsHTMLImageElement * const 0x070044f0, nsINodeInfo *
0x070c8950, const nsAString & {...}, int 1) line 630
nsGenericElement::SetAttribute(nsGenericElement * const 0x070044f0, const
nsAString & {...}, const nsAString & {...}) line 1227 + 27 bytes
nsGenericHTMLElement::SetAttribute(nsGenericHTMLElement * const 0x070044f0,
const nsAString & {...}, const nsAString & {...}) line 123
nsHTMLImageElement::SetAttribute(nsHTMLImageElement * const 0x070044f0, const
nsAString & {...}, const nsAString & {...}) line 103 + 20 bytes
XPTC_InvokeByIndex(nsISupports * 0x07004528, unsigned int 30, unsigned int 2,
nsXPTCVariant * 0x00129b6c) line 102
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_METHOD) line 2023 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x06ff79d0, JSObject * 0x070066f8, unsigned int 2,
long * 0x070c63b8, long * 0x00129e4c) line 1284 + 14 bytes
js_Invoke(JSContext * 0x06ff79d0, unsigned int 2, unsigned int 0) line 843 + 23
bytes
js_Interpret(JSContext * 0x06ff79d0, long * 0x0012ad08) line 2852 + 15 bytes
js_Invoke(JSContext * 0x06ff79d0, unsigned int 2, unsigned int 2) line 860 + 13
bytes
js_InternalInvoke(JSContext * 0x06ff79d0, JSObject * 0x055ac348, long 117469840,
unsigned int 0, unsigned int 2, long * 0x070c80e8, long * 0x0012ae34) line 935 +
20 bytes
JS_CallFunctionValue(JSContext * 0x06ff79d0, JSObject * 0x055ac348, long
117469840, unsigned int 2, long * 0x070c80e8, long * 0x0012ae34) line 3527 + 31
bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x06def840, void * 0x055ac348,
void * 0x07007290, unsigned int 2, void * 0x070c80e8, int * 0x0012aebc, int 0)
line 1111 + 33 bytes
GlobalWindowImpl::RunTimeout(nsTimeoutImpl * 0x070c8060) line 4945 + 84 bytes
GlobalWindowImpl::TimerCallback(nsITimer * 0x070c81b8, void * 0x070c8060) line 5305
nsTimerImpl::Fire() line 382 + 17 bytes
nsTimerManager::FireNextIdleTimer(nsTimerManager * const 0x0188a3d8) line 616
nsAppShell::GetNativeEvent(nsAppShell * const 0x06eb16a0, int & 1, void * &
0x0261aff8 msg) line 198
nsXULWindow::ShowModal(nsXULWindow * const 0x06e46460) line 292 + 31 bytes
nsWebShellWindow::ShowModal(nsWebShellWindow * const 0x06e46460) line 1095
nsContentTreeOwner::ShowAsModal(nsContentTreeOwner * const 0x06eb11ec) line 447
nsWindowWatcher::OpenWindowJS(nsWindowWatcher * const 0x01824894, nsIDOMWindow *
0x04ea87dc, const char * 0x06d129f0, const char * 0x0012b6c8, const char *
0x0012b718, int 1, unsigned int 0, long * 0x06f2c334, nsIDOMWindow * *
0x0012b764) line 796
GlobalWindowImpl::OpenInternal(GlobalWindowImpl * const 0x04ea87d8, const
nsAString & {...}, const nsAString & {...}, const nsAString & {...}, int 1, long
* 0x06f2c328, unsigned int 3, nsISupports * 0x00000000, nsIDOMWindow * *
0x0012bb30) line 4569 + 141 bytes
GlobalWindowImpl::OpenDialog(GlobalWindowImpl * const 0x04ea87e0, nsIDOMWindow *
* 0x0012bb30) line 3180 + 59 bytes
XPTC_InvokeByIndex(nsISupports * 0x04ea87e0, unsigned int 16, unsigned int 1,
nsXPTCVariant * 0x0012bb30) line 102
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_METHOD) line 2023 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x04ec8760, JSObject * 0x03e994a0, unsigned int 3,
long * 0x06f2c328, long * 0x0012be10) line 1284 + 14 bytes
js_Invoke(JSContext * 0x04ec8760, unsigned int 3, unsigned int 0) line 843 + 23
bytes
js_Interpret(JSContext * 0x04ec8760, long * 0x0012cccc) line 2852 + 15 bytes
js_Invoke(JSContext * 0x04ec8760, unsigned int 2, unsigned int 2) line 860 + 13
bytes
nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJSClass * const 0x054eea58,
nsXPCWrappedJS * 0x054f2478, unsigned short 5, const nsXPTMethodInfo *
0x054eb8f0, nsXPTCMiniVariant * 0x0012d068) line 1332 + 22 bytes
nsXPCWrappedJS::CallMethod(nsXPCWrappedJS * const 0x054f2478, unsigned short 5,
const nsXPTMethodInfo * 0x054eb8f0, nsXPTCMiniVariant * 0x0012d068) line 429
PrepareAndDispatch(nsXPTCStubBase * 0x054f2478, unsigned int 5, unsigned int *
0x0012d118, unsigned int * 0x0012d108) line 117 + 31 bytes
SharedStub() line 147
nsControllerCommandTable::DoCommand(nsControllerCommandTable * const 0x054ecc60,
const char * 0x054f23d8, nsISupports * 0x00000000) line 191 + 31 bytes
nsBaseCommandController::DoCommand(nsBaseCommandController * const 0x054e98a0,
const char * 0x054f23d8) line 133
XPTC_InvokeByIndex(nsISupports * 0x054e98a0, unsigned int 5, unsigned int 1,
nsXPTCVariant * 0x0012d2f8) line 102
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_METHOD) line 2023 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x04ec8760, JSObject * 0x04f8fbe0, unsigned int 1,
long * 0x06f2c2e8, long * 0x0012d5d8) line 1284 + 14 bytes
js_Invoke(JSContext * 0x04ec8760, unsigned int 1, unsigned int 0) line 843 + 23
bytes
js_Interpret(JSContext * 0x04ec8760, long * 0x0012e494) line 2852 + 15 bytes
js_Invoke(JSContext * 0x04ec8760, unsigned int 1, unsigned int 2) line 860 + 13
bytes
js_InternalInvoke(JSContext * 0x04ec8760, JSObject * 0x03c8cb48, long 82324272,
unsigned int 0, unsigned int 1, long * 0x0012e6f0, long * 0x0012e5c0) line 935 +
20 bytes
JS_CallFunctionValue(JSContext * 0x04ec8760, JSObject * 0x03c8cb48, long
82324272, unsigned int 1, long * 0x0012e6f0, long * 0x0012e5c0) line 3527 + 31 bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x04ce3380, void * 0x03c8cb48,
void * 0x04e82b30, unsigned int 1, void * 0x0012e6f0, int * 0x0012e6f4, int 0)
line 1111 + 33 bytes
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x051230e0, nsIDOMEvent
* 0x06de1d48) line 181 + 77 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x0507e3a8,
nsIDOMEvent * 0x06de1d48, nsIDOMEventTarget * 0x06fee150, unsigned int 8,
unsigned int 7) line 1191 + 20 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x0507ddf0,
nsIPresContext * 0x04ebab50, nsEvent * 0x0012f284, nsIDOMEvent * * 0x0012f14c,
nsIDOMEventTarget * 0x06fee150, unsigned int 7, nsEventStatus * 0x0012f2d0) line
2190 + 36 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x0507df18, nsIPresContext *
0x04ebab50, nsEvent * 0x0012f284, nsIDOMEvent * * 0x0012f14c, unsigned int 7,
nsEventStatus * 0x0012f2d0) line 3302
PresShell::HandleDOMEventWithTarget(PresShell * const 0x04c34660, nsIContent *
0x0507df18, nsEvent * 0x0012f284, nsEventStatus * 0x0012f2d0) line 6458 + 39 bytes
nsMenuFrame::Execute(nsGUIEvent * 0x0012f78c) line 1718
nsMenuFrame::HandleEvent(nsMenuFrame * const 0x06d33ef8, nsIPresContext *
0x04ebab50, nsGUIEvent * 0x0012f78c, nsEventStatus * 0x0012f574) line 465
PresShell::HandleEventInternal(nsEvent * 0x0012f78c, nsIView * 0x0552a430,
unsigned int 1, nsEventStatus * 0x0012f574) line 6424 + 38 bytes
PresShell::HandleEvent(PresShell * const 0x04c34664, nsIView * 0x0552a430,
nsGUIEvent * 0x0012f78c, nsEventStatus * 0x0012f574, int 0, int & 1) line 6288 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x055e3d00, nsGUIEvent * 0x0012f78c, int 0)
line 2314
nsView::HandleEvent(nsViewManager * 0x04df9810, nsGUIEvent * 0x0012f78c, int 0)
line 308
nsViewManager::DispatchEvent(nsViewManager * const 0x04df9810, nsGUIEvent *
0x0012f78c, nsEventStatus * 0x0012f684) line 2044 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f78c) line 82
nsWindow::DispatchEvent(nsWindow * const 0x06d1a8bc, nsGUIEvent * 0x0012f78c,
nsEventStatus & nsEventStatus_eIgnore) line 1054 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f78c) line 1075
nsWindow::DispatchMouseEvent(unsigned int 301, unsigned int 0, nsPoint *
0x00000000) line 5203 + 21 bytes
ChildWindow::DispatchMouseEvent(unsigned int 301, unsigned int 0, nsPoint *
0x00000000) line 5460
nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 3538970, long *
0x0012fc34) line 3995 + 28 bytes
nsWindow::WindowProc(HWND__ * 0x002a04dc, unsigned int 514, unsigned int 0, long
3538970) line 1348 + 27 bytes
USER32! 77e3a244()
USER32! 77e145e5()
USER32! 77e1a792()
nsAppShellService::Run(nsAppShellService * const 0x017f1a08) line 479
main1(int 2, char * * 0x00271b40, nsISupports * 0x00ef2830) line 1268 + 32 bytes
main(int 2, char * * 0x00271b40) line 1647 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77ea847c()


when I reply here's the stack:

nsImgManager::ShouldLoad(nsImgManager * const 0x018d554c, int 2, nsIURI *
0x0742ac68, nsISupports * 0x0742ac00, nsIDOMWindow * 0x07223e2c, int *
0x0012e50c) line 182
nsContentPolicy::CheckPolicy(nsContentPolicy * const 0x018d5000, int 0, int 2,
nsIURI * 0x0742ac68, nsISupports * 0x0742ac00, nsIDOMWindow * 0x07223e2c, int *
0x0012e50c) line 140 + 43 bytes
nsContentPolicy::ShouldLoad(nsContentPolicy * const 0x018d5000, int 2, nsIURI *
0x0742ac68, nsISupports * 0x0742ac00, nsIDOMWindow * 0x07223e2c, int *
0x0012e50c) line 167
NS_CheckContentLoadPolicy(int 2, nsIURI * 0x0742ac68, nsISupports * 0x0742ac00,
nsIDOMWindow * 0x07223e2c, int * 0x0012e50c) line 56 + 112 bytes
nsImageLoadingContent::CanLoadImage(nsIURI * 0x0742ac68, nsIDocument *
0x0722d580) line 554 + 28 bytes
nsImageLoadingContent::ImageURIChanged(const nsACString & {...}) line 414 + 29 bytes
nsImageLoadingContent::ImageURIChanged(nsImageLoadingContent * const 0x0742ac00,
const nsAString & {...}) line 372 + 25 bytes
nsHTMLImageElement::SetAttr(nsHTMLImageElement * const 0x0742abe0, int 0,
nsIAtom * 0x00ee4a10, const nsAString & {...}, int 0) line 622
nsHTMLFragmentContentSink::AddAttributes(const nsIParserNode & {...}, nsIContent
* 0x0742abe0) line 931
nsHTMLFragmentContentSink::AddLeaf(nsHTMLFragmentContentSink * const 0x0742cb08,
const nsIParserNode & {...}) line 608 + 21 bytes
CNavDTD::AddLeaf(const nsIParserNode * 0x072e9830) line 3698 + 25 bytes
CNavDTD::HandleDefaultStartToken(CToken * 0x0742c3a8, nsHTMLTag eHTMLTag_img,
nsCParserNode * 0x072e9830) line 1384 + 12 bytes
CNavDTD::HandleStartToken(CToken * 0x0742c3a8) line 1759 + 20 bytes
CNavDTD::HandleToken(CNavDTD * const 0x072e8ca0, CToken * 0x0742c3a8, nsIParser
* 0x0742b568) line 942 + 12 bytes
CNavDTD::BuildModel(CNavDTD * const 0x072e8ca0, nsIParser * 0x0742b568,
nsITokenizer * 0x0742cf48, nsITokenObserver * 0x00000000, nsIContentSink *
0x0742cb08) line 510 + 20 bytes
nsParser::BuildModel(nsParser * const 0x0742b568) line 1898 + 34 bytes
nsParser::ResumeParse(int 0, int 0, int 0) line 1765 + 12 bytes
nsParser::Parse(nsParser * const 0x0742b568, const nsAString & {...}, void *
0x0012ec30, const nsACString & {...}, int 0, int 1, nsDTDMode eDTDMode_quirks)
line 1648 + 17 bytes
nsParser::ParseFragment(nsParser * const 0x0742b568, const nsAString & {...},
void * 0x00000000, nsVoidArray & {...}, unsigned int 0, const nsACString &
{...}, nsDTDMode eDTDMode_quirks) line 1696 + 58 bytes
nsRange::CreateContextualFragment(nsRange * const 0x073c566c, const nsAString &
{...}, nsIDOMDocumentFragment * * 0x0012f054) line 2647 + 58 bytes
nsHTMLEditor::LoadHTMLWithCharset(nsHTMLEditor * const 0x073c97e0, const
nsAString & {...}, const nsAString & {...}) line 223 + 63 bytes
nsHTMLEditor::InsertAsCitedQuotation(nsHTMLEditor * const 0x073c9894, const
nsAString & {...}, const nsAString & {...}, int 1, const nsAString & {...},
nsIDOMNode * * 0x0012f338) line 2084 + 33 bytes
nsMsgCompose::ConvertAndLoadComposeWindow(nsMsgCompose * const 0x073180b0,
nsString & {...}, nsString & {...}, nsString & {...}, int 1, int 1) line 523 +
92 bytes
QuotingOutputStreamListener::OnStopRequest(QuotingOutputStreamListener * const
0x073ebed0, nsIRequest * 0x073f5110, nsISupports * 0x073f4e74, unsigned int 0)
line 2167
nsStreamConverter::OnStopRequest(nsStreamConverter * const 0x073ec290,
nsIRequest * 0x073f5110, nsISupports * 0x073f4e74, unsigned int 0) line 1088
nsImapCacheStreamListener::OnStopRequest(nsImapCacheStreamListener * const
0x072dfe28, nsIRequest * 0x073ec778, nsISupports * 0x073f4e74, unsigned int 0)
line 7506 + 46 bytes
nsInputStreamPump::OnStateStop() line 484
nsInputStreamPump::OnInputStreamReady(nsInputStreamPump * const 0x073ec77c,
nsIAsyncInputStream * 0x073ea53c) line 324 + 11 bytes
nsInputStreamReadyEvent::EventHandler(PLEvent * 0x072e6fbc) line 117
PL_HandleEvent(PLEvent * 0x072e6fbc) line 659 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00f0dd30) line 592 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x003e01c6, unsigned int 49503, unsigned int 0,
long 15785264) line 1395 + 9 bytes
USER32! 77e3a244()
USER32! 77e145e5()
USER32! 77e1a792()
nsAppShellService::Run(nsAppShellService * const 0x017f1a08) line 479
main1(int 2, char * * 0x00271b40, nsISupports * 0x00ef2830) line 1268 + 32 bytes
main(int 2, char * * 0x00271b40) line 1647 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77ea847c()
my plan:

when quoting, set app type to mail app (so that when do fwd,reply,quote,etc, we
won't see images)

but when you insert images or dnd, app type will be unknown, so it will work.

I think we need to set & clear around these calls:

C:\TREES\TRUNK\mozilla\mailnews\compose\src\nsMsgCompose.cpp(519):       
mailEditor->InsertAsCitedQuotation(aBuf,
C:\TREES\TRUNK\mozilla\mailnews\compose\src\nsMsgCompose.cpp(525):       
mailEditor->InsertAsQuotation(aBuf,
C:\TREES\TRUNK\mozilla\mailnews\compose\src\nsMsgCompose.cpp(2338):       
mailEditor->InsertAsCitedQuotation(mMsgBody,
C:\TREES\TRUNK\mozilla\mailnews\compose\src\nsMsgCompose.cpp(2344):       
mailEditor->InsertAsQuotation(mMsgBody, getter_AddRefs(nodeInserted));

and remove this line:

C:\TREES\TRUNK\mozilla\mailnews\compose\src\nsMsgCompose.cpp(705):   
docshell->SetAppType(nsIDocShell::APP_TYPE_MAIL);
that patch works.

I need to verify that both code paths are being hit, fix the comments, and get a
review.

note, a related bug still exists:  do a reply when blocking images, we'll load
the images if we save the reply as a draft.  I'll log that.
Whiteboard: [fix in hand]

Comment 9

16 years ago
adt: nsbeta1-
Keywords: nsbeta1nsbeta1-
hope to land during alpha, I think that patch just needs some more testing.
Target Milestone: mozilla1.4final → mozilla1.5alpha
patch in hand, but in no position to land for 1.5 a.
Target Milestone: mozilla1.5alpha → mozilla1.5beta
mscott just landed this for me on the trunk.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Summary: Images do not appear in compose window when "Do not load remote images...) pref is selected → Images do not appear in compose window when "Do not load remote images..." pref is set to true
Target Milestone: mozilla1.5beta → mozilla1.6alpha
re-opening.  thing are behaving differently that I expect.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
in addition, the app suite and tbird have a different content policy implementation.

I'll discuss this with mscott.
Status: REOPENED → ASSIGNED
For what it's worth:
Moz 1.8a4-1006 blocks quoted images in replies but not inline-forwards
TB 0.8  does not block images in either
See TB bug 263345.
Product: MailNews → Core
-> WFM, the patch was checked in according comment #12 and it's not stated why the bug got re-opened. Anyhow, that was in 2003 so it's anybody's guess if it still would apply.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago13 years ago
Resolution: --- → WORKSFORME
Whiteboard: [fix in hand]
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.