diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-30 15:34:11 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-30 15:34:11 +0000 |
commit | 9ceda77323dcc335680d3cb47b0b76e2821199ad (patch) | |
tree | f5280e2a394d7d66a035b57d2c6b835bcbd7057b /chrome_frame/chrome_frame_helper_util.h | |
parent | cf993864f9e684fb2e58f5b89d669ae680feefd9 (diff) | |
download | chromium_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.h | 43 |
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_ |