Closed
Bug 793582
Opened 12 years ago
Closed 12 years ago
Cannot open Image Manger via Tools->Image Manager->Manage Image Permissions (regression)
Categories
(SeaMonkey :: Passwords & Permissions, defect)
SeaMonkey
Passwords & Permissions
Tracking
(seamonkey2.15 fixed)
RESOLVED
FIXED
seamonkey2.15
Tracking | Status | |
---|---|---|
seamonkey2.15 | --- | fixed |
People
(Reporter: philip.chee, Assigned: ewong)
References
Details
(Keywords: regression)
Attachments
(1 file, 4 obsolete files)
Mon Sep 24 2012 12:55:10
Error: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPermissionManager.add]
Source file: chrome://navigator/content/navigator.js
Line: 826
Regression caused by Bug 175175 which added an ID here:
http://hg.mozilla.org/comm-central/rev/f6cce22f417f#l1.178
1.178 - <menuitem label="&cookieDisplayImagesCmd.label;"
1.179 + <menuitem id="menuitem_cookieDisplay"
1.180 + label="&cookieDisplayImagesCmd.label;"
1.181 accesskey="&cookieDisplayImagesCmd.accesskey;"/>
Assignee | ||
Comment 1•12 years ago
|
||
Reporter | ||
Comment 2•12 years ago
|
||
I was thinking something like this would work:
- oncommand="if (event.target.id) CookieImageAction(event.target);
+ oncommand="if (event.target.id != 'menuitem_cookieDisplay')
+ CookieImageAction(event.target);
or perhaps:
+ oncommand="if (event.target.id.startsWith('cookie_'))
+ CookieImageAction(event.target);
Assignee | ||
Comment 3•12 years ago
|
||
Attachment #664339 -
Attachment is obsolete: true
Attachment #664339 -
Flags: review?(mnyromyr)
Attachment #664819 -
Flags: review?(mnyromyr)
Assignee | ||
Comment 4•12 years ago
|
||
Attachment #664819 -
Attachment is obsolete: true
Attachment #664819 -
Flags: review?(mnyromyr)
Attachment #664821 -
Flags: review?(mnyromyr)
Comment 5•12 years ago
|
||
Comment on attachment 664821 [details] [diff] [review]
Ensure the id is not 'menuitem_cookieDisplay' before running CookieImageAction(). (v2)
>+ oncommand="if (event.target.id) && (event.target.id != 'menuitem_cookieDisplay')
>+ CookieImageAction(event.target);
> else toDataManager('|permissions');">
It really is a good idea to actually *test* patches before submitting them, *including* looking at the Error Console for unwanted behaviour. This would have shown this very obvious syntax error right away. ;-)
Apart from this, only one out of the five menuitems is meant to call the Data Manager, hence using its id in a rejection condition is a bit weird.
Just do a plain
if (event.target.id == 'menuitem_cookieDisplay')
toDataManager('|permissions');
else
CookieImageAction(event.target);
Attachment #664821 -
Flags: review?(mnyromyr) → review-
Assignee | ||
Comment 6•12 years ago
|
||
Attachment #664821 -
Attachment is obsolete: true
Attachment #667294 -
Flags: review?(mnyromyr)
Assignee | ||
Comment 7•12 years ago
|
||
(In reply to Karsten Düsterloh from comment #5)
> Comment on attachment 664821 [details] [diff] [review]
> Ensure the id is not 'menuitem_cookieDisplay' before running
> CookieImageAction(). (v2)
>
> >+ oncommand="if (event.target.id) && (event.target.id != 'menuitem_cookieDisplay')
> >+ CookieImageAction(event.target);
> > else toDataManager('|permissions');">
>
> It really is a good idea to actually *test* patches before submitting them,
> *including* looking at the Error Console for unwanted behaviour. This would
> have shown this very obvious syntax error right away. ;-)
When running the above code, it didn't even get to the point of showing the
menu list. It just hung there. And Ctrl-Shift-J doesn't work in this
case. Can you clarify why this doesn't work?:
if (event.target.id) && (event.target.id != 'menuitem_cookieDisplay')
CookieImageAction(event.target);
else
toDataManager('|permissions');
Without the first "(event.target.id) &&" part, the patch works.
My understanding is that it tests if event.target.id is non-null.
(This is purely an academic query. I've already changed the patch to
reflect your comments.)
Comment 8•12 years ago
|
||
(In reply to Edmund Wong (:ewong) from comment #7)
> Can you clarify why this doesn't work?:
> if (event.target.id) && (event.target.id != 'menuitem_cookieDisplay')
> CookieImageAction(event.target);
> else
> toDataManager('|permissions');
>
> Without the first "(event.target.id) &&" part, the patch works.
JavaScript, like C++ and others, expects this syntax:
if (expression)
Even if the expression itself consists of several other expressions in parantheses, you still need the outer brackets:
if ((expr) && (expr))
Everything else will result in a syntax error!
> My understanding is that it tests if event.target.id is non-null.
It does; you don't fail for it. With outer brackets, it'd work, but it still would be unneeded. ;-)
Comment 9•12 years ago
|
||
Comment on attachment 667294 [details] [diff] [review]
Check if the id is 'menuitem_cookieDisplay' before running CookieImageAction(). (v3)
>+ oncommand="if (event.target.id == 'menuitem_cookieDisplay')
>+ toDataManager('|permissions');
>+ else CookieImageAction(event.target);">
Either wrap both branches or none.
r=me with that.
Attachment #667294 -
Flags: review?(mnyromyr) → review+
Assignee | ||
Comment 10•12 years ago
|
||
Wrapped branch.
Attachment #667294 -
Attachment is obsolete: true
Attachment #667768 -
Flags: review+
Assignee | ||
Comment 11•12 years ago
|
||
Pushed to comm-central:
http://hg.mozilla.org/comm-central/rev/3debe9b1eed2
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment 12•12 years ago
|
||
Settings flags to make tracking of fixed bugs easier.
status-seamonkey2.15:
--- → fixed
Target Milestone: --- → seamonkey2.15
You need to log in
before you can comment on or make changes to this bug.
Description
•