- add sources.
[platform/framework/web/crosswalk.git] / src / ozone / patches / 0001-browser-Support-Desktop-Aura-creation-on-Ozone.patch
1 From 0fd635681c6e7e3d2e1875f0c9e7f32547990ba1 Mon Sep 17 00:00:00 2001
2 From: Tiago Vignatti <tiago.vignatti@intel.com>
3 Date: Tue, 17 Dec 2013 15:33:36 +0200
4 Subject: [PATCH] browser: Support Desktop Aura creation on Ozone
5
6 This CL creates BrowserDesktopRootWindowHostOzone and gives support for Aura
7 Ozone implementations.
8
9 Different than the BDRWHX11 constructor, Ozone's assigns
10 views::DesktopRootWindowHost::Create to desktop_root_window_host_, where this
11 pointer is used throughout BDRWHL methods for making reference to it.
12
13 In particular, this CL brings back support for Chrome browser in Ozone-Wayland.
14
15 BUG=295089
16 ---
17  .../browser_desktop_root_window_host_ozone.cc      |   55 ++++++++++++++++++++
18  .../frame/browser_desktop_root_window_host_ozone.h |   42 +++++++++++++++
19  chrome/chrome_browser_ui.gypi                      |    2 +
20  3 files changed, 99 insertions(+)
21  create mode 100644 chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.cc
22  create mode 100644 chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.h
23
24 diff --git a/chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.cc b/chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.cc
25 new file mode 100644
26 index 0000000..f29c51b
27 --- /dev/null
28 +++ b/chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.cc
29 @@ -0,0 +1,55 @@
30 +// Copyright (c) 2013 The Chromium Authors. All rights reserved.
31 +// Use of this source code is governed by a BSD-style license that can be
32 +// found in the LICENSE file.
33 +
34 +#include "chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.h"
35 +
36 +////////////////////////////////////////////////////////////////////////////////
37 +// BrowserDesktopRootWindowHostOzone, public:
38 +
39 +BrowserDesktopRootWindowHostOzone::BrowserDesktopRootWindowHostOzone(
40 +    views::internal::NativeWidgetDelegate* native_widget_delegate,
41 +    views::DesktopNativeWidgetAura* desktop_native_widget_aura,
42 +    BrowserView* browser_view)
43 +      : browser_view_(browser_view),
44 +      desktop_root_window_host_(NULL) {
45 +  desktop_root_window_host_ = views::DesktopRootWindowHost::Create(
46 +      native_widget_delegate,
47 +      desktop_native_widget_aura);
48 +}
49 +
50 +BrowserDesktopRootWindowHostOzone::~BrowserDesktopRootWindowHostOzone() {
51 +  desktop_root_window_host_ = NULL;
52 +}
53 +
54 +////////////////////////////////////////////////////////////////////////////////
55 +// BrowserDesktopRootWindowHostOzone,
56 +//     BrowserDesktopRootWindowHost implementation:
57 +
58 +views::DesktopRootWindowHost*
59 +    BrowserDesktopRootWindowHostOzone::AsDesktopRootWindowHost() {
60 +  return desktop_root_window_host_;
61 +}
62 +
63 +int BrowserDesktopRootWindowHostOzone::GetMinimizeButtonOffset() const {
64 +  return 0;
65 +}
66 +
67 +bool BrowserDesktopRootWindowHostOzone::UsesNativeSystemMenu() const {
68 +  return false;
69 +}
70 +
71 +////////////////////////////////////////////////////////////////////////////////
72 +// BrowserDesktopRootWindowHost, public:
73 +
74 +// static
75 +BrowserDesktopRootWindowHost*
76 +    BrowserDesktopRootWindowHost::CreateBrowserDesktopRootWindowHost(
77 +        views::internal::NativeWidgetDelegate* native_widget_delegate,
78 +        views::DesktopNativeWidgetAura* desktop_native_widget_aura,
79 +        BrowserView* browser_view,
80 +        BrowserFrame* browser_frame) {
81 +  return new BrowserDesktopRootWindowHostOzone(native_widget_delegate,
82 +                                               desktop_native_widget_aura,
83 +                                               browser_view);
84 +}
85 diff --git a/chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.h b/chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.h
86 new file mode 100644
87 index 0000000..f1dbe3f
88 --- /dev/null
89 +++ b/chrome/browser/ui/views/frame/browser_desktop_root_window_host_ozone.h
90 @@ -0,0 +1,42 @@
91 +// Copyright (c) 2013 The Chromium Authors. All rights reserved.
92 +// Use of this source code is governed by a BSD-style license that can be
93 +// found in the LICENSE file.
94 +
95 +#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_ROOT_WINDOW_HOST_OZONE_H_
96 +#define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_ROOT_WINDOW_HOST_OZONE_H_
97 +
98 +#include "ui/aura/root_window_host.h"
99 +#include "ui/views/widget/desktop_aura/desktop_root_window_host.h"
100 +#include "chrome/browser/ui/views/frame/browser_desktop_root_window_host.h"
101 +
102 +class BrowserFrame;
103 +class BrowserView;
104 +
105 +namespace views {
106 +class DesktopNativeWidgetAura;
107 +}
108 +
109 +class BrowserDesktopRootWindowHostOzone
110 +    : public BrowserDesktopRootWindowHost {
111 + public:
112 +  BrowserDesktopRootWindowHostOzone(
113 +      views::internal::NativeWidgetDelegate* native_widget_delegate,
114 +      views::DesktopNativeWidgetAura* desktop_native_widget_aura,
115 +      BrowserView* browser_view);
116 +  virtual ~BrowserDesktopRootWindowHostOzone();
117 +
118 + private:
119 +  // Overridden from BrowserDesktopRootWindowHost:
120 +  virtual views::DesktopRootWindowHost* AsDesktopRootWindowHost() OVERRIDE;
121 +  virtual int GetMinimizeButtonOffset() const OVERRIDE;
122 +  virtual bool UsesNativeSystemMenu() const OVERRIDE;
123 +
124 +  BrowserView* browser_view_;
125 +
126 +  // Ownership passed to RootWindow on Init.
127 +  views::DesktopRootWindowHost* desktop_root_window_host_;
128 +
129 +  DISALLOW_COPY_AND_ASSIGN(BrowserDesktopRootWindowHostOzone);
130 +};
131 +
132 +#endif  // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_ROOT_WINDOW_HOST_OZONE_H_
133 diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi
134 index dd25e1c..a33cce8 100644
135 --- a/chrome/chrome_browser_ui.gypi
136 +++ b/chrome/chrome_browser_ui.gypi
137 @@ -1860,6 +1860,8 @@
138          'browser/ui/views/frame/desktop_user_action_handler_aura.cc',
139          'browser/ui/views/frame/desktop_user_action_handler_aura.h',
140          'browser/ui/views/frame/browser_desktop_root_window_host.h',
141 +        'browser/ui/views/frame/browser_desktop_root_window_host_ozone.cc',
142 +        'browser/ui/views/frame/browser_desktop_root_window_host_ozone.h',
143          'browser/ui/views/frame/browser_desktop_root_window_host_win.cc',
144          'browser/ui/views/frame/browser_desktop_root_window_host_win.h',
145          'browser/ui/views/frame/browser_desktop_root_window_host_x11.cc',
146 -- 
147 1.7.9.5
148