11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h" 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/chrome_page_zoom.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "components/pdf/browser/pdf_web_contents_helper.h" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if defined(ENABLE_PRINTING) 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if defined(ENABLE_FULL_PRINTING) 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/printing/print_preview_message_handler.h" 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/printing/print_view_manager.h" 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#else 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/printing/print_view_manager_basic.h" 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // defined(ENABLE_FULL_PRINTING) 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // defined(ENABLE_PRINTING) 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciChromeMimeHandlerViewGuestDelegate::ChromeMimeHandlerViewGuestDelegate( 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci extensions::MimeHandlerViewGuest* guest) 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci : extensions::MimeHandlerViewGuestDelegate(guest), guest_(guest) { 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciChromeMimeHandlerViewGuestDelegate::~ChromeMimeHandlerViewGuestDelegate() { 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// TODO(lazyboy): Investigate ways to move this out to /extensions. 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ChromeMimeHandlerViewGuestDelegate::AttachHelpers() { 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci content::WebContents* web_contents = guest_->web_contents(); 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if defined(ENABLE_PRINTING) 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if defined(ENABLE_FULL_PRINTING) 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci printing::PrintViewManager::CreateForWebContents(web_contents); 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci printing::PrintPreviewMessageHandler::CreateForWebContents(web_contents); 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#else 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci printing::PrintViewManagerBasic::CreateForWebContents(web_contents); 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // defined(ENABLE_FULL_PRINTING) 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // defined(ENABLE_PRINTING) 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci pdf::PDFWebContentsHelper::CreateForWebContentsWithClient( 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci web_contents, 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci scoped_ptr<pdf::PDFWebContentsHelperClient>( 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci new ChromePDFWebContentsHelperClient())); 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ChromeMimeHandlerViewGuestDelegate::ChangeZoom(bool zoom_in) { 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // TODO(lazyboy): Move this to //extensions once ZoomController and friends 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // move to //extensions. 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci chrome_page_zoom::Zoom( 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci guest_->embedder_web_contents(), 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci zoom_in ? content::PAGE_ZOOM_IN : content::PAGE_ZOOM_OUT); 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 53