OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #import "chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.h" | 5 #import "chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.h" |
6 | 6 |
7 #include "chrome/browser/chrome_notification_types.h" | 7 #include "chrome/browser/chrome_notification_types.h" |
8 #include "chrome/browser/ui/browser.h" | 8 #include "chrome/browser/ui/browser.h" |
9 #include "chrome/browser/ui/browser_window.h" | 9 #include "chrome/browser/ui/browser_window.h" |
10 #include "chrome/browser/ui/cocoa/browser_window_controller.h" | 10 #include "chrome/browser/ui/cocoa/browser_window_controller.h" |
11 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" | 11 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" |
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 12 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 13 #include "chrome/grit/generated_resources.h" |
13 #include "chrome/test/base/testing_profile.h" | 14 #include "chrome/test/base/testing_profile.h" |
14 #include "content/public/browser/notification_service.h" | 15 #include "content/public/browser/notification_service.h" |
15 #include "content/public/browser/site_instance.h" | 16 #include "content/public/browser/site_instance.h" |
16 #include "content/public/browser/web_contents.h" | 17 #include "content/public/browser/web_contents.h" |
17 #include "content/public/test/test_utils.h" | 18 #include "content/public/test/test_utils.h" |
18 #include "testing/gtest_mac.h" | 19 #include "testing/gtest_mac.h" |
19 #include "ui/base/accelerators/platform_accelerator_cocoa.h" | 20 #include "ui/base/accelerators/platform_accelerator_cocoa.h" |
| 21 #include "ui/base/l10n/l10n_util.h" |
| 22 #include "ui/base/l10n/l10n_util_mac.h" |
20 | 23 |
21 using content::SiteInstance; | 24 using content::SiteInstance; |
22 using content::WebContents; | 25 using content::WebContents; |
23 | 26 |
24 @interface ExclusiveAccessBubbleWindowController (JustForTesting) | 27 @interface ExclusiveAccessBubbleWindowController (JustForTesting) |
25 // Already defined. | 28 // Already defined. |
26 + (NSString*)keyCommandString; | 29 + (NSString*)keyCommandString; |
27 + (NSString*)keyCombinationForAccelerator: | 30 + (NSString*)keyCombinationForAccelerator: |
28 (const ui::PlatformAcceleratorCocoa&)item; | 31 (const ui::PlatformAcceleratorCocoa&)item; |
| 32 - (void)initializeLabel; |
29 @end | 33 @end |
30 | 34 |
31 @interface ExclusiveAccessBubbleWindowController (ExposedForTesting) | 35 @interface ExclusiveAccessBubbleWindowController (ExposedForTesting) |
32 - (NSTextField*)exitLabelPlaceholder; | 36 - (NSTextField*)exitLabelPlaceholder; |
33 - (NSTextView*)exitLabel; | 37 - (NSTextView*)exitLabel; |
| 38 - (NSString*)denyButtonText; |
34 @end | 39 @end |
35 | 40 |
36 @implementation ExclusiveAccessBubbleWindowController (ExposedForTesting) | 41 @implementation ExclusiveAccessBubbleWindowController (ExposedForTesting) |
37 - (NSTextField*)exitLabelPlaceholder { | 42 - (NSTextField*)exitLabelPlaceholder { |
38 return exitLabelPlaceholder_; | 43 return exitLabelPlaceholder_; |
39 } | 44 } |
40 | 45 |
41 - (NSTextView*)exitLabel { | 46 - (NSTextView*)exitLabel { |
42 return exitLabel_; | 47 return exitLabel_; |
43 } | 48 } |
| 49 |
| 50 - (NSString*)denyButtonText { |
| 51 return [denyButton_ title]; |
| 52 } |
44 @end | 53 @end |
45 | 54 |
46 class ExclusiveAccessBubbleWindowControllerTest : public CocoaProfileTest { | 55 class ExclusiveAccessBubbleWindowControllerTest : public CocoaProfileTest { |
47 public: | 56 public: |
48 void SetUp() override { | 57 void SetUp() override { |
49 CocoaProfileTest::SetUp(); | 58 CocoaProfileTest::SetUp(); |
50 ASSERT_TRUE(profile()); | 59 ASSERT_TRUE(profile()); |
51 | 60 |
52 site_instance_ = SiteInstance::Create(profile()); | 61 site_instance_ = SiteInstance::Create(profile()); |
53 controller_.reset([[ExclusiveAccessBubbleWindowController alloc] | 62 controller_.reset([[ExclusiveAccessBubbleWindowController alloc] |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 ui::PlatformAcceleratorCocoa cmd_F(@"F", NSCommandKeyMask); | 131 ui::PlatformAcceleratorCocoa cmd_F(@"F", NSCommandKeyMask); |
123 ui::PlatformAcceleratorCocoa cmd_shift_f(@"f", | 132 ui::PlatformAcceleratorCocoa cmd_shift_f(@"f", |
124 NSCommandKeyMask | NSShiftKeyMask); | 133 NSCommandKeyMask | NSShiftKeyMask); |
125 NSString* cmd_F_text = [ExclusiveAccessBubbleWindowController | 134 NSString* cmd_F_text = [ExclusiveAccessBubbleWindowController |
126 keyCombinationForAccelerator:cmd_F]; | 135 keyCombinationForAccelerator:cmd_F]; |
127 NSString* cmd_shift_f_text = [ExclusiveAccessBubbleWindowController | 136 NSString* cmd_shift_f_text = [ExclusiveAccessBubbleWindowController |
128 keyCombinationForAccelerator:cmd_shift_f]; | 137 keyCombinationForAccelerator:cmd_shift_f]; |
129 EXPECT_NSEQ(cmd_shift_f_text, cmd_F_text); | 138 EXPECT_NSEQ(cmd_shift_f_text, cmd_F_text); |
130 EXPECT_NSEQ(@"\u2318\u21E7F", cmd_shift_f_text); | 139 EXPECT_NSEQ(@"\u2318\u21E7F", cmd_shift_f_text); |
131 } | 140 } |
| 141 |
| 142 // http://crbug.com/139944 |
| 143 TEST_F(ExclusiveAccessBubbleWindowControllerTest, DenyButtonText) { |
| 144 controller_.reset([[ExclusiveAccessBubbleWindowController alloc] |
| 145 initWithOwner:nil |
| 146 browser:browser() |
| 147 url:GURL() |
| 148 bubbleType:EXCLUSIVE_ACCESS_BUBBLE_TYPE_MOUSELOCK_BUTTONS]); |
| 149 [controller_ initializeLabel]; |
| 150 NSString* mouselock_deny_button_text = [controller_ denyButtonText]; |
| 151 EXPECT_NSEQ(l10n_util::GetNSString(IDS_FULLSCREEN_DENY), |
| 152 mouselock_deny_button_text); |
| 153 |
| 154 controller_.reset([[ExclusiveAccessBubbleWindowController alloc] |
| 155 initWithOwner:nil |
| 156 browser:browser() |
| 157 url:GURL() |
| 158 bubbleType:EXCLUSIVE_ACCESS_BUBBLE_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS]); |
| 159 [controller_ initializeLabel]; |
| 160 NSString* fullscreen_mouselock_deny_button_text = |
| 161 [controller_ denyButtonText]; |
| 162 EXPECT_NSEQ(l10n_util::GetNSString(IDS_FULLSCREEN_EXIT), |
| 163 fullscreen_mouselock_deny_button_text); |
| 164 } |
OLD | NEW |