summaryrefslogtreecommitdiffstats
path: root/mojo/apps
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-03 18:16:32 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-03 18:16:32 +0000
commitda9a01cfbe84f32c73988f8edb8bf2134d17f10c (patch)
tree26f74fc05001e5f98912c779e0376453c10c324f /mojo/apps
parent15877542c33babc237586513096f3077c313449c (diff)
downloadchromium_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')
-rw-r--r--mojo/apps/js/bindings/connection_unittests.js5
-rw-r--r--mojo/apps/js/mojo_runner_delegate.cc4
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);
}