| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "ios/chrome/browser/ui/tools_menu/tools_menu_model.h" | 5 #include "ios/chrome/browser/ui/tools_menu/tools_menu_model.h" |
| 6 | 6 |
| 7 #include "components/strings/grit/components_strings.h" | 7 #include "components/strings/grit/components_strings.h" |
| 8 #include "ios/chrome/browser/experimental_flags.h" | 8 #include "ios/chrome/browser/experimental_flags.h" |
| 9 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" | 9 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" |
| 10 #import "ios/chrome/browser/ui/tools_menu/reading_list_menu_view_item.h" | 10 #import "ios/chrome/browser/ui/tools_menu/reading_list_menu_view_item.h" |
| 11 #include "ios/chrome/browser/ui/tools_menu/tools_menu_constants.h" | 11 #include "ios/chrome/browser/ui/tools_menu/tools_menu_constants.h" |
| 12 #include "ios/chrome/browser/ui/ui_util.h" | 12 #include "ios/chrome/browser/ui/ui_util.h" |
| 13 #include "ios/chrome/grit/ios_strings.h" | 13 #include "ios/chrome/grit/ios_strings.h" |
| 14 #include "ios/public/provider/chrome/browser/chrome_browser_provider.h" | 14 #include "ios/public/provider/chrome/browser/chrome_browser_provider.h" |
| 15 #import "ios/public/provider/chrome/browser/user_feedback/user_feedback_provider
.h" | 15 #import "ios/public/provider/chrome/browser/user_feedback/user_feedback_provider
.h" |
| 16 #include "ios/web/public/user_agent.h" | 16 #include "ios/web/public/user_agent.h" |
| 17 | 17 |
| 18 // TODO(crbug.com/678047) Remove this switch when request mobile site | |
| 19 // functionality is implemented. | |
| 20 #define HIDE_REQUEST_MOBILE_SITE_CELL | |
| 21 | |
| 22 // Menu items can be marked as visible or not when Incognito is enabled. | 18 // Menu items can be marked as visible or not when Incognito is enabled. |
| 23 // The following bits are used for |visibility| field in |MenuItemInfo|. | 19 // The following bits are used for |visibility| field in |MenuItemInfo|. |
| 24 const NSInteger kVisibleIncognitoOnly = 1 << 0; | 20 const NSInteger kVisibleIncognitoOnly = 1 << 0; |
| 25 const NSInteger kVisibleNotIncognitoOnly = 1 << 1; | 21 const NSInteger kVisibleNotIncognitoOnly = 1 << 1; |
| 26 | 22 |
| 27 // Declare all the possible items. | 23 // Declare all the possible items. |
| 28 const MenuItemInfo itemInfoList[] = { | 24 const MenuItemInfo itemInfoList[] = { |
| 29 // clang-format off | 25 // clang-format off |
| 30 { IDS_IOS_TOOLS_MENU_NEW_TAB, kToolsMenuNewTabId, | 26 { IDS_IOS_TOOLS_MENU_NEW_TAB, kToolsMenuNewTabId, |
| 31 IDC_NEW_TAB, ToolbarTypeAll, | 27 IDC_NEW_TAB, ToolbarTypeAll, |
| (...skipping 25 matching lines...) Expand all Loading... |
| 57 0, nil }, | 53 0, nil }, |
| 58 { IDS_IOS_OPTIONS_REPORT_AN_ISSUE, kToolsMenuReportAnIssueId, | 54 { IDS_IOS_OPTIONS_REPORT_AN_ISSUE, kToolsMenuReportAnIssueId, |
| 59 IDC_REPORT_AN_ISSUE, ToolbarTypeAll, | 55 IDC_REPORT_AN_ISSUE, ToolbarTypeAll, |
| 60 0, nil }, | 56 0, nil }, |
| 61 { IDS_IOS_TOOLS_MENU_FIND_IN_PAGE, kToolsMenuFindInPageId, | 57 { IDS_IOS_TOOLS_MENU_FIND_IN_PAGE, kToolsMenuFindInPageId, |
| 62 IDC_FIND, ToolbarTypeWebAll, | 58 IDC_FIND, ToolbarTypeWebAll, |
| 63 0, nil }, | 59 0, nil }, |
| 64 { IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE, kToolsMenuRequestDesktopId, | 60 { IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE, kToolsMenuRequestDesktopId, |
| 65 IDC_REQUEST_DESKTOP_SITE, ToolbarTypeWebAll, | 61 IDC_REQUEST_DESKTOP_SITE, ToolbarTypeWebAll, |
| 66 0, nil }, | 62 0, nil }, |
| 63 { IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE, kToolsMenuRequestMobileId, |
| 64 IDC_REQUEST_MOBILE_SITE, ToolbarTypeWebAll, |
| 65 0, nil }, |
| 67 { IDS_IOS_TOOLS_MENU_READER_MODE, kToolsMenuReaderMode, | 66 { IDS_IOS_TOOLS_MENU_READER_MODE, kToolsMenuReaderMode, |
| 68 IDC_READER_MODE, ToolbarTypeWebAll, | 67 IDC_READER_MODE, ToolbarTypeWebAll, |
| 69 0, nil }, | 68 0, nil }, |
| 70 { IDS_IOS_TOOLS_MENU_SETTINGS, kToolsMenuSettingsId, | 69 { IDS_IOS_TOOLS_MENU_SETTINGS, kToolsMenuSettingsId, |
| 71 IDC_OPTIONS, ToolbarTypeAll, | 70 IDC_OPTIONS, ToolbarTypeAll, |
| 72 0, nil }, | 71 0, nil }, |
| 73 { IDS_IOS_TOOLS_MENU_HELP_MOBILE, kToolsMenuHelpId, | 72 { IDS_IOS_TOOLS_MENU_HELP_MOBILE, kToolsMenuHelpId, |
| 74 IDC_HELP_PAGE_VIA_MENU, ToolbarTypeWebAll, | 73 IDC_HELP_PAGE_VIA_MENU, ToolbarTypeWebAll, |
| 75 0, nil }, | 74 0, nil }, |
| 76 // clang-format on | 75 // clang-format on |
| (...skipping 20 matching lines...) Expand all Loading... |
| 97 return experimental_flags::IsSuggestionsUIEnabled(); | 96 return experimental_flags::IsSuggestionsUIEnabled(); |
| 98 case IDS_IOS_OPTIONS_REPORT_AN_ISSUE: | 97 case IDS_IOS_OPTIONS_REPORT_AN_ISSUE: |
| 99 return ios::GetChromeBrowserProvider() | 98 return ios::GetChromeBrowserProvider() |
| 100 ->GetUserFeedbackProvider() | 99 ->GetUserFeedbackProvider() |
| 101 ->IsUserFeedbackEnabled(); | 100 ->IsUserFeedbackEnabled(); |
| 102 // TODO(crbug.com/696676): Talk to UI/UX people to decide the correct | 101 // TODO(crbug.com/696676): Talk to UI/UX people to decide the correct |
| 103 // behavior of "Requestion Desktop/Mobile Site" (e.g. Whether user agent | 102 // behavior of "Requestion Desktop/Mobile Site" (e.g. Whether user agent |
| 104 // flag should stick when going backward and which cell should be visible | 103 // flag should stick when going backward and which cell should be visible |
| 105 // when navigating to native pages). | 104 // when navigating to native pages). |
| 106 case IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE: | 105 case IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE: |
| 107 #ifdef HIDE_REQUEST_MOBILE_SITE_CELL | |
| 108 return true; | |
| 109 #else | |
| 110 return (configuration.userAgentType != web::UserAgentType::DESKTOP); | 106 return (configuration.userAgentType != web::UserAgentType::DESKTOP); |
| 111 #endif | |
| 112 case IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE: | 107 case IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE: |
| 113 // TODO(crbug.com/678047) Remove this switch when request mobile site | |
| 114 // functionality is implemented. | |
| 115 #ifdef HIDE_REQUEST_MOBILE_SITE_CELL | |
| 116 return false; | |
| 117 #else | |
| 118 return (configuration.userAgentType == web::UserAgentType::DESKTOP); | 108 return (configuration.userAgentType == web::UserAgentType::DESKTOP); |
| 119 #endif | |
| 120 default: | 109 default: |
| 121 return true; | 110 return true; |
| 122 } | 111 } |
| 123 } | 112 } |
| OLD | NEW |