Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Side by Side Diff: ios/chrome/browser/tabs/tab.mm

Issue 2860573003: Disables Native App Launcher functionality. (Closed)
Patch Set: fixed egtests compilation Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "ios/chrome/browser/tabs/tab.h" 5 #import "ios/chrome/browser/tabs/tab.h"
6 6
7 #import <CoreLocation/CoreLocation.h> 7 #import <CoreLocation/CoreLocation.h>
8 #import <UIKit/UIKit.h> 8 #import <UIKit/UIKit.h>
9 9
10 #include <utility> 10 #include <utility>
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 499
500 [self updateLastVisitedTimestamp]; 500 [self updateLastVisitedTimestamp];
501 [[self webController] addObserver:self]; 501 [[self webController] addObserver:self];
502 [[self webController] setDelegate:self]; 502 [[self webController] setDelegate:self];
503 503
504 snapshotManager_.reset([[SnapshotManager alloc] init]); 504 snapshotManager_.reset([[SnapshotManager alloc] init]);
505 webControllerSnapshotHelper_.reset([[WebControllerSnapshotHelper alloc] 505 webControllerSnapshotHelper_.reset([[WebControllerSnapshotHelper alloc]
506 initWithSnapshotManager:snapshotManager_ 506 initWithSnapshotManager:snapshotManager_
507 tab:self]); 507 tab:self]);
508 508
509 [self initNativeAppNavigationController]; 509 if (experimental_flags::IsNativeAppLauncherEnabled())
510 [self initNativeAppNavigationController];
510 511
511 [[NSNotificationCenter defaultCenter] 512 [[NSNotificationCenter defaultCenter]
512 addObserver:self 513 addObserver:self
513 selector:@selector(applicationDidBecomeActive) 514 selector:@selector(applicationDidBecomeActive)
514 name:UIApplicationDidBecomeActiveNotification 515 name:UIApplicationDidBecomeActiveNotification
515 object:nil]; 516 object:nil];
516 } 517 }
517 return self; 518 return self;
518 } 519 }
519 520
(...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1624 if (isPrerenderTab_ && !isLinkLoadingPrerenderTab_) { 1625 if (isPrerenderTab_ && !isLinkLoadingPrerenderTab_) {
1625 [delegate_ discardPrerender]; 1626 [delegate_ discardPrerender];
1626 return NO; 1627 return NO;
1627 } 1628 }
1628 return YES; 1629 return YES;
1629 } 1630 }
1630 1631
1631 - (BOOL)urlTriggersNativeAppLaunch:(const GURL&)url 1632 - (BOOL)urlTriggersNativeAppLaunch:(const GURL&)url
1632 sourceURL:(const GURL&)sourceURL 1633 sourceURL:(const GURL&)sourceURL
1633 linkClicked:(BOOL)linkClicked { 1634 linkClicked:(BOOL)linkClicked {
1635 // TODO(crbug/711511): If Native App Launcher is not enabled, returning NO
1636 // bypasses all Link Navigation logic. This call should eventually be
1637 // eliminated.
1638 if (!experimental_flags::IsNativeAppLauncherEnabled())
1639 return NO;
1640
1634 // Don't open any native app directly when prerendering or from Incognito. 1641 // Don't open any native app directly when prerendering or from Incognito.
1635 if (isPrerenderTab_ || self.browserState->IsOffTheRecord()) 1642 if (isPrerenderTab_ || self.browserState->IsOffTheRecord())
1636 return NO; 1643 return NO;
1637 1644
1638 base::scoped_nsprotocol<id<NativeAppMetadata>> metadata( 1645 base::scoped_nsprotocol<id<NativeAppMetadata>> metadata(
1639 [[ios::GetChromeBrowserProvider()->GetNativeAppWhitelistManager() 1646 [[ios::GetChromeBrowserProvider()->GetNativeAppWhitelistManager()
1640 nativeAppForURL:url] retain]); 1647 nativeAppForURL:url] retain]);
1641 if (![metadata shouldAutoOpenLinks]) 1648 if (![metadata shouldAutoOpenLinks])
1642 return NO; 1649 return NO;
1643 1650
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
1912 appendTo:kLastTab]); 1919 appendTo:kLastTab]);
1913 [self.view chromeExecuteCommand:command]; 1920 [self.view chromeExecuteCommand:command];
1914 } else { 1921 } else {
1915 base::scoped_nsobject<GenericChromeCommand> chromeCommand( 1922 base::scoped_nsobject<GenericChromeCommand> chromeCommand(
1916 [[GenericChromeCommand alloc] initWithTag:IDC_NEW_INCOGNITO_TAB]); 1923 [[GenericChromeCommand alloc] initWithTag:IDC_NEW_INCOGNITO_TAB]);
1917 [self.view chromeExecuteCommand:chromeCommand]; 1924 [self.view chromeExecuteCommand:chromeCommand];
1918 } 1925 }
1919 } 1926 }
1920 1927
1921 - (NativeAppNavigationController*)nativeAppNavigationController { 1928 - (NativeAppNavigationController*)nativeAppNavigationController {
1929 // TODO(crbug.com/711511): If Native App Launcher is not enabled, simply
1930 // return nil here. This method should eventually be eliminated.
1931 if (!experimental_flags::IsNativeAppLauncherEnabled())
1932 return nil;
1922 return nativeAppNavigationController_; 1933 return nativeAppNavigationController_;
1923 } 1934 }
1924 1935
1925 - (void)initNativeAppNavigationController { 1936 - (void)initNativeAppNavigationController {
1926 if (browserState_->IsOffTheRecord()) 1937 if (browserState_->IsOffTheRecord())
1927 return; 1938 return;
1928 DCHECK(!nativeAppNavigationController_); 1939 DCHECK(!nativeAppNavigationController_);
1929 nativeAppNavigationController_.reset( 1940 nativeAppNavigationController_.reset(
1930 [[NativeAppNavigationController alloc] initWithWebState:self.webState]); 1941 [[NativeAppNavigationController alloc] initWithWebState:self.webState]);
1931 DCHECK(nativeAppNavigationController_); 1942 DCHECK(nativeAppNavigationController_);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 1983
1973 - (TabModel*)parentTabModel { 1984 - (TabModel*)parentTabModel {
1974 return parentTabModel_; 1985 return parentTabModel_;
1975 } 1986 }
1976 1987
1977 - (FormInputAccessoryViewController*)inputAccessoryViewController { 1988 - (FormInputAccessoryViewController*)inputAccessoryViewController {
1978 return inputAccessoryViewController_.get(); 1989 return inputAccessoryViewController_.get();
1979 } 1990 }
1980 1991
1981 @end 1992 @end
OLDNEW
« no previous file with comments | « ios/chrome/browser/resources/Settings.bundle/Experimental.plist ('k') | ios/chrome/browser/tabs/tab_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698