native_window_observer.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. // Copyright (c) 2013 GitHub, Inc.
  2. // Use of this source code is governed by the MIT license that can be
  3. // found in the LICENSE file.
  4. #ifndef ATOM_BROWSER_NATIVE_WINDOW_OBSERVER_H_
  5. #define ATOM_BROWSER_NATIVE_WINDOW_OBSERVER_H_
  6. #include <string>
  7. #include "base/strings/string16.h"
  8. #include "base/values.h"
  9. #include "ui/base/window_open_disposition.h"
  10. #include "url/gurl.h"
  11. #if defined(OS_WIN)
  12. #include <windows.h>
  13. #endif
  14. namespace gfx {
  15. class Rect;
  16. }
  17. namespace atom {
  18. class NativeWindowObserver {
  19. public:
  20. virtual ~NativeWindowObserver() {}
  21. // Called when the web page in window wants to create a popup window.
  22. virtual void WillCreatePopupWindow(const base::string16& frame_name,
  23. const GURL& target_url,
  24. const std::string& partition_id,
  25. WindowOpenDisposition disposition) {}
  26. // Called when user is starting an navigation in web page.
  27. virtual void WillNavigate(bool* prevent_default, const GURL& url) {}
  28. // Called when the window is gonna closed.
  29. virtual void WillCloseWindow(bool* prevent_default) {}
  30. // Called when the window wants to know the preferred width.
  31. virtual void RequestPreferredWidth(int* width) {}
  32. // Called when closed button is clicked.
  33. virtual void OnCloseButtonClicked(bool* prevent_default) {}
  34. // Called when the window is closed.
  35. virtual void OnWindowClosed() {}
  36. // Called when Windows sends WM_ENDSESSION message
  37. virtual void OnWindowEndSession() {}
  38. // Called when window loses focus.
  39. virtual void OnWindowBlur() {}
  40. // Called when window gains focus.
  41. virtual void OnWindowFocus() {}
  42. // Called when window is shown.
  43. virtual void OnWindowShow() {}
  44. // Called when window is hidden.
  45. virtual void OnWindowHide() {}
  46. // Called when window state changed.
  47. virtual void OnWindowMaximize() {}
  48. virtual void OnWindowUnmaximize() {}
  49. virtual void OnWindowMinimize() {}
  50. virtual void OnWindowRestore() {}
  51. virtual void OnWindowWillResize(const gfx::Rect& new_bounds,
  52. bool* prevent_default) {}
  53. virtual void OnWindowResize() {}
  54. virtual void OnWindowWillMove(const gfx::Rect& new_bounds,
  55. bool* prevent_default) {}
  56. virtual void OnWindowMove() {}
  57. virtual void OnWindowMoved() {}
  58. virtual void OnWindowScrollTouchBegin() {}
  59. virtual void OnWindowScrollTouchEnd() {}
  60. virtual void OnWindowSwipe(const std::string& direction) {}
  61. virtual void OnWindowSheetBegin() {}
  62. virtual void OnWindowSheetEnd() {}
  63. virtual void OnWindowEnterFullScreen() {}
  64. virtual void OnWindowLeaveFullScreen() {}
  65. virtual void OnWindowEnterHtmlFullScreen() {}
  66. virtual void OnWindowLeaveHtmlFullScreen() {}
  67. virtual void OnWindowAlwaysOnTopChanged() {}
  68. virtual void OnTouchBarItemResult(const std::string& item_id,
  69. const base::DictionaryValue& details) {}
  70. virtual void OnNewWindowForTab() {}
  71. // Called when window message received
  72. #if defined(OS_WIN)
  73. virtual void OnWindowMessage(UINT message, WPARAM w_param, LPARAM l_param) {}
  74. #endif
  75. // Called on Windows when App Commands arrive (WM_APPCOMMAND)
  76. virtual void OnExecuteWindowsCommand(const std::string& command_name) {}
  77. };
  78. } // namespace atom
  79. #endif // ATOM_BROWSER_NATIVE_WINDOW_OBSERVER_H_