Closed Bug 1114676 Opened 9 years ago Closed 9 years ago

Enable web components for all apps when toggling developer mode

Categories

(Firefox OS Graveyard :: Gaia, defect, P1)

x86
macOS
defect

Tracking

(firefox40 fixed)

RESOLVED FIXED
2.2 S11 (1may)
Tracking Status
firefox40 --- fixed

People

(Reporter: kgrandon, Assigned: fabrice)

References

Details

(Whiteboard: [spark])

Attachments

(3 files)

Even if they're not certified.
Master: https://github.com/mozilla-b2g/gaia/commit/1fb3b0cd205dc2cefc0e31148c10a42f19104d3a
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
I'm re-opening this as we need to get it on master. William, do you think we're ready for this? Kevin, can you take this?
No longer blocks: spark
Status: RESOLVED → REOPENED
Flags: needinfo?(wchen)
Flags: needinfo?(kgrandon)
Priority: -- → P1
Resolution: FIXED → ---
Summary: Enable web components for all apps in lightsaber branch → Enable web components for all apps
Whiteboard: [lightsaber]
Making a pull request against master ready. It's pretty easy to get this reviewed/landed, though I'll wait for William to chime in before opening up for review.

I would imagine that we should be able to turn on web components for a 3.0 release. I think it's still an unknown if we'll be doing a 2.3/2.4 release, but if worse comes to worse we could always back this out.
Flags: needinfo?(kgrandon)
I don't think we're ready for this, given that we still have outstanding spec issues [1] and opening it up to all web apps is very close to opening it up to web content.

[1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/GQoy0PNQFjA
Flags: needinfo?(wchen)
Doug - can you specify a bit here? Do you know if we need this for only the customizer, all apps, or all web content?

I believe the original intent here was so we could have hosted apps using web components. I'm just wondering if you had any additional requirements beyond that.
Flags: needinfo?(drs)
We really need this to be enabled for the Customizer since it's being injected into each and every app.

It isn't a big deal that we can't enable it by default on m-c, though. We can just do a Lightsaber-specific config change. I'm not sure if that means we'll have to maintain our own branch like we're doing now, though.

Wander, can we easily change configs for just Aries and Lightsaber, incl. OTA? Can we do this while using m-c?
Flags: needinfo?(drs) → needinfo?(wcosta)
Well does it work if we make the customizer a certified app?
No, because it's not an app. We're inheriting permissions from the app that we're injecting into.
Flags: needinfo?(wcosta)
Whiteboard: [lightsaber] → [ignite]
Whiteboard: [ignite] → [spark]
I'll add this pref to the webide "switch to dev mode" pref set.
Fabrice and I discussed this on IRC and we agreed that we would set this pref alongside developer mode (bug 1111961) indirectly by setting it at the same time as the user toggles developer mode via WebIDE (bug 1157893). 

Fabrice, could you take a look at this please?
Assignee: kgrandon → nobody
Blocks: cypress
No longer blocks: lightsaber-gaia
Depends on: 1111961
Flags: needinfo?(fabrice)
See Also: → 1157893
Summary: Enable web components for all apps → Enable web components for all apps when toggling developer mode
Could have done that in the previous patch but didn't know we would need it.
Assignee: nobody → fabrice
Flags: needinfo?(fabrice)
Attachment #8598835 - Flags: review?(poirot.alex)
Attachment #8598835 - Flags: review?(poirot.alex) → review+
https://hg.mozilla.org/mozilla-central/rev/ef9aacc12777
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S11 (1may)
(In reply to William Chen [:wchen] from comment #6)
> I don't think we're ready for this, given that we still have outstanding
> spec issues [1] and opening it up to all web apps is very close to opening
> it up to web content.
> 
> [1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/GQoy0PNQFjA

wchen: We should probably at least enable web components for privileged/hosted privileged apps. We can still disable it for all other web content until the spec issues are resolved, but in the meantime, we have the gaia-components that we would like to use to build apps for Spark/Ignite. It would be nice if we didn't have to resort to packaged certified apps just to use the gaia-components.
Flags: needinfo?(wchen)
The problem with enabling web components for privileged/hosted apps is that it's a lot harder to introduce breaking changes to the API. If we don't have control over the apps that are using web components we would have to let the apps break or keep supporting features that we don't intend to ship in an already complicated feature, and may conflict with plans to advance the APIs. I am not comfortable with enabling the feature so widely unless we are OK with having privileged/hosted apps break or we have a means to fix the apps when APIs change.

In the latest W3C web components meeting there was a lot of progress made to reach consensus across browser vendors for a v1 of shadow DOM, it's very similar to Gecko's currently implemented APIs, but not the same. For certified apps, I can see a path to migrate from the current APIs to the new ones, but if we opened up the APIs, I'm not sure we could migrate as easily anymore.
Flags: needinfo?(wchen)
According to https://groups.google.com/forum/#!topic/mozilla.dev.fxos/B4EzrJzV_KQ we want to back this out?

What would be the best strategy to do that? :-)
Is there a git-way doing that directly or does it require another patch?
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
File a new bug instead of reopening this one please.
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.