Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / components / pdf / browser / pdf_web_contents_helper_client.h
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 #ifndef COMPONENTS_PDF_BROWSER_PDF_WEB_CONTENTS_HELPER_CLIENT_H_
6 #define COMPONENTS_PDF_BROWSER_PDF_WEB_CONTENTS_HELPER_CLIENT_H_
7
8 #include "base/callback.h"
9 #include "base/strings/string16.h"
10 #include "ipc/ipc_message.h"
11
12 namespace content {
13 class WebContents;
14 }
15
16 namespace pdf {
17
18 typedef base::Callback<
19     void(bool /* success */, const base::string16& /* password */)>
20     PasswordDialogClosedCallback;
21
22 class PDFWebContentsHelperClient {
23  public:
24   virtual ~PDFWebContentsHelperClient() {}
25
26   virtual void UpdateLocationBar(content::WebContents* contents) = 0;
27
28   virtual void UpdateContentRestrictions(content::WebContents* contents,
29                                          int content_restrictions) = 0;
30
31   virtual void OnPDFHasUnsupportedFeature(content::WebContents* contents) = 0;
32
33   virtual void OnSaveURL(content::WebContents* contents) = 0;
34
35   virtual void OnShowPDFPasswordDialog(
36       content::WebContents* contents,
37       const base::string16& prompt,
38       const PasswordDialogClosedCallback& callback) = 0;
39 };
40
41 }  // namespace pdf
42
43 #endif  // COMPONENTS_PDF_BROWSER_PDF_WEB_CONTENTS_HELPER_CLIENT_H_