On Wed, Jul 22, 2015 at 3:38 AM, Bevis Tseng <bts...@mozilla.com> wrote: > To prevent exposing too much in the web api level unnecessarily, > instead of creating new attribute in Navigator.webidl, > we could define the ImsHandler as one attribute of MozMobileConnection and > remove mozImsManager from Navigator, since it's only related to the IMS > registration and is also suitable to be part of MozMobileConnection that > already available in Navigator.
As long as the API is only exposed to certified content, and is completely hidden from other pages, then I think you should feel free to put the API whereever in the DOM that makes most sense to you. If it turns out to be a problem in the future we can always modify the API later. I do agree with Martin that there's no point in 'moz' prefixing it, but I don't have a strong opinion either way. / Jonas > On Wed, Jul 22, 2015 at 4:57 PM, Martin Thomson <m...@mozilla.com> wrote: > >> I think that building these sorts of features into the web platform at >> large is a very bad idea. >> >> I appreciate that we operate under different constraints for Firefox >> OS devices that might have native support for IMS on the baseband chip >> and that we don't have much hope of convincing the industry of their >> folly. As a certified-only extension, it's still bad, but I recognize >> that it may be an inevitability. Drop the moz/Moz prefixing though. >> >> (I don't have enough time to go through this immediately: my time over >> the next two weeks is highly constrained, so forgive me for not >> engaging in this thread to the extent that you might like.) >> >> On Tue, Jul 21, 2015 at 11:50 PM, Bevis Tseng <bts...@mozilla.com> wrote: >> > >> > Hi all, >> > >> > I am from RIL team in Mozilla Taipei. >> > I'm glad to propose you a new module/web api called "IMS Registration >> > Manager". It is worth sharing you the details and having suggestion >> > and feedback from you! :) >> > >> > IMS(IP Multimedia Subsystem) is a new infrastructure and is very >> > important in mobile network especially for the carriers that enable >> > LTE which relies more on IP-based network and technology compared to >> > circuit-switched one in 3G/2G mobile network. >> > >> > With IMS enabled, carriers start to migrate current telephony services >> > (Call Control, Text messaging) from legacy network to reduce the >> > the maintenance expense on multiple infrastructures(LTE, GSM, CDMA). >> > The mirgation takes couple of years. That means multiple technology >> > will coexist for a while. Hence, an additional option for user to >> > toggle this feature in device side becomes required from both >> > carrier's and device vendor's perspective. >> > In addition to traditional services, with IMS, carriers can introduce >> > rich communication services like video call, video sharing, presence >> > and instant-messaging to the users. >> > >> > This is also a big task to enable IMS in device side, so we'd like to >> > work on this step by step. Introducing "IMS Registration Manager" is >> > the first step to provide user 2 additional options in settings: >> > 1. To enable/disable IMS. >> > There is no obvious difference from UX perspective when making >> > voice call or text messaging even the underlying technology is >> > changed. >> > (Note: audio quality will be better because AMR-WB is introduced.) >> > 2. To choose the preferred IMS Porfile to have better service >> > quality according to the network condition where the device user >> > is located. The device will register to IMS network with preferred >> > bearrer that user seleted. Possible options are: >> > [wifi-preferred, wifi-only, cellular-preferred, cellular-only] >> > >> > Based on these requirements, the following webidl is proposed: >> > >> > enum ImsCapability { >> > "voice-over-cellular", >> > "voice-over-wifi", >> > "video-over-cellular", >> > "video-over-wifi" >> > }; >> > >> > enum ImsProfile { >> > "wifi-preferred", >> > "wifi-only", >> > "cellular-preferred", >> > "cellular-only" >> > }; >> > >> > interface MozImsRegManager { >> > getter MozImsRegHandler? handler(unsigned long index); >> > // with multi-sim support, will be null if not supported >> > // by the device configuration. >> > >> > readonly attribute unsigned long length; >> > // with multi-sim supported, the >> > // value will be the same to the >> > // number of service-id/radio >> > // interfaces available in device. >> > }; >> > >> > interface MozImsRegHandler : EventTarget { >> > Promise<void> setEnabled(boolean enabled); >> > Promise<boolean> getEnabled(); >> > Promise<void> setPreferredProfile(ImsProfile profile); >> > Promise<ImsProfile> getPreferredProfile(); >> > >> > readonly attribute ImsCapability? capability; >> > // available when ims registered. >> > >> > readonly attribute DOMString? error; >> > // available when the ims is not >> > // registration to provide possible >> > // error cause. >> > >> > attribute EventHandler oncapabilitychange; >> > // triggered if capability or error is >> changed. >> > }; >> > >> > partial interface Navigator { >> > [Throws, Pref="dom.ims.enabled", >> > CheckPermissions="ims", // or "mobileconnection" >> > AvailableIn="CertifiedApps", UnsafeInPrerendering] >> > readonly attribute MozImsRegManager mozImsManager; >> > }; >> > >> > Any suggestion on this is really appreciated. :) >> > >> > Thanks, >> > Bevis >> > _______________________________________________ >> > dev-platform mailing list >> > dev-platform@lists.mozilla.org >> > https://lists.mozilla.org/listinfo/dev-platform >> > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform