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

Side by Side Diff: chrome/browser/rlz/rlz.h

Issue 9404021: rlz: Remove #include <windows.h> (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/rlz/rlz.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_RLZ_RLZ_H_ 5 #ifndef CHROME_BROWSER_RLZ_RLZ_H_
6 #define CHROME_BROWSER_RLZ_RLZ_H_ 6 #define CHROME_BROWSER_RLZ_RLZ_H_
7 #pragma once 7 #pragma once
8 8
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 58
59 // This method is public for use by the Singleton class. 59 // This method is public for use by the Singleton class.
60 static RLZTracker* GetInstance(); 60 static RLZTracker* GetInstance();
61 61
62 // The following methods are made protected so that they can be used for 62 // The following methods are made protected so that they can be used for
63 // testing purposes. Production code should never need to call these. 63 // testing purposes. Production code should never need to call these.
64 protected: 64 protected:
65 RLZTracker(); 65 RLZTracker();
66 ~RLZTracker(); 66 ~RLZTracker();
67 67
68 // Thread function entry point, see ScheduleFinancialPing(). Assumes argument
69 // is a pointer to an RLZTracker.
70 static void _cdecl PingNow(void* tracker);
71
72 // Performs initialization of RLZ tracker that is purposefully delayed so 68 // Performs initialization of RLZ tracker that is purposefully delayed so
73 // that it does not interfere with chrome startup time. 69 // that it does not interfere with chrome startup time.
74 virtual void DelayedInit(); 70 virtual void DelayedInit();
75 71
76 // content::NotificationObserver implementation: 72 // content::NotificationObserver implementation:
77 virtual void Observe(int type, 73 virtual void Observe(int type,
78 const content::NotificationSource& source, 74 const content::NotificationSource& source,
79 const content::NotificationDetails& details) OVERRIDE; 75 const content::NotificationDetails& details) OVERRIDE;
80 76
81 // Used by test code to override the default RLZTracker instance returned 77 // Used by test code to override the default RLZTracker instance returned
82 // by GetInstance(). 78 // by GetInstance().
83 void set_tracker(RLZTracker* tracker) { 79 void set_tracker(RLZTracker* tracker) {
84 tracker_ = tracker; 80 tracker_ = tracker;
85 } 81 }
86 82
83 // Sends the financial ping to the RLZ servers and invalidates the RLZ string
84 // cache since the response from the RLZ server may have changed then.
85 // Protected so that its accessible from tests.
86 void PingNowImpl();
87
87 private: 88 private:
88 friend struct DefaultSingletonTraits<RLZTracker>; 89 friend struct DefaultSingletonTraits<RLZTracker>;
89 friend class base::RefCountedThreadSafe<RLZTracker>; 90 friend class base::RefCountedThreadSafe<RLZTracker>;
90 91
91 // Implementation called from InitRlzDelayed() static method. 92 // Implementation called from InitRlzDelayed() static method.
92 bool Init(bool first_run, int delay, bool google_default_search, 93 bool Init(bool first_run, int delay, bool google_default_search,
93 bool google_default_homepage); 94 bool google_default_homepage);
94 95
95 // Implementation called from RecordProductEvent() static method. 96 // Implementation called from RecordProductEvent() static method.
96 bool GetAccessPointRlzImpl(rlz_lib::AccessPoint point, string16* rlz); 97 bool GetAccessPointRlzImpl(rlz_lib::AccessPoint point, string16* rlz);
97 98
98 // Schedules the delayed initialization. This method is virtual to allow 99 // Schedules the delayed initialization. This method is virtual to allow
99 // tests to override how the scheduling is done. 100 // tests to override how the scheduling is done.
100 virtual void ScheduleDelayedInit(int delay); 101 virtual void ScheduleDelayedInit(int delay);
101 102
102 // Schedules a call to rlz_lib::SendFinancialPing(). This method is virtual 103 // Schedules a call to rlz_lib::SendFinancialPing(). This method is virtual
103 // to allow tests to override how the scheduling is done. 104 // to allow tests to override how the scheduling is done.
104 virtual void ScheduleFinancialPing(); 105 virtual void ScheduleFinancialPing();
105 106
106 // Schedules a call to GetAccessPointRlz() on the I/O thread if the current 107 // Schedules a call to GetAccessPointRlz() on the I/O thread if the current
107 // thread is not already the I/O thread, otherwise does nothing. Returns 108 // thread is not already the I/O thread, otherwise does nothing. Returns
108 // true if the call was scheduled, and false otherwise. This method is 109 // true if the call was scheduled, and false otherwise. This method is
109 // virtual to allow tests to override how the scheduling is done. 110 // virtual to allow tests to override how the scheduling is done.
110 virtual bool ScheduleGetAccessPointRlz(rlz_lib::AccessPoint point); 111 virtual bool ScheduleGetAccessPointRlz(rlz_lib::AccessPoint point);
111 112
112 // Sends the financial ping to the RLZ servers and invalidates the RLZ string
113 // cache since the response from the RLZ server may have changed then.
114 void PingNowImpl();
115
116 // Sends the financial ping to the RLZ servers. This method is virtual to 113 // Sends the financial ping to the RLZ servers. This method is virtual to
117 // allow tests to override. 114 // allow tests to override.
118 virtual bool SendFinancialPing(const std::string& brand, 115 virtual bool SendFinancialPing(const std::string& brand,
119 const string16& lang, 116 const string16& lang,
120 const string16& referral); 117 const string16& referral);
121 118
122 // Tracker used for testing purposes only. If this value is non-NULL, it 119 // Tracker used for testing purposes only. If this value is non-NULL, it
123 // will be returned from GetInstance() instead of the regular singleton. 120 // will be returned from GetInstance() instead of the regular singleton.
124 static RLZTracker* tracker_; 121 static RLZTracker* tracker_;
125 122
(...skipping 18 matching lines...) Expand all
144 bool homepage_used_; 141 bool homepage_used_;
145 142
146 content::NotificationRegistrar registrar_; 143 content::NotificationRegistrar registrar_;
147 144
148 DISALLOW_COPY_AND_ASSIGN(RLZTracker); 145 DISALLOW_COPY_AND_ASSIGN(RLZTracker);
149 }; 146 };
150 147
151 #endif // defined(OS_WIN) 148 #endif // defined(OS_WIN)
152 149
153 #endif // CHROME_BROWSER_RLZ_RLZ_H_ 150 #endif // CHROME_BROWSER_RLZ_RLZ_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/rlz/rlz.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698