summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_helper_util.h
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 15:34:11 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 15:34:11 +0000
commit9ceda77323dcc335680d3cb47b0b76e2821199ad (patch)
treef5280e2a394d7d66a035b57d2c6b835bcbd7057b /chrome_frame/chrome_frame_helper_util.h
parentcf993864f9e684fb2e58f5b89d669ae680feefd9 (diff)
downloadchromium_src-9ceda77323dcc335680d3cb47b0b76e2821199ad.zip
chromium_src-9ceda77323dcc335680d3cb47b0b76e2821199ad.tar.gz
chromium_src-9ceda77323dcc335680d3cb47b0b76e2821199ad.tar.bz2
Add a helper process to Chrome Frame to allow for non-administrative installs. The helper process registers a hook dll that performs the necessary BHO injection instead of registering it in HKLM.
BUG=53127 TEST=Non-admin CF installs work. Review URL: http://codereview.chromium.org/3158036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57860 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_helper_util.h')
-rw-r--r--chrome_frame/chrome_frame_helper_util.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/chrome_frame/chrome_frame_helper_util.h b/chrome_frame/chrome_frame_helper_util.h
new file mode 100644
index 0000000..f204debd
--- /dev/null
+++ b/chrome_frame/chrome_frame_helper_util.h
@@ -0,0 +1,43 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_FRAME_CHROME_FRAME_HELPER_UTIL_H_
+#define CHROME_FRAME_CHROME_FRAME_HELPER_UTIL_H_
+
+#include <windows.h>
+
+// Compare the given class name with the known window class names for
+// internet explorer browser windows.
+//
+// @param [in] window_to_check handle to the window to be checked
+//
+// @return true if the window class matches known class names for IE browser.
+//
+bool UtilIsWebBrowserWindow(HWND window_to_check);
+
+// A utility function that retrieves the specified web browser COM interface
+// from the web browser window. The passed in window must be the web browser
+// window (class name "IEFrame" in IE6 and "TabWindowClass" in IE7)
+// @param[in] window The web browser window whose COM object is to be fetched
+// @param[in] iid The IID of the interface to be fetched
+// @param[out] web_browser_object
+// The requested interface pointer to the web browser object
+// is returned in this variable upon success
+//
+HRESULT UtilGetWebBrowserObjectFromWindow(HWND window,
+ REFIID iid,
+ void** web_browser_object);
+
+// Checks to see whether the passed in window is of the class specified.
+// of the heirarchy list
+// @param hwnd_to_match [in] The handle of the window that is to be
+// matched.
+// @param window_class [in] The window class to match against.
+//
+bool IsWindowOfClass(HWND hwnd_to_match, const wchar_t* window_class);
+
+// Returns true if the current process name is process_name, false otherwise.
+bool IsNamedProcess(const wchar_t* process_name);
+
+#endif // CHROME_FRAME_CHROME_FRAME_HELPER_UTIL_H_