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

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

Issue 2923433002: Move ExecuteScript method from WebFrame to WebLocalFrame. (Closed)
Patch Set: Tweaked a comment in WebViewPlugin::WebViewHelper::main_frame [as suggested in CR feedback] Created 3 years, 6 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
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/test_runner/test_runner.h" 5 #include "content/shell/test_runner/test_runner.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <limits> 8 #include <limits>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 2022 matching lines...) Expand 10 before | Expand all | Expand 10 after
2033 2033
2034 void TestRunner::QueueReload() { 2034 void TestRunner::QueueReload() {
2035 work_queue_.AddWork(new WorkItemReload()); 2035 work_queue_.AddWork(new WorkItemReload());
2036 } 2036 }
2037 2037
2038 class WorkItemLoadingScript : public TestRunner::WorkItem { 2038 class WorkItemLoadingScript : public TestRunner::WorkItem {
2039 public: 2039 public:
2040 WorkItemLoadingScript(const std::string& script) : script_(script) {} 2040 WorkItemLoadingScript(const std::string& script) : script_(script) {}
2041 2041
2042 bool Run(WebTestDelegate*, WebView* web_view) override { 2042 bool Run(WebTestDelegate*, WebView* web_view) override {
2043 web_view->MainFrame()->ExecuteScript( 2043 blink::WebFrame* main_frame = web_view->MainFrame();
2044 if (!main_frame->IsWebLocalFrame()) {
2045 CHECK(false) << "This function cannot be called if the main frame is not "
2046 "a local frame.";
2047 return false;
2048 }
2049 main_frame->ToWebLocalFrame()->ExecuteScript(
2044 WebScriptSource(WebString::FromUTF8(script_))); 2050 WebScriptSource(WebString::FromUTF8(script_)));
2045 return true; // FIXME: Did it really start a navigation? 2051 return true; // FIXME: Did it really start a navigation?
2046 } 2052 }
2047 2053
2048 private: 2054 private:
2049 std::string script_; 2055 std::string script_;
2050 }; 2056 };
2051 2057
2052 void TestRunner::QueueLoadingScript(const std::string& script) { 2058 void TestRunner::QueueLoadingScript(const std::string& script) {
2053 work_queue_.AddWork(new WorkItemLoadingScript(script)); 2059 work_queue_.AddWork(new WorkItemLoadingScript(script));
2054 } 2060 }
2055 2061
2056 class WorkItemNonLoadingScript : public TestRunner::WorkItem { 2062 class WorkItemNonLoadingScript : public TestRunner::WorkItem {
2057 public: 2063 public:
2058 WorkItemNonLoadingScript(const std::string& script) : script_(script) {} 2064 WorkItemNonLoadingScript(const std::string& script) : script_(script) {}
2059 2065
2060 bool Run(WebTestDelegate*, WebView* web_view) override { 2066 bool Run(WebTestDelegate*, WebView* web_view) override {
2061 web_view->MainFrame()->ExecuteScript( 2067 blink::WebFrame* main_frame = web_view->MainFrame();
2068 if (!main_frame->IsWebLocalFrame()) {
2069 CHECK(false) << "This function cannot be called if the main frame is not "
2070 "a local frame.";
2071 return false;
2072 }
2073 main_frame->ToWebLocalFrame()->ExecuteScript(
2062 WebScriptSource(WebString::FromUTF8(script_))); 2074 WebScriptSource(WebString::FromUTF8(script_)));
2063 return false; 2075 return false;
2064 } 2076 }
2065 2077
2066 private: 2078 private:
2067 std::string script_; 2079 std::string script_;
2068 }; 2080 };
2069 2081
2070 void TestRunner::QueueNonLoadingScript(const std::string& script) { 2082 void TestRunner::QueueNonLoadingScript(const std::string& script) {
2071 work_queue_.AddWork(new WorkItemNonLoadingScript(script)); 2083 work_queue_.AddWork(new WorkItemNonLoadingScript(script));
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
2794 2806
2795 void TestRunner::NotifyDone() { 2807 void TestRunner::NotifyDone() {
2796 if (layout_test_runtime_flags_.wait_until_done() && !topLoadingFrame() && 2808 if (layout_test_runtime_flags_.wait_until_done() && !topLoadingFrame() &&
2797 !will_navigate_ && work_queue_.is_empty()) 2809 !will_navigate_ && work_queue_.is_empty())
2798 delegate_->TestFinished(); 2810 delegate_->TestFinished();
2799 layout_test_runtime_flags_.set_wait_until_done(false); 2811 layout_test_runtime_flags_.set_wait_until_done(false);
2800 OnLayoutTestRuntimeFlagsChanged(); 2812 OnLayoutTestRuntimeFlagsChanged();
2801 } 2813 }
2802 2814
2803 } // namespace test_runner 2815 } // namespace test_runner
OLDNEW
« no previous file with comments | « content/renderer/mojo_main_runner.cc ('k') | third_party/WebKit/Source/web/WebRemoteFrameImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698