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

Unified Diff: chrome/browser/rlz/rlz.h

Issue 2755002: Link with RLZ library from open source repo.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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
« no previous file with comments | « chrome/browser/browser_main.cc ('k') | chrome/browser/rlz/rlz.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/rlz/rlz.h
===================================================================
--- chrome/browser/rlz/rlz.h (revision 49162)
+++ chrome/browser/rlz/rlz.h (working copy)
@@ -1,75 +1,32 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 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 CHROME_BROWSER_RLZ_RLZ_H_
#define CHROME_BROWSER_RLZ_RLZ_H_
+#include "build/build_config.h"
+
+#if defined(OS_WIN)
+
#include <string>
#include "base/basictypes.h"
+#include "rlz/win/lib/rlz_lib.h"
// RLZ is a library which is used to measure distribution scenarios.
// Its job is to record certain lifetime events in the registry and to send
// them encoded as a compact string at most twice. The sent data does
// not contain information that can be used to identify a user or to infer
-// browsing habits. The API in this file is a wrapper to rlz.dll which can be
-// removed of the system with no adverse effects on chrome.
+// browsing habits. The API in this file is a wrapper around the open source
+// RLZ library which can be found at http://code.google.com/p/rlz.
+//
// For partner or bundled installs, the RLZ might send more information
-// according to the terms disclosed in the EULA. In the Chromium build the
-// rlz.dll is not present so all the functionality becomes no-ops.
+// according to the terms disclosed in the EULA.
class RLZTracker {
public:
- // An Access Point offers a way to search using Google. Other products
- // have specific entries here so do not remove the reserved access points.
- enum AccessPoint {
- NO_ACCESS_POINT = 0,
- RESERVED_ACCESS_POINT_01,
- RESERVED_ACCESS_POINT_02,
- RESERVED_ACCESS_POINT_03,
- RESERVED_ACCESS_POINT_04,
- RESERVED_ACCESS_POINT_05,
- RESERVED_ACCESS_POINT_06,
- RESERVED_ACCESS_POINT_07,
- RESERVED_ACCESS_POINT_08,
- CHROME_OMNIBOX,
- CHROME_HOME_PAGE,
- LAST_ACCESS_POINT
- };
-
- // A product is an entity which wants to gets credit for setting an access
- // point. Currently only the browser itself is supported but installed apps
- // could have their own entry here.
- enum Product {
- RESERVED_PRODUCT_01 = 1,
- RESERVED_PRODUCT_02,
- RESERVED_PRODUCT_03,
- RESERVED_PRODUCT_04,
- CHROME,
- LAST_PRODUCT
- };
-
- // Life cycle events. Some of them are applicable to all access points.
- enum Event {
- INVALID_EVENT = 0,
- INSTALL = 1,
- SET_TO_GOOGLE,
- FIRST_SEARCH,
- REPORT_RLS,
- LAST_EVENT
- };
-
- // Initializes the RLZ library services. 'directory_key' indicates the base
- // directory the RLZ dll would be found. For example base::DIR_CURRENT.
- // If the RLZ dll is not found in this directory the code falls back to try
- // to load it from base::DIR_EXE.
- // Returns false if the dll could not be loaded and initialized.
- //
- // This function is intended ONLY for testing.
- static bool InitRlz(int directory_key);
-
// Like InitRlz() this function initializes the RLZ library services for use
// in chrome. Besides binding the dll, it schedules a delayed task (delayed
// by |delay| seconds) that performs the ping and registers some events
@@ -77,22 +34,23 @@
//
// If the chrome brand is organic (no partners) then the RLZ library is not
// loaded or initialized and the pings don't ocurr.
- static bool InitRlzDelayed(int directory_key, bool first_run, int delay);
+ static bool InitRlzDelayed(bool first_run, int delay);
// Records an RLZ event. Some events can be access point independent.
// Returns false it the event could not be recorded. Requires write access
// to the HKCU registry hive on windows.
- static bool RecordProductEvent(Product product, AccessPoint point,
- Event event_id);
+ static bool RecordProductEvent(rlz_lib::Product product,
+ rlz_lib::AccessPoint point,
+ rlz_lib::Event event_id);
// Get the RLZ value of the access point.
// Returns false if the rlz string could not be obtained. In some cases
// an empty string can be returned which is not an error.
- static bool GetAccessPointRlz(AccessPoint point, std::wstring* rlz);
+ static bool GetAccessPointRlz(rlz_lib::AccessPoint point, std::wstring* rlz);
// Clear all events reported by this product. In Chrome this will be called
// when it is un-installed.
- static bool ClearAllProductEvents(Product product);
+ static bool ClearAllProductEvents(rlz_lib::Product product);
// Invoked during shutdown to clean up any state created by RLZTracker.
static void CleanupRlz();
@@ -101,4 +59,6 @@
DISALLOW_IMPLICIT_CONSTRUCTORS(RLZTracker);
};
+#endif // defined(OS_WIN)
+
#endif // CHROME_BROWSER_RLZ_RLZ_H_
« no previous file with comments | « chrome/browser/browser_main.cc ('k') | chrome/browser/rlz/rlz.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698