platform/framework/web/crosswalk-tizen.git
11 years agoIt seems that shutil.make_archive doesn't support symbol links, invoke the zip comman...
Cheng Zhao [Mon, 13 May 2013 08:22:21 +0000 (16:22 +0800)]
It seems that shutil.make_archive doesn't support symbol links, invoke the zip command instead.

11 years agoWhen copying bundle the symbol links should be kept.
Cheng Zhao [Mon, 13 May 2013 07:27:49 +0000 (15:27 +0800)]
When copying bundle the symbol links should be kept.

11 years agoSave the latest version when uploading distribution.
Cheng Zhao [Sun, 12 May 2013 08:52:43 +0000 (16:52 +0800)]
Save the latest version when uploading distribution.

11 years agoUpdate node: cleanup unused hacks.
Cheng Zhao [Sun, 12 May 2013 08:18:12 +0000 (16:18 +0800)]
Update node: cleanup unused hacks.

11 years agoAdd script to download atom-shell.
Cheng Zhao [Sun, 12 May 2013 08:16:52 +0000 (16:16 +0800)]
Add script to download atom-shell.

The scripts are stolen from aroben/libchromiumcontent.

11 years agoAdd script to make distribution and upload.
Cheng Zhao [Sun, 12 May 2013 08:16:02 +0000 (16:16 +0800)]
Add script to make distribution and upload.

The scripts are stolen from aroben/libchromiumcontent.

11 years agoShip the custom node binary build with atom-shell.
Cheng Zhao [Sat, 11 May 2013 13:07:03 +0000 (21:07 +0800)]
Ship the custom node binary build with atom-shell.

This is required by the child_process.fork, which is indeed executing
the node binary to start a script.

The node fork can be found at:
https://github.com/atom/cefode-node/tree/chromium-v8

11 years agoExpose dialog.showMessageBox API.
Cheng Zhao [Fri, 10 May 2013 13:19:13 +0000 (21:19 +0800)]
Expose dialog.showMessageBox API.

11 years ago:lipstick:
Cheng Zhao [Fri, 10 May 2013 12:54:55 +0000 (20:54 +0800)]
:lipstick:

11 years agoModify Window API to be more consistent.
Cheng Zhao [Fri, 10 May 2013 12:34:05 +0000 (20:34 +0800)]
Modify Window API to be more consistent.

* '_' becomes '-'
* removes 'position' field
* adds 'center' method.

11 years agoRename atom module to atom_delegate to avoid conflicts with Atom.
Cheng Zhao [Tue, 7 May 2013 12:33:50 +0000 (20:33 +0800)]
Rename atom module to atom_delegate to avoid conflicts with Atom.

11 years agoMake sure the 'closed' event is emitted before 'window-all-closed'.
Cheng Zhao [Tue, 7 May 2013 08:20:52 +0000 (16:20 +0800)]
Make sure the 'closed' event is emitted before 'window-all-closed'.

11 years agoUpdate to lastest brightray.
Cheng Zhao [Tue, 7 May 2013 04:06:54 +0000 (12:06 +0800)]
Update to lastest brightray.

11 years agoFix whitespace/line_length warnings of cpplint.
Cheng Zhao [Tue, 7 May 2013 03:43:21 +0000 (11:43 +0800)]
Fix whitespace/line_length warnings of cpplint.

11 years agoExpose MenuModel's methods in js.
Cheng Zhao [Mon, 6 May 2013 16:03:34 +0000 (00:03 +0800)]
Expose MenuModel's methods in js.

11 years agoAdd Menu API. (WIP)
Cheng Zhao [Mon, 6 May 2013 12:27:09 +0000 (20:27 +0800)]
Add Menu API. (WIP)

11 years agoPass the native window object directly in native dialog API.
Cheng Zhao [Sun, 5 May 2013 12:36:46 +0000 (20:36 +0800)]
Pass the native window object directly in native dialog API.

