OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/cocoa/js_modal_dialog_cocoa.h" | 5 #include "chrome/browser/ui/cocoa/js_modal_dialog_cocoa.h" |
6 | 6 |
7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
8 | 8 |
9 #include "app/l10n_util_mac.h" | 9 #include "app/l10n_util_mac.h" |
10 #include "app/message_box_flags.h" | |
11 #include "base/logging.h" | 10 #include "base/logging.h" |
12 #import "base/mac/cocoa_protocols.h" | 11 #import "base/mac/cocoa_protocols.h" |
13 #include "base/sys_string_conversions.h" | 12 #include "base/sys_string_conversions.h" |
14 #import "chrome/browser/chrome_browser_application_mac.h" | 13 #import "chrome/browser/chrome_browser_application_mac.h" |
15 #include "chrome/browser/ui/app_modal_dialogs/js_modal_dialog.h" | 14 #include "chrome/browser/ui/app_modal_dialogs/js_modal_dialog.h" |
16 #include "grit/app_strings.h" | 15 #include "grit/app_strings.h" |
17 #include "grit/generated_resources.h" | 16 #include "grit/generated_resources.h" |
| 17 #include "ui/base/message_box_flags.h" |
18 | 18 |
19 // Helper object that receives the notification that the dialog/sheet is | 19 // Helper object that receives the notification that the dialog/sheet is |
20 // going away. Is responsible for cleaning itself up. | 20 // going away. Is responsible for cleaning itself up. |
21 @interface JavaScriptAppModalDialogHelper : NSObject<NSAlertDelegate> { | 21 @interface JavaScriptAppModalDialogHelper : NSObject<NSAlertDelegate> { |
22 @private | 22 @private |
23 NSAlert* alert_; | 23 NSAlert* alert_; |
24 NSTextField* textField_; // WEAK; owned by alert_ | 24 NSTextField* textField_; // WEAK; owned by alert_ |
25 } | 25 } |
26 | 26 |
27 - (NSAlert*)alert; | 27 - (NSAlert*)alert; |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 : dialog_(dialog), | 99 : dialog_(dialog), |
100 helper_(NULL) { | 100 helper_(NULL) { |
101 // Determine the names of the dialog buttons based on the flags. "Default" | 101 // Determine the names of the dialog buttons based on the flags. "Default" |
102 // is the OK button. "Other" is the cancel button. We don't use the | 102 // is the OK button. "Other" is the cancel button. We don't use the |
103 // "Alternate" button in NSRunAlertPanel. | 103 // "Alternate" button in NSRunAlertPanel. |
104 NSString* default_button = l10n_util::GetNSStringWithFixup(IDS_APP_OK); | 104 NSString* default_button = l10n_util::GetNSStringWithFixup(IDS_APP_OK); |
105 NSString* other_button = l10n_util::GetNSStringWithFixup(IDS_APP_CANCEL); | 105 NSString* other_button = l10n_util::GetNSStringWithFixup(IDS_APP_CANCEL); |
106 bool text_field = false; | 106 bool text_field = false; |
107 bool one_button = false; | 107 bool one_button = false; |
108 switch (dialog_->dialog_flags()) { | 108 switch (dialog_->dialog_flags()) { |
109 case MessageBoxFlags::kIsJavascriptAlert: | 109 case ui::MessageBoxFlags::kIsJavascriptAlert: |
110 one_button = true; | 110 one_button = true; |
111 break; | 111 break; |
112 case MessageBoxFlags::kIsJavascriptConfirm: | 112 case ui::MessageBoxFlags::kIsJavascriptConfirm: |
113 if (dialog_->is_before_unload_dialog()) { | 113 if (dialog_->is_before_unload_dialog()) { |
114 default_button = l10n_util::GetNSStringWithFixup( | 114 default_button = l10n_util::GetNSStringWithFixup( |
115 IDS_BEFOREUNLOAD_MESSAGEBOX_OK_BUTTON_LABEL); | 115 IDS_BEFOREUNLOAD_MESSAGEBOX_OK_BUTTON_LABEL); |
116 other_button = l10n_util::GetNSStringWithFixup( | 116 other_button = l10n_util::GetNSStringWithFixup( |
117 IDS_BEFOREUNLOAD_MESSAGEBOX_CANCEL_BUTTON_LABEL); | 117 IDS_BEFOREUNLOAD_MESSAGEBOX_CANCEL_BUTTON_LABEL); |
118 } | 118 } |
119 break; | 119 break; |
120 case MessageBoxFlags::kIsJavascriptPrompt: | 120 case ui::MessageBoxFlags::kIsJavascriptPrompt: |
121 text_field = true; | 121 text_field = true; |
122 break; | 122 break; |
123 | 123 |
124 default: | 124 default: |
125 NOTREACHED(); | 125 NOTREACHED(); |
126 } | 126 } |
127 | 127 |
128 // Create a helper which will receive the sheet ended selector. It will | 128 // Create a helper which will receive the sheet ended selector. It will |
129 // delete itself when done. It doesn't need anything passed to its init | 129 // delete itself when done. It doesn't need anything passed to its init |
130 // as it will get a contextInfo parameter. | 130 // as it will get a contextInfo parameter. |
(...skipping 28 matching lines...) Expand all Loading... |
159 | 159 |
160 //////////////////////////////////////////////////////////////////////////////// | 160 //////////////////////////////////////////////////////////////////////////////// |
161 // JSModalDialogCocoa, NativeAppModalDialog implementation: | 161 // JSModalDialogCocoa, NativeAppModalDialog implementation: |
162 | 162 |
163 int JSModalDialogCocoa::GetAppModalDialogButtons() const { | 163 int JSModalDialogCocoa::GetAppModalDialogButtons() const { |
164 // From the above, it is the case that if there is 1 button, it is always the | 164 // From the above, it is the case that if there is 1 button, it is always the |
165 // OK button. The second button, if it exists, is always the Cancel button. | 165 // OK button. The second button, if it exists, is always the Cancel button. |
166 int num_buttons = [[alert_ buttons] count]; | 166 int num_buttons = [[alert_ buttons] count]; |
167 switch (num_buttons) { | 167 switch (num_buttons) { |
168 case 1: | 168 case 1: |
169 return MessageBoxFlags::DIALOGBUTTON_OK; | 169 return ui::MessageBoxFlags::DIALOGBUTTON_OK; |
170 case 2: | 170 case 2: |
171 return MessageBoxFlags::DIALOGBUTTON_OK | | 171 return ui::MessageBoxFlags::DIALOGBUTTON_OK | |
172 MessageBoxFlags::DIALOGBUTTON_CANCEL; | 172 ui::MessageBoxFlags::DIALOGBUTTON_CANCEL; |
173 default: | 173 default: |
174 NOTREACHED(); | 174 NOTREACHED(); |
175 return 0; | 175 return 0; |
176 } | 176 } |
177 } | 177 } |
178 | 178 |
179 void JSModalDialogCocoa::ShowAppModalDialog() { | 179 void JSModalDialogCocoa::ShowAppModalDialog() { |
180 [alert_ | 180 [alert_ |
181 beginSheetModalForWindow:nil // nil here makes it app-modal | 181 beginSheetModalForWindow:nil // nil here makes it app-modal |
182 modalDelegate:helper_.get() | 182 modalDelegate:helper_.get() |
(...skipping 28 matching lines...) Expand all Loading... |
211 | 211 |
212 //////////////////////////////////////////////////////////////////////////////// | 212 //////////////////////////////////////////////////////////////////////////////// |
213 // NativeAppModalDialog, public: | 213 // NativeAppModalDialog, public: |
214 | 214 |
215 // static | 215 // static |
216 NativeAppModalDialog* NativeAppModalDialog::CreateNativeJavaScriptPrompt( | 216 NativeAppModalDialog* NativeAppModalDialog::CreateNativeJavaScriptPrompt( |
217 JavaScriptAppModalDialog* dialog, | 217 JavaScriptAppModalDialog* dialog, |
218 gfx::NativeWindow parent_window) { | 218 gfx::NativeWindow parent_window) { |
219 return new JSModalDialogCocoa(dialog); | 219 return new JSModalDialogCocoa(dialog); |
220 } | 220 } |
OLD | NEW |