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

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

Issue 584553002: Extend the TestRunner so that the manifest-src CSP directive can be tested from layout tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Incorporate feedback Created 6 years, 3 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/renderer/test_runner/test_runner.cc
diff --git a/content/shell/renderer/test_runner/test_runner.cc b/content/shell/renderer/test_runner/test_runner.cc
index 201b4da93b23d0f1e3a3001d468e4e47cce3c7e2..81fd4617f13d994a4247d9e7a272d6a5e1a6b3c0 100644
--- a/content/shell/renderer/test_runner/test_runner.cc
+++ b/content/shell/renderer/test_runner/test_runner.cc
@@ -7,6 +7,7 @@
#include <limits>
#include "base/logging.h"
+#include "content/public/test/layouttest_support.h"
#include "content/shell/common/test_runner/test_preferences.h"
#include "content/shell/renderer/binding_helpers.h"
#include "content/shell/renderer/test_runner/WebTestDelegate.h"
@@ -286,6 +287,7 @@ class TestRunnerBindings : public gin::Wrappable<TestRunnerBindings> {
void RemoveWebPageOverlay();
void DisplayAsync();
void DisplayAsyncThen(v8::Handle<v8::Function> callback);
+ void GetManifestThen(v8::Handle<v8::Function> callback);
void CapturePixelsAsyncThen(v8::Handle<v8::Function> callback);
void CopyImageAtAndCapturePixelsAsyncThen(int x,
int y,
@@ -526,6 +528,7 @@ gin::ObjectTemplateBuilder TestRunnerBindings::GetObjectTemplateBuilder(
&TestRunnerBindings::RemoveWebPageOverlay)
.SetMethod("displayAsync", &TestRunnerBindings::DisplayAsync)
.SetMethod("displayAsyncThen", &TestRunnerBindings::DisplayAsyncThen)
+ .SetMethod("getManifestThen", &TestRunnerBindings::GetManifestThen)
.SetMethod("capturePixelsAsyncThen",
&TestRunnerBindings::CapturePixelsAsyncThen)
.SetMethod("copyImageAtAndCapturePixelsAsyncThen",
@@ -1358,6 +1361,11 @@ void TestRunnerBindings::DisplayAsyncThen(v8::Handle<v8::Function> callback) {
runner_->DisplayAsyncThen(callback);
}
+void TestRunnerBindings::GetManifestThen(v8::Handle<v8::Function> callback) {
+ if (runner_)
+ runner_->GetManifestThen(callback);
+}
+
void TestRunnerBindings::CapturePixelsAsyncThen(
v8::Handle<v8::Function> callback) {
if (runner_)
@@ -2804,6 +2812,18 @@ void TestRunner::DisplayAsyncThen(v8::Handle<v8::Function> callback) {
base::Passed(&task)));
}
+void TestRunner::GetManifestThen(v8::Handle<v8::Function> callback) {
+ scoped_ptr<InvokeCallbackTask> task(
+ new InvokeCallbackTask(this, callback));
+
+ GURL url(web_view_->mainFrame()->document().manifestURL());
Mike West 2014/09/24 15:15:47 Nit: Do you need the temp variable? I'd just put i
+
+ FetchManifest(web_view_, url,
+ base::Bind(&TestRunner::GetManifestCallback,
+ base::Unretained(this),
+ base::Passed(&task)));
+}
+
void TestRunner::CapturePixelsAsyncThen(v8::Handle<v8::Function> callback) {
scoped_ptr<InvokeCallbackTask> task(
new InvokeCallbackTask(this, callback));
@@ -2822,6 +2842,12 @@ void TestRunner::CopyImageAtAndCapturePixelsAsyncThen(
base::Passed(&task)));
}
+void TestRunner::GetManifestCallback(scoped_ptr<InvokeCallbackTask> task,
+ const blink::WebURLResponse& response,
+ const std::string& data) {
+ InvokeCallback(task.Pass());
+}
+
void TestRunner::CapturePixelsCallback(scoped_ptr<InvokeCallbackTask> task,
const SkBitmap& snapshot) {
v8::Isolate* isolate = blink::mainThreadIsolate();

Powered by Google App Engine
This is Rietveld 408576698