11 years agoMake the CallbacksRegistry a separate module, though rather small.
Cheng Zhao [Sun, 5 May 2013 12:30:38 +0000 (20:30 +0800)]
Make the CallbacksRegistry a separate module, though rather small.

11 years agoUse cross-platform callbacks in the dialog API.
Cheng Zhao [Sun, 5 May 2013 12:24:20 +0000 (20:24 +0800)]
Use cross-platform callbacks in the dialog API.

11 years agoDon't send ATOM_BROWSER_DEREFERENCE message if context is already gone.
Cheng Zhao [Sat, 4 May 2013 15:00:57 +0000 (23:00 +0800)]
Don't send ATOM_BROWSER_DEREFERENCE message if context is already gone.

It's possible that the object gets destructed after reloading, however
since we already released all objects in browser when unloading, it
would cause troubles when sending message in an unexist context. We just
rely on the closure to mark whether the context is gone.

A more suitable solution, however, is to restart renderer process when
doing reloading.

11 years agoThe unwrapArgs relies on the valueToMeta function.
Cheng Zhao [Sat, 4 May 2013 14:59:32 +0000 (22:59 +0800)]
The unwrapArgs relies on the valueToMeta function.

11 years agoCheck whether id is valid when adding to weak map.
Cheng Zhao [Sat, 4 May 2013 14:57:17 +0000 (22:57 +0800)]
Check whether id is valid when adding to weak map.

It's possible that the object has been added to weak map before and then
erased, so having an id property doesn't mean it's added in the weak map.

11 years agoClear listeners on process object when unloading.
Cheng Zhao [Sat, 4 May 2013 13:52:14 +0000 (21:52 +0800)]
Clear listeners on process object when unloading.

The process object is created under node context, and it will live
through the reloading, so we are responsible for clearing the listeners
to make sure resources are not leaked.

11 years agoModify funtion's names to make RPC code more easy to understand.
Cheng Zhao [Sat, 4 May 2013 13:38:25 +0000 (21:38 +0800)]
Modify funtion's names to make RPC code more easy to understand.

11 years agoResupport cross-process callback.
Cheng Zhao [Sat, 4 May 2013 09:01:28 +0000 (17:01 +0800)]
Resupport cross-process callback.

It seems that it's avoidable to make callback cross-process when we
start to emitting events for GUI elements, without this feature our
implementation will be much more complicated. I will find a way to warn
about resources leak in browser.

11 years agoPass remote objects from renderer to browser by ID.
Cheng Zhao [Fri, 3 May 2013 13:50:36 +0000 (21:50 +0800)]
Pass remote objects from renderer to browser by ID.

11 years agoCache remote.getCurrentWindow.
Cheng Zhao [Fri, 3 May 2013 13:14:28 +0000 (21:14 +0800)]
Cache remote.getCurrentWindow.

11 years agoAdd the generialized showMessageBox API.
Cheng Zhao [Fri, 3 May 2013 13:03:26 +0000 (21:03 +0800)]
Add the generialized showMessageBox API.

11 years agoAdd dialog API.
Cheng Zhao [Fri, 3 May 2013 11:31:24 +0000 (19:31 +0800)]
Add dialog API.

Supported APIs:
* openFile
* openMultiFiles
* openFolder
* saveAs

Each API is asynchronous and accepts a callback.

11 years agoURL => Url, ID => Id in coffee script.
Cheng Zhao [Fri, 3 May 2013 07:21:41 +0000 (15:21 +0800)]
URL => Url, ID => Id in coffee script.

11 years agoAdd 'quit' and 'window-all-closed' events for app module.
Cheng Zhao [Fri, 3 May 2013 02:53:54 +0000 (10:53 +0800)]
Add 'quit' and 'window-all-closed' events for app module.

11 years agoAdd the 'app' built-in module.
Cheng Zhao [Thu, 2 May 2013 16:05:09 +0000 (00:05 +0800)]
Add the 'app' built-in module.

