Index: content/renderer/render_view_browsertest.cc |
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc |
index 3811cd68d8cca98818a01965db1a6170e8a0a53a..7b57cf7826dde757b7db2c7f55bcd80c86ad5f9b 100644 |
--- a/content/renderer/render_view_browsertest.cc |
+++ b/content/renderer/render_view_browsertest.cc |
@@ -366,36 +366,34 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicy) { |
// Navigations to normal HTTP URLs can be handled locally. |
blink::WebURLRequest request(GURL("http://foo.com")); |
+ blink::WebFrameClient::NavigationPolicyInfo policy_info(request); |
+ policy_info.frame = GetMainFrame(); |
+ policy_info.extraData = &state; |
+ policy_info.navigationType = blink::WebNavigationTypeLinkClicked; |
+ policy_info.defaultPolicy = blink::WebNavigationPolicyCurrentTab; |
blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation( |
- GetMainFrame(), |
- &state, |
- request, |
- blink::WebNavigationTypeLinkClicked, |
- blink::WebNavigationPolicyCurrentTab, |
- false); |
+ policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyCurrentTab, policy); |
// Verify that form posts to WebUI URLs will be sent to the browser process. |
blink::WebURLRequest form_request(GURL("chrome://foo")); |
+ blink::WebFrameClient::NavigationPolicyInfo form_policy_info(form_request); |
+ form_policy_info.frame = GetMainFrame(); |
+ form_policy_info.extraData = &state; |
+ form_policy_info.navigationType = blink::WebNavigationTypeFormSubmitted; |
+ form_policy_info.defaultPolicy = blink::WebNavigationPolicyCurrentTab; |
form_request.setHTTPMethod("POST"); |
- policy = frame()->decidePolicyForNavigation( |
- GetMainFrame(), |
- &state, |
- form_request, |
- blink::WebNavigationTypeFormSubmitted, |
- blink::WebNavigationPolicyCurrentTab, |
- false); |
+ policy = frame()->decidePolicyForNavigation(form_policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); |
// Verify that popup links to WebUI URLs also are sent to browser. |
blink::WebURLRequest popup_request(GURL("chrome://foo")); |
- policy = frame()->decidePolicyForNavigation( |
- GetMainFrame(), |
- &state, |
- popup_request, |
- blink::WebNavigationTypeLinkClicked, |
- blink::WebNavigationPolicyNewForegroundTab, |
- false); |
+ blink::WebFrameClient::NavigationPolicyInfo popup_policy_info(popup_request); |
+ popup_policy_info.frame = GetMainFrame(); |
+ popup_policy_info.extraData = &state; |
+ popup_policy_info.navigationType = blink::WebNavigationTypeLinkClicked; |
+ popup_policy_info.defaultPolicy = blink::WebNavigationPolicyNewForegroundTab; |
+ policy = frame()->decidePolicyForNavigation(popup_policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); |
} |
@@ -417,14 +415,16 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyHandlesAllTopLevel) { |
}; |
blink::WebURLRequest request(GURL("http://foo.com")); |
+ blink::WebFrameClient::NavigationPolicyInfo policy_info(request); |
+ policy_info.frame = GetMainFrame(); |
+ policy_info.extraData = &state; |
+ policy_info.defaultPolicy = blink::WebNavigationPolicyCurrentTab; |
+ |
for (size_t i = 0; i < arraysize(kNavTypes); ++i) { |
+ policy_info.navigationType = kNavTypes[i]; |
+ |
blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation( |
- GetMainFrame(), |
- &state, |
- request, |
- kNavTypes[i], |
- blink::WebNavigationPolicyCurrentTab, |
- false); |
+ policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); |
} |
} |
@@ -438,36 +438,35 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) { |
// Navigations to normal HTTP URLs will be sent to browser process. |
blink::WebURLRequest request(GURL("http://foo.com")); |
+ blink::WebFrameClient::NavigationPolicyInfo policy_info(request); |
+ policy_info.frame = GetMainFrame(); |
+ policy_info.extraData = &state; |
+ policy_info.navigationType = blink::WebNavigationTypeLinkClicked; |
+ policy_info.defaultPolicy = blink::WebNavigationPolicyCurrentTab; |
+ |
blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation( |
- GetMainFrame(), |
- &state, |
- request, |
- blink::WebNavigationTypeLinkClicked, |
- blink::WebNavigationPolicyCurrentTab, |
- false); |
+ policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); |
// Navigations to WebUI URLs will also be sent to browser process. |
blink::WebURLRequest webui_request(GURL("chrome://foo")); |
- policy = frame()->decidePolicyForNavigation( |
- GetMainFrame(), |
- &state, |
- webui_request, |
- blink::WebNavigationTypeLinkClicked, |
- blink::WebNavigationPolicyCurrentTab, |
- false); |
+ blink::WebFrameClient::NavigationPolicyInfo webui_policy_info(webui_request); |
+ webui_policy_info.frame = GetMainFrame(); |
+ webui_policy_info.extraData = &state; |
+ webui_policy_info.navigationType = blink::WebNavigationTypeLinkClicked; |
+ webui_policy_info.defaultPolicy = blink::WebNavigationPolicyCurrentTab; |
+ policy = frame()->decidePolicyForNavigation(webui_policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); |
// Verify that form posts to data URLs will be sent to the browser process. |
blink::WebURLRequest data_request(GURL("data:text/html,foo")); |
+ blink::WebFrameClient::NavigationPolicyInfo data_policy_info(data_request); |
+ data_policy_info.frame = GetMainFrame(); |
+ data_policy_info.extraData = &state; |
+ data_policy_info.navigationType = blink::WebNavigationTypeFormSubmitted; |
+ data_policy_info.defaultPolicy = blink::WebNavigationPolicyCurrentTab; |
data_request.setHTTPMethod("POST"); |
- policy = frame()->decidePolicyForNavigation( |
- GetMainFrame(), |
- &state, |
- data_request, |
- blink::WebNavigationTypeFormSubmitted, |
- blink::WebNavigationPolicyCurrentTab, |
- false); |
+ policy = frame()->decidePolicyForNavigation(data_policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); |
// Verify that a popup that creates a view first and then navigates to a |
@@ -478,14 +477,13 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) { |
GetMainFrame(), popup_request, blink::WebWindowFeatures(), "foo", |
blink::WebNavigationPolicyNewForegroundTab, false); |
RenderViewImpl* new_view = RenderViewImpl::FromWebView(new_web_view); |
+ blink::WebFrameClient::NavigationPolicyInfo popup_policy_info(popup_request); |
+ popup_policy_info.frame = new_web_view->mainFrame()->toWebLocalFrame(); |
+ popup_policy_info.extraData = &state; |
+ popup_policy_info.navigationType = blink::WebNavigationTypeLinkClicked; |
+ popup_policy_info.defaultPolicy = blink::WebNavigationPolicyNewForegroundTab; |
policy = static_cast<RenderFrameImpl*>(new_view->GetMainRenderFrame())-> |
- decidePolicyForNavigation( |
- new_web_view->mainFrame()->toWebLocalFrame(), |
- &state, |
- popup_request, |
- blink::WebNavigationTypeLinkClicked, |
- blink::WebNavigationPolicyNewForegroundTab, |
- false); |
+ decidePolicyForNavigation(popup_policy_info); |
EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); |
// Clean up after the new view so we don't leak it. |