diff options
author | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-21 19:40:21 +0000 |
---|---|---|
committer | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-21 19:40:21 +0000 |
commit | a55c1d6e5a42bbf334c61dbc2bacab4683770f49 (patch) | |
tree | 9272ab3448e51c22598518b76b36cc1b242c4f29 /chrome_frame | |
parent | 146185df383870a8b4dba30061aa6a1118c58239 (diff) | |
download | chromium_src-a55c1d6e5a42bbf334c61dbc2bacab4683770f49.zip chromium_src-a55c1d6e5a42bbf334c61dbc2bacab4683770f49.tar.gz chromium_src-a55c1d6e5a42bbf334c61dbc2bacab4683770f49.tar.bz2 |
Always use flag needed by CEEE. Now that we use the same profile for
CF and CEEE, we need to ensure they both start Chrome with the same
flags.
Since IChromeFramePrivileged is a private/unfrozen interface, I simply
removed the GetChromeExtraArguments method as we are no longer using it.
BUG=63427
TEST=none
Review URL: http://codereview.chromium.org/5109006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66916 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-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 |
3 files changed, 22 insertions, 19 deletions
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. |