summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_activex.cc
diff options
context:
space:
mode:
authortwiz@google.com <twiz@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 20:29:11 +0000
committertwiz@google.com <twiz@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 20:29:11 +0000
commite1081d9264ad9e19fe32071b6b99e3dde2d7f122 (patch)
treee78ff5a19a7316f8e7c8e95322d80100b58c5ffc /chrome_frame/chrome_frame_activex.cc
parentcadc050d692f83c44da8a386dc37ea57490a9cc9 (diff)
downloadchromium_src-e1081d9264ad9e19fe32071b6b99e3dde2d7f122.zip
chromium_src-e1081d9264ad9e19fe32071b6b99e3dde2d7f122.tar.gz
chromium_src-e1081d9264ad9e19fe32071b6b99e3dde2d7f122.tar.bz2
Partial clone of the following CL: http://codereview.chromium.org/3013045/show
Differences from the above CL include the following: - RendererPreferences settings for ExtensionHosts are now extracted from the associated_tab_contents(). This ensures that extension hosts will also forward top level navigation requests. - Instead of explicitly setting the delegate on the TabContents in ExtensionHost::ShowCreatedWindow, instead I instruct the associated tab-contents to add the newly build tab-contents. Note that this is the exact same behaviour performed by TabContents when initiating a top-level navigation to the host browser. Points of interest: - See the TODO in navigation_controller.cc. This problem of an unrecognized navigation entry needs further investigation. - Also, I found that if the ActiveX control is navigated to a chrome-extension URL, then the top-level-navigation will fail because of the format of the URL. The fix was to construct a temporary url in place of the chrome-extension url. BUG=51091 TEST=None Review URL: http://codereview.chromium.org/3357013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59142 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_activex.cc')
-rw-r--r--chrome_frame/chrome_frame_activex.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome_frame/chrome_frame_activex.cc b/chrome_frame/chrome_frame_activex.cc
index 0401298..e2d9b3a 100644
--- a/chrome_frame/chrome_frame_activex.cc
+++ b/chrome_frame/chrome_frame_activex.cc
@@ -459,6 +459,12 @@ HRESULT ChromeFrameActivex::IOleObject_SetClientSite(
WideToUTF8(url_, url_.Length(), &utf8_url);
}
+ // Only privileged instances of ActiveX Chrome Frame controls may read
+ // the chrome-network, and top-level-navigation settings from the registry.
+ // See issue: 54920
+ if (is_privileged_)
+ InitializeAutomationSettings();
+
url_fetcher_->set_frame_busting(!is_privileged_);
automation_client_->SetUrlFetcher(url_fetcher_.get());
if (!InitializeAutomation(profile_name, chrome_extra_arguments,