Skip to content

Commit 4c84689

Browse files
authored
Merge pull request #19 from brave/geolocations-master
Add Brave geolocations and system network redirect
2 parents e8376b2 + b45174a commit 4c84689

15 files changed

+201
-38
lines changed

browser/net/BUILD.gn

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
import("//build/config/features.gni")
22

33
source_set("net") {
4+
configs += [ "//brave/build/geolocation" ]
45
sources = [
5-
"brave_network_delegate.cc",
6-
"brave_network_delegate.h",
7-
"brave_httpse_network_delegate.cc",
8-
"brave_httpse_network_delegate.h",
6+
"brave_network_delegate_base.cc",
7+
"brave_network_delegate_base.h",
8+
"brave_httpse_network_delegate_helper.cc",
9+
"brave_httpse_network_delegate_helper.h",
10+
"brave_profile_network_delegate.cc",
11+
"brave_profile_network_delegate.h",
12+
"brave_static_redirect_network_delegate_helper.cc",
13+
"brave_static_redirect_network_delegate_helper.h",
14+
"brave_system_network_delegate.cc",
15+
"brave_system_network_delegate.h",
916
"url_context.cc",
1017
"url_context.h"
1118
]

browser/net/brave_httpse_network_delegate.cc renamed to browser/net/brave_httpse_network_delegate_helper.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
33
* You can obtain one at http://mozilla.org/MPL/2.0/. */
44

5-
#include "brave/browser/net/brave_network_delegate.h"
5+
#include "brave/browser/net/brave_httpse_network_delegate_helper.h"
66

77
#include "brave/browser/brave_browser_process_impl.h"
8-
#include "brave/browser/net/brave_httpse_network_delegate.h"
98
#include "brave/browser/net/url_context.h"
109
#include "brave/components/brave_shields/browser/brave_shields_util.h"
1110
#include "brave/components/brave_shields/browser/https_everywhere_service.h"

browser/net/brave_network_delegate.cc renamed to browser/net/brave_network_delegate_base.cc

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,33 @@
22
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
33
* You can obtain one at http://mozilla.org/MPL/2.0/. */
44

5-
#include "brave/browser/net/brave_network_delegate.h"
5+
#include "brave/browser/net/brave_network_delegate_base.h"
66

77
#include <algorithm>
88

9-
#include "brave/browser/net/brave_httpse_network_delegate.h"
109
#include "brave/browser/net/url_context.h"
11-
12-
//#include "chrome/browser/profiles/profile_io_data.h"
1310
#include "content/public/browser/browser_thread.h"
14-
//#include "content/public/browser/resource_request_info.h"
1511
#include "net/url_request/url_request.h"
1612

1713

1814
using content::BrowserThread;
1915

20-
BraveNetworkDelegate::ResponseListenerInfo::ResponseListenerInfo() {
16+
BraveNetworkDelegateBase::ResponseListenerInfo::ResponseListenerInfo() {
2117
}
2218

23-
BraveNetworkDelegate::ResponseListenerInfo::~ResponseListenerInfo() {
19+
BraveNetworkDelegateBase::ResponseListenerInfo::~ResponseListenerInfo() {
2420
}
2521

26-
BraveNetworkDelegate::BraveNetworkDelegate(
22+
BraveNetworkDelegateBase::BraveNetworkDelegateBase(
2723
extensions::EventRouterForwarder* event_router,
2824
BooleanPrefMember* enable_referrers) :
2925
ChromeNetworkDelegate(event_router, enable_referrers) {
30-
brave::OnBeforeURLRequestCallback callback =
31-
base::Bind(
32-
brave::OnBeforeURLRequest_HttpsePreFileWork);
33-
before_url_request_callbacks_.push_back(callback);
3426
}
3527

36-
BraveNetworkDelegate::~BraveNetworkDelegate() {
28+
BraveNetworkDelegateBase::~BraveNetworkDelegateBase() {
3729
}
3830

39-
int BraveNetworkDelegate::OnBeforeURLRequest(net::URLRequest* request,
31+
int BraveNetworkDelegateBase::OnBeforeURLRequest(net::URLRequest* request,
4032
const net::CompletionCallback& callback,
4133
GURL* new_url) {
4234
if (before_url_request_callbacks_.empty() || !request) {
@@ -52,7 +44,7 @@ int BraveNetworkDelegate::OnBeforeURLRequest(net::URLRequest* request,
5244
return net::ERR_IO_PENDING;
5345
}
5446

55-
void BraveNetworkDelegate::RunNextCallback(
47+
void BraveNetworkDelegateBase::RunNextCallback(
5648
net::URLRequest* request,
5749
GURL *new_url,
5850
std::shared_ptr<brave::OnBeforeURLRequestContext> ctx) {
@@ -67,7 +59,7 @@ void BraveNetworkDelegate::RunNextCallback(
6759
brave::OnBeforeURLRequestCallback callback =
6860
before_url_request_callbacks_[ctx->next_url_request_index++];
6961
brave::ResponseCallback next_callback =
70-
base::Bind(&BraveNetworkDelegate::RunNextCallback,
62+
base::Bind(&BraveNetworkDelegateBase::RunNextCallback,
7163
base::Unretained(this), request, new_url, ctx);
7264
int rv = callback.Run(request, new_url, next_callback, ctx);
7365
if (rv == net::ERR_IO_PENDING) {
@@ -85,7 +77,7 @@ void BraveNetworkDelegate::RunNextCallback(
8577
}
8678
}
8779

88-
void BraveNetworkDelegate::OnURLRequestDestroyed(net::URLRequest* request) {
80+
void BraveNetworkDelegateBase::OnURLRequestDestroyed(net::URLRequest* request) {
8981
if (!ContainsKey(callbacks_, request->identifier())) {
9082
return;
9183
}

browser/net/brave_network_delegate.h renamed to browser/net/brave_network_delegate_base.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
33
* You can obtain one at http://mozilla.org/MPL/2.0/. */
44

5-
#ifndef BRAVE_BROWSER_NET_BRAVE_NETWORK_DELEGATE_H_
6-
#define BRAVE_BROWSER_NET_BRAVE_NETWORK_DELEGATE_H_
5+
#ifndef BRAVE_BROWSER_NET_BRAVE_NETWORK_DELEGATE_BASE_H_
6+
#define BRAVE_BROWSER_NET_BRAVE_NETWORK_DELEGATE_BASE_H_
77

88
#include "chrome/browser/net/chrome_network_delegate.h"
99
#include "brave/browser/net/url_context.h"
@@ -20,9 +20,9 @@ namespace net {
2020
class URLRequest;
2121
}
2222

23-
// BraveNetworkDelegate is the central point from within the Brave code to
23+
// BraveNetworkDelegateBase is the central point from within the Brave code to
2424
// add hooks into the network stack.
25-
class BraveNetworkDelegate : public ChromeNetworkDelegate {
25+
class BraveNetworkDelegateBase : public ChromeNetworkDelegate {
2626
public:
2727

2828
using ResponseCallback = base::Callback<void(const base::DictionaryValue&)>;
@@ -45,9 +45,9 @@ class BraveNetworkDelegate : public ChromeNetworkDelegate {
4545
// |enable_referrers| (and all of the other optional PrefMembers) should be
4646
// initialized on the UI thread (see below) beforehand. This object's owner is
4747
// responsible for cleaning them up at shutdown.
48-
BraveNetworkDelegate(extensions::EventRouterForwarder* event_router,
48+
BraveNetworkDelegateBase(extensions::EventRouterForwarder* event_router,
4949
BooleanPrefMember* enable_referrers);
50-
~BraveNetworkDelegate() override;
50+
~BraveNetworkDelegateBase() override;
5151

5252
// NetworkDelegate implementation.
5353
int OnBeforeURLRequest(net::URLRequest* request,
@@ -60,14 +60,14 @@ class BraveNetworkDelegate : public ChromeNetworkDelegate {
6060
net::URLRequest* request,
6161
GURL *new_url,
6262
std::shared_ptr<brave::OnBeforeURLRequestContext> ctx);
63-
64-
private:
6563
std::vector<brave::OnBeforeURLRequestCallback>
6664
before_url_request_callbacks_;
65+
66+
private:
6767
std::map<ResponseEvent, ResponseListenerInfo> response_listeners_;
6868
std::map<uint64_t, net::CompletionCallback> callbacks_;
6969

70-
DISALLOW_COPY_AND_ASSIGN(BraveNetworkDelegate);
70+
DISALLOW_COPY_AND_ASSIGN(BraveNetworkDelegateBase);
7171
};
7272

73-
#endif // BRAVE_BROWSER_NET_BRAVE_NETWORK_DELEGATE_H_
73+
#endif // BRAVE_BROWSER_NET_BRAVE_NETWORK_DELEGATE_BASE_H_
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/* This Source Code Form is subject to the terms of the Mozilla Public
2+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
3+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
4+
5+
#include "brave/browser/net/brave_profile_network_delegate.h"
6+
7+
#include "brave/browser/net/brave_httpse_network_delegate_helper.h"
8+
9+
BraveProfileNetworkDelegate::BraveProfileNetworkDelegate(
10+
extensions::EventRouterForwarder* event_router,
11+
BooleanPrefMember* enable_referrers) :
12+
BraveNetworkDelegateBase(event_router, enable_referrers) {
13+
brave::OnBeforeURLRequestCallback callback =
14+
base::Bind(
15+
brave::OnBeforeURLRequest_HttpsePreFileWork);
16+
before_url_request_callbacks_.push_back(callback);
17+
}
18+
19+
BraveProfileNetworkDelegate::~BraveProfileNetworkDelegate() {
20+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/* This Source Code Form is subject to the terms of the Mozilla Public
2+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
3+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
4+
5+
#ifndef BRAVE_BROWSER_NET_BRAVE_PROFILE_NETWORK_DELEGATE_H_
6+
#define BRAVE_BROWSER_NET_BRAVE_PROFILE_NETWORK_DELEGATE_H_
7+
8+
#include "brave/browser/net/brave_network_delegate_base.h"
9+
10+
class BraveProfileNetworkDelegate : public BraveNetworkDelegateBase {
11+
public:
12+
BraveProfileNetworkDelegate(extensions::EventRouterForwarder* event_router,
13+
BooleanPrefMember* enable_referrers);
14+
~BraveProfileNetworkDelegate() override;
15+
16+
DISALLOW_COPY_AND_ASSIGN(BraveProfileNetworkDelegate);
17+
};
18+
19+
#endif // BRAVE_BROWSER_NET_BRAVE_PROFILE_NETWORK_DELEGATE_H_
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/* This Source Code Form is subject to the terms of the Mozilla Public
2+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
3+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
4+
5+
#include "brave/browser/net/brave_static_redirect_network_delegate_helper.h"
6+
7+
#include "extensions/common/url_pattern.h"
8+
#include "net/url_request/url_request.h"
9+
10+
11+
namespace brave {
12+
13+
int OnBeforeURLRequest_StaticRedirectWork(
14+
net::URLRequest* request,
15+
GURL* new_url,
16+
const ResponseCallback& next_callback,
17+
std::shared_ptr<OnBeforeURLRequestContext> ctx) {
18+
URLPattern geoPattern(URLPattern::SCHEME_HTTPS,
19+
"https://www.googleapis.com/geolocation/v1/geolocate?key=*");
20+
if (geoPattern.MatchesURL(request->url())) {
21+
*new_url = GURL(GOOGLEAPIS_ENDPOINT GOOGLEAPIS_API_KEY);
22+
}
23+
return net::OK;
24+
}
25+
26+
} // namespace brave
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/* This Source Code Form is subject to the terms of the Mozilla Public
2+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
3+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
4+
5+
#ifndef BRAVE_BROWSER_NET_BRAVE_STATIC_REDIRECT_NETWORK_DELEGATE_H_
6+
#define BRAVE_BROWSER_NET_BRAVE_STATIC_REDIRECT_NETWORK_DELEGATE_H_
7+
8+
#include "chrome/browser/net/chrome_network_delegate.h"
9+
#include "brave/browser/net/url_context.h"
10+
11+
struct OnBeforeURLRequestContext;
12+
13+
namespace net {
14+
class URLRequest;
15+
}
16+
17+
namespace brave {
18+
19+
int OnBeforeURLRequest_StaticRedirectWork(
20+
net::URLRequest* request,
21+
GURL* new_url,
22+
const ResponseCallback& next_callback,
23+
std::shared_ptr<OnBeforeURLRequestContext> ctx);
24+
25+
} // namespace brave
26+
27+
#endif // BRAVE_BROWSER_NET_BRAVE_STATIC_REDIRECT_NETWORK_DELEGATE_H_
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/* This Source Code Form is subject to the terms of the Mozilla Public
2+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
3+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
4+
5+
#include "brave/browser/net/brave_system_network_delegate.h"
6+
7+
#include "brave/browser/net/brave_static_redirect_network_delegate_helper.h"
8+
9+
10+
BraveSystemNetworkDelegate::BraveSystemNetworkDelegate(
11+
extensions::EventRouterForwarder* event_router,
12+
BooleanPrefMember* enable_referrers) :
13+
BraveNetworkDelegateBase(event_router, enable_referrers) {
14+
brave::OnBeforeURLRequestCallback callback =
15+
base::Bind(
16+
brave::OnBeforeURLRequest_StaticRedirectWork);
17+
before_url_request_callbacks_.push_back(callback);
18+
}
19+
20+
BraveSystemNetworkDelegate::~BraveSystemNetworkDelegate() {
21+
}

0 commit comments

Comments
 (0)