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 @@ ...@@ -4,6 +4,7 @@
#include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h" #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 "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h"
#include "components/pdf/browser/pdf_web_contents_helper.h" #include "components/pdf/browser/pdf_web_contents_helper.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
...@@ -41,3 +42,11 @@ void ChromeMimeHandlerViewGuestDelegate::AttachHelpers() { ...@@ -41,3 +42,11 @@ void ChromeMimeHandlerViewGuestDelegate::AttachHelpers() {
scoped_ptr<pdf::PDFWebContentsHelperClient>( scoped_ptr<pdf::PDFWebContentsHelperClient>(
new ChromePDFWebContentsHelperClient())); 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 ...@@ -18,7 +18,9 @@ class ChromeMimeHandlerViewGuestDelegate
extensions::MimeHandlerViewGuest* guest); extensions::MimeHandlerViewGuest* guest);
virtual ~ChromeMimeHandlerViewGuestDelegate(); virtual ~ChromeMimeHandlerViewGuestDelegate();
// MimeHandlerViewGuestDelegate.
virtual void AttachHelpers() OVERRIDE; virtual void AttachHelpers() OVERRIDE;
virtual void ChangeZoom(bool zoom_in) OVERRIDE;
private: private:
extensions::MimeHandlerViewGuest* guest_; // Owns us. extensions::MimeHandlerViewGuest* guest_; // Owns us.
......
...@@ -131,6 +131,11 @@ void MimeHandlerViewGuest::DidInitialize() { ...@@ -131,6 +131,11 @@ void MimeHandlerViewGuest::DidInitialize() {
delegate_->AttachHelpers(); delegate_->AttachHelpers();
} }
void MimeHandlerViewGuest::ContentsZoomChange(bool zoom_in) {
if (delegate_)
delegate_->ChangeZoom(zoom_in);
}
void MimeHandlerViewGuest::HandleKeyboardEvent( void MimeHandlerViewGuest::HandleKeyboardEvent(
WebContents* source, WebContents* source,
const content::NativeWebKeyboardEvent& event) { const content::NativeWebKeyboardEvent& event) {
......
...@@ -37,6 +37,7 @@ class MimeHandlerViewGuest : public GuestView<MimeHandlerViewGuest>, ...@@ -37,6 +37,7 @@ class MimeHandlerViewGuest : public GuestView<MimeHandlerViewGuest>,
virtual void DidInitialize() OVERRIDE; virtual void DidInitialize() OVERRIDE;
// WebContentsDelegate implementation. // WebContentsDelegate implementation.
virtual void ContentsZoomChange(bool zoom_in) OVERRIDE;
virtual void HandleKeyboardEvent( virtual void HandleKeyboardEvent(
content::WebContents* source, content::WebContents* source,
const content::NativeWebKeyboardEvent& event) OVERRIDE; const content::NativeWebKeyboardEvent& event) OVERRIDE;
......
...@@ -24,6 +24,10 @@ class MimeHandlerViewGuestDelegate { ...@@ -24,6 +24,10 @@ class MimeHandlerViewGuestDelegate {
// Attaches helpers upon initializing the WebContents. // Attaches helpers upon initializing the WebContents.
virtual void AttachHelpers() {} virtual void AttachHelpers() {}
// Request to change the zoom level of the top level page containing
// this view.
virtual void ChangeZoom(bool zoom_in) {}
private: private:
DISALLOW_COPY_AND_ASSIGN(MimeHandlerViewGuestDelegate); 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