Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 4967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4978 // blessed with file permissions. | 4978 // blessed with file permissions. |
| 4979 int cumulative_bindings = RenderProcess::current()->GetEnabledBindings(); | 4979 int cumulative_bindings = RenderProcess::current()->GetEnabledBindings(); |
| 4980 bool is_initial_navigation = render_view_->history_list_length_ == 0; | 4980 bool is_initial_navigation = render_view_->history_list_length_ == 0; |
| 4981 bool should_fork = HasWebUIScheme(url) || HasWebUIScheme(old_url) || | 4981 bool should_fork = HasWebUIScheme(url) || HasWebUIScheme(old_url) || |
| 4982 (cumulative_bindings & BINDINGS_POLICY_WEB_UI) || | 4982 (cumulative_bindings & BINDINGS_POLICY_WEB_UI) || |
| 4983 url.SchemeIs(kViewSourceScheme) || | 4983 url.SchemeIs(kViewSourceScheme) || |
| 4984 (frame_->isViewSourceModeEnabled() && | 4984 (frame_->isViewSourceModeEnabled() && |
| 4985 info.navigationType != blink::WebNavigationTypeReload); | 4985 info.navigationType != blink::WebNavigationTypeReload); |
| 4986 | 4986 |
| 4987 if (!should_fork && url.SchemeIs(url::kFileScheme)) { | 4987 if (!should_fork && url.SchemeIs(url::kFileScheme)) { |
| 4988 // Fork non-file to file opens. Check the opener URL if this is the | 4988 // Fork non-file to file opens. Note that this may fork unnecessarily if |
| 4989 // initial navigation in a newly opened window. | 4989 // another tab (hosting a file or not) targeted this one before its |
| 4990 GURL source_url(old_url); | 4990 // initial navigation, but that shouldn't cause a problem. |
| 4991 if (is_initial_navigation && source_url.is_empty() && frame_->opener()) | 4991 should_fork = !old_url.SchemeIs(url::kFileScheme); |
|
Łukasz Anforowicz
2016/07/20 22:23:04
The changes above [should] just replicate the chan
| |
| 4992 source_url = frame_->opener()->top()->document().url(); | |
| 4993 should_fork = !source_url.SchemeIs(url::kFileScheme); | |
| 4994 } | 4992 } |
| 4995 | 4993 |
| 4996 if (!should_fork) { | 4994 if (!should_fork) { |
| 4997 // Give the embedder a chance. | 4995 // Give the embedder a chance. |
| 4998 should_fork = GetContentClient()->renderer()->ShouldFork( | 4996 should_fork = GetContentClient()->renderer()->ShouldFork( |
| 4999 frame_, url, info.urlRequest.httpMethod().utf8(), | 4997 frame_, url, info.urlRequest.httpMethod().utf8(), |
| 5000 is_initial_navigation, is_redirect, &send_referrer); | 4998 is_initial_navigation, is_redirect, &send_referrer); |
| 5001 } | 4999 } |
| 5002 | 5000 |
| 5003 if (should_fork) { | 5001 if (should_fork) { |
| (...skipping 1332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6336 // event target. Potentially a Pepper plugin will receive the event. | 6334 // event target. Potentially a Pepper plugin will receive the event. |
| 6337 // In order to tell whether a plugin gets the last mouse event and which it | 6335 // In order to tell whether a plugin gets the last mouse event and which it |
| 6338 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6336 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
| 6339 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6337 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
| 6340 // |pepper_last_mouse_event_target_|. | 6338 // |pepper_last_mouse_event_target_|. |
| 6341 pepper_last_mouse_event_target_ = nullptr; | 6339 pepper_last_mouse_event_target_ = nullptr; |
| 6342 #endif | 6340 #endif |
| 6343 } | 6341 } |
| 6344 | 6342 |
| 6345 } // namespace content | 6343 } // namespace content |
| OLD | NEW |