Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: chrome/browser/ui/views/frame/browser_frame_android.cc

Issue 1410153003: Browser frame for Aura Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed mfomitchev's feedback. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 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 file.
4
5 #include "chrome/browser/ui/views/frame/browser_frame_android.h"
6
7 #include "chrome/browser/ui/views/frame/browser_shutdown.h"
8 #include "chrome/browser/ui/views/frame/browser_view.h"
9 #include "ui/aura/window.h"
10 #include "ui/aura/window_tree_host_platform.h"
11
12 ///////////////////////////////////////////////////////////////////////////////
13 // BrowserFrameAndroid, public:
14
15 // static
16 const char BrowserFrameAndroid::kWindowName[] = "BrowserFrameAndroid";
17
18 namespace {
19 // |g_host| should be set before browser frame instantiation. It is used to get
20 // the window which is needed for creating the widget for the browser frame.
21 // TODO(moshayedi): crbug.com/551055. This is temporary until we have
22 // multi-window support.
23 aura::WindowTreeHostPlatform* g_host = nullptr;
24 }
25
26 BrowserFrameAndroid::BrowserFrameAndroid(BrowserFrame* browser_frame,
27 BrowserView* browser_view)
28 : views::NativeWidgetAura(browser_frame), browser_view_(browser_view) {
29 GetNativeWindow()->SetName(kWindowName);
30 }
31
32 // static
33 void BrowserFrameAndroid::SetHost(aura::WindowTreeHostPlatform* host) {
34 g_host = host;
35 }
36
37 ///////////////////////////////////////////////////////////////////////////////
38 // BrowserFrameAndroid, views::NativeWidgetAura overrides:
39
40 void BrowserFrameAndroid::OnWindowDestroying(aura::Window* window) {
41 // Destroy any remaining WebContents early on. Doing so may result in
42 // calling back to one of the Views/LayoutManagers or supporting classes of
43 // BrowserView. By destroying here we ensure all said classes are valid.
44 DestroyBrowserWebContents(browser_view_->browser());
45 NativeWidgetAura::OnWindowDestroying(window);
46 }
47
48 ////////////////////////////////////////////////////////////////////////////////
49 // BrowserFrameAndroid, NativeBrowserFrame implementation:
50
51 views::Widget::InitParams BrowserFrameAndroid::GetWidgetParams() {
52 DCHECK(g_host);
53
54 views::Widget::InitParams params;
55 params.native_widget = this;
56 params.context = g_host->window();
57 return params;
58 }
59
60 bool BrowserFrameAndroid::UseCustomFrame() const {
61 return true;
62 }
63
64 bool BrowserFrameAndroid::UsesNativeSystemMenu() const {
65 return false;
66 }
67
68 int BrowserFrameAndroid::GetMinimizeButtonOffset() const {
69 return 0;
70 }
71
72 bool BrowserFrameAndroid::ShouldSaveWindowPlacement() const {
73 return false;
74 }
75
76 void BrowserFrameAndroid::GetWindowPlacement(
77 gfx::Rect* bounds,
78 ui::WindowShowState* show_state) const {}
79
80 BrowserFrameAndroid::~BrowserFrameAndroid() {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698