Index: content/browser/frame_host/render_frame_host_manager.cc |
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc |
index 380f6871749da153635007161aed49dc9fd1a3d5..59cbe436c80a945cff6f16a1e98cea75ad0b679d 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.cc |
+++ b/content/browser/frame_host/render_frame_host_manager.cc |
@@ -1406,12 +1406,13 @@ RenderFrameHostManager::DetermineSiteInstanceForURL( |
SiteInstanceRelation::UNRELATED); |
} |
- // Use the source SiteInstance in case of data URLs or about:blank pages, |
- // because the content is then controlled and/or scriptable by the source |
- // SiteInstance. |
+ // Use the source SiteInstance in case of data URLs, about:srcdoc pages and |
+ // about:blank pages because the content is then controlled and/or scriptable |
+ // by the source SiteInstance. |
GURL about_blank(url::kAboutBlankURL); |
- if (source_instance && |
- (dest_url == about_blank || dest_url.scheme() == url::kDataScheme)) { |
+ GURL about_srcdoc(content::kAboutSrcDocURL); |
+ if (source_instance && (dest_url == about_srcdoc || dest_url == about_blank || |
+ dest_url.scheme() == url::kDataScheme)) { |
return SiteInstanceDescriptor(source_instance); |
} |