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
8 files changed
tree: 14970cea91a008700b5b0f811b3a5fbcff516549
  1. lib/
  2. mac/
  3. test/
  4. win/
  5. COPYING
  6. DEPS
  7. rlz.gyp