diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 19:35:22 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 19:35:22 +0000 |
commit | 0fcfffb4ac7a8bc2370d84404f79c73cf2da558e (patch) | |
tree | f3d1e1441d5199820a8eabaa2eb9081a8ee21045 /chrome_frame | |
parent | 481acef9c8eef81c8e7f02a51602987348d42e2c (diff) | |
download | chromium_src-0fcfffb4ac7a8bc2370d84404f79c73cf2da558e.zip chromium_src-0fcfffb4ac7a8bc2370d84404f79c73cf2da558e.tar.gz chromium_src-0fcfffb4ac7a8bc2370d84404f79c73cf2da558e.tar.bz2 |
Move elevation registration into a separate rgs script and leave removal of it up to the installer.
TEST=Manual registration of npchrome_frame continues to register the elevation policy, but unregistration of the DLL will not remove the elevation policy (since the installer now does that).
BUG=none
Review URL: http://codereview.chromium.org/6286083
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73645 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/chrome_frame.gyp | 1 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_activex.rgs | 21 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_elevation.rgs | 24 | ||||
-rw-r--r-- | chrome_frame/chrome_tab.cc | 12 | ||||
-rw-r--r-- | chrome_frame/resources/chrome_frame_resources.grd | 1 |
5 files changed, 36 insertions, 23 deletions
diff --git a/chrome_frame/chrome_frame.gyp b/chrome_frame/chrome_frame.gyp index ffd770c..4d4f6a6 100644 --- a/chrome_frame/chrome_frame.gyp +++ b/chrome_frame/chrome_frame.gyp @@ -960,6 +960,7 @@ '../chrome/chrome.gyp:utility', ], 'sources': [ + 'chrome_frame_elevation.rgs', 'chrome_frame_npapi.rgs', 'chrome_frame_npapi_entrypoints.cc', 'chrome_frame_npapi_entrypoints.h', diff --git a/chrome_frame/chrome_frame_activex.rgs b/chrome_frame/chrome_frame_activex.rgs index 94b5a51..966e48e 100644 --- a/chrome_frame/chrome_frame_activex.rgs +++ b/chrome_frame/chrome_frame_activex.rgs @@ -21,8 +21,7 @@ ForceRemove 'Programmable' ForceRemove 'Insertable' ForceRemove 'ToolboxBitmap32' = s '%MODULE%, 1' - 'MiscStatus' = s '0' - { + 'MiscStatus' = s '0' { '1' = s '%OLEMISC%' } 'TypeLib' = s '{6F2664E1-FF6E-488A-BCD1-F4CA6001DFCC}' @@ -56,24 +55,6 @@ } } } - NoRemove 'Internet Explorer' { - NoRemove 'Low Rights' { - NoRemove ElevationPolicy { - ForceRemove '{E0A900DF-9611-4446-86BD-4B1D47E7DB2A}' = s '' { - val Policy = d '3' - val AppName = s '%CHROME_LAUNCHER_APPNAME%' - val AppPath = s '%CHROME_LAUNCHER_APPPATH%' - } - } - NoRemove DragDrop { - ForceRemove '{E0A900DF-9611-4446-86BD-4B1D47E7DB2A}' = s '' { - val Policy = d '3' - val AppName = s '%CHROME_APPNAME%' - val AppPath = s '%CHROME_APPPATH%' - } - } - } - } } } }
\ No newline at end of file diff --git a/chrome_frame/chrome_frame_elevation.rgs b/chrome_frame/chrome_frame_elevation.rgs new file mode 100644 index 0000000..ee4485d --- /dev/null +++ b/chrome_frame/chrome_frame_elevation.rgs @@ -0,0 +1,24 @@ +%HIVE% { + NoRemove Software { + NoRemove Microsoft { + NoRemove 'Internet Explorer' { + NoRemove 'Low Rights' { + NoRemove ElevationPolicy { + ForceRemove '{E0A900DF-9611-4446-86BD-4B1D47E7DB2A}' = s '' { + val Policy = d '3' + val AppName = s '%CHROME_LAUNCHER_APPNAME%' + val AppPath = s '%CHROME_LAUNCHER_APPPATH%' + } + } + NoRemove DragDrop { + ForceRemove '{E0A900DF-9611-4446-86BD-4B1D47E7DB2A}' = s '' { + val Policy = d '3' + val AppName = s '%CHROME_APPNAME%' + val AppPath = s '%CHROME_APPPATH%' + } + } + } + } + } + } +}
\ No newline at end of file diff --git a/chrome_frame/chrome_tab.cc b/chrome_frame/chrome_tab.cc index 183204a..91f3680 100644 --- a/chrome_frame/chrome_tab.cc +++ b/chrome_frame/chrome_tab.cc @@ -489,7 +489,7 @@ STDAPI CustomRegistration(UINT reg_flags, BOOL reg, bool is_system) { UINT flags = reg_flags; if (reg && (flags & (ACTIVEDOC | ACTIVEX))) - flags |= (TYPELIB |GCF_PROTOCOL); + flags |= (TYPELIB | GCF_PROTOCOL); HRESULT hr = S_OK; @@ -511,8 +511,14 @@ STDAPI CustomRegistration(UINT reg_flags, BOOL reg, bool is_system) { // _AtlModule.UpdateRegistryFromResourceS(IDR_CHROMEFRAME_ACTIVEX, reg) // because there is specific OLEMISC replacement. hr = ChromeFrameActivex::UpdateRegistry(reg); - // TODO(amit): Move elevation policy registration from ActiveX rgs - // into a separate rgs. + } + + // Register the elevation policy. We do this only for developer convenience + // as the installer is really responsible for doing this. + // Because of that, we do not unregister this policy and just leave that up + // to the installer. + if (hr == S_OK && (flags & (ACTIVEDOC | ACTIVEX)) && reg) { + _AtlModule.UpdateRegistryFromResourceS(IDR_CHROMEFRAME_ELEVATION, reg); RefreshElevationPolicy(); } diff --git a/chrome_frame/resources/chrome_frame_resources.grd b/chrome_frame/resources/chrome_frame_resources.grd index 11cb3ee..fbf72a5 100644 --- a/chrome_frame/resources/chrome_frame_resources.grd +++ b/chrome_frame/resources/chrome_frame_resources.grd @@ -29,6 +29,7 @@ for localizable strings <include name="IDR_BHO" file="../bho.rgs" type="REGISTRY" /> <include name="IDR_CHROMEACTIVEDOCUMENT" file="../chrome_active_document.rgs" type="REGISTRY" /> <include name="IDR_CHROMEFRAME_ACTIVEX" file="../chrome_frame_activex.rgs" type="REGISTRY" /> + <include name="IDR_CHROMEFRAME_ELEVATION" file="../chrome_frame_elevation.rgs" type="REGISTRY" /> <include name="IDR_CHROMEFRAME_NPAPI" file="../chrome_frame_npapi.rgs" type="REGISTRY" /> <include name="IDR_CHROMEPROTOCOL" file="../chrome_protocol.rgs" type="REGISTRY" /> <include name="IDR_CHROMETAB" file="../chrome_tab.rgs" type="REGISTRY" /> |