summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_activex_base.h
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-16 02:18:43 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-16 02:18:43 +0000
commita1e62d1553f81d66fa5fdc6a4e54a5531d378bbc (patch)
treeb14f0d7693c0843222d765da77d9c1ccc3e2de46 /chrome_frame/chrome_frame_activex_base.h
parentd5b42ac0413ca4dbac88bce952044808ba40b1a9 (diff)
downloadchromium_src-a1e62d1553f81d66fa5fdc6a4e54a5531d378bbc.zip
chromium_src-a1e62d1553f81d66fa5fdc6a4e54a5531d378bbc.tar.gz
chromium_src-a1e62d1553f81d66fa5fdc6a4e54a5531d378bbc.tar.bz2
Adds an automation message to retrieve the list of enabled extensions, and CF bindings for it.
TEST=unit test to follow BUG=none Review URL: http://codereview.chromium.org/901002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41667 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_activex_base.h')
-rw-r--r--chrome_frame/chrome_frame_activex_base.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/chrome_frame/chrome_frame_activex_base.h b/chrome_frame/chrome_frame_activex_base.h
index 263b2b9..5c8c2c4 100644
--- a/chrome_frame/chrome_frame_activex_base.h
+++ b/chrome_frame/chrome_frame_activex_base.h
@@ -132,6 +132,14 @@ class ATL_NO_VTABLE ProxyDIChromeFrameEvents
args,
arraysize(args));
}
+
+ void Fire_ongetenabledextensionscomplete(SAFEARRAY* extension_dirs) { // NOLINT
+ VARIANT args[1] = { { VT_ARRAY | VT_BSTR } };
+ args[0].parray = extension_dirs;
+
+ FireMethodWithParams(CF_EVENT_DISPID_ONGETENABLEDEXTENSIONSCOMPLETE,
+ args, arraysize(args));
+ }
};
extern bool g_first_launch_by_process_;
@@ -811,6 +819,18 @@ END_MSG_MAP()
return S_OK;
}
+ STDMETHOD(getEnabledExtensions)() {
+ DCHECK(automation_client_.get());
+
+ if (!is_privileged_) {
+ DLOG(ERROR) << "Attempt to getEnabledExtensions in non-privileged mode";
+ return E_ACCESSDENIED;
+ }
+
+ automation_client_->GetEnabledExtensions(NULL);
+ return S_OK;
+ }
+
// Returns the vector of event handlers for a given event (e.g. "load").
// If the event type isn't recognized, the function fills in a descriptive
// error (IErrorInfo) and returns E_INVALIDARG.