thakis@chromium.org [Tue, 19 Jun 2012 16:24:32 +0000 (16:24 +0000)]
URLFetcher has moved from content to net, update references.
No functionality change.
BUG=chromium:118220
Review URL: https://codereview.appspot.com/6310062
git-svn-id: http://rlz.googlecode.com/svn/trunk@132
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Tue, 12 Jun 2012 15:47:58 +0000 (15:47 +0000)]
Update the DEPS file so that the RLZ project can build standalone. It
currently builds only when part of a chrome build.
BUG=None
TEST=No user visible changes
Review URL: https://codereview.appspot.com/6306071
git-svn-id: http://rlz.googlecode.com/svn/trunk@131
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 31 May 2012 23:45:18 +0000 (23:45 +0000)]
The last commit was missing the change to this file.
git-svn-id: http://rlz.googlecode.com/svn/trunk@130
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 31 May 2012 23:42:03 +0000 (23:42 +0000)]
Use char version functions in base/stringprintf.h.
A chromium change in base/ is going to remove wchar/wstring version of
StringPrintf. So change to use char version of functions in
win/lib/rlz_value_store_registry.cc .
http://codereview.chromium.org/
10449042/
Patch from Hao Zheng <zhenghao@chromium.org>!
git-svn-id: http://rlz.googlecode.com/svn/trunk@129
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 11 May 2012 21:42:13 +0000 (21:42 +0000)]
rlz: Move UrlFetcher to net, part 1
BUG=chromium:118220
TEST=none
Review URL: https://codereview.appspot.com/6200066
git-svn-id: http://rlz.googlecode.com/svn/trunk@128
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
jam@chromium.org [Fri, 27 Apr 2012 19:24:21 +0000 (19:24 +0000)]
Fix deps file
git-svn-id: http://rlz.googlecode.com/svn/trunk@127
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Mon, 9 Apr 2012 17:32:54 +0000 (17:32 +0000)]
Rename user_key to registry_util.
No code change.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5967046
git-svn-id: http://rlz.googlecode.com/svn/trunk@126
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Mon, 2 Apr 2012 19:50:48 +0000 (19:50 +0000)]
mac: Make ScopedRlzValueStoreLock handle nested lock failures.
I thought that lib_rlz always early-exits when it fails to acquire the rlz lock,
and so nested lock acquisition failures should never happen. That is true as
long as SupplementaryBranding isn't used, and that can even be used from
user code like so:
{
rlz_lib::SupplementaryBranding branding(reactivation_brand.c_str());
ret &= rlz_lib::RecordProductEvent(product, point, event_id);
}
Since SupplementaryBranding tries to acquire the rlz lock and keeps it while
it's on the scope, if RecordProductEvent fails to acquire the lock it'll be a
nested lock failure. Update the code to not CHECK on this case.
Add a test that covers this scenario.
BUG=chromium:121255
TEST=unit test. I verified the test crashes in the CHECK without my code change.
Review URL: https://codereview.appspot.com/5966066
git-svn-id: http://rlz.googlecode.com/svn/trunk@125
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 30 Mar 2012 17:45:20 +0000 (17:45 +0000)]
Remove UserKey class, move registry-related functions out of string_util.
No intended functionality change, just moving code around.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5967043
git-svn-id: http://rlz.googlecode.com/svn/trunk@124
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 28 Mar 2012 16:31:10 +0000 (16:31 +0000)]
Try to fix a windows warning.
win\lib\machine_id_win.cc(67): warning C4800: 'BOOL' : forcing value to bool 'true' or 'false' (performance warning)
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5940054
git-svn-id: http://rlz.googlecode.com/svn/trunk@123
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 27 Mar 2012 23:15:39 +0000 (23:15 +0000)]
Set chromium_code for rlz.
This does two things:
1.) It enables filename rules. Use this to simplify rlz.gyp.
2.) It enables more warnings. Fix them.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5902045
git-svn-id: http://rlz.googlecode.com/svn/trunk@122
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 27 Mar 2012 22:23:15 +0000 (22:23 +0000)]
rlz: Add a dependency on dynamic_annotations
There's a bug where libraries using singleton or lazyinstance need to explicitly
depend on this for the components build to work. For normal builds, it should
be a no-op.
Patch from Ryan Sleevi <rsleevi@chromium.org>
BUG=none
TEST='win' trybots compile again
TBR=rogerta
Review URL: https://codereview.appspot.com/5940048
git-svn-id: http://rlz.googlecode.com/svn/trunk@121
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 27 Mar 2012 17:37:41 +0000 (17:37 +0000)]
Speculative fix for mini_installer size increase.
At least on Mac and Linux, the linker loads object files from static libraries
by loading a .o file that contains symbols it's missing, then adds symbols
needed by that .o file to the missing symbol list, and then it repeats that
process. Since uninstall.cc uses SupplementaryBranding and calls
ClearProductState, that causes rlz_lib.o to be loaded. That references
symbols in financial_ping.cc, which references net.
In the hope of msvc's linker working the same way, move the symbols used
by uninstall.cc into its own file that doesn't depend on symbols in
financial_ping. That way, the linker hopefully won't pull in net and content
when linking mini_installer.
BUG=chromium:120427
TEST=none
Review URL: https://codereview.appspot.com/5936043
git-svn-id: http://rlz.googlecode.com/svn/trunk@120
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 27 Mar 2012 16:49:32 +0000 (16:49 +0000)]
Remove a static initializer from rlz.
BUG=chromium:120335
Review URL: https://codereview.appspot.com/5918044
git-svn-id: http://rlz.googlecode.com/svn/trunk@119
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Sun, 25 Mar 2012 22:53:44 +0000 (22:53 +0000)]
Use base::mac::ScopedNSAutorleasePool only on mac.
BUG=none
TEST=none
TBR=rogerta
Review URL: https://codereview.appspot.com/5903057
git-svn-id: http://rlz.googlecode.com/svn/trunk@118
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Sun, 25 Mar 2012 21:59:59 +0000 (21:59 +0000)]
Push RLZ_NETWORK_IMPLEMENTATION_ define to dependent targets.
This way, the #ifdef in rlz_lib.h is handled correctly when rlz_lib.h is
included in files in targets that depend on rlz.
BUG=none
TEST=none
TBR=rogerta
Review URL: https://codereview.appspot.com/5903056
git-svn-id: http://rlz.googlecode.com/svn/trunk@117
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Sun, 25 Mar 2012 20:45:38 +0000 (20:45 +0000)]
Tweaks to make the use of chrome's net stack forceable through gyp.
Also whitelist usage of "net" and (for now) "content" for check_deps
BUG=none
TEST=none
TBR=rogerta
Review URL: https://codereview.appspot.com/5907059
git-svn-id: http://rlz.googlecode.com/svn/trunk@116
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 23 Mar 2012 22:23:48 +0000 (22:23 +0000)]
mac: Implement the locking part of ScopedRlzValueStoreLock.
BUG=chromium:117738
TEST=none
Review URL: https://codereview.appspot.com/5874061
git-svn-id: http://rlz.googlecode.com/svn/trunk@115
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 23 Mar 2012 20:50:17 +0000 (20:50 +0000)]
mac: Implement GetMachineId().
BUG=chromium:117739
TEST=none
Review URL: https://codereview.appspot.com/5876066
git-svn-id: http://rlz.googlecode.com/svn/trunk@114
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 23 Mar 2012 15:40:17 +0000 (15:40 +0000)]
Rename rlz_lib2.cc and win/lib/rlz_lib.cc to win/lib/rlz_lib_win.cc
BUG=none
TEST=none
TBR=rogerta
Review URL: https://codereview.appspot.com/5875051
git-svn-id: http://rlz.googlecode.com/svn/trunk@113
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 23 Mar 2012 14:41:22 +0000 (14:41 +0000)]
Don't pay a static initializer for expected_assertion_ when it's not used.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5883056
git-svn-id: http://rlz.googlecode.com/svn/trunk@112
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 23 Mar 2012 01:31:05 +0000 (01:31 +0000)]
Minor cleanups.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5882054
git-svn-id: http://rlz.googlecode.com/svn/trunk@111
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 22 Mar 2012 22:36:37 +0000 (22:36 +0000)]
Implement GetSystemTimeAsInt64() on mac.
BUG=chromium:118232
TEST=none
Review URL: https://codereview.appspot.com/5874054
git-svn-id: http://rlz.googlecode.com/svn/trunk@110
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 22 Mar 2012 22:32:37 +0000 (22:32 +0000)]
Move GetMachineId() to its own file.
The sha1 logic is now shared cross-platform which calls out to a
platform-specific function to get system data.
GetMachineId() now returns a string instead of a wstring. The SID
is still a string16 instead of a wstring, which is the same on windows.
(I considered making it a string too, but considered it too risky since
if a wide character creeps in somehow it'd change the SHA result.)
The platform-specific implementation on mac is still empty.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5877053
git-svn-id: http://rlz.googlecode.com/svn/trunk@109
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 22 Mar 2012 21:19:45 +0000 (21:19 +0000)]
Implement RlzValueStoreMac.
It writes to an in-memory dictionary that's read from disk when the
store lock is acquired and that writes to disk the that lock is released.
The lock implementation itself will be done in another CL.
Since all tests do now pass, enable them on mac.
BUG=none
TEST=unit tests
Review URL: https://codereview.appspot.com/5885047
git-svn-id: http://rlz.googlecode.com/svn/trunk@108
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 22 Mar 2012 16:51:36 +0000 (16:51 +0000)]
rlz: Add an implementation of PingServer() that uses chrome's net stack.
One can select an implementation via a gyp variable that defaults to wininet
on windows.
PingServer() currently has blocking semantics (it's already called on a thread
in chrome), so the chrome net implementation is that way too. However, when
chrome's net stack is used, an URLRequestContextGetter needs to be passed
to rlz explicitly. That's a bit fishy from an API perspective, but having a 2nd
DNS resolver, proxy cache, etc in chrome just for RLZ felt wrong.
Unfortunately, URLFetcher is currently in chrome's 'content' module, so this
adds a dependency on 'content'. akalin is moving it to 'net', and once that's
done only a dependency on 'net' is required. In the test code, I was careful
to not use BrowserThread, so that the test doesn't depend on 'content' either.
BUG=chromium:117741
TEST=run rlz_unittests on mac with a local server, observe request
Review URL: https://codereview.appspot.com/5864055
git-svn-id: http://rlz.googlecode.com/svn/trunk@107
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 22 Mar 2012 05:14:09 +0000 (05:14 +0000)]
Fix "expression result unused" warning caused by VERIFY() use.
Review URL: https://codereview.appspot.com/5876048
git-svn-id: http://rlz.googlecode.com/svn/trunk@106
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 21 Mar 2012 23:16:41 +0000 (23:16 +0000)]
Move rlz_lib_test.cc and financial_ping_test.cc to common directory.
No code change.
TBR=rogerta
Review URL: https://codereview.appspot.com/5876046
git-svn-id: http://rlz.googlecode.com/svn/trunk@105
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 21 Mar 2012 23:10:25 +0000 (23:10 +0000)]
Move rlz_test_helpers from win\test to test.
Pure code move, no code change.
TBR=rogerta
Review URL: https://codereview.appspot.com/5880043
git-svn-id: http://rlz.googlecode.com/svn/trunk@104
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 21 Mar 2012 22:58:09 +0000 (22:58 +0000)]
Add OVERRIDE annotations to rlz_test_helpers.
No functionality change.
TBR=rogerta
Review URL: https://codereview.appspot.com/5874046
git-svn-id: http://rlz.googlecode.com/svn/trunk@103
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 20 Mar 2012 20:23:39 +0000 (20:23 +0000)]
Move registry functions from lib_values into rlz_value_store_registry.
Almost all of them are now used only there.
Review URL: https://codereview.appspot.com/5863043
git-svn-id: http://rlz.googlecode.com/svn/trunk@102
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 20 Mar 2012 20:23:30 +0000 (20:23 +0000)]
Make rlz_lib_test.cc and financial_ping_test.cc build on mac.
Review URL: https://codereview.appspot.com/5862043
git-svn-id: http://rlz.googlecode.com/svn/trunk@101
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 20 Mar 2012 19:22:32 +0000 (19:22 +0000)]
Let FinancialPingTest use RlzValueStore instead of doing direct registry access.
Review URL: http://codereview.appspot.com/5841075/
git-svn-id: http://rlz.googlecode.com/svn/trunk@100
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 19:40:46 +0000 (19:40 +0000)]
Move ClearProductState() to common code.
Pure code move
BUG=none
TEST=none
TBR=rogerta
Review URL: https://codereview.appspot.com/5845053
git-svn-id: http://rlz.googlecode.com/svn/trunk@99
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 19:36:15 +0000 (19:36 +0000)]
Move ClearProductState() to RlzValueStore.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5849047
git-svn-id: http://rlz.googlecode.com/svn/trunk@98
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 18:16:33 +0000 (18:16 +0000)]
Move ClearAllProductEvents() to shared code. Pure code move.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5846048
git-svn-id: http://rlz.googlecode.com/svn/trunk@97
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 18:13:22 +0000 (18:13 +0000)]
Move ClearAllProductEvents() to use RlzValueStore.
There's a small behavior change here: Previously, ClearAllProductEvents()
would take the rlz lock, clear product events, release the lock, take it
again, and then clear stateful events. Now, the lock isn't released in between.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5846047
git-svn-id: http://rlz.googlecode.com/svn/trunk@96
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 16:05:27 +0000 (16:05 +0000)]
Move SupplementaryBranding from win/lib/rlz_lib.h to lib/rlz_lib.h
Move the implementation of the class from lib/lib_values.cc to lib/rlz_lib2.cc.
Change the class to not use a scoped_ptr, so that rlz_lib.h doesn't have to
expose the implementation detail that rlz uses chromium's base.
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5849044
git-svn-id: http://rlz.googlecode.com/svn/trunk@95
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 14:45:43 +0000 (14:45 +0000)]
Move GetProductEventsAsCgi() to shared code
Pure code move. Depends on https://codereview.appspot.com/5835049/
BUG=none
TEST=none
Review URL: https://codereview.appspot.com/5835050
git-svn-id: http://rlz.googlecode.com/svn/trunk@94
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 14:40:42 +0000 (14:40 +0000)]
Windows build fix.
The last 4 commits (including this one) were all http://codereview.appspot.com/5823061/.
(git svn mishap)
git-svn-id: http://rlz.googlecode.com/svn/trunk@93
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 14:30:53 +0000 (14:30 +0000)]
.
git-svn-id: http://rlz.googlecode.com/svn/trunk@92
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 14:30:49 +0000 (14:30 +0000)]
.
git-svn-id: http://rlz.googlecode.com/svn/trunk@91
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 14:30:41 +0000 (14:30 +0000)]
wip
git-svn-id: http://rlz.googlecode.com/svn/trunk@90
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 16 Mar 2012 14:24:15 +0000 (14:24 +0000)]
Change the return type of GetProductEventsAsCgiHelper() from DWORD to bool.
Review URL: https://codereview.appspot.com/5835049
git-svn-id: http://rlz.googlecode.com/svn/trunk@89
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 15 Mar 2012 20:46:59 +0000 (20:46 +0000)]
Add a ReadProductEvents() method to RlzValueStore.
Change GetProductEventsAsCgiHelper() to use it.
Also address review comments on earlier CLs.
Review URL: https://codereview.appspot.com/5837049
git-svn-id: http://rlz.googlecode.com/svn/trunk@88
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 22:45:39 +0000 (22:45 +0000)]
Move SendFinancialPing() and ParseFinancialPingResponse() to the shared code.
No code change at all, just moving the functions around as is.
TBR=rogerta
Review URL: https://codereview.appspot.com/5784082
git-svn-id: http://rlz.googlecode.com/svn/trunk@87
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 22:37:40 +0000 (22:37 +0000)]
Move a few functions from win/lib/rlz_lib.cc ot the shared code.
Move these functions:
* ParsePingResponse()
+ Almost completely unchanged. Changed the LibMutex at the top into
a ScopedRlzValueStoreLock.
* RecordProductEvent
+ Almost completely unchanged. Removed the GetProductName() call with
NULL check -- this is done again in the AddProductEvent() call, so
it was a no-op.
* ClearProductEvent(), GetEventsFromResponseString(), RecordStatefulEvent()
+ Completely unchanged.
TBR=rogerta
Review URL: https://codereview.appspot.com/5822053
git-svn-id: http://rlz.googlecode.com/svn/trunk@86
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 22:16:50 +0000 (22:16 +0000)]
Tiny change to prepare moving ParsePingResponse to the shared part.
No functionality change.
TBR=rogerta
Review URL: https://codereview.appspot.com/5820057
git-svn-id: http://rlz.googlecode.com/svn/trunk@85
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 22:13:14 +0000 (22:13 +0000)]
Mac build fix after my last CL.
TBR=rogerta
Review URL: https://codereview.appspot.com/5784081
git-svn-id: http://rlz.googlecode.com/svn/trunk@84
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 22:10:17 +0000 (22:10 +0000)]
Change ClearProductEvent to use RlzValueStore.
TBR=rogerta
Review URL: https://codereview.appspot.com/5824057
git-svn-id: http://rlz.googlecode.com/svn/trunk@83
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 21:59:30 +0000 (21:59 +0000)]
Move RecordProductEvent to use RlzValueStore.
TBR=rogerta
Review URL: https://codereview.appspot.com/5822052
git-svn-id: http://rlz.googlecode.com/svn/trunk@82
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 21:44:19 +0000 (21:44 +0000)]
Move stateful events to RlzValueStore.
Because this is somewhat entangled with product events,
don't move the code out of win/lib/rlz_lib.cc yet.
Review URL: https://codereview.appspot.com/5821052
git-svn-id: http://rlz.googlecode.com/svn/trunk@81
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 20:04:35 +0000 (20:04 +0000)]
mac: Remove stub GetPingParams(), since the real implementation is now available.
TBR=rogerta
Review URL: https://codereview.appspot.com/5820053
git-svn-id: http://rlz.googlecode.com/svn/trunk@80
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 18:48:18 +0000 (18:48 +0000)]
Address comments from https://codereview.appspot.com/5823050/
Review URL: https://codereview.appspot.com/5825051
git-svn-id: http://rlz.googlecode.com/svn/trunk@79
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 18:21:39 +0000 (18:21 +0000)]
Move FormFinancialPingRequest() to the common part.
TBR=rogerta
Review URL: https://codereview.appspot.com/5821047
git-svn-id: http://rlz.googlecode.com/svn/trunk@78
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 18:02:15 +0000 (18:02 +0000)]
Move PingFinancialServer to common part.
Also remove 2 "string::size() < 0" checks, since that function
returns an unsigned int.
TBR=rogerta
Review URL: https://codereview.appspot.com/5819051
git-svn-id: http://rlz.googlecode.com/svn/trunk@77
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 17:50:13 +0000 (17:50 +0000)]
Move GetPingParams() and ParseFinancialPingResponse() to the common code.
Review URL: https://codereview.appspot.com/5823050
git-svn-id: http://rlz.googlecode.com/svn/trunk@76
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 14 Mar 2012 16:16:17 +0000 (16:16 +0000)]
Start moving functions from win/lib/rlz_lib.h to lib/rlz_lib.h
Start with SetAccessPointRlz() and GetAccessPointRlz(). Add storage
functions for these to RlzValueStore.
No intended behavior change.
Review URL: https://codereview.appspot.com/5814044
git-svn-id: http://rlz.googlecode.com/svn/trunk@75
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 13 Mar 2012 22:27:08 +0000 (22:27 +0000)]
Change the unit of several constants from WCHARs to bytes.
Change kMaxRlzLength, kMaxDccLength, kMaxCgiLength, and kMaxPingResponseLength.
They are always used with char arrays, and chrome even allocates char[kMaxCgiLength+1]
for its buffers -- which would be too small if these really were in WCHARs.
I kept the value alone, let me know if you think kMaxCgiLength should become 4096 or
kMaxPingResponseLength should become 0x8000.
The buffer backing kMachineIdLength is wchar_t, so don't change that for now.
Comment-only, so no functionality change.
TBR=rogerta
Review URL: https://codereview.appspot.com/5816043
git-svn-id: http://rlz.googlecode.com/svn/trunk@74
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 13 Mar 2012 21:35:56 +0000 (21:35 +0000)]
Delete unused function IsGoodRlz().
TBR=rogerta
Review URL: https://codereview.appspot.com/5812044
git-svn-id: http://rlz.googlecode.com/svn/trunk@73
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Tue, 13 Mar 2012 18:02:34 +0000 (18:02 +0000)]
Start moving FinancialPing over to the cross-platform part.
Since FinancialPing is fairly intertwined with rlz_lib.cc,
add a few stub methods on mac to keep this patch small for now.
Move all the enums in rlz_lib.h (which is still windows-only) into
a new file lib/rlz_enums.h.
Introduce lib/rlz_value_store, which will slowly grow more methods
to abstract away all registry reads. rlz_lib.cc will talk only to
RlzValueStore, and the windows implementation of that file will
write to the registry. Give this class 4 methods as proof-of-concept
for now, just enough to move FinancialPing over.
Don't move financial_ping_test.cc yet, as it more or less relies on
everything working to pass (it calls several functions from rlz_lib.cc).
Review URL: https://codereview.appspot.com/5754080/
git-svn-id: http://rlz.googlecode.com/svn/trunk@72
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 8 Mar 2012 01:13:50 +0000 (01:13 +0000)]
Remove unused user_key parameter from a few functions.
Every caller was passing HKEY_CURRENT_USER.
TBR=rogerta
Review URL: https://codereview.appspot.com/5789043
git-svn-id: http://rlz.googlecode.com/svn/trunk@71
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 8 Mar 2012 01:02:30 +0000 (01:02 +0000)]
Various minor behavior-preserving changes to financial_ping.cc
TBR=rogerta
Review URL: https://codereview.appspot.com/5787047
git-svn-id: http://rlz.googlecode.com/svn/trunk@70
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 8 Mar 2012 00:28:40 +0000 (00:28 +0000)]
Remove declaration of a method that isn't defined or used anywhere.
TBR=rogerta
Review URL: https://codereview.appspot.com/5785048
git-svn-id: http://rlz.googlecode.com/svn/trunk@69
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 8 Mar 2012 00:07:30 +0000 (00:07 +0000)]
Remove now-unused static UserKey::HasAccess() method.
TBR=rogerta
Review URL: https://codereview.appspot.com/5787046
git-svn-id: http://rlz.googlecode.com/svn/trunk@68
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 7 Mar 2012 23:50:42 +0000 (23:50 +0000)]
Remove an effectively unused overload of GetAccessPointRlz().
It's not part of the public api either.
No intended behavior change.
TBR=rogerta
Review URL: https://codereview.appspot.com/5784047
git-svn-id: http://rlz.googlecode.com/svn/trunk@67
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 23 Feb 2012 21:56:48 +0000 (21:56 +0000)]
Windows build fix: Remove sid from the exports file too.
I missed to build the dll locally :-/
TBR=rogerta
Review URL: https://codereview.appspot.com/5696050
git-svn-id: http://rlz.googlecode.com/svn/trunk@66
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 23 Feb 2012 20:33:27 +0000 (20:33 +0000)]
Remove sid parameter from UserKey constructor.
All callers pass in NULL now anyway.
Review URL: https://codereview.appspot.com/5693051
git-svn-id: http://rlz.googlecode.com/svn/trunk@65
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 23 Feb 2012 19:06:42 +0000 (19:06 +0000)]
Remove sid from FinancialPing.
Mechanical change.
TBR=rogerta
Review URL: https://codereview.appspot.com/5700051
git-svn-id: http://rlz.googlecode.com/svn/trunk@64
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 23 Feb 2012 18:57:58 +0000 (18:57 +0000)]
Remove pointless indirection.
TBR=rogerta
Review URL: https://codereview.appspot.com/5694055
git-svn-id: http://rlz.googlecode.com/svn/trunk@63
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 23 Feb 2012 18:52:48 +0000 (18:52 +0000)]
Remove the "sid" parameter from the interface.
Clients have been advised to not set this for a long time, and it
defaults to NULL.
Review URL: https://codereview.appspot.com/5696046
git-svn-id: http://rlz.googlecode.com/svn/trunk@62
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 23 Feb 2012 17:21:06 +0000 (17:21 +0000)]
Roll gyp to the version currently used by chromium (1233).
The old gyp version could no longer generate msvc2010 projects.
TBR=rogerta
Review URL: https://codereview.appspot.com/5698048
git-svn-id: http://rlz.googlecode.com/svn/trunk@61
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 23 Feb 2012 16:31:33 +0000 (16:31 +0000)]
Remove an unused parameter.
TBR=rogerta
Review URL: https://codereview.appspot.com/5694049
git-svn-id: http://rlz.googlecode.com/svn/trunk@60
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 17 Feb 2012 22:44:29 +0000 (22:44 +0000)]
Attempted windows build fix.
TBR=rogerta
Review URL: https://codereview.appspot.com/5656093
git-svn-id: http://rlz.googlecode.com/svn/trunk@59
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 17 Feb 2012 20:00:57 +0000 (20:00 +0000)]
Move lib_values to cross-platform part.
Review URL: https://codereview.appspot.com/5675079
git-svn-id: http://rlz.googlecode.com/svn/trunk@58
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 17 Feb 2012 16:38:47 +0000 (16:38 +0000)]
Move crc32 to cross-platform part.
Review URL: https://codereview.appspot.com/5674090
git-svn-id: http://rlz.googlecode.com/svn/trunk@57
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 17 Feb 2012 16:38:28 +0000 (16:38 +0000)]
Remove some "win"s I missed when moving assert.h.
Review URL: https://codereview.appspot.com/5673082
git-svn-id: http://rlz.googlecode.com/svn/trunk@56
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 17 Feb 2012 16:10:52 +0000 (16:10 +0000)]
Move string_utils to the cross-platform part.
Also convert it from wstring to string16 and fix a few
warnings. No intended functionality change.
BUG=chromium:46579
git-svn-id: http://rlz.googlecode.com/svn/trunk@55
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Fri, 17 Feb 2012 01:29:09 +0000 (01:29 +0000)]
Move assert.h to the cross-platform part.
No intended functionality change.
Review URL: https://codereview.appspot.com/5677071
git-svn-id: http://rlz.googlecode.com/svn/trunk@54
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Thu, 16 Feb 2012 16:51:21 +0000 (16:51 +0000)]
Introduce toplevel lib/ and test/ directories for cross-platform code.
Move crc8 there as a first step. Update the gyp file to provide the
targets 'rlz_lib' and 'rlz_unittests' on all platforms.
No intended functionality change.
BUG=chromium:46579
Review URL: https://codereview.appspot.com/5673062/
git-svn-id: http://rlz.googlecode.com/svn/trunk@53
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 15 Feb 2012 01:22:54 +0000 (01:22 +0000)]
Unreviewed build fix.
git-svn-id: http://rlz.googlecode.com/svn/trunk@52
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
thakis@chromium.org [Wed, 15 Feb 2012 01:07:33 +0000 (01:07 +0000)]
Explicitly make the rlz targets win-only (for now).
BUG=chromium:46579
Review URL: https://codereview.appspot.com/5675051/
git-svn-id: http://rlz.googlecode.com/svn/trunk@51
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Mon, 26 Sep 2011 20:10:28 +0000 (20:10 +0000)]
Updating RLZ code to use new SHA1 constant since the name has changed.
Review URL: http://codereview.appspot.com/5134046
git-svn-id: http://rlz.googlecode.com/svn/trunk@49
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Tue, 20 Sep 2011 18:47:56 +0000 (18:47 +0000)]
Remove CHECK which causes crash if there are registry problems on the machine.
All the code correctly handles the error, except for one place which is now
fixed in this CL.
BUG=http://code.google.com/p/chromium/issues/detail?id=96640
Review URL: http://codereview.appspot.com/5039046
git-svn-id: http://rlz.googlecode.com/svn/trunk@48
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Tue, 23 Aug 2011 16:16:41 +0000 (16:16 +0000)]
Refactoring registry initialzation code for testing pursposes, and exposing
it outside of the RLZ library, so that unit tests in dependent projects (like
chrome) can include RLZ in their own tests.
Review URL: http://codereview.appspot.com/4941043
git-svn-id: http://rlz.googlecode.com/svn/trunk@47
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Mon, 15 Aug 2011 18:24:11 +0000 (18:24 +0000)]
Include stringprintf.h for StringPrintf/Append functions.
This is necessary so later we can remove the include of stringprintf.h
from string_util.h in Chromium base/ library.
BUG=None
TEST=None
Patch submitted by: tfarina@chromium.org
Review URL: http://codereview.appspot.com/4889048
git-svn-id: http://rlz.googlecode.com/svn/trunk@46
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Fri, 29 Jul 2011 20:06:57 +0000 (20:06 +0000)]
Add a test to make sure that clearing all product events clears the values
of stateful events too. This is tested by trying to record a new stateful event
after all the events has been cleared; the recording should succeed.
Review URL: http://codereview.appspot.com/4822053
git-svn-id: http://rlz.googlecode.com/svn/trunk@45
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Thu, 28 Jul 2011 19:48:55 +0000 (19:48 +0000)]
When clearign the product state, make sure to clear the stateful events
registry key along with the other keys. Not doing this leaves keys
in the registry that contain subsequent branding code strings.
Review URL: http://codereview.appspot.com/4806057
git-svn-id: http://rlz.googlecode.com/svn/trunk@44
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Wed, 29 Jun 2011 00:46:55 +0000 (00:46 +0000)]
Cleanup: use base/memory/scoped_ptr.h instead of base/scoped_ptr.h.
Submitted by: thestig@chromium.org
Will sumbit TBR, review done here: http://codereview.appspot.com/4628071/
Review URL: http://codereview.appspot.com/4627074
git-svn-id: http://rlz.googlecode.com/svn/trunk@43
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Wed, 22 Jun 2011 20:25:21 +0000 (20:25 +0000)]
Segment RLZ persistence based on branding information.
The RLZ library uses the Windows registry to save persistent information.
All information for a given product is persisted under keys with the either
product's name or its access point's name. This assumes that only
one instance of the product is installed on the machine, and that only one
product brand is associated with it.
In some cases, a given product may be using supplementary brands. The RLZ
information must be kept separately for each of these brands. To achieve
this segmentation, scope all RLZ library calls that deal with supplementary
brands within the lifetime of an rlz_lib::ProductBranding instance.
Review URL: http://codereview.appspot.com/4646048
git-svn-id: http://rlz.googlecode.com/svn/trunk@42
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Fri, 6 May 2011 18:43:15 +0000 (18:43 +0000)]
Adding definitions for new Product and access point enums.
BUG=None
TEST=None
Review URL: http://codereview.appspot.com/4464045
git-svn-id: http://rlz.googlecode.com/svn/trunk@39
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Thu, 5 May 2011 20:12:21 +0000 (20:12 +0000)]
The RLZ unit tests override the HKCU and HKLM registry hives while they run
in order to start from a known state, make it easier to clean up afterwards,
and not leave side effects on the machine when done. However, starting
with Windows 7, there were some missing registry values in the temporary HKLM
hive causing the function SetSecurityInfo() to fail, and hence the unit tests
to fail.
To fix, I added code to copy some portions of the HKLM hive to the temporary
test hive so that SetSecurityInfo() can run successfully.
BUG=None
TEST=Make sure unit tests run correctly on a Windows 7 machine, in both debug
and release
Review URL: http://codereview.appspot.com/4479043
git-svn-id: http://rlz.googlecode.com/svn/trunk@38
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Mon, 2 May 2011 15:21:33 +0000 (15:21 +0000)]
Make sure gmock is included when doing a checkout of the RLZ project. Seems
like the way this dependency was being picked has changed. Will commit TBR.
Review URL: http://codereview.appspot.com/4432087
git-svn-id: http://rlz.googlecode.com/svn/trunk@37
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Thu, 28 Apr 2011 03:20:36 +0000 (03:20 +0000)]
Fixing DEPS file to get correct version of chrome base, needed for r33.
Review URL: http://codereview.appspot.com/4439079
git-svn-id: http://rlz.googlecode.com/svn/trunk@36
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Thu, 28 Apr 2011 03:20:07 +0000 (03:20 +0000)]
Base: Adjust dependencies to build with base.dll BUG=76996 TEST=none Submitted by rvargas@google.com
git-svn-id: http://rlz.googlecode.com/svn/trunk@35
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
gwilson@chromium.org [Mon, 24 Jan 2011 18:27:00 +0000 (18:27 +0000)]
Changes the svn:ignore property of the root directory to include .sln and .vcproj files.
git-svn-id: http://rlz.googlecode.com/svn/trunk@34
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
gwilson@chromium.org [Tue, 18 Jan 2011 19:08:59 +0000 (19:08 +0000)]
RegKey return value changes for RLZ
Patch by Amit Joshi
BUG=none
TEST=covered by existing tests
Review URL: http://codereview.appspot.com/4067041
git-svn-id: http://rlz.googlecode.com/svn/trunk@33
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
gwilson@chromium.org [Sat, 8 Jan 2011 01:20:59 +0000 (01:20 +0000)]
Include base/win/scoped_handle.h instead of base/scoped_handle_win.h.
This header is going to be removed on chromium soon.
Fix up all callers to use the new location and namespace.
BUG=None
TEST=None
Patch from Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.appspot.com/3919041
git-svn-id: http://rlz.googlecode.com/svn/trunk@32
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Wed, 3 Nov 2010 15:42:50 +0000 (15:42 +0000)]
Append base:: in the calls to SStringPrintf.
This is needed, so then in base library we can remove the
'using' declaration of SStringPrintf.
BUG=None
TEST=rebuild rlz, all 12 projects compiled successfull.
Patch from Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.appspot.com/2860041
git-svn-id: http://rlz.googlecode.com/svn/trunk@31
10bc0f33-e4bf-9a86-80cf-
af638054f0c4
rogerta@google.com [Mon, 25 Oct 2010 14:18:31 +0000 (14:18 +0000)]
Append base:: in all the remaining calls to StringAppendF.
BUG=None
TEST=rebuild rlz project. All 12 projects compiled successfull.
Patch from Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.appspot.com/2706041
git-svn-id: http://rlz.googlecode.com/svn/trunk@30
10bc0f33-e4bf-9a86-80cf-
af638054f0c4