| 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_INTENTS_WEB_INTENTS_UTIL_H_ | 5 #ifndef CHROME_BROWSER_INTENTS_WEB_INTENTS_UTIL_H_ |
| 6 #define CHROME_BROWSER_INTENTS_WEB_INTENTS_UTIL_H_ | 6 #define CHROME_BROWSER_INTENTS_WEB_INTENTS_UTIL_H_ |
| 7 | 7 |
| 8 #include "base/string16.h" | 8 #include "base/string16.h" |
| 9 | 9 |
| 10 class Browser; | 10 class Browser; |
| 11 class Profile; | 11 class Profile; |
| 12 class PrefService; | 12 class PrefService; |
| 13 class PrefServiceSyncable; |
| 13 | 14 |
| 14 namespace web_intents { | 15 namespace web_intents { |
| 15 | 16 |
| 16 enum ActionId { | 17 enum ActionId { |
| 17 ACTION_ID_CUSTOM = 1, // for all unrecognized types | 18 ACTION_ID_CUSTOM = 1, // for all unrecognized types |
| 18 ACTION_ID_EDIT, | 19 ACTION_ID_EDIT, |
| 19 ACTION_ID_PICK, | 20 ACTION_ID_PICK, |
| 20 ACTION_ID_SAVE, | 21 ACTION_ID_SAVE, |
| 21 ACTION_ID_SHARE, | 22 ACTION_ID_SHARE, |
| 22 ACTION_ID_SUBSCRIBE, | 23 ACTION_ID_SUBSCRIBE, |
| 23 ACTION_ID_VIEW, | 24 ACTION_ID_VIEW, |
| 24 }; | 25 }; |
| 25 | 26 |
| 26 // "Recognized" action strings. These are basically the | 27 // "Recognized" action strings. These are basically the |
| 27 // actions we're reporting via UMA. | 28 // actions we're reporting via UMA. |
| 28 extern const char kActionEdit[]; | 29 extern const char kActionEdit[]; |
| 29 extern const char kActionPick[]; | 30 extern const char kActionPick[]; |
| 30 extern const char kActionSave[]; | 31 extern const char kActionSave[]; |
| 31 extern const char kActionShare[]; | 32 extern const char kActionShare[]; |
| 32 extern const char kActionSubscribe[]; | 33 extern const char kActionSubscribe[]; |
| 33 extern const char kActionView[]; | 34 extern const char kActionView[]; |
| 34 extern const char kActionCrosEcho[]; | 35 extern const char kActionCrosEcho[]; |
| 35 | 36 |
| 36 extern const char kQuickOfficeViewerServiceURL[]; | 37 extern const char kQuickOfficeViewerServiceURL[]; |
| 37 extern const char kQuickOfficeViewerDevServiceURL[]; | 38 extern const char kQuickOfficeViewerDevServiceURL[]; |
| 38 | 39 |
| 39 // Registers the preferences related to Web Intents. | 40 // Registers the preferences related to Web Intents. |
| 40 void RegisterUserPrefs(PrefService* user_prefs); | 41 void RegisterUserPrefs(PrefServiceSyncable* user_prefs); |
| 41 | 42 |
| 42 // Returns true if WebIntents are enabled in preferences. | 43 // Returns true if WebIntents are enabled in preferences. |
| 43 bool IsWebIntentsEnabled(PrefService* prefs); | 44 bool IsWebIntentsEnabled(PrefService* prefs); |
| 44 | 45 |
| 45 // Returns true if WebIntents are enabled due to various factors. |profile| is | 46 // Returns true if WebIntents are enabled due to various factors. |profile| is |
| 46 // the Profile to check that WebIntents are enabled for. | 47 // the Profile to check that WebIntents are enabled for. |
| 47 bool IsWebIntentsEnabledForProfile(Profile* profile); | 48 bool IsWebIntentsEnabledForProfile(Profile* profile); |
| 48 | 49 |
| 49 // In a context where we are generating a web intent based on internal events, | 50 // In a context where we are generating a web intent based on internal events, |
| 50 // or from an extension background page, get the browser in which to show the | 51 // or from an extension background page, get the browser in which to show the |
| 51 // intent picker to the user. | 52 // intent picker to the user. |
| 52 Browser* GetBrowserForBackgroundWebIntentDelivery(Profile* profile); | 53 Browser* GetBrowserForBackgroundWebIntentDelivery(Profile* profile); |
| 53 | 54 |
| 54 // Returns the recognized action (the one described at | 55 // Returns the recognized action (the one described at |
| 55 // webintents.org) or an empty string if the action is not recognized. | 56 // webintents.org) or an empty string if the action is not recognized. |
| 56 bool IsRecognizedAction(const string16& action); | 57 bool IsRecognizedAction(const string16& action); |
| 57 | 58 |
| 58 // Returns the action::Id corresponding to |action| or ACTION_ID_CUSTOM | 59 // Returns the action::Id corresponding to |action| or ACTION_ID_CUSTOM |
| 59 // if |action| is not recognized. | 60 // if |action| is not recognized. |
| 60 ActionId ToActionId(const string16& action); | 61 ActionId ToActionId(const string16& action); |
| 61 | 62 |
| 62 // Returns true if |type1| and |type2| "match". Supports wild cards in both | 63 // Returns true if |type1| and |type2| "match". Supports wild cards in both |
| 63 // |type1| and |type2|. Wild cards are of the form '<type>/*', '*/*', and '*'. | 64 // |type1| and |type2|. Wild cards are of the form '<type>/*', '*/*', and '*'. |
| 64 bool MimeTypesMatch(const string16& type1, const string16& type2); | 65 bool MimeTypesMatch(const string16& type1, const string16& type2); |
| 65 | 66 |
| 66 } // namespace web_intents | 67 } // namespace web_intents |
| 67 | 68 |
| 68 #endif // CHROME_BROWSER_INTENTS_WEB_INTENTS_UTIL_H_ | 69 #endif // CHROME_BROWSER_INTENTS_WEB_INTENTS_UTIL_H_ |
| OLD | NEW |