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

Unified Diff: trunk/src/content/browser/devtools/renderer_overrides_handler_browsertest.cc

Issue 343033002: Revert 278472 "DevTools: Fix for Page.captureScreenshot" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 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: trunk/src/content/browser/devtools/renderer_overrides_handler_browsertest.cc
===================================================================
--- trunk/src/content/browser/devtools/renderer_overrides_handler_browsertest.cc (revision 278497)
+++ trunk/src/content/browser/devtools/renderer_overrides_handler_browsertest.cc (working copy)
@@ -2,30 +2,37 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/base64.h"
-#include "base/command_line.h"
+#include "base/basictypes.h"
#include "base/json/json_reader.h"
-#include "content/browser/devtools/devtools_protocol.h"
+#include "base/memory/scoped_ptr.h"
+#include "content/browser/devtools/renderer_overrides_handler.h"
#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_client_host.h"
-#include "content/public/browser/devtools_manager.h"
#include "content/public/browser/web_contents.h"
-#include "content/public/test/browser_test_utils.h"
#include "content/public/test/content_browser_test.h"
+#include "content/public/test/content_browser_test_utils.h"
#include "content/shell/browser/shell.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/compositor/compositor_switches.h"
-#include "ui/gfx/codec/png_codec.h"
namespace content {
-class RendererOverridesHandlerTest : public ContentBrowserTest,
- public DevToolsClientHost {
+class RendererOverridesHandlerTest : public ContentBrowserTest {
protected:
- void SendCommand(const std::string& method,
- base::DictionaryValue* params) {
- EXPECT_TRUE(DevToolsManager::GetInstance()->DispatchOnInspectorBackend(this,
- DevToolsProtocol::CreateCommand(1, method, params)->Serialize()));
+ scoped_refptr<DevToolsProtocol::Response> SendCommand(
+ const std::string& method,
+ base::DictionaryValue* params) {
+ scoped_ptr<RendererOverridesHandler> handler(CreateHandler());
+ scoped_refptr<DevToolsProtocol::Command> command(
+ DevToolsProtocol::CreateCommand(1, method, params));
+ return handler->HandleCommand(command);
+ }
+
+ void SendAsyncCommand(const std::string& method,
+ base::DictionaryValue* params) {
+ scoped_ptr<RendererOverridesHandler> handler(CreateHandler());
+ scoped_refptr<DevToolsProtocol::Command> command(
+ DevToolsProtocol::CreateCommand(1, method, params));
+ scoped_refptr<DevToolsProtocol::Response> response =
+ handler->HandleCommand(command);
+ EXPECT_TRUE(response->is_async_promise());
base::MessageLoop::current()->Run();
}
@@ -57,40 +64,30 @@
scoped_ptr<base::DictionaryValue> result_;
private:
- virtual void SetUpOnMainThread() OVERRIDE {
- DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor(
- DevToolsAgentHost::GetOrCreateFor(
- shell()->web_contents()->GetRenderViewHost()).get(),
- this);
+ RendererOverridesHandler* CreateHandler() {
+ RenderViewHost* rvh = shell()->web_contents()->GetRenderViewHost();
+ DevToolsAgentHost* agent = DevToolsAgentHost::GetOrCreateFor(rvh).get();
+ scoped_ptr<RendererOverridesHandler> handler(
+ new RendererOverridesHandler(agent));
+ handler->SetNotifier(base::Bind(
+ &RendererOverridesHandlerTest::OnMessageSent, base::Unretained(this)));
+ return handler.release();
}
- virtual void TearDownOnMainThread() OVERRIDE {
- DevToolsManager::GetInstance()->ClientHostClosing(this);
- }
-
- virtual void DispatchOnInspectorFrontend(
- const std::string& message) OVERRIDE {
+ void OnMessageSent(const std::string& message) {
scoped_ptr<base::DictionaryValue> root(
static_cast<base::DictionaryValue*>(base::JSONReader::Read(message)));
base::DictionaryValue* result;
- EXPECT_TRUE(root->GetDictionary("result", &result));
+ root->GetDictionary("result", &result);
result_.reset(result->DeepCopy());
base::MessageLoop::current()->QuitNow();
}
-
- virtual void InspectedContentsClosing() OVERRIDE {
- EXPECT_TRUE(false);
- }
-
- virtual void ReplacedWithAnotherClient() OVERRIDE {
- EXPECT_TRUE(false);
- }
};
IN_PROC_BROWSER_TEST_F(RendererOverridesHandlerTest, QueryUsageAndQuota) {
base::DictionaryValue* params = new base::DictionaryValue();
params->SetString("securityOrigin", "http://example.com");
- SendCommand("Page.queryUsageAndQuota", params);
+ SendAsyncCommand("Page.queryUsageAndQuota", params);
EXPECT_TRUE(HasValue("quota.persistent"));
EXPECT_TRUE(HasValue("quota.temporary"));
@@ -101,38 +98,4 @@
EXPECT_TRUE(HasListItem("usage.persistent", "id", "filesystem"));
}
-class CaptureScreenshotTest : public RendererOverridesHandlerTest {
- private:
-#if !defined(OS_ANDROID)
- virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE {
- command_line->AppendSwitch(switches::kEnablePixelOutputInTests);
- }
-#endif
-};
-
-// Does not link on Android
-#if defined(OS_ANDROID)
-#define MAYBE_CaptureScreenshot DISABLED_CaptureScreenshot
-#else
-#define MAYBE_CaptureScreenshot CaptureScreenshot
-#endif
-IN_PROC_BROWSER_TEST_F(CaptureScreenshotTest, MAYBE_CaptureScreenshot) {
- shell()->LoadURL(GURL("about:blank"));
- EXPECT_TRUE(content::ExecuteScript(
- shell()->web_contents()->GetRenderViewHost(),
- "document.body.style.background = '#123456'"));
- SendCommand("Page.captureScreenshot", new base::DictionaryValue());
- std::string base64;
- EXPECT_TRUE(result_->GetString("data", &base64));
- std::string png;
- EXPECT_TRUE(base::Base64Decode(base64, &png));
- SkBitmap bitmap;
- gfx::PNGCodec::Decode(reinterpret_cast<const unsigned char*>(png.data()),
- png.size(), &bitmap);
- SkColor color(bitmap.getColor(0, 0));
- EXPECT_EQ(0x12U, SkColorGetR(color));
- EXPECT_EQ(0x34U, SkColorGetG(color));
- EXPECT_EQ(0x56U, SkColorGetB(color));
-}
-
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698