Home | History | Annotate | Download | only in extensions
      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.
      4 
      5 #include "chrome/renderer/extensions/extension_frame_helper.h"
      6 
      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/WebFrame.h"
     13 
     14 namespace extensions {
     15 
     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) {}
     21 
     22 ExtensionFrameHelper::~ExtensionFrameHelper() {
     23 }
     24 
     25 void ExtensionFrameHelper::WillReleaseScriptContext(
     26     v8::Handle<v8::Context> context,
     27     int world_id) {
     28   extension_dispatcher_->WillReleaseScriptContext(
     29       render_frame()->GetWebFrame(), context, world_id);
     30 }
     31 
     32 bool ExtensionFrameHelper::OnMessageReceived(const IPC::Message& message) {
     33   bool handled = true;
     34   IPC_BEGIN_MESSAGE_MAP(ExtensionFrameHelper, message)
     35     IPC_MESSAGE_HANDLER(ExtensionMsg_AddMessageToConsole,
     36                         OnAddMessageToConsole)
     37     IPC_MESSAGE_UNHANDLED(handled = false)
     38   IPC_END_MESSAGE_MAP()
     39   return handled;
     40 }
     41 
     42 void ExtensionFrameHelper::OnAddMessageToConsole(
     43     content::ConsoleMessageLevel level,
     44     const std::string& message) {
     45   console::AddMessage(render_frame()->GetRenderView(), level, message);
     46 }
     47 
     48 }  // namespace extensions
     49