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.
5 #include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h"
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"
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"
17 #include "chrome/browser/printing/print_view_manager_basic.h"
18 #endif // defined(ENABLE_FULL_PRINTING)
19 #endif // defined(ENABLE_PRINTING)
21 ChromeMimeHandlerViewGuestDelegate::ChromeMimeHandlerViewGuestDelegate(
22 extensions::MimeHandlerViewGuest* guest)
23 : extensions::MimeHandlerViewGuestDelegate(guest), guest_(guest) {
26 ChromeMimeHandlerViewGuestDelegate::~ChromeMimeHandlerViewGuestDelegate() {
29 // TODO(lazyboy): Investigate ways to move this out to /extensions.
30 void 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);
37 printing::PrintViewManagerBasic::CreateForWebContents(web_contents);
38 #endif // defined(ENABLE_FULL_PRINTING)
39 #endif // defined(ENABLE_PRINTING)
40 pdf::PDFWebContentsHelper::CreateForWebContentsWithClient(
42 scoped_ptr<pdf::PDFWebContentsHelperClient>(
43 new ChromePDFWebContentsHelperClient()));
46 void 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);