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_ |