Commit ad4d203f authored by jochen@chromium.org's avatar jochen@chromium.org

Make sure gin Handles exist before using them

When we run out of stack space for example, we can't create an handle.

BUG=363417
R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/259993003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266545 0039d316-1c4b-4281-b951-d872f2087c98
parent e9374129
......@@ -28,6 +28,9 @@ void NetErrorPageController::Install(content::RenderFrame* render_frame) {
gin::Handle<NetErrorPageController> controller = gin::CreateHandle(
isolate, new NetErrorPageController(render_frame));
if (controller.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "errorPageController"),
controller.ToV8());
......
......@@ -33,6 +33,9 @@ void DomAutomationController::Install(RenderFrame* render_frame,
gin::Handle<DomAutomationController> controller =
gin::CreateHandle(isolate, new DomAutomationController(render_frame));
if (controller.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "domAutomationController"),
controller.ToV8());
......
......@@ -32,6 +32,9 @@ void MemoryBenchmarkingExtension::Install(blink::WebFrame* frame) {
v8::Context::Scope context_scope(context);
gin::Handle<MemoryBenchmarkingExtension> controller =
gin::CreateHandle(isolate, new MemoryBenchmarkingExtension());
if (controller.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
v8::Handle<v8::Object> chrome =
global->Get(gin::StringToV8(isolate, "chrome"))->ToObject();
......
......@@ -74,6 +74,9 @@ void SkiaBenchmarking::Install(blink::WebFrame* frame) {
gin::Handle<SkiaBenchmarking> controller =
gin::CreateHandle(isolate, new SkiaBenchmarking());
if (controller.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
v8::Handle<v8::Object> chrome =
global->Get(gin::StringToV8(isolate, "chrome"))->ToObject();
......
......@@ -87,6 +87,8 @@ void StatsCollectionController::Install(blink::WebFrame* frame) {
gin::Handle<StatsCollectionController> controller =
gin::CreateHandle(isolate, new StatsCollectionController());
if (controller.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "statsCollectionController"),
controller.ToV8());
......
......@@ -27,6 +27,8 @@ void GCController::Install(blink::WebFrame* frame) {
gin::Handle<GCController> controller =
gin::CreateHandle(isolate, new GCController());
if (controller.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "GCController"), controller.ToV8());
}
......
......@@ -61,6 +61,8 @@ void AccessibilityControllerBindings::Install(
gin::Handle<AccessibilityControllerBindings> bindings =
gin::CreateHandle(isolate,
new AccessibilityControllerBindings(controller));
if (bindings.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "accessibilityController"),
bindings.ToV8());
......
......@@ -436,6 +436,8 @@ void EventSenderBindings::Install(base::WeakPtr<EventSender> sender,
gin::Handle<EventSenderBindings> bindings =
gin::CreateHandle(isolate, new EventSenderBindings(sender));
if (bindings.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "eventSender"), bindings.ToV8());
}
......
......@@ -68,6 +68,8 @@ void GamepadControllerBindings::Install(
gin::Handle<GamepadControllerBindings> bindings =
gin::CreateHandle(isolate, new GamepadControllerBindings(controller));
if (bindings.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "gamepadController"), bindings.ToV8());
}
......
......@@ -285,6 +285,8 @@ void TestRunnerBindings::Install(base::WeakPtr<TestRunner> runner,
gin::Handle<TestRunnerBindings> bindings =
gin::CreateHandle(isolate, new TestRunnerBindings(runner));
if (bindings.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
v8::Handle<v8::Value> v8_bindings = bindings.ToV8();
global->Set(gin::StringToV8(isolate, "testRunner"), v8_bindings);
......
......@@ -68,6 +68,8 @@ void TextInputControllerBindings::Install(
gin::Handle<TextInputControllerBindings> bindings =
gin::CreateHandle(isolate, new TextInputControllerBindings(controller));
if (bindings.IsEmpty())
return;
v8::Handle<v8::Object> global = context->Global();
global->Set(gin::StringToV8(isolate, "textInputController"), bindings.ToV8());
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment