Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(356)

Side by Side Diff: content/shell/renderer/test_runner/test_runner.cc

Issue 478483005: Add IPC benchmarking API to Blink TestRunner (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Landing Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/shell/renderer/shell_render_view_observer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/shell/renderer/test_runner/test_runner.h" 5 #include "content/shell/renderer/test_runner/test_runner.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "content/shell/common/test_runner/test_preferences.h" 10 #include "content/shell/common/test_runner/test_preferences.h"
11 #include "content/shell/renderer/binding_helpers.h"
11 #include "content/shell/renderer/test_runner/WebTestDelegate.h" 12 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
12 #include "content/shell/renderer/test_runner/mock_web_push_client.h" 13 #include "content/shell/renderer/test_runner/mock_web_push_client.h"
13 #include "content/shell/renderer/test_runner/mock_web_speech_recognizer.h" 14 #include "content/shell/renderer/test_runner/mock_web_speech_recognizer.h"
14 #include "content/shell/renderer/test_runner/notification_presenter.h" 15 #include "content/shell/renderer/test_runner/notification_presenter.h"
15 #include "content/shell/renderer/test_runner/test_interfaces.h" 16 #include "content/shell/renderer/test_runner/test_interfaces.h"
16 #include "content/shell/renderer/test_runner/web_permissions.h" 17 #include "content/shell/renderer/test_runner/web_permissions.h"
17 #include "content/shell/renderer/test_runner/web_test_proxy.h" 18 #include "content/shell/renderer/test_runner/web_test_proxy.h"
18 #include "gin/arguments.h" 19 #include "gin/arguments.h"
19 #include "gin/array_buffer.h" 20 #include "gin/array_buffer.h"
20 #include "gin/handle.h" 21 #include "gin/handle.h"
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 307
307 DISALLOW_COPY_AND_ASSIGN(TestRunnerBindings); 308 DISALLOW_COPY_AND_ASSIGN(TestRunnerBindings);
308 }; 309 };
309 310
310 gin::WrapperInfo TestRunnerBindings::kWrapperInfo = { 311 gin::WrapperInfo TestRunnerBindings::kWrapperInfo = {
311 gin::kEmbedderNativeGin}; 312 gin::kEmbedderNativeGin};
312 313
313 // static 314 // static
314 void TestRunnerBindings::Install(base::WeakPtr<TestRunner> runner, 315 void TestRunnerBindings::Install(base::WeakPtr<TestRunner> runner,
315 WebFrame* frame) { 316 WebFrame* frame) {
316 v8::Isolate* isolate = blink::mainThreadIsolate(); 317 std::vector<std::string> names;
317 v8::HandleScope handle_scope(isolate); 318 names.push_back("testRunner");
318 v8::Handle<v8::Context> context = frame->mainWorldScriptContext(); 319 names.push_back("layoutTestController");
319 if (context.IsEmpty()) 320 return InstallAsWindowProperties(
320 return; 321 new TestRunnerBindings(runner), frame, names);
321
322 v8::Context::Scope context_scope(context);
323
324 gin::Handle<TestRunnerBindings> bindings =
325 gin::CreateHandle(isolate, new TestRunnerBindings(runner));
326 if (bindings.IsEmpty())
327 return;
328 v8::Handle<v8::Object> global = context->Global();
329 v8::Handle<v8::Value> v8_bindings = bindings.ToV8();
330 global->Set(gin::StringToV8(isolate, "testRunner"), v8_bindings);
331 global->Set(gin::StringToV8(isolate, "layoutTestController"), v8_bindings);
332 } 322 }
333 323
334 TestRunnerBindings::TestRunnerBindings(base::WeakPtr<TestRunner> runner) 324 TestRunnerBindings::TestRunnerBindings(base::WeakPtr<TestRunner> runner)
335 : runner_(runner) {} 325 : runner_(runner) {}
336 326
337 TestRunnerBindings::~TestRunnerBindings() {} 327 TestRunnerBindings::~TestRunnerBindings() {}
338 328
339 gin::ObjectTemplateBuilder TestRunnerBindings::GetObjectTemplateBuilder( 329 gin::ObjectTemplateBuilder TestRunnerBindings::GetObjectTemplateBuilder(
340 v8::Isolate* isolate) { 330 v8::Isolate* isolate) {
341 return gin::Wrappable<TestRunnerBindings>::GetObjectTemplateBuilder(isolate) 331 return gin::Wrappable<TestRunnerBindings>::GetObjectTemplateBuilder(isolate)
(...skipping 2581 matching lines...) Expand 10 before | Expand all | Expand 10 after
2923 } 2913 }
2924 2914
2925 void TestRunner::DidLosePointerLockInternal() { 2915 void TestRunner::DidLosePointerLockInternal() {
2926 bool was_locked = pointer_locked_; 2916 bool was_locked = pointer_locked_;
2927 pointer_locked_ = false; 2917 pointer_locked_ = false;
2928 if (was_locked) 2918 if (was_locked)
2929 web_view_->didLosePointerLock(); 2919 web_view_->didLosePointerLock();
2930 } 2920 }
2931 2921
2932 } // namespace content 2922 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/renderer/shell_render_view_observer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698