summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ceee/ie/common/chrome_frame_host.cc11
-rw-r--r--ceee/ie/common/chrome_frame_host.h1
-rw-r--r--ceee/ie/plugin/bho/infobar_browser_window.cc13
-rw-r--r--ceee/ie/plugin/bho/infobar_browser_window.h1
-rw-r--r--ceee/ie/plugin/toolband/tool_band.cc11
-rw-r--r--ceee/ie/plugin/toolband/tool_band.h1
-rw-r--r--chrome_frame/chrome_frame.gyp11
-rw-r--r--chrome_frame/chrome_frame_activex.cc17
-rw-r--r--chrome_frame/chrome_tab.idl13
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.