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 "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h" 6 7#include "chrome/browser/chrome_page_zoom.h" 8#include "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h" 9#include "components/pdf/browser/pdf_web_contents_helper.h" 10#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" 11 12#if defined(ENABLE_PRINTING) 13#if defined(ENABLE_FULL_PRINTING) 14#include "chrome/browser/printing/print_preview_message_handler.h" 15#include "chrome/browser/printing/print_view_manager.h" 16#else 17#include "chrome/browser/printing/print_view_manager_basic.h" 18#endif // defined(ENABLE_FULL_PRINTING) 19#endif // defined(ENABLE_PRINTING) 20 21ChromeMimeHandlerViewGuestDelegate::ChromeMimeHandlerViewGuestDelegate( 22 extensions::MimeHandlerViewGuest* guest) 23 : extensions::MimeHandlerViewGuestDelegate(guest), guest_(guest) { 24} 25 26ChromeMimeHandlerViewGuestDelegate::~ChromeMimeHandlerViewGuestDelegate() { 27} 28 29// TODO(lazyboy): Investigate ways to move this out to /extensions. 30void ChromeMimeHandlerViewGuestDelegate::AttachHelpers() { 31 content::WebContents* web_contents = guest_->web_contents(); 32#if defined(ENABLE_PRINTING) 33#if defined(ENABLE_FULL_PRINTING) 34 printing::PrintViewManager::CreateForWebContents(web_contents); 35 printing::PrintPreviewMessageHandler::CreateForWebContents(web_contents); 36#else 37 printing::PrintViewManagerBasic::CreateForWebContents(web_contents); 38#endif // defined(ENABLE_FULL_PRINTING) 39#endif // defined(ENABLE_PRINTING) 40 pdf::PDFWebContentsHelper::CreateForWebContentsWithClient( 41 web_contents, 42 scoped_ptr<pdf::PDFWebContentsHelperClient>( 43 new ChromePDFWebContentsHelperClient())); 44} 45 46void ChromeMimeHandlerViewGuestDelegate::ChangeZoom(bool zoom_in) { 47 // TODO(lazyboy): Move this to //extensions once ZoomController and friends 48 // move to //extensions. 49 chrome_page_zoom::Zoom( 50 guest_->embedder_web_contents(), 51 zoom_in ? content::PAGE_ZOOM_IN : content::PAGE_ZOOM_OUT); 52} 53