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

Side by Side Diff: chrome/browser/ui/cocoa/pdf_password_dialog.mm

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, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/pdf/pdf_tab_helper.h"
6
7 #import <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
8 6
9 #include "base/mac/scoped_nsobject.h" 7 #include "base/mac/scoped_nsobject.h"
10 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
11 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
12 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
13 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_alert.h" 11 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_alert.h"
14 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sh eet.h" 12 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sh eet.h"
15 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h" 13 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h"
16 #import "chrome/browser/ui/cocoa/key_equivalent_constants.h" 14 #import "chrome/browser/ui/cocoa/key_equivalent_constants.h"
15 #include "components/pdf/browser/pdf_tab_helper_delegate.h"
17 #include "grit/generated_resources.h" 16 #include "grit/generated_resources.h"
18 #include "ui/base/l10n/l10n_util.h" 17 #include "ui/base/l10n/l10n_util.h"
19 18
20 @class PDFPasswordDialogMac; 19 @class PDFPasswordDialogMac;
21 20
22 namespace { 21 namespace {
23 22
24 class PDFPasswordDialogMacBridge : public ConstrainedWindowMacDelegate { 23 class PDFPasswordDialogMacBridge : public ConstrainedWindowMacDelegate {
25 public: 24 public:
26 explicit PDFPasswordDialogMacBridge(PDFPasswordDialogMac* dialog); 25 explicit PDFPasswordDialogMacBridge(PDFPasswordDialogMac* dialog);
27 virtual ~PDFPasswordDialogMacBridge(); 26 virtual ~PDFPasswordDialogMacBridge();
28 virtual void OnConstrainedWindowClosed(ConstrainedWindowMac* window) OVERRIDE; 27 virtual void OnConstrainedWindowClosed(ConstrainedWindowMac* window) OVERRIDE;
29 28
30 private: 29 private:
31 PDFPasswordDialogMac* dialog_; // weak 30 PDFPasswordDialogMac* dialog_; // weak
32 31
33 DISALLOW_COPY_AND_ASSIGN(PDFPasswordDialogMacBridge); 32 DISALLOW_COPY_AND_ASSIGN(PDFPasswordDialogMacBridge);
34 }; 33 };
35 34
36 } // namespace 35 } // namespace
37 36
38 @interface PDFPasswordDialogMac : NSObject { 37 @interface PDFPasswordDialogMac : NSObject {
39 @private 38 @private
40 content::WebContents* webContents_; 39 content::WebContents* webContents_;
41 base::string16 prompt_; 40 base::string16 prompt_;
42 PasswordDialogClosedCallback callback_; 41 pdf::PasswordDialogClosedCallback callback_;
43 42
44 base::scoped_nsobject<NSSecureTextField> passwordField_; 43 base::scoped_nsobject<NSSecureTextField> passwordField_;
45 44
46 base::scoped_nsobject<ConstrainedWindowAlert> alert_; 45 base::scoped_nsobject<ConstrainedWindowAlert> alert_;
47 scoped_ptr<PDFPasswordDialogMacBridge> bridge_; 46 scoped_ptr<PDFPasswordDialogMacBridge> bridge_;
48 scoped_ptr<ConstrainedWindowMac> window_; 47 scoped_ptr<ConstrainedWindowMac> window_;
49 } 48 }
50 - (id)initWithWebContents:(content::WebContents*)webContents 49 - (id)initWithWebContents:(content::WebContents*)webContents
51 prompt:(base::string16)prompt 50 prompt:(base::string16)prompt
52 callback:(PasswordDialogClosedCallback)callback; 51 callback:(pdf::PasswordDialogClosedCallback)callback;
53 - (void)onOKButton:(id)sender; 52 - (void)onOKButton:(id)sender;
54 - (void)onCancelButton:(id)sender; 53 - (void)onCancelButton:(id)sender;
55 @end 54 @end
56 55
57 namespace { 56 namespace {
58 57
59 PDFPasswordDialogMacBridge::PDFPasswordDialogMacBridge( 58 PDFPasswordDialogMacBridge::PDFPasswordDialogMacBridge(
60 PDFPasswordDialogMac* dialog) : dialog_(dialog) { 59 PDFPasswordDialogMac* dialog) : dialog_(dialog) {
61 } 60 }
62 61
63 PDFPasswordDialogMacBridge::~PDFPasswordDialogMacBridge() { 62 PDFPasswordDialogMacBridge::~PDFPasswordDialogMacBridge() {
64 } 63 }
65 64
66 void PDFPasswordDialogMacBridge::OnConstrainedWindowClosed( 65 void PDFPasswordDialogMacBridge::OnConstrainedWindowClosed(
67 ConstrainedWindowMac* window) { 66 ConstrainedWindowMac* window) {
68 [dialog_ release]; 67 [dialog_ release];
69 } 68 }
70 69
71 } // namespace 70 } // namespace
72 71
73 @implementation PDFPasswordDialogMac 72 @implementation PDFPasswordDialogMac
74 73
75 - (id)initWithWebContents:(content::WebContents*)webContents 74 - (id)initWithWebContents:(content::WebContents*)webContents
76 prompt:(base::string16)prompt 75 prompt:(base::string16)prompt
77 callback:(PasswordDialogClosedCallback)callback { 76 callback:(pdf::PasswordDialogClosedCallback)callback {
78 if ((self = [super init])) { 77 if ((self = [super init])) {
79 webContents_ = webContents; 78 webContents_ = webContents;
80 prompt_ = prompt; 79 prompt_ = prompt;
81 callback_ = callback; 80 callback_ = callback;
82 81
83 alert_.reset([[ConstrainedWindowAlert alloc] init]); 82 alert_.reset([[ConstrainedWindowAlert alloc] init]);
84 [alert_ setMessageText: 83 [alert_ setMessageText:
85 l10n_util::GetNSString(IDS_PDF_PASSWORD_DIALOG_TITLE)]; 84 l10n_util::GetNSString(IDS_PDF_PASSWORD_DIALOG_TITLE)];
86 [alert_ setInformativeText:base::SysUTF16ToNSString(prompt)]; 85 [alert_ setInformativeText:base::SysUTF16ToNSString(prompt)];
87 [alert_ addButtonWithTitle:l10n_util::GetNSString(IDS_OK) 86 [alert_ addButtonWithTitle:l10n_util::GetNSString(IDS_OK)
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 - (void)onCancelButton:(id)sender { 127 - (void)onCancelButton:(id)sender {
129 callback_.Run(false, base::string16()); 128 callback_.Run(false, base::string16());
130 callback_.Reset(); 129 callback_.Reset();
131 window_->CloseWebContentsModalDialog(); 130 window_->CloseWebContentsModalDialog();
132 } 131 }
133 132
134 @end 133 @end
135 134
136 void ShowPDFPasswordDialog(content::WebContents* web_contents, 135 void ShowPDFPasswordDialog(content::WebContents* web_contents,
137 const base::string16& prompt, 136 const base::string16& prompt,
138 const PasswordDialogClosedCallback& callback) { 137 const pdf::PasswordDialogClosedCallback& callback) {
139 [[PDFPasswordDialogMac alloc] initWithWebContents:web_contents 138 [[PDFPasswordDialogMac alloc] initWithWebContents:web_contents
140 prompt:prompt 139 prompt:prompt
141 callback:callback]; 140 callback:callback];
142 } 141 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698