Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / guest_view / mime_handler_view / chrome_mime_handler_view_guest_delegate.cc
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
21 ChromeMimeHandlerViewGuestDelegate::ChromeMimeHandlerViewGuestDelegate(
22     extensions::MimeHandlerViewGuest* guest)
23     : extensions::MimeHandlerViewGuestDelegate(guest), guest_(guest) {
24 }
25
26 ChromeMimeHandlerViewGuestDelegate::~ChromeMimeHandlerViewGuestDelegate() {
27 }
28
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);
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
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);
52 }