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

Unified Diff: content/shell/test_runner/test_runner_for_specific_view.cc

Issue 2923053002: Move MainWorldScriptContext accessor/method from WebFrame to WebLocalFrame. (Closed)
Patch Set: Rebasing... 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 side-by-side diff with in-line comments
Download patch
Index: content/shell/test_runner/test_runner_for_specific_view.cc
diff --git a/content/shell/test_runner/test_runner_for_specific_view.cc b/content/shell/test_runner/test_runner_for_specific_view.cc
index e90cbab4422817f5332172d6064f4dab421229ec..461646c11e0dc3d34d36de7c8ed538da065f018d 100644
--- a/content/shell/test_runner/test_runner_for_specific_view.cc
+++ b/content/shell/test_runner/test_runner_for_specific_view.cc
@@ -185,7 +185,7 @@ void TestRunnerForSpecificView::InvokeV8CallbackWithArgs(
v8::Isolate* isolate = blink::MainThreadIsolate();
v8::HandleScope handle_scope(isolate);
- WebFrame* frame = web_view()->MainFrame();
+ blink::WebLocalFrame* frame = GetLocalMainFrame();
v8::Local<v8::Context> context = frame->MainWorldScriptContext();
if (context.IsEmpty())
return;
@@ -249,7 +249,7 @@ void TestRunnerForSpecificView::CapturePixelsCallback(
v8::HandleScope handle_scope(isolate);
v8::Local<v8::Context> context =
- web_view()->MainFrame()->MainWorldScriptContext();
+ GetLocalMainFrame()->MainWorldScriptContext();
if (context.IsEmpty())
return;
@@ -331,7 +331,7 @@ void TestRunnerForSpecificView::GetBluetoothManualChooserEventsCallback(
v8::Isolate* isolate = blink::MainThreadIsolate();
v8::HandleScope handle_scope(isolate);
v8::Local<v8::Context> context =
- web_view()->MainFrame()->MainWorldScriptContext();
+ GetLocalMainFrame()->MainWorldScriptContext();
if (context.IsEmpty())
return;
v8::Context::Scope context_scope(context);
@@ -408,7 +408,7 @@ void TestRunnerForSpecificView::DispatchBeforeInstallPromptCallback(
v8::HandleScope handle_scope(isolate);
v8::Local<v8::Context> context =
- web_view()->MainFrame()->MainWorldScriptContext();
+ GetLocalMainFrame()->MainWorldScriptContext();
if (context.IsEmpty())
return;
@@ -572,13 +572,7 @@ void TestRunnerForSpecificView::DidLosePointerLockInternal() {
}
bool TestRunnerForSpecificView::CallShouldCloseOnWebView() {
- if (!web_view()->MainFrame()->ToWebLocalFrame()) {
- CHECK(false) << "This function cannot be called if the main frame is not a "
- "local frame.";
- }
-
- return web_view()->MainFrame()->ToWebLocalFrame()->DispatchBeforeUnloadEvent(
- false);
+ return GetLocalMainFrame()->DispatchBeforeUnloadEvent(false);
}
void TestRunnerForSpecificView::SetDomainRelaxationForbiddenForURLScheme(
@@ -662,7 +656,7 @@ bool TestRunnerForSpecificView::FindString(
wrap_around = true;
}
- WebLocalFrame* frame = web_view()->MainFrame()->ToWebLocalFrame();
+ WebLocalFrame* frame = GetLocalMainFrame();
const bool find_result = frame->Find(0, WebString::FromUTF8(search_text),
find_options, wrap_around, 0);
frame->StopFinding(WebLocalFrame::kStopFindActionKeepSelection);
@@ -670,25 +664,25 @@ bool TestRunnerForSpecificView::FindString(
}
std::string TestRunnerForSpecificView::SelectionAsMarkup() {
- if (!web_view()->MainFrame()->ToWebLocalFrame()) {
- CHECK(false) << "This function cannot be called if the main frame is not a "
- "local frame.";
- }
- return web_view()->MainFrame()->ToWebLocalFrame()->SelectionAsMarkup().Utf8();
+ return GetLocalMainFrame()->SelectionAsMarkup().Utf8();
}
void TestRunnerForSpecificView::SetViewSourceForFrame(const std::string& name,
bool enabled) {
+ WebFrame* target_frame =
+ GetLocalMainFrame()->FindFrameByName(WebString::FromUTF8(name));
+ if (target_frame)
+ target_frame->EnableViewSourceMode(enabled);
+}
+
+blink::WebLocalFrame* TestRunnerForSpecificView::GetLocalMainFrame() {
if (!web_view()->MainFrame()->IsWebLocalFrame()) {
+ // Hitting the check below uncovers a new scenario that requires OOPIF
+ // support in the layout tests harness.
CHECK(false) << "This function cannot be called if the main frame is not a "
"local frame.";
}
-
- WebFrame* target_frame =
- web_view()->MainFrame()->ToWebLocalFrame()->FindFrameByName(
- WebString::FromUTF8(name));
- if (target_frame)
- target_frame->EnableViewSourceMode(enabled);
+ return web_view()->MainFrame()->ToWebLocalFrame();
}
blink::WebView* TestRunnerForSpecificView::web_view() {
« no previous file with comments | « content/shell/test_runner/test_runner_for_specific_view.h ('k') | content/shell/test_runner/web_ax_object_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698