1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// found in the LICENSE file. 4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "android_webview/renderer/print_render_frame_observer.h" 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "android_webview/common/print_messages.h" 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "android_webview/renderer/print_web_view_helper.h" 9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "content/public/renderer/render_frame.h" 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace android_webview { 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)PrintRenderFrameObserver::PrintRenderFrameObserver( 1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) content::RenderFrame* render_frame) 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) : content::RenderFrameObserver(render_frame) { 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)PrintRenderFrameObserver::~PrintRenderFrameObserver() { 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)bool PrintRenderFrameObserver::OnMessageReceived( 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const IPC::Message& message) { 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) bool handled = true; 2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) IPC_BEGIN_MESSAGE_MAP(PrintRenderFrameObserver, message) 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) IPC_MESSAGE_HANDLER(PrintMsg_PrintNodeUnderContextMenu, 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) OnPrintNodeUnderContextMenu) 27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) IPC_MESSAGE_UNHANDLED(handled = false) 28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) IPC_END_MESSAGE_MAP() 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return handled; 31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void PrintRenderFrameObserver::OnPrintNodeUnderContextMenu() { 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) printing::PrintWebViewHelper* helper = 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) printing::PrintWebViewHelper::Get(render_frame()->GetRenderView()); 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (helper) 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) helper->PrintNode(render_frame()->GetContextMenuNode()); 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} // namespace android_webview 41