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

Unified Diff: chrome/common/render_messages.h

Issue 2823042: Implement IsSearchProviderInstalled and a test for it. (Closed)
Patch Set: Addressed feedback. Created 10 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/render_messages.h
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 3a419cc266c89379ddb6e146920f1cd0ce1c5d1d..7fd8608b5bd0d8a473ea76600283b323e2f4e7a3 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -147,6 +147,56 @@ struct ViewMsg_StopFinding_Params {
Action action;
};
+// The install state of the search provider (not installed, installed, default).
+struct ViewHostMsg_GetSearchProviderInstallState_Params {
+ enum State {
+ // Equates to an access denied error.
+ DENIED = -1,
+
+ // DON'T CHANGE THE VALUES BELOW.
+ // All of the following values are manidated by the
+ // spec for window.external.IsSearchProviderInstalled.
+
+ // The search provider is not installed.
+ NOT_INSTALLED = 0,
+
+ // The search provider is in the user's set but is not
+ INSTALLED_BUT_NOT_DEFAULT = 1,
+
+ // The search provider is set as the user's default.
+ INSTALLED_AS_DEFAULT = 2
+ };
+ State state;
+
+ ViewHostMsg_GetSearchProviderInstallState_Params()
+ : state(DENIED) {
sky 2010/07/15 23:24:49 indent 4
+ }
+
+ explicit ViewHostMsg_GetSearchProviderInstallState_Params(State s)
+ : state(s) {
sky 2010/07/15 23:24:49 indent 4
+ }
+
+ static ViewHostMsg_GetSearchProviderInstallState_Params Denied() {
+ return ViewHostMsg_GetSearchProviderInstallState_Params(DENIED);
+ }
+
+ static ViewHostMsg_GetSearchProviderInstallState_Params NotInstalled() {
+ return ViewHostMsg_GetSearchProviderInstallState_Params(NOT_INSTALLED);
+ }
+
+ static ViewHostMsg_GetSearchProviderInstallState_Params
+ InstallButNotDefault() {
+ return ViewHostMsg_GetSearchProviderInstallState_Params(
+ INSTALLED_BUT_NOT_DEFAULT);
+ }
+
+ static ViewHostMsg_GetSearchProviderInstallState_Params InstalledAsDefault() {
+ return ViewHostMsg_GetSearchProviderInstallState_Params(
+ INSTALLED_AS_DEFAULT);
+ }
+};
+
+
// Parameters structure for ViewHostMsg_FrameNavigate, which has too many data
// parameters to be reasonably put in a predefined IPC message.
struct ViewHostMsg_FrameNavigate_Params {
@@ -949,6 +999,49 @@ struct ParamTraits<FontDescriptor> {
}
};
+// Traits for ViewHostMsg_GetSearchProviderInstallState_Params structure to
+// pack/unpack.
+template <>
+struct ParamTraits<ViewHostMsg_GetSearchProviderInstallState_Params> {
+ typedef ViewHostMsg_GetSearchProviderInstallState_Params param_type;
+ static void Write(Message* m, const param_type& p) {
+ m->WriteInt(p.state);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ int type;
+ if (!m->ReadInt(iter, &type))
+ return false;
+ p->state = static_cast<param_type::State>(type);
+ return true;
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ std::wstring state;
+ switch (p.state) {
+ case ViewHostMsg_GetSearchProviderInstallState_Params::DENIED:
+ state = L"ViewHostMsg_GetSearchProviderInstallState_Params::DENIED";
+ break;
+ case ViewHostMsg_GetSearchProviderInstallState_Params::NOT_INSTALLED:
+ state =
+ L"ViewHostMsg_GetSearchProviderInstallState_Params::NOT_INSTALLED";
+ break;
+ case ViewHostMsg_GetSearchProviderInstallState_Params::
+ INSTALLED_BUT_NOT_DEFAULT:
+ state = L"ViewHostMsg_GetSearchProviderInstallState_Params::"
+ L"INSTALLED_BUT_NOT_DEFAULT";
+ break;
+ case ViewHostMsg_GetSearchProviderInstallState_Params::
+ INSTALLED_AS_DEFAULT:
+ state = L"ViewHostMsg_GetSearchProviderInstallState_Params::"
+ L"INSTALLED_AS_DEFAULT";
+ break;
+ default:
+ state = L"UNKNOWN";
+ break;
+ }
+ LogParam(state, l);
+ }
+};
+
// Traits for ViewHostMsg_FrameNavigate_Params structure to pack/unpack.
template <>
struct ParamTraits<ViewHostMsg_FrameNavigate_Params> {

Powered by Google App Engine
This is Rietveld 408576698