diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-03 18:16:32 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-03 18:16:32 +0000 |
commit | da9a01cfbe84f32c73988f8edb8bf2134d17f10c (patch) | |
tree | 26f74fc05001e5f98912c779e0376453c10c324f /mojo/apps/js | |
parent | 15877542c33babc237586513096f3077c313449c (diff) | |
download | chromium_src-da9a01cfbe84f32c73988f8edb8bf2134d17f10c.zip chromium_src-da9a01cfbe84f32c73988f8edb8bf2134d17f10c.tar.gz chromium_src-da9a01cfbe84f32c73988f8edb8bf2134d17f10c.tar.bz2 |
Change mojo JS bindings to expose a handle object, which is Closed when garbage
collected, rather than a raw integer.
BUG=357785
Review URL: https://codereview.chromium.org/214183003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261479 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/apps/js')
-rw-r--r-- | mojo/apps/js/bindings/connection_unittests.js | 5 | ||||
-rw-r--r-- | mojo/apps/js/mojo_runner_delegate.cc | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/mojo/apps/js/bindings/connection_unittests.js b/mojo/apps/js/bindings/connection_unittests.js index 3a57820..60b867d 100644 --- a/mojo/apps/js/bindings/connection_unittests.js +++ b/mojo/apps/js/bindings/connection_unittests.js @@ -53,16 +53,19 @@ define([ "mojo/public/bindings/js/connection", "mojo/public/interfaces/bindings/tests/sample_interfaces.mojom", "mojo/public/interfaces/bindings/tests/sample_service.mojom", + "gc", ], function(expect, mockSupport, core, connection, sample_interfaces, - sample_service) { + sample_service, + gc) { testClientServer(); testWriteToClosedPipe(); testRequestResponse(); this.result = "PASS"; + gc.collectGarbage(); // should not crash function testClientServer() { var receivedFrobinate = false; diff --git a/mojo/apps/js/mojo_runner_delegate.cc b/mojo/apps/js/mojo_runner_delegate.cc index 2a6c1bd..13081e4 100644 --- a/mojo/apps/js/mojo_runner_delegate.cc +++ b/mojo/apps/js/mojo_runner_delegate.cc @@ -15,6 +15,7 @@ #include "mojo/apps/js/bindings/monotonic_clock.h" #include "mojo/apps/js/bindings/threading.h" #include "mojo/bindings/js/core.h" +#include "mojo/bindings/js/handle.h" #include "mojo/bindings/js/support.h" namespace mojo { @@ -39,7 +40,8 @@ void StartCallback(base::WeakPtr<gin::Runner> runner, v8::Handle<v8::Function> start; CHECK(gin::ConvertFromV8(isolate, module, &start)); - v8::Handle<v8::Value> args[] = { gin::ConvertToV8(isolate, pipe) }; + v8::Handle<v8::Value> args[] = { + gin::ConvertToV8(isolate, mojo::Handle(pipe)) }; runner->Call(start, runner->global(), 1, args); } |