| Index: ios/chrome/browser/ui/browser_view_controller.mm
|
| diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
|
| index da9d2434e5333764648ae8be4ed2903a242da2bd..a3d65fc2f36f4cf3736048033610ee0944222f0c 100644
|
| --- a/ios/chrome/browser/ui/browser_view_controller.mm
|
| +++ b/ios/chrome/browser/ui/browser_view_controller.mm
|
| @@ -50,6 +50,7 @@
|
| #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
|
| #include "ios/chrome/browser/chrome_url_constants.h"
|
| #include "ios/chrome/browser/chrome_url_util.h"
|
| +#import "ios/chrome/browser/content_suggestions/content_suggestions_coordinator.h"
|
| #include "ios/chrome/browser/experimental_flags.h"
|
| #import "ios/chrome/browser/favicon/favicon_loader.h"
|
| #include "ios/chrome/browser/favicon/ios_chrome_favicon_loader_factory.h"
|
| @@ -384,6 +385,10 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
|
| // Used to display the QR Scanner UI. Nil if not visible.
|
| base::scoped_nsobject<QRScannerViewController> _qrScannerViewController;
|
|
|
| + // Used to display the Suggestions.
|
| + base::scoped_nsobject<ContentSuggestionsCoordinator>
|
| + _contentSuggestionsCoordinator;
|
| +
|
| // Used to display the Find In Page UI. Nil if not visible.
|
| base::scoped_nsobject<FindBarControllerIOS> _findBarController;
|
|
|
| @@ -4109,6 +4114,11 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
|
| [self showQRScanner];
|
| }
|
| break;
|
| + case IDC_SHOW_SUGGESTIONS:
|
| + if (experimental_flags::IsSuggestionsUIEnabled()) {
|
| + [self showSuggestionsUI];
|
| + }
|
| + break;
|
| default:
|
| // Unknown commands get sent up the responder chain.
|
| [super chromeExecuteCommand:sender];
|
| @@ -4214,6 +4224,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
|
| [_contextMenuCoordinator stop];
|
| [self dismissRateThisAppDialog];
|
|
|
| + [_contentSuggestionsCoordinator stop];
|
| +
|
| if (self.presentedViewController) {
|
| // Dismisses any other modal controllers that may be present, e.g. Recent
|
| // Tabs.
|
| @@ -4373,6 +4385,14 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
|
| completion:nil];
|
| }
|
|
|
| +- (void)showSuggestionsUI {
|
| + if (!_contentSuggestionsCoordinator) {
|
| + _contentSuggestionsCoordinator.reset([[ContentSuggestionsCoordinator alloc]
|
| + initWithBaseViewController:self]);
|
| + }
|
| + [_contentSuggestionsCoordinator start];
|
| +}
|
| +
|
| - (void)showNTPPanel:(NewTabPage::PanelIdentifier)panel {
|
| DCHECK(self.visible || self.dismissingModal);
|
| GURL url(kChromeUINewTabURL);
|
|
|