views_delegate.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright (c) 2014 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-CHROMIUM file.
  4. #ifndef BRIGHTRAY_BROWSER_VIEWS_VIEWS_DELEGATE_H_
  5. #define BRIGHTRAY_BROWSER_VIEWS_VIEWS_DELEGATE_H_
  6. #include <string>
  7. #include "base/compiler_specific.h"
  8. #include "ui/views/views_delegate.h"
  9. namespace brightray {
  10. class ViewsDelegate : public views::ViewsDelegate {
  11. public:
  12. ViewsDelegate();
  13. ~ViewsDelegate() override;
  14. protected:
  15. // views::ViewsDelegate:
  16. void SaveWindowPlacement(const views::Widget* window,
  17. const std::string& window_name,
  18. const gfx::Rect& bounds,
  19. ui::WindowShowState show_state) override;
  20. bool GetSavedWindowPlacement(const views::Widget* widget,
  21. const std::string& window_name,
  22. gfx::Rect* bounds,
  23. ui::WindowShowState* show_state) const override;
  24. void NotifyAccessibilityEvent(views::View* view,
  25. ui::AXEvent event_type) override;
  26. void NotifyMenuItemFocused(const base::string16& menu_name,
  27. const base::string16& menu_item_name,
  28. int item_index,
  29. int item_count,
  30. bool has_submenu) override;
  31. #if defined(OS_WIN)
  32. HICON GetDefaultWindowIcon() const override;
  33. HICON GetSmallWindowIcon() const override;
  34. bool IsWindowInMetro(gfx::NativeWindow window) const override;
  35. #elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
  36. gfx::ImageSkia* GetDefaultWindowIcon() const override;
  37. #endif
  38. views::NonClientFrameView* CreateDefaultNonClientFrameView(
  39. views::Widget* widget) override;
  40. void AddRef() override;
  41. void ReleaseRef() override;
  42. content::WebContents* CreateWebContents(
  43. content::BrowserContext* browser_context,
  44. content::SiteInstance* site_instance) override;
  45. void OnBeforeWidgetInit(
  46. views::Widget::InitParams* params,
  47. views::internal::NativeWidgetDelegate* delegate) override;
  48. bool WindowManagerProvidesTitleBar(bool maximized) override;
  49. private:
  50. DISALLOW_COPY_AND_ASSIGN(ViewsDelegate);
  51. };
  52. } // namespace brightray
  53. #endif // BRIGHTRAY_BROWSER_VIEWS_VIEWS_DELEGATE_H_