11 years agoAdd Browser class to controll when the application should quit.
Cheng Zhao [Thu, 2 May 2013 15:43:23 +0000 (23:43 +0800)]
Add Browser class to controll when the application should quit.

11 years agoAdd _mac suffix for obj-c files.
Cheng Zhao [Thu, 2 May 2013 15:03:14 +0000 (23:03 +0800)]
Add _mac suffix for obj-c files.

11 years agoAdd WindowList class to manage all windows.
Cheng Zhao [Thu, 2 May 2013 14:54:09 +0000 (22:54 +0800)]
Add WindowList class to manage all windows.

11 years agoQuiting the application is now equivalent to close all windows.
Cheng Zhao [Thu, 2 May 2013 12:09:19 +0000 (20:09 +0800)]
Quiting the application is now equivalent to close all windows.

11 years agoMake sure WindowClosed message is sent when window is destroyed.
Cheng Zhao [Thu, 2 May 2013 12:08:23 +0000 (20:08 +0800)]
Make sure WindowClosed message is sent when window is destroyed.

11 years agoAdd 'closed' and 'destroyed' event for Window.
Cheng Zhao [Thu, 2 May 2013 10:19:07 +0000 (18:19 +0800)]
Add 'closed' and 'destroyed' event for Window.

11 years agoCorrectly handle window's lifetime when it's closed.
Cheng Zhao [Wed, 1 May 2013 15:28:01 +0000 (23:28 +0800)]
Correctly handle window's lifetime when it's closed.

11 years agoAdd window closing related methods for window observer.
Cheng Zhao [Wed, 1 May 2013 08:33:19 +0000 (16:33 +0800)]
Add window closing related methods for window observer.

11 years agoSimply the closing model.
Cheng Zhao [Wed, 1 May 2013 08:12:00 +0000 (16:12 +0800)]
Simply the closing model.

11 years agoClosing a window requires closing web contents now.
Cheng Zhao [Wed, 1 May 2013 07:42:30 +0000 (15:42 +0800)]
Closing a window requires closing web contents now.

In this way, we can prevent the close of window by using beforeunload
handler.

11 years agoRelease resources in browser when renderer view is gonna unloaded.
Cheng Zhao [Wed, 1 May 2013 02:59:29 +0000 (10:59 +0800)]
Release resources in browser when renderer view is gonna unloaded.

11 years agoImplement beforeunload event.
Cheng Zhao [Tue, 30 Apr 2013 15:56:50 +0000 (23:56 +0800)]
Implement beforeunload event.

Unlike normal browser which would show a dialog to choose whether to
continue, you can just return a empty string in the handler to prevent
unloading.

11 years agoDrop support for cross-process callbacks.
Cheng Zhao [Tue, 30 Apr 2013 14:37:54 +0000 (22:37 +0800)]
Drop support for cross-process callbacks.

Now it's forbidden for browser to store reference to objects (including
functions) in renderer, because when the renderer is destroyed, it's
extremely hard to clean all of corresponding objects in browser
correctly, which would cause very bad resources leak.

11 years agoEnable getting window from routing id and process id.
Cheng Zhao [Tue, 30 Apr 2013 12:32:23 +0000 (20:32 +0800)]
Enable getting window from routing id and process id.

11 years agoUpdate to newest brightray.
Cheng Zhao [Tue, 30 Apr 2013 10:59:07 +0000 (18:59 +0800)]
Update to newest brightray.

11 years agoAdd API to get any global variable from browser.
Cheng Zhao [Tue, 30 Apr 2013 08:27:14 +0000 (16:27 +0800)]
Add API to get any global variable from browser.

11 years agoAdd Clipboard API.
Cheng Zhao [Tue, 30 Apr 2013 08:10:25 +0000 (16:10 +0800)]
Add Clipboard API.

11 years agoAdd shell.beep() API.
Cheng Zhao [Mon, 29 Apr 2013 14:10:03 +0000 (22:10 +0800)]
Add shell.beep() API.

