Pass user agent along like http referrer and set user agent in C++

This commit is contained in:
Paul Betts 2015-05-05 21:01:41 -07:00
parent 4a8d7c1819
commit e4d90f747f
3 changed files with 14 additions and 6 deletions

View file

@ -418,6 +418,10 @@ void WebContents::LoadURL(const GURL& url, const mate::Dictionary& options) {
params.referrer = content::Referrer(http_referrer.GetAsReferrer(),
blink::WebReferrerPolicyDefault);
std::string user_agent;
if (options.Get("useragent", &user_agent))
this->SetUserAgent(user_agent);
params.transition_type = ui::PAGE_TRANSITION_TYPED;
params.should_clear_history_list = true;
params.override_user_agent = content::NavigationController::UA_OVERRIDE_TRUE;

View file

@ -58,8 +58,11 @@ createGuest = (embedder, params) ->
max = width: params.maxwidth, height: params.maxheight
@setAutoSize params.autosize, min, max
if params.src
if params.httpreferrer
@loadUrl params.src, {httpreferrer: params.httpreferrer}
opts = {}
opts.httpreferrer = params.httpreferrer if params.httpreferrer
opts.useragent = params.useragent if params.useragent
if params.httpreferrer or params.useragent
@loadUrl params.src, opts
else
@loadUrl params.src
if params.allowtransparency?

View file

@ -158,13 +158,14 @@ class SrcAttribute extends WebViewAttribute
return
# Navigate to |this.src|.
opts = {}
httpreferrer = @webViewImpl.attributes[webViewConstants.ATTRIBUTE_HTTPREFERRER].getValue()
urlOptions = if httpreferrer then {httpreferrer} else {}
if httpreferrer then opts.httpreferrer = httpreferrer
useragent = @webViewImpl.attributes[webViewConstants.ATTRIBUTE_HTTPREFERRER].getValue()
useragent = @webViewImpl.attributes[webViewConstants.ATTRIBUTE_USERAGENT].getValue()
if useragent then opts.useragent = useragent
guestContents = remote.getGuestWebContents(@webViewImpl.guestInstanceId)
guestContents.setUserAgent(guestContents) if guestContents
guestContents.loadUrl @getValue(), urlOptions
# Attribute specifies HTTP referrer.
@ -175,7 +176,7 @@ class HttpReferrerAttribute extends WebViewAttribute
# Attribute specifies HTTP referrer.
class UserAgentAttribute extends WebViewAttribute
constructor: (webViewImpl) ->
super webViewConstants.ATTRIBUTE_HTTPREFERRER, webViewImpl
super webViewConstants.ATTRIBUTE_USERAGENT, webViewImpl
# Attribute that set preload script.
class PreloadAttribute extends WebViewAttribute