Closed Bug 1306975 Opened 8 years ago Closed 6 years ago

Add support for container tabs to RDM

Categories

(DevTools :: Responsive Design Mode, defect, P2)

52 Branch
defect

Tracking

(firefox62 verified)

VERIFIED FIXED
Firefox 62
Tracking Status
firefox62 --- verified

People

(Reporter: dex, Assigned: jryans)

References

(Blocks 1 open bug)

Details

(Keywords: dev-doc-complete, nightly-community, Whiteboard: [multiviewport][reserve-rdm][OA][OA-P2])

Attachments

(1 file, 2 obsolete files)

Attached file browser-console-error.log (obsolete) —
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Build ID: 20161001030430

Steps to reproduce:

- Open a container tab (I choose "Work")
- Go to mozilla.org
- Switch to responsive design mode (Ctrl-Shift-M)


Actual results:

Page got blank


Expected results:

Responsive design mode UI should have appeared
Component: Untriaged → Developer Tools: Responsive Design Mode
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Summary: responsive mode display blank page when used within a container tab → responsive mode crash (display blank page) when used within a container tab
Attachment #8796959 - Attachment mime type: text/x-log → text/plain
Thanks for the report!
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: qe-verify+
OS: Linux → All
Priority: -- → P3
QA Contact: mihai.boldan
Hardware: x86_64 → All
Whiteboard: [multiviewport][reserve-rdm]
I ran through mozregression three different times which pointed to bug#1305376 as the culprit. Cameron, mind taking a quick look?

13:14.29 INFO: Last good revision: f6c5daab390c0772cd67dc624359e50ba539c6b4
13:14.29 INFO: First bad revision: e4e13b10667c36eeb0d24ad09f37851504977208
13:14.29 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=f6c5daab390c0772cd67dc624359e50ba539c6b4&tochange=e4e13b10667c36eeb0d24ad09f37851504977208

13:16.50 INFO: Looks like the following bug has the changes which introduced the regression:
https://bugzilla.mozilla.org/show_bug.cgi?id=1305376
Flags: needinfo?(cam)
Summary: responsive mode crash (display blank page) when used within a container tab → regression: responsive mode crash (display blank page) when used within a container tab
(In reply to Kamil Jozwiak [:kjozwiak] from comment #2)
> I ran through mozregression three different times which pointed to
> bug#1305376 as the culprit. Cameron, mind taking a quick look?
> 
> 13:14.29 INFO: Last good revision: f6c5daab390c0772cd67dc624359e50ba539c6b4
> 13:14.29 INFO: First bad revision: e4e13b10667c36eeb0d24ad09f37851504977208
> 13:14.29 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/
> pushloghtml?fromchange=f6c5daab390c0772cd67dc624359e50ba539c6b4&tochange=e4e1
> 3b10667c36eeb0d24ad09f37851504977208
> 
> 13:16.50 INFO: Looks like the following bug has the changes which introduced
> the regression:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1305376

I don't think bug 1305376 is responsible for this.  It just so happens that the changeset just prior to that bug is for bug 1296498 where we first enabled the new RDM redesign in Nightly only.

If I test an earlier Nightly build like 20160915 and manually enable new RDM by flipping "devtools.responsive.html.enabled" to true first, the problem is still present.

My assumption is that this is a bug in new RDM that needs to account for user context somewhere.
Flags: needinfo?(cam)
Summary: regression: responsive mode crash (display blank page) when used within a container tab → responsive mode crash (display blank page) when used within a container tab
Whiteboard: [multiviewport][reserve-rdm] → [multiviewport][reserve-rdm][OA]
Whiteboard: [multiviewport][reserve-rdm][OA] → [multiviewport][reserve-rdm][OA][OA-P2]
ni? me to investigate complexity here.
Flags: needinfo?(jryans)
Tanvi, as per our conversation on IRC,  I went through the STR mentioned in comment#0 and I couldn't reproduce the problem while using Private Browsing.

Platforms:
* macOS 10.12 x64 - PASSED
* Win 10 x64 VM - PASSED
* Ubuntu 16.04 x64 VM - PASSED
From my own testing, I agree with comment 5 that everything appears to behave correctly with RDM and Private Browsing.

As for container tabs, it's more complex, as I sort of suspected.  The main issue is that RDM uses swapFrameLoaders to move content between browsers.  Additionally, it also uses <iframe mozbrowser> to hold the content.  swapFrameLoaders fails when various properties of the source and destination frames don't match, and one of those is origin attributes (as I am sure you're well aware, since I've seen other bugs patching this code path for user context support).

So, to support container tabs properly, something like the following needs to be done:

1. Define what it means for <iframe mozbrowser> to have a user context and implement
  * Should it use the same attribute as <xul:browser> or something else?
2. Change RDM to set the proper attribute on the new frame before swapping content in

It's unclear to me whether all that will get done inside the 52 cycle that new RDM intends to ride the trains.  I'll convert this to a meta-bug to track the various pieces, and let's tentatively track this as blocking new RDM.  As a backup plan if this is too much to do in 52, we can add a temporary error message to RDM for container tabs to stop opening and avoid breaking the tab.
Blocks: enable-rdm
Flags: needinfo?(jryans)
Keywords: meta
Summary: responsive mode crash (display blank page) when used within a container tab → [meta] responsive mode crash (display blank page) when used within a container tab
Note that Containers will be enabled in Firefox 50+ with Test Pilot.  So if this crash issue isn't fixed, release users may experience it.
Let's play it safe here.  I'll add an error notification for now in bug 1311358, so at least the tab doesn't break.  Then we can add real support here without the time pressure.
No longer blocks: enable-rdm
Attachment #8802521 - Attachment is obsolete: true
Attachment #8802521 - Flags: review?(ntim.bugs)
Summary: [meta] responsive mode crash (display blank page) when used within a container tab → [meta] RDM support for container tabs
Hello. I'd love to see it work too.

My use case is this one: 

I have the website of my company which I develop. I would like to visit it in two ways:
- classic user
- dev user

For the dev user, I'd like to have a neutral environment, so I use containers for that. However RDM doesn't work with containers. So I had to switch like: I use "home" container for watching the website as user, and no container for dev this website. It's not the best way because as I don't have containers when I dev on it, I've got all my browser history with me when I visit it. But for the moment it works.

So I'll be really glad to be able to have all dev features when I use a container. :)
I'm a developer, and this would be very convenient.
Assignee: nobody → jryans
Status: NEW → ASSIGNED
Keywords: meta
Priority: P3 → P2
Summary: [meta] RDM support for container tabs → Add support for container tabs to RDM
Comment on attachment 8984517 [details]
Bug 1306975 - Support containers in RDM.

https://reviewboard.mozilla.org/r/250376/#review256618
Attachment #8984517 - Flags: review?(gl) → review+
https://hg.mozilla.org/mozilla-central/rev/e9a2d7e57f69
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 62
I can confirm that the issue no longer occurs on the latest Nightly 62.0a1 (2018-06-11) - 20180611220254 - across Windows 10 x64, Ubuntu 16.04 and MacOS High Sierra 10.13 platforms.
Responsive design mode works as expected in container tabs.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: