Home | History | Annotate | Download | only in chrome_frame
      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.
      4 
      5 #include <windows.h>
      6 
      7 #ifndef CHROME_FRAME_EVENT_HOOKER_H_
      8 #define CHROME_FRAME_EVENT_HOOKER_H_
      9 
     10 class EventHooker {
     11  public:
     12   EventHooker();
     13   ~EventHooker();
     14 
     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();
     19 
     20   // Call this to remove the event hooks that are installed by StartHook().
     21   void StopHook();
     22 
     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);
     31 
     32  private:
     33   HWINEVENTHOOK window_creation_hook_;
     34 };
     35 
     36 #endif  // CHROME_FRAME_EVENT_HOOKER_H_
     37