Merge lp:~osomon/oxide/set-ua-override-on-redirection into lp:~oxide-developers/oxide/oxide.trunk

Proposed by Olivier Tilloy
Status: Merged
Merged at revision: 1255
Proposed branch: lp:~osomon/oxide/set-ua-override-on-redirection
Merge into: lp:~oxide-developers/oxide/oxide.trunk
Diff against target: 64 lines (+27/-1)
3 files modified
qt/tests/qmltests/api/tst_WebContext_userAgentOverrides.qml (+1/-0)
qt/tests/qmltests/api/tst_WebContext_userAgentOverrides_redirect.py (+15/-0)
shared/browser/oxide_network_delegate.cc (+11/-1)
To merge this branch: bzr merge lp:~osomon/oxide/set-ua-override-on-redirection
Reviewer Review Type Date Requested Status
Chris Coulson Approve
Review via email: mp+275878@code.launchpad.net

Commit message

Use the per-URL user agent overrides on redirections, too.

To post a comment you must log in.
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thanks - I've added one small comment inline, but other than that it looks ok

review: Approve
1255. By Olivier Tilloy

Override the UA conditionally.

1256. By Olivier Tilloy

Move code to NetworkDelegate::OnBeforeRedirect().

Revision history for this message
Chris Coulson (chrisccoulson) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'qt/tests/qmltests/api/tst_WebContext_userAgentOverrides.qml'
2--- qt/tests/qmltests/api/tst_WebContext_userAgentOverrides.qml 2015-06-29 17:24:07 +0000
3+++ qt/tests/qmltests/api/tst_WebContext_userAgentOverrides.qml 2015-10-27 18:23:05 +0000
4@@ -83,6 +83,7 @@
5 { url : "http://15.testsuite/get-headers.py", expected: "Override 15" },
6 { url : "http://foo.15.testsuite/get-headers.py", expected: "Default user agent" },
7 { url : "http://16.testsuite/get-headers.py", expected: "Default user agent" },
8+ { url : "http://1.testsuite/tst_WebContext_userAgentOverrides_redirect.py", expected: "Override 2" },
9 ];
10 }
11
12
13=== added file 'qt/tests/qmltests/api/tst_WebContext_userAgentOverrides_redirect.py'
14--- qt/tests/qmltests/api/tst_WebContext_userAgentOverrides_redirect.py 1970-01-01 00:00:00 +0000
15+++ qt/tests/qmltests/api/tst_WebContext_userAgentOverrides_redirect.py 2015-10-27 18:23:05 +0000
16@@ -0,0 +1,15 @@
17+from cStringIO import StringIO
18+
19+def handler(request):
20+ html = StringIO()
21+ html.write("<html></html>");
22+
23+ request.send_response(302)
24+ request.send_header("Content-type", "text/html")
25+ request.send_header("Content-Length", html.tell())
26+ request.send_header("Location", "http://2.testsuite/get-headers.py")
27+ request.send_header("Cache-Control", "no-cache")
28+ request.end_headers()
29+
30+ request.wfile.write(html.getvalue())
31+
32
33=== modified file 'shared/browser/oxide_network_delegate.cc'
34--- shared/browser/oxide_network_delegate.cc 2015-10-14 09:46:03 +0000
35+++ shared/browser/oxide_network_delegate.cc 2015-10-27 18:23:05 +0000
36@@ -19,10 +19,12 @@
37
38 #include "base/memory/ref_counted.h"
39 #include "net/base/net_errors.h"
40+#include "net/http/http_request_headers.h"
41 #include "net/url_request/url_request.h"
42
43 #include "oxide_browser_context.h"
44 #include "oxide_browser_context_delegate.h"
45+#include "oxide_user_agent_settings.h"
46
47 namespace oxide {
48
49@@ -92,7 +94,15 @@
50 }
51
52 void NetworkDelegate::OnBeforeRedirect(net::URLRequest* request,
53- const GURL& new_location) {}
54+ const GURL& new_location) {
55+ std::string user_agent =
56+ context_->GetUserAgentSettings()
57+ ->GetUserAgentOverrideForURL(new_location);
58+ if (!user_agent.empty()) {
59+ request->SetExtraRequestHeaderByName(net::HttpRequestHeaders::kUserAgent,
60+ user_agent, true);
61+ }
62+}
63
64 void NetworkDelegate::OnResponseStarted(net::URLRequest* request) {}
65

Subscribers

People subscribed via source and target branches