 Chromium Code Reviews
 Chromium Code Reviews 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
    
  
    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| 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()); | 
| + | 
| + FetchManifest(web_view_, url, | 
| + base::Bind(&TestRunner::GetManifestCallback, | 
| + base::Unretained(this), | 
| 
mlamouri (slow - plz ping)
2014/09/18 17:36:05
Why not passing a weakptr? TestRunner has a weak_f
 | 
| + 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(); |