diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-28 13:50:59 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-28 13:50:59 +0000 |
commit | ad4d203fdfa512bf431459a0e526a67199ee4023 (patch) | |
tree | fddcf91e038e969cc5a8441a71501331a9a0f29d /content/shell | |
parent | e9374129686dc8d39a5fb49ed5de9366b011a75a (diff) | |
download | chromium_src-ad4d203fdfa512bf431459a0e526a67199ee4023.zip chromium_src-ad4d203fdfa512bf431459a0e526a67199ee4023.tar.gz chromium_src-ad4d203fdfa512bf431459a0e526a67199ee4023.tar.bz2 |
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
Diffstat (limited to 'content/shell')
6 files changed, 12 insertions, 0 deletions
diff --git a/content/shell/renderer/gc_controller.cc b/content/shell/renderer/gc_controller.cc index f8d3b09..8e6d7b2 100644 --- a/content/shell/renderer/gc_controller.cc +++ b/content/shell/renderer/gc_controller.cc @@ -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()); } diff --git a/content/shell/renderer/test_runner/accessibility_controller.cc b/content/shell/renderer/test_runner/accessibility_controller.cc index cfe2a00..430e00c 100644 --- a/content/shell/renderer/test_runner/accessibility_controller.cc +++ b/content/shell/renderer/test_runner/accessibility_controller.cc @@ -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()); diff --git a/content/shell/renderer/test_runner/event_sender.cc b/content/shell/renderer/test_runner/event_sender.cc index 88686df..b54485a 100644 --- a/content/shell/renderer/test_runner/event_sender.cc +++ b/content/shell/renderer/test_runner/event_sender.cc @@ -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()); } diff --git a/content/shell/renderer/test_runner/gamepad_controller.cc b/content/shell/renderer/test_runner/gamepad_controller.cc index 6affefb..f03651b 100644 --- a/content/shell/renderer/test_runner/gamepad_controller.cc +++ b/content/shell/renderer/test_runner/gamepad_controller.cc @@ -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()); } diff --git a/content/shell/renderer/test_runner/test_runner.cc b/content/shell/renderer/test_runner/test_runner.cc index 0c693f5..5097839 100644 --- a/content/shell/renderer/test_runner/test_runner.cc +++ b/content/shell/renderer/test_runner/test_runner.cc @@ -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); diff --git a/content/shell/renderer/test_runner/text_input_controller.cc b/content/shell/renderer/test_runner/text_input_controller.cc index 65b24a2..6176e0f 100644 --- a/content/shell/renderer/test_runner/text_input_controller.cc +++ b/content/shell/renderer/test_runner/text_input_controller.cc @@ -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()); } |