11 years agoAdd Shell API.
Cheng Zhao [Mon, 29 Apr 2013 13:57:05 +0000 (21:57 +0800)]
Add Shell API.

Include APIs:
shell.showItemInFolder
shell.openItem
shell.openExternal
shell.moveItemToTrash

11 years agoAdd platform_util from Chrome.
Cheng Zhao [Mon, 29 Apr 2013 12:41:11 +0000 (20:41 +0800)]
Add platform_util from Chrome.

The platform_util files just come from chrome/browser/ with slight
modifications so it doesn't depend on grit/generate_resources.h, which
is not availabe in libchromiumcontent because it's generated by chrome's
chrome/app/generated_resources.grd.

11 years agoFix header guard.
Cheng Zhao [Mon, 29 Apr 2013 12:40:59 +0000 (20:40 +0800)]
Fix header guard.

11 years ago:lipstick:
Cheng Zhao [Mon, 29 Apr 2013 11:56:12 +0000 (19:56 +0800)]
:lipstick:

11 years agoAdd vendor/ to .gitignore, so ag won't search it.
Cheng Zhao [Mon, 29 Apr 2013 11:39:05 +0000 (19:39 +0800)]
Add vendor/ to .gitignore, so ag won't search it.

11 years agoAvoid using destoryed native objects in js API.
Cheng Zhao [Mon, 29 Apr 2013 11:38:18 +0000 (19:38 +0800)]
Avoid using destoryed native objects in js API.

11 years agoUniform message names.
Cheng Zhao [Mon, 29 Apr 2013 10:59:34 +0000 (18:59 +0800)]
Uniform message names.

Messages sent to browser should be prefixed with ATOM_BROWSER_, and
messages sent to renderer should be prefixed with ATOM_RENDERER_.

11 years agoSupport passing callbacks from renderer to browser.
Cheng Zhao [Mon, 29 Apr 2013 10:24:37 +0000 (18:24 +0800)]
Support passing callbacks from renderer to browser.

11 years agoUse camelCase not under_score, I forgot it's coffee script.
Cheng Zhao [Sat, 27 Apr 2013 11:13:24 +0000 (19:13 +0800)]
Use camelCase not under_score, I forgot it's coffee script.

11 years agoAdd remote.getCurrentWindow() API in renderer.
Cheng Zhao [Sat, 27 Apr 2013 11:06:41 +0000 (19:06 +0800)]
Add remote.getCurrentWindow() API in renderer.

11 years agoAdd API to return all keys of weak map.
Cheng Zhao [Sat, 27 Apr 2013 08:54:17 +0000 (16:54 +0800)]
Add API to return all keys of weak map.

11 years agoMake the RPC stuff code more understandable.
Cheng Zhao [Fri, 26 Apr 2013 15:58:49 +0000 (23:58 +0800)]
Make the RPC stuff code more understandable.

11 years agoAllow renderer to get object in browser for arbitrary times.
Cheng Zhao [Fri, 26 Apr 2013 15:26:41 +0000 (23:26 +0800)]
Allow renderer to get object in browser for arbitrary times.

Now, when creating a remote object in renderer, the browser will
reference the corresponding object by storing it in a strong map. And
when the remote object in renderer is GCed, the corresponding object
will be dereferenced in browser.

11 years agoKeep an id for each object added to global weak map.
Cheng Zhao [Fri, 26 Apr 2013 14:33:31 +0000 (22:33 +0800)]
Keep an id for each object added to global weak map.

11 years agoAdd remote.getObject API to get object in browser by it's ID.
Cheng Zhao [Fri, 26 Apr 2013 14:25:30 +0000 (22:25 +0800)]
Add remote.getObject API to get object in browser by it's ID.

11 years agoShould wrap WeakCallback with handle scope.
Cheng Zhao [Fri, 26 Apr 2013 13:28:41 +0000 (21:28 +0800)]
Should wrap WeakCallback with handle scope.

