Commit 8e78ec06 authored by lazyboy's avatar lazyboy Committed by Commit bot

Add ctrl+mousewheel plumbing to MimeHandlerView.

This will zoom in/out the view properly.

This CL is dependant on http://crrev.com/597653002

BUG=416332
Test=Load chrome with --enable-mime-handler-view and --out-of-process-pdf
Navigate to a pdf file, Ctrl + wheel up and down should zoom in/out the pdf
properly.

Review URL: https://codereview.chromium.org/591243003

Cr-Commit-Position: refs/heads/master@{#296455}
parent 5830d6a3
......@@ -4,6 +4,7 @@
#include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h"
#include "chrome/browser/chrome_page_zoom.h"
#include "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h"
#include "components/pdf/browser/pdf_web_contents_helper.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
......@@ -41,3 +42,11 @@ void ChromeMimeHandlerViewGuestDelegate::AttachHelpers() {
scoped_ptr<pdf::PDFWebContentsHelperClient>(
new ChromePDFWebContentsHelperClient()));
}
void ChromeMimeHandlerViewGuestDelegate::ChangeZoom(bool zoom_in) {
// TODO(lazyboy): Move this to //extensions once ZoomController and friends
// move to //extensions.
chrome_page_zoom::Zoom(
guest_->embedder_web_contents(),
zoom_in ? content::PAGE_ZOOM_IN : content::PAGE_ZOOM_OUT);
}
......@@ -18,7 +18,9 @@ class ChromeMimeHandlerViewGuestDelegate
extensions::MimeHandlerViewGuest* guest);
virtual ~ChromeMimeHandlerViewGuestDelegate();
// MimeHandlerViewGuestDelegate.
virtual void AttachHelpers() OVERRIDE;
virtual void ChangeZoom(bool zoom_in) OVERRIDE;
private:
extensions::MimeHandlerViewGuest* guest_; // Owns us.
......
......@@ -131,6 +131,11 @@ void MimeHandlerViewGuest::DidInitialize() {
delegate_->AttachHelpers();
}
void MimeHandlerViewGuest::ContentsZoomChange(bool zoom_in) {
if (delegate_)
delegate_->ChangeZoom(zoom_in);
}
void MimeHandlerViewGuest::HandleKeyboardEvent(
WebContents* source,
const content::NativeWebKeyboardEvent& event) {
......
......@@ -37,6 +37,7 @@ class MimeHandlerViewGuest : public GuestView<MimeHandlerViewGuest>,
virtual void DidInitialize() OVERRIDE;
// WebContentsDelegate implementation.
virtual void ContentsZoomChange(bool zoom_in) OVERRIDE;
virtual void HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) OVERRIDE;
......
......@@ -24,6 +24,10 @@ class MimeHandlerViewGuestDelegate {
// Attaches helpers upon initializing the WebContents.
virtual void AttachHelpers() {}
// Request to change the zoom level of the top level page containing
// this view.
virtual void ChangeZoom(bool zoom_in) {}
private:
DISALLOW_COPY_AND_ASSIGN(MimeHandlerViewGuestDelegate);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment