[Profiles, Fixit] Making GAIAInfoUpdateService into a ProfileKeyedService.
[chromium-blink-merge.git] / chrome_frame / event_hooker.h
blob1f62fbf9fb03aa54adf9303b6d5a8a65c969db11
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include <windows.h>
7 #ifndef CHROME_FRAME_EVENT_HOOKER_H_
8 #define CHROME_FRAME_EVENT_HOOKER_H_
10 class EventHooker {
11 public:
12 EventHooker();
13 ~EventHooker();
15 // Call this to install event hooks that will trigger on window creation
16 // and reparenting. Returns true if the hooks are successfully installed,
17 // false otherwise.
18 bool StartHook();
20 // Call this to remove the event hooks that are installed by StartHook().
21 void StopHook();
23 // The callback invoked in response to an event registered for in StartHook().
24 static VOID CALLBACK WindowCreationHookProc(HWINEVENTHOOK hook,
25 DWORD event,
26 HWND window,
27 LONG object_id,
28 LONG child_id,
29 DWORD event_tid,
30 DWORD event_time);
32 private:
33 HWINEVENTHOOK window_creation_hook_;
36 #endif // CHROME_FRAME_EVENT_HOOKER_H_