If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Moving RDM tab to a new window shows empty tool UI

VERIFIED FIXED

Status

()

Firefox
Developer Tools: Responsive Design Mode
P1
normal
VERIFIED FIXED
a year ago
a year ago

People

(Reporter: jryans, Assigned: jryans)

Tracking

unspecified
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox51 verified)

Details

(Whiteboard: [multiviewport][reserve-rdm])

After bug 1240913, if you try to:

1. Go to some page
2. Open RDM
3. Right click the tab -> Move to new window

The tab moves to a new window, but you only get an empty viewport without the content.

Also, there is an error:

Full message: TypeError: this.tab.linkedBrowser is null
Full stack: ResponsiveUI.prototype.destroy<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/responsive.html/manager.js:286:5
TaskImpl_run@resource://gre/modules/Task.jsm:319:40
Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
Promise.prototype.then@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:454:5
TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
TaskImpl_run@resource://gre/modules/Task.jsm:327:13
TaskImpl@resource://gre/modules/Task.jsm:280:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:254:14
exports.ResponsiveUIManager.closeIfNeeded<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/responsive.html/manager.js:94:29
TaskImpl_run@resource://gre/modules/Task.jsm:319:40
TaskImpl@resource://gre/modules/Task.jsm:280:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:254:14
onClose@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/responsive.html/manager.js:406:5
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
merge/forward/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:84:31
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
receive@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:115:5
transform/next@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:36:24
map/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:60:60
transform/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:43:29
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
receive@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:115:5
transform/next@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:36:24
filter/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:53:7
transform/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:43:29
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
receive@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:115:5
transform/next@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:36:24
map/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:60:60
transform/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:43:29
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
merge/forward/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:84:31
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
merge/forward/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:84:31
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
merge/forward/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:84:31
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
open/listener@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/dom.js:40:29
_beginRemoveTab@chrome://browser/content/tabbrowser.xml:2380:13
swapBrowsersAndCloseOther@chrome://browser/content/tabbrowser.xml:2610:18
gBrowserInit._delayedStartup@chrome://browser/content/browser.js:1113:11
EventListener.handleEvent*gBrowserInit.onLoad@chrome://browser/content/browser.js:1022:5
onload@chrome://browser/content/browser.xul:1:1
Flags: qe-verify?
(Assignee)

Updated

a year ago
Flags: qe-verify? → qe-verify+
QA Contact: mihai.boldan
This issue doesn't occur anymore.  If you move the tab, RDM automatically closes.  You can reopen RDM, but then it locks on with no way to close, so bug 1262806 is still valid.
Assignee: nobody → jryans
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → FIXED
Iteration: --- → 51.2 - Aug 29
Priority: P3 → P1
I managed to test this issue on Firefox 51.0a1 (2016-08-23), under Windows 10 x64, Mac OS X 10.9.5 and under Ubuntu 16.04 x64.

The issue is no longer reproducible, but two errors are thrown in the console when the tab is moved to a new window:
TypeError: this.globals.get(...) is undefinedExtensionContent.jsm:966:5
TypeError: this.client is undefined[Learn More]manager.js:338:7

Also, I noticed that if the tab is drag and dropped over the viewport, the web page is refreshed. In my opinion, the webpage should be opened in a new window.

Ryan, what's your opinion about the possible issues described above?
QA Whiteboard: [qe-rdm]
Flags: needinfo?(jryans)
(In reply to Mihai Boldan, QA [:mboldan] from comment #2)
> The issue is no longer reproducible, but two errors are thrown in the
> console when the tab is moved to a new window:
> TypeError: this.globals.get(...) is undefinedExtensionContent.jsm:966:5

The ExtensionContent.jsm line also happens on closing RDM within the same tab.  This should be covered by bug 1273721.

> TypeError: this.client is undefined[Learn More]manager.js:338:7

This is separate issue, so we should file a new bug for this.  Please be sure to have detailed STR here...  It was a bit hard for me to reproduce this one.  It seemed like you might have to open RDM, move the tab, open RDM again, move the tab again?  So far it seems to only happen on the second tab move for me.

> Also, I noticed that if the tab is drag and dropped over the viewport, the
> web page is refreshed. In my opinion, the webpage should be opened in a new
> window.

Hmm, interesting!  I am actually not sure what I would expect in this case...  I guess I am not sure what I would expect.  Looking at regular non-RDM browser tabs, it seems like dropping a tab onto the content area does nothing.  It seems fine to file a bug for this and discuss the expected behavior with others.

Thanks for testing this!
Flags: needinfo?(jryans)
Since the issues described above are covered by Bug 1273721, Bug 1299450 and Bug 1299466, I am marking this bug Verified Fixed.
Status: RESOLVED → VERIFIED
status-firefox51: --- → verified
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.