Home | History | Annotate | Download | only in renderer
      1 // Copyright 2014 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 "android_webview/renderer/print_render_frame_observer.h"
      6 
      7 #include "android_webview/common/print_messages.h"
      8 #include "android_webview/renderer/print_web_view_helper.h"
      9 #include "content/public/renderer/render_frame.h"
     10 
     11 namespace android_webview {
     12 
     13 PrintRenderFrameObserver::PrintRenderFrameObserver(
     14     content::RenderFrame* render_frame)
     15     : content::RenderFrameObserver(render_frame) {
     16 }
     17 
     18 PrintRenderFrameObserver::~PrintRenderFrameObserver() {
     19 }
     20 
     21 bool PrintRenderFrameObserver::OnMessageReceived(
     22     const IPC::Message& message) {
     23   bool handled = true;
     24   IPC_BEGIN_MESSAGE_MAP(PrintRenderFrameObserver, message)
     25     IPC_MESSAGE_HANDLER(PrintMsg_PrintNodeUnderContextMenu,
     26                         OnPrintNodeUnderContextMenu)
     27     IPC_MESSAGE_UNHANDLED(handled = false)
     28   IPC_END_MESSAGE_MAP()
     29 
     30   return handled;
     31 }
     32 
     33 void PrintRenderFrameObserver::OnPrintNodeUnderContextMenu() {
     34   printing::PrintWebViewHelper* helper =
     35       printing::PrintWebViewHelper::Get(render_frame()->GetRenderView());
     36   if (helper)
     37     helper->PrintNode(render_frame()->GetContextMenuNode());
     38 }
     39 
     40 }  // namespace android_webview
     41