Adding instrumentation to locate the source of jankiness
[chromium-blink-merge.git] / chrome / renderer / extensions / extension_frame_helper.cc
blob278745990bf0735db672c6960225eb1bd14a8c7f
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/renderer/extensions/extension_frame_helper.h"
7 #include "content/public/renderer/render_frame.h"
8 #include "extensions/common/extension_messages.h"
9 #include "extensions/renderer/console.h"
10 #include "extensions/renderer/dispatcher.h"
11 #include "third_party/WebKit/public/web/WebConsoleMessage.h"
12 #include "third_party/WebKit/public/web/WebLocalFrame.h"
14 namespace extensions {
16 ExtensionFrameHelper::ExtensionFrameHelper(content::RenderFrame* render_frame,
17 Dispatcher* extension_dispatcher)
18 : content::RenderFrameObserver(render_frame),
19 content::RenderFrameObserverTracker<ExtensionFrameHelper>(render_frame),
20 extension_dispatcher_(extension_dispatcher) {}
22 ExtensionFrameHelper::~ExtensionFrameHelper() {
25 void ExtensionFrameHelper::WillReleaseScriptContext(
26 v8::Handle<v8::Context> context,
27 int world_id) {
28 // TODO(thestig): Remove scaffolding once this file no longer builds with
29 // extensions disabled.
30 #if defined(ENABLE_EXTENSIONS)
31 extension_dispatcher_->WillReleaseScriptContext(
32 render_frame()->GetWebFrame(), context, world_id);
33 #endif
36 bool ExtensionFrameHelper::OnMessageReceived(const IPC::Message& message) {
37 bool handled = true;
38 IPC_BEGIN_MESSAGE_MAP(ExtensionFrameHelper, message)
39 IPC_MESSAGE_HANDLER(ExtensionMsg_AddMessageToConsole,
40 OnAddMessageToConsole)
41 IPC_MESSAGE_UNHANDLED(handled = false)
42 IPC_END_MESSAGE_MAP()
43 return handled;
46 void ExtensionFrameHelper::OnAddMessageToConsole(
47 content::ConsoleMessageLevel level,
48 const std::string& message) {
49 console::AddMessage(render_frame()->GetRenderView(), level, message);
52 } // namespace extensions