Closed Bug 589307 Opened 11 years ago Closed 3 years ago

Can't undo/redo from unloaded viewers

Categories

(Other Applications :: DOM Inspector, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: crussell, Unassigned)

Details

Steps to reproduce:
1. Go to http://example.com
2. Find the node for the first paragraph in the DOM Nodes viewer.
3. Delete it.
4. Switch to the JS Object viewer.
5. Try to undo the node deletion.

Expected results:
Successful undeletion; the paragraph should now be present on the page again.

Actual results:
Error: uncaught exception: [Exception... "'[JavaScript Error: "(void 0) is not a constructor" {file: "chrome://inspector/content/viewers/dom/dom.js" line: 1106}]' when calling method: [nsITransaction::undoTransaction]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: chrome://inspector/content/inspector.xml :: execCommand :: line 252"  data: yes]

A lot of viewers' transactions reference the global |viewer|, usually to do something like select a row in their XUL tree.  If you unload the originating viewer however, the global |viewer| will no longer be accessible to them.  Distilling the operations into better MVC separation (by having the transaction operate on the model and having the viewer manipulate itself via transaction listeners) doesn't seem to help either.  Details are in bug 310370, comment 41.
No longer blocks: 310370
Bulk close. This component is no longer supported or maintained.

https://bugzilla.mozilla.org/show_bug.cgi?id=1499023
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Bulk close. This component is no longer supported or maintained.

https://bugzilla.mozilla.org/show_bug.cgi?id=1499023
You need to log in before you can comment on or make changes to this bug.