summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_activex.cc
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-23 19:16:20 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-23 19:16:20 +0000
commit50f53164ebbceb30b69578e96e863375f5cb4f9b (patch)
tree853541075c0a2ac5adb3d4f3a389401d92405edf /chrome_frame/chrome_frame_activex.cc
parent117fd71c37c932c5ffcbf59eb42d118d3dfb431f (diff)
downloadchromium_src-50f53164ebbceb30b69578e96e863375f5cb4f9b.zip
chromium_src-50f53164ebbceb30b69578e96e863375f5cb4f9b.tar.gz
chromium_src-50f53164ebbceb30b69578e96e863375f5cb4f9b.tar.bz2
Enhance extension UI testing by enabling you to select which extension
APIs to forward (and thus stub out in your test), while others will keep being fulfilled as per usual. This lets you build tests that stub out one piece of behavior while testing that some side effects of another API happen as expected. BUG=none TEST=Run ui_tests.exe Review URL: http://codereview.chromium.org/314015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29919 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_activex.cc')
-rw-r--r--chrome_frame/chrome_frame_activex.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/chrome_frame/chrome_frame_activex.cc b/chrome_frame/chrome_frame_activex.cc
index 78b09fa..16f5dda 100644
--- a/chrome_frame/chrome_frame_activex.cc
+++ b/chrome_frame/chrome_frame_activex.cc
@@ -337,6 +337,19 @@ HRESULT ChromeFrameActivex::IOleObject_SetClientSite(
chrome_extra_arguments.assign(extra_arguments_arg,
extra_arguments_arg.Length());
+ ScopedBstr automated_functions_arg;
+ service_hr = service->GetExtensionApisToAutomate(
+ automated_functions_arg.Receive());
+ if (S_OK == service_hr && automated_functions_arg) {
+ std::string automated_functions(
+ WideToASCII(static_cast<BSTR>(automated_functions_arg)));
+ functions_enabled_.clear();
+ // SplitString writes one empty entry for blank strings, so we need this
+ // to allow specifying zero automation of API functions.
+ if (!automated_functions.empty())
+ SplitString(automated_functions, ',', &functions_enabled_);
+ }
+
ScopedBstr profile_name_arg;
service_hr = service->GetChromeProfileName(profile_name_arg.Receive());
if (S_OK == service_hr && profile_name_arg)