summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authoresprehn <esprehn@chromium.org>2015-11-13 08:45:37 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-13 16:46:22 +0000
commit4b0602d9f07efe1e616d048747268dd4c20e15f9 (patch)
tree900f4d832c492848b9b863946dc463c589a94883 /content
parent439de5bb2a31384666db1a0e2dadb2b97d2f3ce4 (diff)
downloadchromium_src-4b0602d9f07efe1e616d048747268dd4c20e15f9.zip
chromium_src-4b0602d9f07efe1e616d048747268dd4c20e15f9.tar.gz
chromium_src-4b0602d9f07efe1e616d048747268dd4c20e15f9.tar.bz2
Remove the IPCEcho service and WebDOMCustomEvent.
IPCEcho was to experiment with the performance of chrome ipc vs mojo ipc a long time ago, but there's no perf tests that use it, so the code just rots behind the flag. It's also the only user of WebDOMCustomEvent which we can now remove too. Lets just delete this code, in the future if we want a way to test the performance of mojo IPCs we can add it back with automated tests. This patch also removes WebDOMCustomEvent. Review URL: https://codereview.chromium.org/1438403004 Cr-Commit-Position: refs/heads/master@{#359568}
Diffstat (limited to 'content')
-rw-r--r--content/content_shell.gypi4
-rw-r--r--content/shell/BUILD.gn4
-rw-r--r--content/shell/browser/ipc_echo_message_filter.cc33
-rw-r--r--content/shell/browser/ipc_echo_message_filter.h31
-rw-r--r--content/shell/browser/shell_content_browser_client.cc12
-rw-r--r--content/shell/browser/shell_content_browser_client.h1
-rw-r--r--content/shell/common/shell_messages.h8
-rw-r--r--content/shell/common/shell_switches.cc3
-rw-r--r--content/shell/common/shell_switches.h1
-rw-r--r--content/shell/renderer/ipc_echo.cc121
-rw-r--r--content/shell/renderer/ipc_echo.h56
-rw-r--r--content/shell/renderer/shell_render_view_observer.cc26
-rw-r--r--content/shell/renderer/shell_render_view_observer.h10
13 files changed, 1 insertions, 309 deletions
diff --git a/content/content_shell.gypi b/content/content_shell.gypi
index 637b557..cc30c8f 100644
--- a/content/content_shell.gypi
+++ b/content/content_shell.gypi
@@ -101,8 +101,6 @@
'shell/app/shell_main_delegate_mac.mm',
'shell/browser/blink_test_controller.cc',
'shell/browser/blink_test_controller.h',
- 'shell/browser/ipc_echo_message_filter.cc',
- 'shell/browser/ipc_echo_message_filter.h',
'shell/browser/layout_test/layout_test_android.cc',
'shell/browser/layout_test/layout_test_android.h',
'shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc',
@@ -210,8 +208,6 @@
'shell/common/shell_test_configuration.h',
'shell/common/v8_breakpad_support_win.cc',
'shell/common/v8_breakpad_support_win.h',
- 'shell/renderer/ipc_echo.cc',
- 'shell/renderer/ipc_echo.h',
'shell/renderer/layout_test/blink_test_helpers.cc',
'shell/renderer/layout_test/blink_test_helpers.h',
'shell/renderer/layout_test/blink_test_runner.cc',
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
index 4ca6980..38a917f 100644
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -46,8 +46,6 @@ static_library("content_shell_lib") {
"app/shell_main_delegate_mac.mm",
"browser/blink_test_controller.cc",
"browser/blink_test_controller.h",
- "browser/ipc_echo_message_filter.cc",
- "browser/ipc_echo_message_filter.h",
"browser/layout_test/layout_test_android.cc",
"browser/layout_test/layout_test_android.h",
"browser/layout_test/layout_test_bluetooth_adapter_provider.cc",
@@ -151,8 +149,6 @@ static_library("content_shell_lib") {
"common/shell_switches.h",
"common/shell_test_configuration.cc",
"common/shell_test_configuration.h",
- "renderer/ipc_echo.cc",
- "renderer/ipc_echo.h",
"renderer/layout_test/blink_test_helpers.cc",
"renderer/layout_test/blink_test_helpers.h",
"renderer/layout_test/blink_test_runner.cc",
diff --git a/content/shell/browser/ipc_echo_message_filter.cc b/content/shell/browser/ipc_echo_message_filter.cc
deleted file mode 100644
index d383789..0000000
--- a/content/shell/browser/ipc_echo_message_filter.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/shell/browser/ipc_echo_message_filter.h"
-
-#include "content/shell/common/shell_messages.h"
-
-namespace content {
-
-IPCEchoMessageFilter::IPCEchoMessageFilter()
- : BrowserMessageFilter(ShellMsgStart) {
-}
-
-IPCEchoMessageFilter::~IPCEchoMessageFilter() {
-}
-
-bool IPCEchoMessageFilter::OnMessageReceived(const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(IPCEchoMessageFilter, message)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_EchoPing, OnEchoPing)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
-
- return handled;
-}
-
-void IPCEchoMessageFilter::OnEchoPing(int routing_id, int id,
- const std::string& body) {
- Send(new ShellViewMsg_EchoPong(routing_id, id, body));
-}
-
-} // namespace content
diff --git a/content/shell/browser/ipc_echo_message_filter.h b/content/shell/browser/ipc_echo_message_filter.h
deleted file mode 100644
index 2b5f25c..0000000
--- a/content/shell/browser/ipc_echo_message_filter.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_SHELL_BROWSER_IPC_ECHO_MESSAGE_FILTER_H_
-#define CONTENT_SHELL_BROWSER_IPC_ECHO_MESSAGE_FILTER_H_
-
-#include <string>
-
-#include "content/public/browser/browser_message_filter.h"
-
-namespace content {
-
-class IPCEchoMessageFilter : public BrowserMessageFilter {
- public:
- IPCEchoMessageFilter();
-
- private:
- ~IPCEchoMessageFilter() override;
-
- // BrowserMessageFilter implementation.
- bool OnMessageReceived(const IPC::Message& message) override;
-
- void OnEchoPing(int routing_id, int id, const std::string& body);
-
- DISALLOW_COPY_AND_ASSIGN(IPCEchoMessageFilter);
-};
-
-} // namespace content
-
-#endif // CONTENT_SHELL_BROWSER_IPC_ECHO_MESSAGE_FILTER_H_
diff --git a/content/shell/browser/shell_content_browser_client.cc b/content/shell/browser/shell_content_browser_client.cc
index 394738e..8b0ca65 100644
--- a/content/shell/browser/shell_content_browser_client.cc
+++ b/content/shell/browser/shell_content_browser_client.cc
@@ -20,7 +20,6 @@
#include "content/public/common/web_preferences.h"
#include "content/public/test/test_mojo_app.h"
#include "content/shell/browser/blink_test_controller.h"
-#include "content/shell/browser/ipc_echo_message_filter.h"
#include "content/shell/browser/layout_test/layout_test_browser_main_parts.h"
#include "content/shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate.h"
#include "content/shell/browser/shell.h"
@@ -147,13 +146,6 @@ BrowserMainParts* ShellContentBrowserClient::CreateBrowserMainParts(
return shell_browser_main_parts_;
}
-void ShellContentBrowserClient::RenderProcessWillLaunch(
- RenderProcessHost* host) {
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kExposeIpcEcho))
- host->AddFilter(new IPCEchoMessageFilter());
-}
-
net::URLRequestContextGetter* ShellContentBrowserClient::CreateRequestContext(
BrowserContext* content_browser_context,
ProtocolHandlerMap* protocol_handlers,
@@ -238,10 +230,6 @@ void ShellContentBrowserClient::AppendExtraCommandLineSwitches(
command_line->AppendSwitch(switches::kExposeInternalsForTesting);
}
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kExposeIpcEcho)) {
- command_line->AppendSwitch(switches::kExposeIpcEcho);
- }
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kStableReleaseMode)) {
command_line->AppendSwitch(switches::kStableReleaseMode);
}
diff --git a/content/shell/browser/shell_content_browser_client.h b/content/shell/browser/shell_content_browser_client.h
index 5841d90..d10ca3a 100644
--- a/content/shell/browser/shell_content_browser_client.h
+++ b/content/shell/browser/shell_content_browser_client.h
@@ -32,7 +32,6 @@ class ShellContentBrowserClient : public ContentBrowserClient {
// ContentBrowserClient overrides.
BrowserMainParts* CreateBrowserMainParts(
const MainFunctionParams& parameters) override;
- void RenderProcessWillLaunch(RenderProcessHost* host) override;
net::URLRequestContextGetter* CreateRequestContext(
BrowserContext* browser_context,
ProtocolHandlerMap* protocol_handlers,
diff --git a/content/shell/common/shell_messages.h b/content/shell/common/shell_messages.h
index 9baf871..536a839 100644
--- a/content/shell/common/shell_messages.h
+++ b/content/shell/common/shell_messages.h
@@ -94,14 +94,6 @@ IPC_MESSAGE_ROUTED1(ShellViewHostMsg_SetDeviceScaleFactor,
IPC_MESSAGE_ROUTED0(ShellViewHostMsg_CaptureSessionHistory)
IPC_MESSAGE_ROUTED0(ShellViewHostMsg_CloseRemainingWindows)
-IPC_MESSAGE_CONTROL3(ShellViewHostMsg_EchoPing,
- int /* routing_id */,
- int /* id */,
- std::string /* body */)
-IPC_MESSAGE_ROUTED2(ShellViewMsg_EchoPong,
- int /* id */,
- std::string /* body */)
-
IPC_STRUCT_TRAITS_BEGIN(content::LeakDetectionResult)
IPC_STRUCT_TRAITS_MEMBER(leaked)
IPC_STRUCT_TRAITS_MEMBER(detail)
diff --git a/content/shell/common/shell_switches.cc b/content/shell/common/shell_switches.cc
index df7d3fe..ab5ad9a 100644
--- a/content/shell/common/shell_switches.cc
+++ b/content/shell/common/shell_switches.cc
@@ -32,9 +32,6 @@ const char kCrashOnFailure[] = "crash-on-failure";
// each LayoutBlockFlow to be dumped as well.
const char kDumpLineBoxTrees[] = "dump-line-box-trees";
-// Expose window.ipcTester object for testing
-const char kExposeIpcEcho[] = "expose-ipc-echo";
-
// Enable accelerated 2D canvas.
const char kEnableAccelerated2DCanvas[] = "enable-accelerated-2d-canvas";
diff --git a/content/shell/common/shell_switches.h b/content/shell/common/shell_switches.h
index 129924c..bc24fab 100644
--- a/content/shell/common/shell_switches.h
+++ b/content/shell/common/shell_switches.h
@@ -19,7 +19,6 @@ extern const char kContentShellDataPath[];
extern const char kCrashDumpsDir[];
extern const char kCrashOnFailure[];
extern const char kDumpLineBoxTrees[];
-extern const char kExposeIpcEcho[];
extern const char kEnableAccelerated2DCanvas[];
extern const char kEnableFontAntialiasing[];
extern const char kAlwaysUseComplexText[];
diff --git a/content/shell/renderer/ipc_echo.cc b/content/shell/renderer/ipc_echo.cc
deleted file mode 100644
index 12f049b..0000000
--- a/content/shell/renderer/ipc_echo.cc
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/shell/renderer/ipc_echo.h"
-
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "content/shell/common/shell_messages.h"
-#include "gin/handle.h"
-#include "gin/object_template_builder.h"
-#include "gin/wrappable.h"
-#include "ipc/ipc_sender.h"
-#include "third_party/WebKit/public/web/WebDOMCustomEvent.h"
-#include "third_party/WebKit/public/web/WebDOMEvent.h"
-#include "third_party/WebKit/public/web/WebFrame.h"
-#include "third_party/WebKit/public/web/WebKit.h"
-#include "third_party/WebKit/public/web/WebSerializedScriptValue.h"
-
-namespace content {
-
-class IPCEchoBindings : public gin::Wrappable<IPCEchoBindings> {
-public:
- static gin::WrapperInfo kWrapperInfo;
- static void Install(base::WeakPtr<IPCEcho> echo, blink::WebFrame* frame);
-
- explicit IPCEchoBindings(base::WeakPtr<IPCEcho>);
-
- void RequestEcho(int id, int size);
- int GetLastEchoId() const;
- int GetLastEchoSize() const;
-
-private:
- gin::ObjectTemplateBuilder GetObjectTemplateBuilder(v8::Isolate*) override;
-
- base::WeakPtr<IPCEcho> native_;
-};
-
-IPCEchoBindings::IPCEchoBindings(base::WeakPtr<IPCEcho> native)
- : native_(native) {
-}
-
-void IPCEchoBindings::RequestEcho(int id, int size) {
- if (!native_)
- return;
- native_->RequestEcho(id, size);
-}
-
-int IPCEchoBindings::GetLastEchoId() const {
- if (!native_)
- return 0;
- return native_->last_echo_id();
-}
-
-int IPCEchoBindings::GetLastEchoSize() const {
- if (!native_)
- return 0;
- return native_->last_echo_size();
-}
-
-gin::WrapperInfo IPCEchoBindings::kWrapperInfo = {
- gin::kEmbedderNativeGin };
-
-gin::ObjectTemplateBuilder IPCEchoBindings::GetObjectTemplateBuilder(
- v8::Isolate* isolate) {
- return gin::Wrappable<IPCEchoBindings>::GetObjectTemplateBuilder(isolate)
- .SetMethod("requestEcho",
- &IPCEchoBindings::RequestEcho)
- .SetProperty("lastEchoId",
- &IPCEchoBindings::GetLastEchoId)
- .SetProperty("lastEchoSize",
- &IPCEchoBindings::GetLastEchoSize);
-}
-
-// static
-void IPCEchoBindings::Install(base::WeakPtr<IPCEcho> echo,
- blink::WebFrame* frame) {
- v8::Isolate* isolate = blink::mainThreadIsolate();
- v8::HandleScope handle_scope(isolate);
- v8::Local<v8::Context> context = frame->mainWorldScriptContext();
- if (context.IsEmpty())
- return;
-
- v8::Context::Scope context_scope(context);
-
- IPCEchoBindings* wrapped = new IPCEchoBindings(echo);
- gin::Handle<IPCEchoBindings> bindings = gin::CreateHandle(isolate, wrapped);
- if (bindings.IsEmpty())
- return;
- v8::Local<v8::Object> global = context->Global();
- v8::Local<v8::Value> v8_bindings = bindings.ToV8();
- global->Set(gin::StringToV8(isolate, "ipcEcho"), v8_bindings);
-}
-
-IPCEcho::IPCEcho(blink::WebDocument document,
- IPC::Sender* sender,
- int routing_id)
- : document_(document), sender_(sender), routing_id_(routing_id),
- last_echo_id_(0),
- weak_factory_(this) {
-}
-
-IPCEcho::~IPCEcho() {
-}
-
-void IPCEcho::RequestEcho(int id, int size) {
- sender_->Send(new ShellViewHostMsg_EchoPing(
- routing_id_, id, std::string(size, '*')));
-}
-
-void IPCEcho::DidRespondEcho(int id, int size) {
- last_echo_id_ = id;
- last_echo_size_ = size;
- document_.dispatchEvent(blink::WebDOMCustomEvent("pong"));
-}
-
-void IPCEcho::Install(blink::WebFrame* frame) {
- IPCEchoBindings::Install(weak_factory_.GetWeakPtr(), frame);
-}
-
-} // namespace content
diff --git a/content/shell/renderer/ipc_echo.h b/content/shell/renderer/ipc_echo.h
deleted file mode 100644
index ab4c21e..0000000
--- a/content/shell/renderer/ipc_echo.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_SHELL_RENDERER_IPC_ECHO_H_
-#define CONTENT_SHELL_RENDERER_IPC_ECHO_H_
-
-#include <utility>
-#include <vector>
-#include "base/compiler_specific.h"
-#include "base/memory/weak_ptr.h"
-#include "third_party/WebKit/public/web/WebDocument.h"
-
-namespace blink {
-class WebFrame;
-}
-
-namespace IPC {
-class Sender;
-}
-
-namespace content {
-
-// This class is for writing micro benchmarks exercising underlying
-// IPC::Channel using HTML and JavaScript.
-//
-// TODO(morrita): The benchmark effort tries to makesure that
-// IPC::ChannelMojo is as performant as native IPC::Channel
-// implementations. Currently IPC::ChannelMojo is hidden behind
-// "--enable-renderer-mojo-channel". Once it is turned on by default.
-// we no longer need this class and should remove it.
-class IPCEcho : public base::SupportsWeakPtr<IPCEcho> {
- public:
- IPCEcho(blink::WebDocument document, IPC::Sender* sender, int routing_id);
- ~IPCEcho();
-
- void RequestEcho(int id, int size);
- void DidRespondEcho(int id, int size);
- void Install(blink::WebFrame*);
-
- int last_echo_id() const { return last_echo_id_; }
- int last_echo_size() const { return last_echo_size_; }
-
- blink::WebDocument document_;
- IPC::Sender* sender_;
- int routing_id_;
- int last_echo_id_;
- int last_echo_size_;
-
- base::WeakPtrFactory<IPCEcho> weak_factory_;
-
-};
-
-} // namespace content
-
-#endif // CONTENT_SHELL_RENDERER_IPC_ECHO_H_
diff --git a/content/shell/renderer/shell_render_view_observer.cc b/content/shell/renderer/shell_render_view_observer.cc
index 9dd4309..c24c121 100644
--- a/content/shell/renderer/shell_render_view_observer.cc
+++ b/content/shell/renderer/shell_render_view_observer.cc
@@ -5,12 +5,9 @@
#include "content/shell/renderer/shell_render_view_observer.h"
#include "base/command_line.h"
-#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/render_view.h"
#include "content/public/renderer/render_view_observer.h"
-#include "content/shell/common/shell_messages.h"
#include "content/shell/common/shell_switches.h"
-#include "content/shell/renderer/ipc_echo.h"
#include "third_party/WebKit/public/web/WebTestingSupport.h"
#include "third_party/WebKit/public/web/WebView.h"
@@ -29,29 +26,6 @@ void ShellRenderViewObserver::DidClearWindowObject(
switches::kExposeInternalsForTesting)) {
blink::WebTestingSupport::injectInternalsObject(frame);
}
-
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kExposeIpcEcho)) {
- RenderView* view = render_view();
- if (!ipc_echo_)
- ipc_echo_.reset(new IPCEcho(view->GetWebView()->mainFrame()->document(),
- RenderThread::Get(), view->GetRoutingID()));
- ipc_echo_->Install(view->GetWebView()->mainFrame());
- }
-}
-
-bool ShellRenderViewObserver::OnMessageReceived(const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(ShellRenderViewObserver, message)
- IPC_MESSAGE_HANDLER(ShellViewMsg_EchoPong, OnEchoPong)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
-
- return handled;
-}
-
-void ShellRenderViewObserver::OnEchoPong(int id, const std::string& body) {
- ipc_echo_->DidRespondEcho(id, body.size());
}
} // namespace content
diff --git a/content/shell/renderer/shell_render_view_observer.h b/content/shell/renderer/shell_render_view_observer.h
index e10a982..2bf2330 100644
--- a/content/shell/renderer/shell_render_view_observer.h
+++ b/content/shell/renderer/shell_render_view_observer.h
@@ -5,17 +5,14 @@
#ifndef CONTENT_SHELL_RENDERER_SHELL_RENDER_VIEW_OBSERVER_H_
#define CONTENT_SHELL_RENDERER_SHELL_RENDER_VIEW_OBSERVER_H_
-#include <string>
-#include "base/memory/scoped_ptr.h"
#include "content/public/renderer/render_view_observer.h"
namespace blink {
-class WebFrame;
+class WebLocalFrame;
}
namespace content {
-class IPCEcho;
class RenderView;
@@ -25,14 +22,9 @@ class ShellRenderViewObserver : public RenderViewObserver {
~ShellRenderViewObserver() override;
private:
- // Message handlers.
- void OnEchoPong(int id, const std::string& body);
-
// RenderViewObserver implementation.
- bool OnMessageReceived(const IPC::Message& message) override;
void DidClearWindowObject(blink::WebLocalFrame* frame) override;
- scoped_ptr<IPCEcho> ipc_echo_;
DISALLOW_COPY_AND_ASSIGN(ShellRenderViewObserver);
};