| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "chrome/browser/ui/fullscreen/fullscreen_exit_bubble_type.h" | |
| 6 | |
| 7 #include "base/strings/utf_string_conversions.h" | |
| 8 #include "chrome/common/url_constants.h" | |
| 9 #include "chrome/grit/generated_resources.h" | |
| 10 #include "extensions/browser/extension_registry.h" | |
| 11 #include "extensions/common/constants.h" | |
| 12 #include "extensions/common/extension.h" | |
| 13 #include "extensions/common/extension_set.h" | |
| 14 #include "ui/base/l10n/l10n_util.h" | |
| 15 | |
| 16 namespace fullscreen_bubble { | |
| 17 | |
| 18 base::string16 GetLabelTextForType(FullscreenExitBubbleType type, | |
| 19 const GURL& url, | |
| 20 extensions::ExtensionRegistry* registry) { | |
| 21 base::string16 host(base::UTF8ToUTF16(url.host())); | |
| 22 if (registry) { | |
| 23 const extensions::Extension* extension = | |
| 24 registry->enabled_extensions().GetExtensionOrAppByURL(url); | |
| 25 if (extension) { | |
| 26 host = base::UTF8ToUTF16(extension->name()); | |
| 27 } else if (url.SchemeIs(extensions::kExtensionScheme)) { | |
| 28 // In this case, |host| is set to an extension ID. | |
| 29 // We are not going to show it because it's human-unreadable. | |
| 30 host.clear(); | |
| 31 } | |
| 32 } | |
| 33 if (host.empty()) { | |
| 34 switch (type) { | |
| 35 case FEB_TYPE_FULLSCREEN_BUTTONS: | |
| 36 case FEB_TYPE_FULLSCREEN_EXIT_INSTRUCTION: | |
| 37 return l10n_util::GetStringUTF16(IDS_FULLSCREEN_ENTERED_FULLSCREEN); | |
| 38 case FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS: | |
| 39 return l10n_util::GetStringUTF16( | |
| 40 IDS_FULLSCREEN_REQUEST_FULLSCREEN_MOUSELOCK); | |
| 41 case FEB_TYPE_MOUSELOCK_BUTTONS: | |
| 42 return l10n_util::GetStringUTF16(IDS_FULLSCREEN_REQUEST_MOUSELOCK); | |
| 43 case FEB_TYPE_FULLSCREEN_MOUSELOCK_EXIT_INSTRUCTION: | |
| 44 return l10n_util::GetStringUTF16( | |
| 45 IDS_FULLSCREEN_ENTERED_FULLSCREEN_MOUSELOCK); | |
| 46 case FEB_TYPE_MOUSELOCK_EXIT_INSTRUCTION: | |
| 47 return l10n_util::GetStringUTF16( | |
| 48 IDS_FULLSCREEN_ENTERED_MOUSELOCK); | |
| 49 case FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION: | |
| 50 return l10n_util::GetStringUTF16( | |
| 51 IDS_FULLSCREEN_USER_ENTERED_FULLSCREEN); | |
| 52 case FEB_TYPE_BROWSER_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION: | |
| 53 return l10n_util::GetStringUTF16( | |
| 54 IDS_FULLSCREEN_UNKNOWN_EXTENSION_TRIGGERED_FULLSCREEN); | |
| 55 default: | |
| 56 NOTREACHED(); | |
| 57 return base::string16(); | |
| 58 } | |
| 59 } | |
| 60 switch (type) { | |
| 61 case FEB_TYPE_FULLSCREEN_BUTTONS: | |
| 62 return l10n_util::GetStringFUTF16( | |
| 63 IDS_FULLSCREEN_SITE_ENTERED_FULLSCREEN, host); | |
| 64 case FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS: | |
| 65 return l10n_util::GetStringFUTF16( | |
| 66 IDS_FULLSCREEN_SITE_REQUEST_FULLSCREEN_MOUSELOCK, host); | |
| 67 case FEB_TYPE_MOUSELOCK_BUTTONS: | |
| 68 return l10n_util::GetStringFUTF16( | |
| 69 IDS_FULLSCREEN_SITE_REQUEST_MOUSELOCK, host); | |
| 70 case FEB_TYPE_FULLSCREEN_EXIT_INSTRUCTION: | |
| 71 return l10n_util::GetStringFUTF16( | |
| 72 IDS_FULLSCREEN_SITE_ENTERED_FULLSCREEN, host); | |
| 73 case FEB_TYPE_FULLSCREEN_MOUSELOCK_EXIT_INSTRUCTION: | |
| 74 return l10n_util::GetStringFUTF16( | |
| 75 IDS_FULLSCREEN_SITE_ENTERED_FULLSCREEN_MOUSELOCK, host); | |
| 76 case FEB_TYPE_MOUSELOCK_EXIT_INSTRUCTION: | |
| 77 return l10n_util::GetStringFUTF16( | |
| 78 IDS_FULLSCREEN_SITE_ENTERED_MOUSELOCK, host); | |
| 79 case FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION: | |
| 80 return l10n_util::GetStringUTF16( | |
| 81 IDS_FULLSCREEN_USER_ENTERED_FULLSCREEN); | |
| 82 case FEB_TYPE_BROWSER_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION: | |
| 83 return l10n_util::GetStringFUTF16( | |
| 84 IDS_FULLSCREEN_EXTENSION_TRIGGERED_FULLSCREEN, host); | |
| 85 default: | |
| 86 NOTREACHED(); | |
| 87 return base::string16(); | |
| 88 } | |
| 89 } | |
| 90 | |
| 91 base::string16 GetDenyButtonTextForType(FullscreenExitBubbleType type) { | |
| 92 switch (type) { | |
| 93 case FEB_TYPE_FULLSCREEN_BUTTONS: | |
| 94 return l10n_util::GetStringUTF16(IDS_FULLSCREEN_EXIT_FULLSCREEN); | |
| 95 case FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS: | |
| 96 return l10n_util::GetStringUTF16(IDS_FULLSCREEN_EXIT); | |
| 97 case FEB_TYPE_MOUSELOCK_BUTTONS: | |
| 98 return l10n_util::GetStringUTF16(IDS_FULLSCREEN_DENY); | |
| 99 case FEB_TYPE_FULLSCREEN_EXIT_INSTRUCTION: | |
| 100 case FEB_TYPE_FULLSCREEN_MOUSELOCK_EXIT_INSTRUCTION: | |
| 101 case FEB_TYPE_MOUSELOCK_EXIT_INSTRUCTION: | |
| 102 case FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION: | |
| 103 case FEB_TYPE_BROWSER_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION: | |
| 104 NOTREACHED(); // No button in this case. | |
| 105 return base::string16(); | |
| 106 default: | |
| 107 NOTREACHED(); | |
| 108 return base::string16(); | |
| 109 } | |
| 110 } | |
| 111 | |
| 112 bool ShowButtonsForType(FullscreenExitBubbleType type) { | |
| 113 return type == FEB_TYPE_FULLSCREEN_BUTTONS || | |
| 114 type == FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS || | |
| 115 type == FEB_TYPE_MOUSELOCK_BUTTONS; | |
| 116 } | |
| 117 | |
| 118 void PermissionRequestedByType(FullscreenExitBubbleType type, | |
| 119 bool* tab_fullscreen, | |
| 120 bool* mouse_lock) { | |
| 121 if (tab_fullscreen) { | |
| 122 *tab_fullscreen = type == FEB_TYPE_FULLSCREEN_BUTTONS || | |
| 123 type == FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS; | |
| 124 } | |
| 125 if (mouse_lock) { | |
| 126 *mouse_lock = type == FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS || | |
| 127 type == FEB_TYPE_MOUSELOCK_BUTTONS; | |
| 128 } | |
| 129 } | |
| 130 | |
| 131 } // namespace fullscreen_bubble | |
| OLD | NEW |