native_window_observer.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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 SHELL_BROWSER_NATIVE_WINDOW_OBSERVER_H_
  5. #define SHELL_BROWSER_NATIVE_WINDOW_OBSERVER_H_
  6. #include <string>
  7. #include "base/observer_list_types.h"
  8. #include "base/strings/string16.h"
  9. #include "base/values.h"
  10. #include "ui/base/window_open_disposition.h"
  11. #include "url/gurl.h"
  12. #if defined(OS_WIN)
  13. #include <windows.h>
  14. #endif
  15. namespace gfx {
  16. class Rect;
  17. }
  18. namespace electron {
  19. class NativeWindowObserver : public base::CheckedObserver {
  20. public:
  21. ~NativeWindowObserver() override {}
  22. // Called when the web page in window wants to create a popup window.
  23. virtual void WillCreatePopupWindow(const base::string16& frame_name,
  24. const GURL& target_url,
  25. const std::string& partition_id,
  26. WindowOpenDisposition disposition) {}
  27. // Called when user is starting an navigation in web page.
  28. virtual void WillNavigate(bool* prevent_default, const GURL& url) {}
  29. // Called when the window is gonna closed.
  30. virtual void WillCloseWindow(bool* prevent_default) {}
  31. // Called when the window wants to know the preferred width.
  32. virtual void RequestPreferredWidth(int* width) {}
  33. // Called when closed button is clicked.
  34. virtual void OnCloseButtonClicked(bool* prevent_default) {}
  35. // Called when the window is closed.
  36. virtual void OnWindowClosed() {}
  37. // Called when Windows sends WM_ENDSESSION message
  38. virtual void OnWindowEndSession() {}
  39. // Called when window loses focus.
  40. virtual void OnWindowBlur() {}
  41. // Called when window gains focus.
  42. virtual void OnWindowFocus() {}
  43. // Called when window is shown.
  44. virtual void OnWindowShow() {}
  45. // Called when window is hidden.
  46. virtual void OnWindowHide() {}
  47. // Called when window state changed.
  48. virtual void OnWindowMaximize() {}
  49. virtual void OnWindowUnmaximize() {}
  50. virtual void OnWindowMinimize() {}
  51. virtual void OnWindowRestore() {}
  52. virtual void OnWindowWillResize(const gfx::Rect& new_bounds,
  53. bool* prevent_default) {}
  54. virtual void OnWindowResize() {}
  55. virtual void OnWindowWillMove(const gfx::Rect& new_bounds,
  56. bool* prevent_default) {}
  57. virtual void OnWindowMove() {}
  58. virtual void OnWindowMoved() {}
  59. virtual void OnWindowScrollTouchBegin() {}
  60. virtual void OnWindowScrollTouchEnd() {}
  61. virtual void OnWindowSwipe(const std::string& direction) {}
  62. virtual void OnWindowRotateGesture(float rotation) {}
  63. virtual void OnWindowSheetBegin() {}
  64. virtual void OnWindowSheetEnd() {}
  65. virtual void OnWindowEnterFullScreen() {}
  66. virtual void OnWindowLeaveFullScreen() {}
  67. virtual void OnWindowEnterHtmlFullScreen() {}
  68. virtual void OnWindowLeaveHtmlFullScreen() {}
  69. virtual void OnWindowAlwaysOnTopChanged() {}
  70. virtual void OnTouchBarItemResult(const std::string& item_id,
  71. const base::DictionaryValue& details) {}
  72. virtual void OnNewWindowForTab() {}
  73. // Called when window message received
  74. #if defined(OS_WIN)
  75. virtual void OnWindowMessage(UINT message, WPARAM w_param, LPARAM l_param) {}
  76. #endif
  77. // Called on Windows when App Commands arrive (WM_APPCOMMAND)
  78. // Some commands are implemented on on other platforms as well
  79. virtual void OnExecuteAppCommand(const std::string& command_name) {}
  80. };
  81. } // namespace electron
  82. #endif // SHELL_BROWSER_NATIVE_WINDOW_OBSERVER_H_