11 years agoSeparate stored objects by the render view.
Cheng Zhao [Fri, 26 Apr 2013 13:14:29 +0000 (21:14 +0800)]
Separate stored objects by the render view.

When a render view is closed, it's not guarrenteed that all objects'
weak callback would be called. So we must clean up all objects manually
after the render view gets closed.

11 years agoAdd WeakMap built-in module.
Cheng Zhao [Thu, 25 Apr 2013 13:46:04 +0000 (21:46 +0800)]
Add WeakMap built-in module.

11 years agoNotify creation and destruction of native objects.
Cheng Zhao [Thu, 25 Apr 2013 12:23:00 +0000 (20:23 +0800)]
Notify creation and destruction of native objects.

11 years agoEnable idle GC in browser.
Cheng Zhao [Thu, 25 Apr 2013 11:41:23 +0000 (19:41 +0800)]
Enable idle GC in browser.

11 years agoTell browser to release remote object when the object is GCed.
Cheng Zhao [Thu, 25 Apr 2013 11:26:31 +0000 (19:26 +0800)]
Tell browser to release remote object when the object is GCed.

11 years agoAdd v8_util.setDestructor.
Cheng Zhao [Thu, 25 Apr 2013 10:25:18 +0000 (18:25 +0800)]
Add v8_util.setDestructor.

This API can monitor when the object is GCed by V8, this is required by
the RPC API since we want to make sure the remote object got destroied
when object in renderer is GCed.

11 years agoCheat on the remote object's constructor name.
Cheng Zhao [Thu, 25 Apr 2013 08:36:28 +0000 (16:36 +0800)]
Cheat on the remote object's constructor name.

11 years agoAdd built-in v8_util module for internal use.
Cheng Zhao [Thu, 25 Apr 2013 08:30:31 +0000 (16:30 +0800)]
Add built-in v8_util module for internal use.

11 years agoBetter support of array type in RPC.
Cheng Zhao [Thu, 25 Apr 2013 08:03:29 +0000 (16:03 +0800)]
Better support of array type in RPC.

11 years agoModule names starting with atom_common_ can be loaded by both sides.
Cheng Zhao [Thu, 25 Apr 2013 07:36:01 +0000 (15:36 +0800)]
Module names starting with atom_common_ can be loaded by both sides.

11 years agoReturn object instead of function for remote object type.
Cheng Zhao [Thu, 25 Apr 2013 07:28:37 +0000 (15:28 +0800)]
Return object instead of function for remote object type.

11 years agoAdd renference links.
Cheng Zhao [Thu, 25 Apr 2013 07:12:56 +0000 (15:12 +0800)]
Add renference links.

11 years agoNo more C++ RecordedObject and ObjectsRegistry code.
Cheng Zhao [Thu, 25 Apr 2013 07:02:58 +0000 (15:02 +0800)]
No more C++ RecordedObject and ObjectsRegistry code.

All RPC API will be implemented in pure javascript.

11 years agoInitial RPC API implementation.
Cheng Zhao [Wed, 24 Apr 2013 08:43:01 +0000 (16:43 +0800)]
Initial RPC API implementation.

Basic usage is:
remote = require 'remote'
Window = remote.require 'window'
w = new Window { width: 800, height: 600 }

Still need to do:
* Beter support for Array type.
* Remote objects should cheat devtools.
* Support cross-process callbacks.

11 years agoNo more plan for ipc.sendSync in browser.
Cheng Zhao [Tue, 23 Apr 2013 14:21:49 +0000 (22:21 +0800)]
No more plan for ipc.sendSync in browser.

I want the browser to be fully asynchronous, so sending synchronous
messages from browser to renderer will be unacceptable.

11 years agoAdd ipc.sendSync in renderer.
Cheng Zhao [Tue, 23 Apr 2013 13:52:19 +0000 (21:52 +0800)]
Add ipc.sendSync in renderer.

