I believe there's not API to insert this early for Android / iOS other than in the new WKWebView.
On Thu, Dec 11, 2014 at 3:23 PM, Jesse <purplecabb...@gmail.com> wrote: > The native side knows the browser capabilities long before it's > loaded, or even created, compile time even. They will never change > after the app is built. > On WP8 the scripts are injected right before DOMContentLoaded fires, > and before any js code in the page is run. I realize other platforms > may not be able to catch the browser load events early enough to be > effective though. Anyone know the native side event flow for > iOS+Android? > > > On Dec 11, 2014, at 10:54 AM, Andrew Grieve <agri...@chromium.org> > wrote: > > > > Let's start a new thread for browserify. > > > > Jesse - def. like the idea of injecting polyfills when they are not there > > but are required. In practice though, I think it ends up pretty much the > > same anyways: > > - On start-up you need to feature-detect Promise via JS > > - If it's not there, you need to inject it. > > > > Whether the injection occurs via the native side shoving it in, or by > > cordova.js require()'ing a module is a matter of whether we check in > > es6-promise.js into each platform separately, or into cordova-js. > > > > > >> On Wed, Dec 10, 2014 at 8:35 PM, Brian LeRoux <b...@brian.io> wrote: > >> > >> we should move browserify to main and drop that insane concat code > >> > >> its not heavyweight at all. it creates a hash in iife with deps mapped > >> in…as to why dep mgmt is better than concatenating…I don't think we > need to > >> waste our time talking about that! > >> > >> On Wed, Dec 10, 2014 at 5:00 PM, Andrew Grieve <agri...@chromium.org> > >> wrote: > >> > >>> There's something implemented behind a --browserify flag, but not sure > >> what > >>> it does. > >>> > >>> Totally in favour of having CLI / plugman concatenate plugin JS with > >>> cordova.js, but not convinced that browserify is the right tool for > this, > >>> as it seems quite heavy-weight for just concatenating things. If > someone > >> is > >>> going to resume work on it, would love to hear a summary of what > problems > >>> it's solving (if more than concatenation), and why something more > >>> light-weight wouldn't be better. > >>> > >>>> On Wed, Dec 10, 2014 at 4:22 PM, Michal Mocny <mmo...@chromium.org> > >>> wrote: > >>> > >>>> We haven't worked on it, also curious. Anis, perhaps? > >>>> > >>>>> On Wed, Dec 10, 2014 at 4:08 PM, Brian LeRoux <b...@brian.io> wrote: > >>>>> > >>>>> def think we should support those specs in our great and fabled api > >>>>> audit…had not considered the load order issue > >>>>> > >>>>> not insurmountable and probably should be a feature/fix for the > >> plugin > >>>>> loader load order …but also sort of scary… reminds me of script tags > >>> hell > >>>>> > >>>>> on that note: we need to make browserify thing first class. whats the > >>>> hold > >>>>> up on that front? > >>>>> > >>>>> On Wed, Dec 10, 2014 at 12:47 PM, Michal Mocny <mmo...@chromium.org> > >>>>> wrote: > >>>>> > >>>>>> Do we prefer to invent new cordova-specific apis, or prefer to > >> match > >>>>>> standard browser apis? When there is no browser spec to match then > >>>>> design > >>>>>> comes down to aesthetics and personal preference (as you say). But > >>>> often > >>>>>> there is an existing browser spec, and then it comes down to match > >> or > >>>>>> fork. I'm in the camp of preferring to match, and was under the > >>>>> assumption > >>>>>> others here were too. > >>>>>> > >>>>>> Given the upcoming specs mentioned earlier (sockets, file, > >>> filesystem, > >>>>>> permissions, service worker, fetch), seems that fighting the > >> adoption > >>>> of > >>>>>> promises in core apis implies opposing the adoption of modern web > >>>> specs. > >>>>>> e.g. I'm assuming Andrew was referring to > >>>>>> http://www.w3.org/TR/battery-status/, since matching that spec > >>> *would* > >>>>>> require promises. > >>>>>> > >>>>>> > >>>>>> Now, as I understand, you are not saying you are opposed to > >> adoption > >>> of > >>>>>> promises in Cordova, but that you are simply against the inclusion > >>> of a > >>>>>> polyfill directly inside cordova-js. I think that a > >>> promises-polyfill > >>>>>> plugin alternative has some technical downsides [1], but they seem > >>> not > >>>> so > >>>>>> insurmountable that we shouldn't just get passed this debate and do > >>>> that. > >>>>>> > >>>>>> In my opinion, we should prefer to create a common plugin (at least > >>>> until > >>>>>> browserify), since I really hope we don't tell devs to just include > >>>> their > >>>>>> own polyfill with each plugin. > >>>>>> > >>>>>> [1]: > >>>>>> - Can't rely on a polyfill plugin for cordova-js itself. There > >> are a > >>>> few > >>>>>> places where that may have been useful. > >>>>>> - We don't currently load plugins in an order that respects plugin > >>>>>> dependencies, so every plugin relying on promises-polyfill will > >> have > >>> to > >>>>>> require() it at runtime before using and forgetting to do so > >>>>>> may-or-may-not lead to an error. Maybe we just fix this in our > >>> plugin > >>>>>> loader. > >>>>>> - It seems odd that window.Promise will exist depending on which > >>>> plugins > >>>>>> you have installed. While this technically isn't different than > >> with > >>>> any > >>>>>> plugin modifying global symbols, it seems odd-er when applied to a > >>>>>> dependant platform feature. > >>>>>> > >>>>>> -Michal > >>>>>> > >>>>>> On Wed, Dec 10, 2014 at 1:56 PM, Jesse <purplecabb...@gmail.com> > >>>> wrote: > >>>>>> > >>>>>>> Why does battery-status 'require' promises? > >>>>>>> > >>>>>>> I agree that promises are here to stay, but I am unclear why it > >>> would > >>>>> be > >>>>>> a > >>>>>>> good idea to go and change/rewrite/break our apis to use them? > >>>>>>> > >>>>>>> Most of the windows plugins use promises all over the place, the > >>>> entire > >>>>>>> async windows js api is promise based, but this has zero impact > >> on > >>>> what > >>>>>> our > >>>>>>> core-api looks like to a user. The same should apply to any > >> plugin > >>>> that > >>>>>>> wants to depend on promises, just depend on a promise plugin, > >> which > >>>> may > >>>>>> or > >>>>>>> may not add polyfil code to the dom. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> @purplecabbage > >>>>>>> risingj.com > >>>>>>> > >>>>>>> On Wed, Dec 10, 2014 at 9:41 AM, Brian LeRoux <b...@brian.io> > >> wrote: > >>>>>>> > >>>>>>>> - no technical benefit (but aesthetics, sure) > >>>>>>>> - adds weight (payload and runtime) > >>>>>>>> - might interfere with userland polly > >>>>>>>> > >>>>>>>> -1 > >>>>>>>> > >>>>>>>> On Wed, Dec 10, 2014 at 7:48 AM, Andrew Grieve < > >>>> agri...@chromium.org > >>>>>> > >>>>>>>> wrote: > >>>>>>>> > >>>>>>>>> One specific spot in core I'd like to use it is to address > >> this > >>>>> TODO > >>>>>> in > >>>>>>>>> Android's exec bridge: > >> > https://github.com/apache/cordova-js/blob/master/src/android/exec.js#L263 > >>>>>>>>> > >>>>>>>>> The actual need is for a setImmediate polyfill, but Promise > >>> does > >>>>> the > >>>>>>> same > >>>>>>>>> thing (with an extra object creation). > >>>>>>>>> > >>>>>>>>> On Wed, Dec 10, 2014 at 10:35 AM, Ian Clelland < > >>>>>> iclell...@chromium.org > >>>>>>>> > >>>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>> On Wed Dec 10 2014 at 10:17:38 AM Andrew Grieve < > >>>>>>> agri...@chromium.org> > >>>>>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>>> userland means that plugins won't be able to use them > >>> unless > >>>>>> every > >>>>>>>>> plugin > >>>>>>>>>>> also includes a copy of the polyfill within it. > >>>>>>>>>>> > >>>>>>>>>>> Looking at our core APIs, seems maybe it's just > >>>> battery-status > >>>>>> that > >>>>>>>>> will > >>>>>>>>>>> require it. Should we have battery-status include the > >>>> polyfill > >>>>>>> within > >>>>>>>>>> it? I > >>>>>>>>>>> hope not. I'd hate to get to where several plugins in my > >>> app > >>>>> all > >>>>>>>> bundle > >>>>>>>>>> the > >>>>>>>>>>> same polyfill. > >>>>>>>>>> > >>>>>>>>>> I believe that Mozilla's new File API, which I think we're > >>>>> planning > >>>>>>> to > >>>>>>>>>> implement, and which should be as core as File is now, is > >>> also > >>>>>>> heavily > >>>>>>>>>> promises-based. > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> If we move to having the entire cordova.js built using > >>>>> browserify > >>>>>>>> where > >>>>>>>>>>> every plugin gets to contribute to the JS that goes into > >>> it - > >>>>>> yes I > >>>>>>>> can > >>>>>>>>>> see > >>>>>>>>>>> this solving this use-case as well. But that also seems > >> to > >>> me > >>>>>> like > >>>>>>> a > >>>>>>>>> much > >>>>>>>>>>> larger and much more controversial change. > >>>>>>>>>>> > >>>>>>>>>>> Whether you are for or against promises - they are > >> already > >>>>> here. > >>>>>>> They > >>>>>>>>>>> exists natively on most latest mobile webviews, and every > >>>>> vendor > >>>>>>> has > >>>>>>>>>>> committed to adding them. And they are being used in > >> *most* > >>>> new > >>>>>>> specs > >>>>>>>>>> that > >>>>>>>>>>> I've seen (sockets, filesystem, permissions, service > >>> worker, > >>>>>> fetch) > >>>>>>>>>>> > >>>>>>>>>>> Are there any concrete downsides to putting Promises > >>> polyfill > >>>>>> right > >>>>>>>> in > >>>>>>>>>>> cordova-js? > >>>>>>>>>> > >>>>>>>>>> As long as the promise doesn't clobber the native > >>>> implementation, > >>>>>> if > >>>>>>> it > >>>>>>>>>> exists, and we can remove it completely from platforms when > >>>> they > >>>>>>> don't > >>>>>>>>> need > >>>>>>>>>> it anymore, it seems to me like a small price for having > >> this > >>>>>>> available > >>>>>>>>> to > >>>>>>>>>> all platforms. (Other opinions vary, I'm sure, though) > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> On Fri, Dec 5, 2014 at 4:39 PM, Joe Bowser < > >>>> bows...@gmail.com> > >>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> +1 to userland. I see other approaches causing more > >>>> problems. > >>>>>>>>>>>> > >>>>>>>>>>>> BTW: The only time I use promises is when the platform > >>>>>> explicitly > >>>>>>>>>>> requires > >>>>>>>>>>>> it, and right now that's just MozillaView. While I > >> think > >>>> it > >>>>>>> looks > >>>>>>>>>>> awesome, > >>>>>>>>>>>> I view Promises as a luxury right now and not a > >> standard > >>>>>> feature > >>>>>>> as > >>>>>>>>> of > >>>>>>>>>>> yet. > >>>>>>>>>>>> > >>>>>>>>>>>> I also really wish specs wouldn't rely on code that > >> only > >>>>> exists > >>>>>>> on > >>>>>>>>> the > >>>>>>>>>>> very > >>>>>>>>>>>> latest browsers. It just makes life harder on people > >> who > >>>> have > >>>>>> to > >>>>>>>>>>> implement > >>>>>>>>>>>> stuff. > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org > For additional commands, e-mail: dev-h...@cordova.apache.org > >