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