Chromium Code Reviews| Index: content/browser/frame_host/navigation_handle_impl.cc |
| diff --git a/content/browser/frame_host/navigation_handle_impl.cc b/content/browser/frame_host/navigation_handle_impl.cc |
| index 74e0b202c6f005ffc79bb32c909b01bb847c83f2..c7066b80fec18c9cfd46c93059c7d702eb5a0120 100644 |
| --- a/content/browser/frame_host/navigation_handle_impl.cc |
| +++ b/content/browser/frame_host/navigation_handle_impl.cc |
| @@ -65,11 +65,12 @@ std::unique_ptr<NavigationHandleImpl> NavigationHandleImpl::Create( |
| bool is_same_page, |
| const base::TimeTicks& navigation_start, |
| int pending_nav_entry_id, |
| - bool started_from_context_menu) { |
| + bool started_from_context_menu, |
| + bool should_bypass_main_world_csp) { |
| return std::unique_ptr<NavigationHandleImpl>(new NavigationHandleImpl( |
| url, redirect_chain, frame_tree_node, is_renderer_initiated, is_same_page, |
| - navigation_start, pending_nav_entry_id, |
| - started_from_context_menu)); |
| + navigation_start, pending_nav_entry_id, started_from_context_menu, |
| + should_bypass_main_world_csp)); |
| } |
| NavigationHandleImpl::NavigationHandleImpl( |
| @@ -80,7 +81,8 @@ NavigationHandleImpl::NavigationHandleImpl( |
| bool is_same_page, |
| const base::TimeTicks& navigation_start, |
| int pending_nav_entry_id, |
| - bool started_from_context_menu) |
| + bool started_from_context_menu, |
| + bool should_bypass_main_world_csp) |
| : url_(url), |
| has_user_gesture_(false), |
| transition_(ui::PAGE_TRANSITION_LINK), |
| @@ -109,6 +111,7 @@ NavigationHandleImpl::NavigationHandleImpl( |
| started_from_context_menu_(started_from_context_menu), |
| reload_type_(ReloadType::NONE), |
| navigation_type_(NAVIGATION_TYPE_UNKNOWN), |
| + should_bypass_main_world_csp_(should_bypass_main_world_csp), |
| weak_factory_(this) { |
| DCHECK(!navigation_start.is_null()); |
| if (redirect_chain_.empty()) |
| @@ -456,6 +459,10 @@ NavigationData* NavigationHandleImpl::GetNavigationData() { |
| return navigation_data_.get(); |
| } |
| +bool NavigationHandleImpl::ShouldBypassMainWorldCSP() const { |
|
alexmos
2017/02/14 06:57:20
nit: you can move this simple getter into to the h
arthursonzogni
2017/02/15 09:26:09
Done, but I can't move the implementation in the h
alexmos
2017/02/24 06:40:27
Ack, though that's surprising to me, as should_byp
arthursonzogni
2017/02/24 16:13:29
You are right, after this change, I removed the "o
|
| + return should_bypass_main_world_csp_; |
| +} |
| + |
| const GlobalRequestID& NavigationHandleImpl::GetGlobalRequestID() { |
| DCHECK(state_ == WILL_PROCESS_RESPONSE || state_ == DEFERRING_RESPONSE || |
| state_ == READY_TO_COMMIT); |
| @@ -663,9 +670,9 @@ NavigationHandleImpl::CheckWillStartRequest() { |
| case NavigationThrottle::PROCEED: |
| continue; |
| + case NavigationThrottle::BLOCK_REQUEST: |
| case NavigationThrottle::CANCEL: |
| case NavigationThrottle::CANCEL_AND_IGNORE: |
| - case NavigationThrottle::BLOCK_REQUEST: |
| state_ = CANCELING; |
| return result; |
| @@ -695,6 +702,7 @@ NavigationHandleImpl::CheckWillRedirectRequest() { |
| case NavigationThrottle::PROCEED: |
| continue; |
| + case NavigationThrottle::BLOCK_REQUEST: |
| case NavigationThrottle::CANCEL: |
| case NavigationThrottle::CANCEL_AND_IGNORE: |
| state_ = CANCELING; |
| @@ -705,7 +713,6 @@ NavigationHandleImpl::CheckWillRedirectRequest() { |
| next_index_ = i + 1; |
| return result; |
| - case NavigationThrottle::BLOCK_REQUEST: |
| case NavigationThrottle::BLOCK_RESPONSE: |
| NOTREACHED(); |
| } |