OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "chrome/browser/extensions/menu_manager.h" | 31 #include "chrome/browser/extensions/menu_manager.h" |
32 #include "chrome/browser/extensions/pending_extension_manager.h" | 32 #include "chrome/browser/extensions/pending_extension_manager.h" |
33 #include "chrome/browser/extensions/process_map.h" | 33 #include "chrome/browser/extensions/process_map.h" |
34 #include "chrome/browser/extensions/update_observer.h" | 34 #include "chrome/browser/extensions/update_observer.h" |
35 #include "chrome/common/extensions/extension.h" | 35 #include "chrome/common/extensions/extension.h" |
36 #include "chrome/common/extensions/extension_constants.h" | 36 #include "chrome/common/extensions/extension_constants.h" |
37 #include "chrome/common/extensions/extension_set.h" | 37 #include "chrome/common/extensions/extension_set.h" |
38 #include "chrome/common/extensions/manifest.h" | 38 #include "chrome/common/extensions/manifest.h" |
39 #include "content/public/browser/notification_observer.h" | 39 #include "content/public/browser/notification_observer.h" |
40 #include "content/public/browser/notification_registrar.h" | 40 #include "content/public/browser/notification_registrar.h" |
| 41 #include "ipc/ipc_listener.h" |
41 #include "sync/api/string_ordinal.h" | 42 #include "sync/api/string_ordinal.h" |
42 #include "sync/api/sync_change.h" | 43 #include "sync/api/sync_change.h" |
43 #include "sync/api/syncable_service.h" | 44 #include "sync/api/syncable_service.h" |
44 | 45 |
45 class CommandLine; | 46 class CommandLine; |
46 class ExtensionErrorUI; | 47 class ExtensionErrorUI; |
47 class ExtensionSyncData; | 48 class ExtensionSyncData; |
48 class ExtensionToolbarModel; | 49 class ExtensionToolbarModel; |
49 class GURL; | 50 class GURL; |
50 class Profile; | 51 class Profile; |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 | 402 |
402 // Returns true if |url| should get extension api bindings and be permitted | 403 // Returns true if |url| should get extension api bindings and be permitted |
403 // to make api calls. Note that this is independent of what extension | 404 // to make api calls. Note that this is independent of what extension |
404 // permissions the given extension has been granted. | 405 // permissions the given extension has been granted. |
405 bool ExtensionBindingsAllowed(const GURL& url); | 406 bool ExtensionBindingsAllowed(const GURL& url); |
406 | 407 |
407 // Returns true if a normal browser window should avoid showing |url| in a | 408 // Returns true if a normal browser window should avoid showing |url| in a |
408 // tab. In this case, |url| is also rewritten to an error URL. | 409 // tab. In this case, |url| is also rewritten to an error URL. |
409 bool ShouldBlockUrlInBrowserTab(GURL* url); | 410 bool ShouldBlockUrlInBrowserTab(GURL* url); |
410 | 411 |
| 412 // Looks if there is a platform app that's registered itself for handling |
| 413 // a URL pattern(s) that matches |url|. If there is, launches the app, using |
| 414 // the onLaunched event with |url|, |referrerUrl| and the just found |
| 415 // handler ID as launch parameters, and returns true. |
| 416 // Otherwise, returns false. |
| 417 // This way of redirecting URLs is for use in browser-initiated that happen |
| 418 // in the browser process. |
| 419 bool MaybeRedirectUrlToApp(const GURL& url, const GURL& referrer_url); |
| 420 |
| 421 // Launches an app with |app_id|, via an onLaunched event with |handler_id|, |
| 422 // |url| and |referrerUrl| as launch parameters. This is registered to listen |
| 423 // to the respective IPC control message from a renderer process to provide |
| 424 // a way of redirecting URLs for navigations initiated within a |
| 425 // renderer (e.g. WebKit-initiated). |
| 426 bool RedirectUrlToApp(const std::string& app_id, |
| 427 const std::string& handler_id, |
| 428 const GURL& url, |
| 429 const GURL& referrer_url); |
| 430 |
411 // Called when the initial extensions load has completed. | 431 // Called when the initial extensions load has completed. |
412 virtual void OnLoadedInstalledExtensions(); | 432 virtual void OnLoadedInstalledExtensions(); |
413 | 433 |
414 // Adds |extension| to this ExtensionService and notifies observers that the | 434 // Adds |extension| to this ExtensionService and notifies observers that the |
415 // extensions have been loaded. | 435 // extensions have been loaded. |
416 virtual void AddExtension(const extensions::Extension* extension) OVERRIDE; | 436 virtual void AddExtension(const extensions::Extension* extension) OVERRIDE; |
417 | 437 |
418 // Check if we have preferences for the component extension and, if not or if | 438 // Check if we have preferences for the component extension and, if not or if |
419 // the stored version differs, install the extension (without requirements | 439 // the stored version differs, install the extension (without requirements |
420 // checking) before calling AddExtension. | 440 // checking) before calling AddExtension. |
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
988 ObserverList<extensions::UpdateObserver, true> update_observers_; | 1008 ObserverList<extensions::UpdateObserver, true> update_observers_; |
989 | 1009 |
990 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 1010 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
991 InstallAppsWithUnlimtedStorage); | 1011 InstallAppsWithUnlimtedStorage); |
992 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 1012 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
993 InstallAppsAndCheckStorageProtection); | 1013 InstallAppsAndCheckStorageProtection); |
994 DISALLOW_COPY_AND_ASSIGN(ExtensionService); | 1014 DISALLOW_COPY_AND_ASSIGN(ExtensionService); |
995 }; | 1015 }; |
996 | 1016 |
997 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ | 1017 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
OLD | NEW |