diff options
author | alexmos <alexmos@chromium.org> | 2015-06-10 10:14:21 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-10 17:14:42 +0000 |
commit | e201c7cd1473ee1ff5b677bea1d3eb80c6680ed3 (patch) | |
tree | c9bb5c005c182dd3b15b4b164939eb659d3f1e91 /chromecast/browser/cast_content_browser_client.h | |
parent | 86c8f011706dd12451797fbc14491c8e08db8319 (diff) | |
download | chromium_src-e201c7cd1473ee1ff5b677bea1d3eb80c6680ed3.zip chromium_src-e201c7cd1473ee1ff5b677bea1d3eb80c6680ed3.tar.gz chromium_src-e201c7cd1473ee1ff5b677bea1d3eb80c6680ed3.tar.bz2 |
Track frame openers in FrameTreeNodes instead of WebContents.
This CL is the first step of refactoring frame openers to support
out-of-process iframes:
- Frame openers are now tracked by FrameTreeNodes rather than
WebContents. Openers can point to subframes, and this change
ensures that a cross-process opener can be properly used for things
like navigation or postMessage. As part of this, the logic for
clearing an opener when it is destroyed also moved into
FrameTreeNode, where it uses a new Observer.
- Various renderer->browser opener plumbing is refactored to use
RenderFrameHosts instead of RenderViewHosts, which enables a newly
created WebContents (or rather, its main frame) to track a subframe
opener in the browser process.
Future CLs will add support to further propagate per-frame opener
information to a new window's renderer process, so that window.opener
points to the right RenderFrameProxy in the cross-process case.
Note that a subframe does not have an opener when it is created. The
only way for it to gain an opener is if it is targeted by
window.open(). Support for this will be added in a future CL.
BUG=225940, 431769
Review URL: https://codereview.chromium.org/1086283002
Cr-Commit-Position: refs/heads/master@{#333751}
Diffstat (limited to 'chromecast/browser/cast_content_browser_client.h')
-rw-r--r-- | chromecast/browser/cast_content_browser_client.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/chromecast/browser/cast_content_browser_client.h b/chromecast/browser/cast_content_browser_client.h index fa71076..5fc6da0 100644 --- a/chromecast/browser/cast_content_browser_client.h +++ b/chromecast/browser/cast_content_browser_client.h @@ -112,7 +112,8 @@ class CastContentBrowserClient: public content::ContentBrowserClient { bool opener_suppressed, content::ResourceContext* context, int render_process_id, - int opener_id, + int opener_render_view_id, + int opener_render_frame_id, bool* no_javascript_access) override; void GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, |