diff options
-rw-r--r-- | ceee/ie/common/chrome_frame_host.cc | 11 | ||||
-rw-r--r-- | ceee/ie/common/chrome_frame_host.h | 1 | ||||
-rw-r--r-- | ceee/ie/plugin/bho/infobar_browser_window.cc | 13 | ||||
-rw-r--r-- | ceee/ie/plugin/bho/infobar_browser_window.h | 1 | ||||
-rw-r--r-- | ceee/ie/plugin/toolband/tool_band.cc | 11 | ||||
-rw-r--r-- | ceee/ie/plugin/toolband/tool_band.h | 1 | ||||
-rw-r--r-- | chrome_frame/chrome_frame.gyp | 11 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_activex.cc | 17 | ||||
-rw-r--r-- | chrome_frame/chrome_tab.idl | 13 |
9 files changed, 22 insertions, 57 deletions
diff --git a/ceee/ie/common/chrome_frame_host.cc b/ceee/ie/common/chrome_frame_host.cc index 66e8efc..dc5362a 100644 --- a/ceee/ie/common/chrome_frame_host.cc +++ b/ceee/ie/common/chrome_frame_host.cc @@ -61,17 +61,6 @@ STDMETHODIMP ChromeFrameHost::GetWantsPrivileged(boolean* wants_privileged) { return S_OK; } -STDMETHODIMP ChromeFrameHost::GetChromeExtraArguments(BSTR* args) { - DCHECK(args); - - // Extra arguments are passed on verbatim, so we add the -- prefix. - CComBSTR str = "--"; - str.Append(switches::kEnableExperimentalExtensionApis); - - *args = str.Detach(); - return S_OK; -} - STDMETHODIMP ChromeFrameHost::GetChromeProfileName(BSTR* profile_name) { return chrome_profile_name_.CopyTo(profile_name); } diff --git a/ceee/ie/common/chrome_frame_host.h b/ceee/ie/common/chrome_frame_host.h index b04b7b5..4703e71 100644 --- a/ceee/ie/common/chrome_frame_host.h +++ b/ceee/ie/common/chrome_frame_host.h @@ -140,7 +140,6 @@ class ATL_NO_VTABLE ChromeFrameHost // @name IChromeFramePrivileged implementation. // @{ STDMETHOD(GetWantsPrivileged)(boolean* wants_privileged); - STDMETHOD(GetChromeExtraArguments)(BSTR* args); STDMETHOD(GetChromeProfileName)(BSTR* args); STDMETHOD(GetExtensionApisToAutomate)(BSTR* functions_enabled); STDMETHOD(ShouldShowVersionMismatchDialog)(); diff --git a/ceee/ie/plugin/bho/infobar_browser_window.cc b/ceee/ie/plugin/bho/infobar_browser_window.cc index 8a332e4..c5de414 100644 --- a/ceee/ie/plugin/bho/infobar_browser_window.cc +++ b/ceee/ie/plugin/bho/infobar_browser_window.cc @@ -39,19 +39,6 @@ STDMETHODIMP InfobarBrowserWindow::GetWantsPrivileged( return S_OK; } -STDMETHODIMP InfobarBrowserWindow::GetChromeExtraArguments(BSTR* args) { - DCHECK(args); - - // Must enable experimental extensions because we want to load html pages - // from our extension. - // Extra arguments are passed on verbatim, so we add the -- prefix. - CComBSTR str = "--"; - str.Append(switches::kEnableExperimentalExtensionApis); - - *args = str.Detach(); - return S_OK; -} - STDMETHODIMP InfobarBrowserWindow::GetChromeProfileName(BSTR* profile_name) { *profile_name = ::SysAllocString( ceee_module_util::GetBrokerProfileNameForIe()); diff --git a/ceee/ie/plugin/bho/infobar_browser_window.h b/ceee/ie/plugin/bho/infobar_browser_window.h index 9c4b39f..fa4d8a7 100644 --- a/ceee/ie/plugin/bho/infobar_browser_window.h +++ b/ceee/ie/plugin/bho/infobar_browser_window.h @@ -102,7 +102,6 @@ class ATL_NO_VTABLE InfobarBrowserWindow // @name IChromeFramePrivileged implementation. // @{ STDMETHOD(GetWantsPrivileged)(boolean *wants_privileged); - STDMETHOD(GetChromeExtraArguments)(BSTR *args); STDMETHOD(GetChromeProfileName)(BSTR *args); STDMETHOD(GetExtensionApisToAutomate)(BSTR *args); STDMETHOD(ShouldShowVersionMismatchDialog)(); diff --git a/ceee/ie/plugin/toolband/tool_band.cc b/ceee/ie/plugin/toolband/tool_band.cc index 89e8be1..d30c9a2 100644 --- a/ceee/ie/plugin/toolband/tool_band.cc +++ b/ceee/ie/plugin/toolband/tool_band.cc @@ -213,17 +213,6 @@ STDMETHODIMP ToolBand::GetWantsPrivileged(boolean* wants_privileged) { return S_OK; } -STDMETHODIMP ToolBand::GetChromeExtraArguments(BSTR* args) { - DCHECK(args); - - // Extra arguments are passed on verbatim, so we add the -- prefix. - CComBSTR str = "--"; - str.Append(switches::kEnableExperimentalExtensionApis); - - *args = str.Detach(); - return S_OK; -} - STDMETHODIMP ToolBand::GetChromeProfileName(BSTR* profile_name) { *profile_name = ::SysAllocString( ceee_module_util::GetBrokerProfileNameForIe()); diff --git a/ceee/ie/plugin/toolband/tool_band.h b/ceee/ie/plugin/toolband/tool_band.h index 1fbe73f..08ae691 100644 --- a/ceee/ie/plugin/toolband/tool_band.h +++ b/ceee/ie/plugin/toolband/tool_band.h @@ -137,7 +137,6 @@ class ATL_NO_VTABLE ToolBand : public CComObjectRootEx<CComSingleThreadModel>, // @name IChromeFramePrivileged implementation. // @{ STDMETHOD(GetWantsPrivileged)(boolean *wants_privileged); - STDMETHOD(GetChromeExtraArguments)(BSTR *args); STDMETHOD(GetChromeProfileName)(BSTR *args); STDMETHOD(GetExtensionApisToAutomate)(BSTR *args); STDMETHOD(ShouldShowVersionMismatchDialog)(); diff --git a/chrome_frame/chrome_frame.gyp b/chrome_frame/chrome_frame.gyp index 0cfe895..e8b334a 100644 --- a/chrome_frame/chrome_frame.gyp +++ b/chrome_frame/chrome_frame.gyp @@ -335,7 +335,7 @@ }, }, 'dependencies': [ - '../chrome/chrome.gyp:crash_service', + '../chrome/chrome.gyp:crash_service', '../chrome/chrome.gyp:automation', '../chrome/chrome.gyp:installer_util', '../google_update/google_update.gyp:google_update', @@ -429,7 +429,7 @@ 'dependencies': [ '../breakpad/breakpad.gyp:breakpad_handler', '../chrome/chrome.gyp:automation', - '../chrome/chrome.gyp:crash_service', + '../chrome/chrome.gyp:crash_service', '../chrome/chrome.gyp:installer_util', '../google_update/google_update.gyp:google_update', ], @@ -497,7 +497,7 @@ 'dependencies': [ '../breakpad/breakpad.gyp:breakpad_handler', '../chrome/chrome.gyp:automation', - '../chrome/chrome.gyp:crash_service', + '../chrome/chrome.gyp:crash_service', '../chrome/chrome.gyp:chrome_dll_version', '../chrome/chrome.gyp:installer_util', '../google_update/google_update.gyp:google_update', @@ -808,7 +808,8 @@ '/c', '<(RULE_INPUT_PATH)', ], 'process_outputs_as_sources': 0, - 'message': 'Assembling <(RULE_INPUT_PATH) to <(INTERMEDIATE_DIR)\<(RULE_INPUT_ROOT).obj.', + 'message': + 'Assembling <(RULE_INPUT_PATH) to <(INTERMEDIATE_DIR)\<(RULE_INPUT_ROOT).obj.', }, ], 'msvs_settings': { @@ -886,6 +887,8 @@ 'resource.h', ], 'include_dirs': [ + # For chrome_tab.h + '<(SHARED_INTERMEDIATE_DIR)', '<(INTERMEDIATE_DIR)/../npchrome_frame', ], 'conditions': [ diff --git a/chrome_frame/chrome_frame_activex.cc b/chrome_frame/chrome_frame_activex.cc index 6085546..7d3f5eb 100644 --- a/chrome_frame/chrome_frame_activex.cc +++ b/chrome_frame/chrome_frame_activex.cc @@ -453,16 +453,8 @@ HRESULT ChromeFrameActivex::IOleObject_SetClientSite( url_fetcher_->set_privileged_mode(is_privileged_); } - std::wstring chrome_extra_arguments; std::wstring profile_name(GetHostProcessName(false)); if (is_privileged_) { - // Does the host want to provide extra arguments? - base::win::ScopedBstr extra_arguments_arg; - service_hr = service->GetChromeExtraArguments( - extra_arguments_arg.Receive()); - if (S_OK == service_hr && extra_arguments_arg) - chrome_extra_arguments.assign(extra_arguments_arg, - extra_arguments_arg.Length()); base::win::ScopedBstr automated_functions_arg; service_hr = service->GetExtensionApisToAutomate( @@ -490,6 +482,15 @@ HRESULT ChromeFrameActivex::IOleObject_SetClientSite( InitializeAutomationSettings(); + // To avoid http://code.google.com/p/chromium/issues/detail?id=63427, + // we always pass this flag needed by CEEE. It has no effect on + // normal CF operation. + // + // Extra arguments are passed on verbatim, so we add the -- prefix. + std::wstring chrome_extra_arguments(L"--"); + chrome_extra_arguments.append( + ASCIIToWide(switches::kEnableExperimentalExtensionApis)); + url_fetcher_->set_frame_busting(!is_privileged_); automation_client_->SetUrlFetcher(url_fetcher_.get()); if (!InitializeAutomation(profile_name, chrome_extra_arguments, diff --git a/chrome_frame/chrome_tab.idl b/chrome_frame/chrome_tab.idl index 5894e3f..3ec0236 100644 --- a/chrome_frame/chrome_tab.idl +++ b/chrome_frame/chrome_tab.idl @@ -84,10 +84,10 @@ interface IChromeFrame : IDispatch { }; [ - object,
+ object, uuid(851bedec-4b2c-4959-abc0-a53403117257), - local, // This interface should never be marshaled.
- hidden,
+ local, // This interface should never be marshaled. + hidden, ] // Internal implementation interface. Not intended as an API. May change // frequently, don't treat this as frozen. @@ -98,18 +98,17 @@ interface IChromeFrameInternal : IUnknown { [ object, - uuid(8AD52429-3CE0-4883-BC69-2DFA055D20D4), + uuid(B1B52A4D-B22E-489f-8CCD-1CF9166FA90E), oleautomation, nonextensible, hidden, ] +// Internal implementation interface. Not intended as an API. May change +// frequently, don't treat this as frozen. interface IChromeFramePrivileged : IUnknown { // If the host returns false for wants_privileged, the control // won't enable privileged mode. HRESULT GetWantsPrivileged([out] boolean *wants_privileged); - // Extra arguments to supply to the Chrome instance. Returns S_FALSE when - // no extra arguments are needed. Always sets the output string to non-NULL. - HRESULT GetChromeExtraArguments([out] BSTR *args); // The profile name we want to use. HRESULT GetChromeProfileName([out] BSTR *profile_name); // The comma-separated list of extension API functions you wish to automate. |