| // Copyright 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef IOS_CHROME_BROWSER_CHROME_URL_UTIL_H_ |
| #define IOS_CHROME_BROWSER_CHROME_URL_UTIL_H_ |
| |
| #import <Foundation/Foundation.h> |
| |
| #include <string> |
| |
| class GURL; |
| |
| // Returns whether |url| is an external file reference. |
| bool UrlIsExternalFileReference(const GURL& url); |
| |
| // Returns true if the scheme has a chrome scheme. |
| bool UrlHasChromeScheme(const GURL& url); |
| bool UrlHasChromeScheme(NSURL* url); |
| |
| // Returns YES if |url| matches chrome://newtab. |
| bool IsURLNtp(const GURL& url); |
| |
| // Returns true if |scheme| is handled in Chrome, or by default handlers in |
| // net::URLRequest. |
| bool IsHandledProtocol(const std::string& scheme); |
| |
| // Singleton object that generates constants for Chrome iOS applications. |
| // Behavior of this object can be overridden by unit tests. |
| @interface ChromeAppConstants : NSObject |
| |
| // Class method returning the singleton instance. |
| + (ChromeAppConstants*)sharedInstance; |
| |
| // Returns the URL scheme that launches Chrome. |
| - (NSString*)getBundleURLScheme; |
| |
| // Returns all the URL schemes that are registered on the Application Bundle. |
| - (NSArray*)getAllBundleURLSchemes; |
| |
| // Method to set the scheme to callback Chrome iOS for testing. |
| - (void)setCallbackSchemeForTesting:(NSString*)callbackScheme; |
| |
| @end |
| |
| #endif // IOS_CHROME_BROWSER_CHROME_URL_UTIL_H_ |