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