Hi all,
Is there any other comments about this feature request? I would like to choose 
option 1 to continue my work.

Thanks,
Changbin 

> -----Original Message-----
> From: Crosswalk-dev [mailto:[email protected]
> project.org] On Behalf Of Shao, Changbin
> Sent: Tuesday, November 26, 2013 1:26 PM
> To: Pozdnyakov, Mikhail; [email protected]
> Subject: Re: [Crosswalk-dev] Intent to implement : [Runtime Model] System
> event
> 
> Hi Mikhail,
> Thanks for your response and suggestion.
> Registering events at first launch time looks a good idea, while my concerns
> upon this method include,
> 
> 1. About 'onLaunched' API. I'm afraid the event manager has to execute
> application main document after receiving 'onLaunched' event, no matter
> whether application main document contains 'onLaunched' event listener or
> not.
> In detail, a typical launch procedure of a terminated application is,
> - A system level service (eg. Application service from shared mode model)
> sends 'onLaunched' event to event manager.
> - Event manager gets supported event list of the specified application, checks
> whether 'onLaunched' event is in the list. If 'onLaunched' event is in the 
> list,
> then event manager runs main document to launch the application,
> otherwise the 'onLaunched' event is ignored and nothing happens.
> As a result, it is an issue of chicken and egg. We want to register system
> events when firstly executing main document. However, the main document
> could not be executed because 'onLaunched' system event is not in the event
> list yet.
> 
> 2. We could not implement installation time API such as 'onInstalled'.
>  http://developer.chrome.com/extensions/runtime.html#event-onInstalled
> 
> Thanks,
> Changbin
> 
> > -----Original Message-----
> > From: Pozdnyakov, Mikhail
> > Sent: Monday, November 25, 2013 11:42 PM
> > To: Shao, Changbin; [email protected]
> > Subject: RE: Intent to implement : [Runtime Model] System event
> >
> > Hi,
> >
> > Can the app register its events when it is launched for the first
> > time? (no enforced main document loading after the installation)
> >
> > BR,
> > Mikhail
> >
> > ________________________________________
> > From: Crosswalk-dev
> > [[email protected]]
> > on behalf of Shao, Changbin [[email protected]]
> > Sent: Friday, November 22, 2013 8:38 AM
> > To: [email protected]
> > Subject: [Crosswalk-dev] Intent to implement : [Runtime Model] System
> > event
> >
> > Summary:
> >   A system event is an event sent by the system. This event type does
> > not originate from the DOM itself and thus lives outside of the main
> > document's lifetime. A system event can wake up a terminated
> > application. For example, "OnAlarm" event is one of this kind, it can
> > launch a terminated app's main document (AKA event page), when the
> > alarm time is scheduled. Then the main document can determine which
> view to show.
> >
> > The overall design of Runtime Model event system,
> >
> https://docs.google.com/document/d/1cDb54Cs1wjbNQPb7W44_4aj1bzPI9
> > dqsb2aRDkZmDTE/edit#heading=h.v1w5rrn37icm
> >
> > Spec: http://www.w3.org/2012/sysapps/app-lifecycle/
> >
> > Affected component: xwalk/application
> >
> > Related feature in Jira:
> > https://crosswalk-project.org/jira/browse/XWALK-1
> >
> > Target Release: Crosswalk-4
> >
> > Target Platform: N/A
> >
> > Implementation details:
> >
> > I plan to register system events at application install time. The
> > system events information is saved in system database during
> > installation, so that a system level service is able to get the system
> > events list for a specified application and wake up the application if it is
> terminated.
> >
> > There are two options to implement this feature,
> >
> > 1. 'Run main document to register event after complete installation'.
> > This is like Chromium extension way. In detail, crosswalk installs
> > application package first, after that it loads and executes the main
> > document if the main document exists. As a result, render process is
> > able to get events list information of main document, then notifies
> > browser process to write these events information into database. One
> > of the disadvantage is there may be side effect. For example, if main
> > document directly calls 'window.open()', a window will pop up during
> installation.
> >
> > 2. 'Write copy of system events information in manifest file'.  In
> > detail, application developer must writes manually into manifest file
> > with the system events information of the main document. Therefore,
> > during installation the events information will be obtained from the
> > manifest data and then is written into database. The disadvantage of
> > this way is developer has to add copy of events info in manifest file,
> > this is troublesome for application update, and also this method is
> > not able to support add/remove system event dynamically in the main
> document.
> >
> > I prefer option 1, the side effect could be alleviated by good
> > programming style. For instance, developer should use 'onLaunch' event
> > callback in the main document to open application window.
> >
> > Thanks
> > Changbin
> > _______________________________________________
> > Crosswalk-dev mailing list
> > [email protected]
> > https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
> _______________________________________________
> Crosswalk-dev mailing list
> [email protected]
> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
_______________________________________________
Crosswalk-dev mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to