summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Cheng Zhao [Fri, 26 Apr 2013 15:58:49 +0000 (23:58 +0800)]
Make the RPC stuff code more understandable.
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.
Cheng Zhao [Fri, 26 Apr 2013 14:33:31 +0000 (22:33 +0800)]
Keep an id for each object added to global weak map.
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.
Cheng Zhao [Fri, 26 Apr 2013 13:28:41 +0000 (21:28 +0800)]
Should wrap WeakCallback with handle scope.
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.
Cheng Zhao [Thu, 25 Apr 2013 13:46:04 +0000 (21:46 +0800)]
Add WeakMap built-in module.
Cheng Zhao [Thu, 25 Apr 2013 12:23:00 +0000 (20:23 +0800)]
Notify creation and destruction of native objects.
Cheng Zhao [Thu, 25 Apr 2013 11:41:23 +0000 (19:41 +0800)]
Enable idle GC in browser.
Cheng Zhao [Thu, 25 Apr 2013 11:26:31 +0000 (19:26 +0800)]
Tell browser to release remote object when the object is GCed.
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.
Cheng Zhao [Thu, 25 Apr 2013 08:36:28 +0000 (16:36 +0800)]
Cheat on the remote object's constructor name.
Cheng Zhao [Thu, 25 Apr 2013 08:30:31 +0000 (16:30 +0800)]
Add built-in v8_util module for internal use.
Cheng Zhao [Thu, 25 Apr 2013 08:03:29 +0000 (16:03 +0800)]
Better support of array type in RPC.
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.
Cheng Zhao [Thu, 25 Apr 2013 07:28:37 +0000 (15:28 +0800)]
Return object instead of function for remote object type.
Cheng Zhao [Thu, 25 Apr 2013 07:12:56 +0000 (15:12 +0800)]
Add renference links.
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.
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.
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.
Cheng Zhao [Tue, 23 Apr 2013 13:52:19 +0000 (21:52 +0800)]
Add ipc.sendSync in renderer.
Cheng Zhao [Tue, 23 Apr 2013 12:57:14 +0000 (20:57 +0800)]
small tune of IPC interface.
Cheng Zhao [Tue, 23 Apr 2013 09:21:34 +0000 (17:21 +0800)]
Add getRoutingID and getProcessID for window API.
Cheng Zhao [Tue, 23 Apr 2013 04:18:07 +0000 (12:18 +0800)]
Use require('ipc').send to communicate between browser and renderer.
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.
Cheng Zhao [Mon, 22 Apr 2013 13:32:48 +0000 (21:32 +0800)]
Renderer can now use process.send to send messages to browser.
Cheng Zhao [Mon, 22 Apr 2013 08:27:34 +0000 (16:27 +0800)]
Separate AtomBindings for renderer.
Cheng Zhao [Mon, 22 Apr 2013 08:16:55 +0000 (16:16 +0800)]
Remove RemoteObject, C++ layer should only have basic bridges.
Cheng Zhao [Mon, 22 Apr 2013 08:11:56 +0000 (16:11 +0800)]
Simpler way of inheriting EventEmitter.
Cheng Zhao [Mon, 22 Apr 2013 01:13:25 +0000 (09:13 +0800)]
Add the RemoteObject API in renderer. (not implemented yet)
Cheng Zhao [Sun, 21 Apr 2013 08:27:30 +0000 (16:27 +0800)]
Remove recorded object from registry in desturctor.
Cheng Zhao [Sun, 21 Apr 2013 07:36:48 +0000 (15:36 +0800)]
Ignore api_messages.{cc,h} for cpplint.
Cheng Zhao [Sun, 21 Apr 2013 06:53:26 +0000 (14:53 +0800)]
Share same native bindings code on both renderer and browser.
Cheng Zhao [Sun, 21 Apr 2013 03:01:04 +0000 (11:01 +0800)]
Add API messages for IPC.
Cheng Zhao [Sat, 20 Apr 2013 13:52:46 +0000 (21:52 +0800)]
Record all objects created by API in browser.
Cheng Zhao [Sat, 20 Apr 2013 06:03:55 +0000 (14:03 +0800)]
:lipstick: for cpplint.
Cheng Zhao [Sat, 20 Apr 2013 05:56:01 +0000 (13:56 +0800)]
Implement window.open.
Cheng Zhao [Sat, 20 Apr 2013 05:42:39 +0000 (13:42 +0800)]
Enable creating window with existing web contents.
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.
Cheng Zhao [Sat, 20 Apr 2013 03:19:25 +0000 (11:19 +0800)]
Disable renderer sandbox.
Cheng Zhao [Sat, 20 Apr 2013 03:13:06 +0000 (11:13 +0800)]
Inject node bindings to renderer's DOM.
Cheng Zhao [Fri, 19 Apr 2013 13:21:04 +0000 (21:21 +0800)]
Improve the way to integrate libuv.
Now we poll libuv's events in embed thread by adding main loop's backend
fd to a new kqueue fd, instead of directly polling on main loop's
backend fd. In this way we can avoid dealing with one shot events
overselves.
Cheng Zhao [Fri, 19 Apr 2013 10:28:13 +0000 (18:28 +0800)]
Update to latest brightray.
Cheng Zhao [Thu, 18 Apr 2013 16:06:10 +0000 (00:06 +0800)]
Add Window.url API.
Cheng Zhao [Thu, 18 Apr 2013 15:50:47 +0000 (23:50 +0800)]
Emit 'page-title-updated' as javascript event for window.
Cheng Zhao [Thu, 18 Apr 2013 13:42:20 +0000 (21:42 +0800)]
Emulate DOM's Event class.
Cheng Zhao [Thu, 18 Apr 2013 12:50:58 +0000 (20:50 +0800)]
Add observers list for NativeWindow.
Cheng Zhao [Thu, 18 Apr 2013 07:57:53 +0000 (15:57 +0800)]
Add convenient accessors for Window API.
Cheng Zhao [Thu, 18 Apr 2013 07:38:04 +0000 (15:38 +0800)]
Complete a few APIs for getters.
Cheng Zhao [Thu, 18 Apr 2013 07:09:53 +0000 (15:09 +0800)]
Add partial APIs for WebContents and NavigationController.
Cheng Zhao [Thu, 18 Apr 2013 06:30:05 +0000 (14:30 +0800)]
Add GetTitle for window API.
Cheng Zhao [Wed, 17 Apr 2013 14:49:49 +0000 (22:49 +0800)]
Expose interface of NativeWindow in javascript.
Cheng Zhao [Wed, 17 Apr 2013 12:05:43 +0000 (20:05 +0800)]
Use JavaScript to open the main window.
Cheng Zhao [Mon, 15 Apr 2013 16:26:43 +0000 (00:26 +0800)]
Fix README.
Cheng Zhao [Mon, 15 Apr 2013 16:25:08 +0000 (00:25 +0800)]
Initial empty window javascript binding.
Cheng Zhao [Mon, 15 Apr 2013 15:01:12 +0000 (23:01 +0800)]
Internal built-in module code should be wrapped under api namespace.
Cheng Zhao [Mon, 15 Apr 2013 07:39:54 +0000 (15:39 +0800)]
Initial javascript startup code.
Cheng Zhao [Sun, 14 Apr 2013 15:24:46 +0000 (23:24 +0800)]
Copy the default_app to bundle.
Cheng Zhao [Sun, 14 Apr 2013 14:48:35 +0000 (22:48 +0800)]
Write js codes in coffee script.
Cheng Zhao [Sun, 14 Apr 2013 09:34:51 +0000 (17:34 +0800)]
Add script to check coding styles.
Cheng Zhao [Sun, 14 Apr 2013 09:33:44 +0000 (17:33 +0800)]
:lipstick: for cpplint.
Cheng Zhao [Sun, 14 Apr 2013 07:36:48 +0000 (15:36 +0800)]
Add our own built-in native module system.
Cheng Zhao [Sat, 13 Apr 2013 15:38:29 +0000 (23:38 +0800)]
Don't quit browser when get fatal js error.
Cheng Zhao [Sat, 13 Apr 2013 15:38:13 +0000 (23:38 +0800)]
Use node's error reporting system in browser.
Cheng Zhao [Sat, 13 Apr 2013 15:05:13 +0000 (23:05 +0800)]
Integrate libuv with browser's message loop.
Cheng Zhao [Sat, 13 Apr 2013 13:10:41 +0000 (21:10 +0800)]
Load atom.js on startup.
Cheng Zhao [Sat, 13 Apr 2013 10:39:09 +0000 (18:39 +0800)]
Initialize node in browser process.
Cheng Zhao [Fri, 12 Apr 2013 15:16:16 +0000 (23:16 +0800)]
:lipstick:
Cheng Zhao [Fri, 12 Apr 2013 15:11:18 +0000 (23:11 +0800)]
Give URL of my libchromiumcontent build.
Cheng Zhao [Fri, 12 Apr 2013 14:52:32 +0000 (22:52 +0800)]
Build with node.
Cheng Zhao [Fri, 12 Apr 2013 13:17:54 +0000 (21:17 +0800)]
Pass brightray.gypi via parameters.
We need to make sure node.gyp can get variables in brightray.gypi, this
needs minimum modifications.
Cheng Zhao [Fri, 12 Apr 2013 12:48:02 +0000 (20:48 +0800)]
Set our WebKit preferences.
Cheng Zhao [Fri, 12 Apr 2013 12:31:15 +0000 (20:31 +0800)]
Handle keyboard events with AtomEventProcessingWindow.
Some system events like cmd+` will be handled by it automatically.
Cheng Zhao [Fri, 12 Apr 2013 08:41:15 +0000 (16:41 +0800)]
Fix devtools.
Cheng Zhao [Fri, 12 Apr 2013 07:57:17 +0000 (15:57 +0800)]
AtomBrowserMainParts is platform-independent now.
Cheng Zhao [Fri, 12 Apr 2013 07:53:29 +0000 (15:53 +0800)]
use AtomEventProcessingWindow as native window.
Cheng Zhao [Fri, 12 Apr 2013 07:24:36 +0000 (15:24 +0800)]
Steal ChromeEventProcessingWindow from chrome.
Chromium has done quite a lot of low level works for us, steal them to
ease our lives.
Cheng Zhao [Fri, 12 Apr 2013 07:04:46 +0000 (15:04 +0800)]
Implement generic native window class.
Cheng Zhao [Fri, 12 Apr 2013 01:46:58 +0000 (09:46 +0800)]
Initial empty browser.
Cheng Zhao [Thu, 11 Apr 2013 11:55:35 +0000 (19:55 +0800)]
Add submodules.