Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Unified Diff: components/pdf/browser/pdf_web_contents_helper.h

Issue 477263003: pdf: Create a separate component for using the pdf pepper plugin. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/pdf/browser/pdf_web_contents_helper.h
diff --git a/chrome/browser/ui/pdf/pdf_tab_helper.h b/components/pdf/browser/pdf_web_contents_helper.h
similarity index 53%
rename from chrome/browser/ui/pdf/pdf_tab_helper.h
rename to components/pdf/browser/pdf_web_contents_helper.h
index 5dca4a649dc9fa4eb643e4b3d33f4258352dbced..d37b57f9573fb283384b7959c450af61cdc7a667 100644
--- a/chrome/browser/ui/pdf/pdf_tab_helper.h
+++ b/components/pdf/browser/pdf_web_contents_helper.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_UI_PDF_PDF_TAB_HELPER_H_
-#define CHROME_BROWSER_UI_PDF_PDF_TAB_HELPER_H_
+#ifndef COMPONENTS_PDF_BROWSER_PDF_WEB_CONTENTS_HELPER_H_
+#define COMPONENTS_PDF_BROWSER_PDF_WEB_CONTENTS_HELPER_H_
#include <string>
@@ -13,27 +13,35 @@
#include "content/public/browser/web_contents_user_data.h"
#include "ipc/ipc_message.h"
-class OpenPDFInReaderPromptDelegate;
-
namespace content {
class WebContents;
}
-// Per-tab class to handle PDF messages.
-class PDFTabHelper : public content::WebContentsObserver,
- public content::WebContentsUserData<PDFTabHelper> {
- public:
+namespace pdf {
+
+class OpenPDFInReaderPromptClient;
+class PDFWebContentsHelperClient;
- explicit PDFTabHelper(content::WebContents* web_contents);
- virtual ~PDFTabHelper();
+// Per-WebContents class to handle PDF messages.
+class PDFWebContentsHelper
+ : public content::WebContentsObserver,
+ public content::WebContentsUserData<PDFWebContentsHelper> {
+ public:
+ static void CreateForWebContentsWithClient(
+ content::WebContents* contents,
+ scoped_ptr<PDFWebContentsHelperClient> client);
- OpenPDFInReaderPromptDelegate* open_in_reader_prompt() const {
+ OpenPDFInReaderPromptClient* open_in_reader_prompt() const {
return open_in_reader_prompt_.get();
}
- void ShowOpenInReaderPrompt(scoped_ptr<OpenPDFInReaderPromptDelegate> prompt);
+ void ShowOpenInReaderPrompt(scoped_ptr<OpenPDFInReaderPromptClient> prompt);
private:
+ PDFWebContentsHelper(content::WebContents* web_contents,
+ scoped_ptr<PDFWebContentsHelperClient> client);
+ virtual ~PDFWebContentsHelper();
+
// content::WebContentsObserver overrides:
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
virtual void DidNavigateMainFrame(
@@ -49,25 +57,18 @@ class PDFTabHelper : public content::WebContentsObserver,
// Message handlers.
void OnHasUnsupportedFeature();
- void OnSaveURLAs(const GURL& url,
- const content::Referrer& referrer);
+ void OnSaveURLAs(const GURL& url, const content::Referrer& referrer);
void OnUpdateContentRestrictions(int content_restrictions);
void OnModalPromptForPassword(const std::string& prompt,
IPC::Message* reply_message);
// The model for the confirmation prompt to open a PDF in Adobe Reader.
- scoped_ptr<OpenPDFInReaderPromptDelegate> open_in_reader_prompt_;
+ scoped_ptr<OpenPDFInReaderPromptClient> open_in_reader_prompt_;
+ scoped_ptr<PDFWebContentsHelperClient> client_;
- DISALLOW_COPY_AND_ASSIGN(PDFTabHelper);
+ DISALLOW_COPY_AND_ASSIGN(PDFWebContentsHelper);
};
-typedef base::Callback<void(bool /* success */,
- const base::string16& /* password */)>
- PasswordDialogClosedCallback;
-
-// Shows a tab-modal dialog to get a password for a PDF document.
-void ShowPDFPasswordDialog(content::WebContents* web_contents,
- const base::string16& prompt,
- const PasswordDialogClosedCallback& callback);
+} // namespace pdf
-#endif // CHROME_BROWSER_UI_PDF_PDF_TAB_HELPER_H_
+#endif // COMPONENTS_PDF_BROWSER_PDF_WEB_CONTENTS_HELPER_H_

Powered by Google App Engine
This is Rietveld 408576698