11 years agosmall tune of IPC interface.
Cheng Zhao [Tue, 23 Apr 2013 12:57:14 +0000 (20:57 +0800)]
small tune of IPC interface.

11 years agoAdd getRoutingID and getProcessID for window API.
Cheng Zhao [Tue, 23 Apr 2013 09:21:34 +0000 (17:21 +0800)]
Add getRoutingID and getProcessID for window API.

11 years agoUse require('ipc').send to communicate between browser and renderer.
Cheng Zhao [Tue, 23 Apr 2013 04:18:07 +0000 (12:18 +0800)]
Use require('ipc').send to communicate between browser and renderer.

11 years agoMessages from renderer will be emitted to the process object in browser.
Cheng Zhao [Mon, 22 Apr 2013 14:24:02 +0000 (22:24 +0800)]
Messages from renderer will be emitted to the process object in browser.

11 years agoRenderer can now use process.send to send messages to browser.
Cheng Zhao [Mon, 22 Apr 2013 13:32:48 +0000 (21:32 +0800)]
Renderer can now use process.send to send messages to browser.

11 years agoSeparate AtomBindings for renderer.
Cheng Zhao [Mon, 22 Apr 2013 08:27:34 +0000 (16:27 +0800)]
Separate AtomBindings for renderer.

11 years agoRemove RemoteObject, C++ layer should only have basic bridges.
Cheng Zhao [Mon, 22 Apr 2013 08:16:55 +0000 (16:16 +0800)]
Remove RemoteObject, C++ layer should only have basic bridges.

11 years agoSimpler way of inheriting EventEmitter.
Cheng Zhao [Mon, 22 Apr 2013 08:11:56 +0000 (16:11 +0800)]
Simpler way of inheriting EventEmitter.

11 years agoAdd the RemoteObject API in renderer. (not implemented yet)
Cheng Zhao [Mon, 22 Apr 2013 01:13:25 +0000 (09:13 +0800)]
Add the RemoteObject API in renderer. (not implemented yet)

11 years agoRemove recorded object from registry in desturctor.
Cheng Zhao [Sun, 21 Apr 2013 08:27:30 +0000 (16:27 +0800)]
Remove recorded object from registry in desturctor.

11 years agoIgnore api_messages.{cc,h} for cpplint.
Cheng Zhao [Sun, 21 Apr 2013 07:36:48 +0000 (15:36 +0800)]
Ignore api_messages.{cc,h} for cpplint.

11 years agoShare same native bindings code on both renderer and browser.
Cheng Zhao [Sun, 21 Apr 2013 06:53:26 +0000 (14:53 +0800)]
Share same native bindings code on both renderer and browser.

11 years agoAdd API messages for IPC.
Cheng Zhao [Sun, 21 Apr 2013 03:01:04 +0000 (11:01 +0800)]
Add API messages for IPC.

11 years agoRecord all objects created by API in browser.
Cheng Zhao [Sat, 20 Apr 2013 13:52:46 +0000 (21:52 +0800)]
Record all objects created by API in browser.

11 years ago:lipstick: for cpplint.
Cheng Zhao [Sat, 20 Apr 2013 06:03:55 +0000 (14:03 +0800)]
:lipstick: for cpplint.

11 years agoImplement window.open.
Cheng Zhao [Sat, 20 Apr 2013 05:56:01 +0000 (13:56 +0800)]
Implement window.open.

11 years agoEnable creating window with existing web contents.
Cheng Zhao [Sat, 20 Apr 2013 05:42:39 +0000 (13:42 +0800)]
Enable creating window with existing web contents.

11 years agoRemembers all opened web frames.
Cheng Zhao [Sat, 20 Apr 2013 05:05:23 +0000 (13:05 +0800)]
Remembers all opened web frames.

There is a hack in WebKit to switch to the creation context of exception
when under node context, so we need to remember all window contexts.

Remove this when we have multi-context node.