Index: chrome/browser/ui/views/frame/browser_frame_android.cc |
diff --git a/chrome/browser/ui/views/frame/browser_frame_android.cc b/chrome/browser/ui/views/frame/browser_frame_android.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b35a031e9fd8f765775a256183a4c8fa17a72933 |
--- /dev/null |
+++ b/chrome/browser/ui/views/frame/browser_frame_android.cc |
@@ -0,0 +1,83 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/ui/views/frame/browser_frame_android.h" |
+ |
+#include "chrome/browser/ui/views/frame/browser_shutdown.h" |
+#include "chrome/browser/ui/views/frame/browser_view.h" |
+#include "ui/aura/window.h" |
+#include "ui/aura/window_tree_host_platform.h" |
+ |
+// A stripped version of BrowserFrameAsh. May need to add things back later. |
msw
2015/11/02 21:40:01
nit: move comment to header?
mfomitchev
2015/11/02 23:00:17
We should probably get rid of this comment altoget
Hadi
2015/11/03 18:48:47
Done.
|
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+// BrowserFrameAndroid, public: |
+ |
+// static |
+const char BrowserFrameAndroid::kWindowName[] = "BrowserFrameAndroid"; |
+ |
+namespace { |
+aura::WindowTreeHostPlatform* host = nullptr; |
msw
2015/11/02 21:40:01
nit: rename |global_host| or |g_host|; add a comme
Hadi
2015/11/03 18:48:47
Added a comment for this and SetHost() after discu
|
+} |
+ |
+BrowserFrameAndroid::BrowserFrameAndroid(BrowserFrame* browser_frame, |
+ BrowserView* browser_view) |
+ : views::NativeWidgetAura(browser_frame), browser_view_(browser_view) { |
+ GetNativeWindow()->SetName(kWindowName); |
+} |
+ |
+// static |
+void BrowserFrameAndroid::SetHost( |
+ aura::WindowTreeHostPlatform* window_tree_host) { |
+ host = window_tree_host; |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+// BrowserFrameAndroid, views::NativeWidgetAura overrides: |
+ |
+void BrowserFrameAndroid::OnWindowDestroying(aura::Window* window) { |
+ // Destroy any remaining WebContents early on. Doing so may result in |
+ // calling back to one of the Views/LayoutManagers or supporting classes of |
+ // BrowserView. By destroying here we ensure all said classes are valid. |
+ DestroyBrowserWebContents(browser_view_->browser()); |
+ NativeWidgetAura::OnWindowDestroying(window); |
+} |
+ |
+void BrowserFrameAndroid::OnWindowTargetVisibilityChanged(bool visible) { |
+ views::NativeWidgetAura::OnWindowTargetVisibilityChanged(visible); |
msw
2015/11/02 21:40:01
nit: remove this override if it justs calls the ba
Hadi
2015/11/03 18:48:47
Done.
|
+} |
+ |
+bool BrowserFrameAndroid::ShouldSaveWindowPlacement() const { |
msw
2015/11/02 21:40:01
Match function def order to header decl order and
Hadi
2015/11/03 18:48:47
Done.
|
+ return false; |
+} |
+ |
+void BrowserFrameAndroid::GetWindowPlacement( |
+ gfx::Rect* bounds, |
+ ui::WindowShowState* show_state) const {} |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
+// BrowserFrameAndroid, NativeBrowserFrame implementation: |
+ |
+views::Widget::InitParams BrowserFrameAndroid::GetWidgetParams() { |
+ DCHECK(host != nullptr); |
msw
2015/11/02 21:40:01
nit: DCHECK(host) should suffice
Hadi
2015/11/03 18:48:47
Done.
|
+ |
+ views::Widget::InitParams params; |
+ params.native_widget = this; |
+ params.context = host->window(); |
+ return params; |
+} |
+ |
+bool BrowserFrameAndroid::UseCustomFrame() const { |
+ return true; |
+} |
+ |
+bool BrowserFrameAndroid::UsesNativeSystemMenu() const { |
+ return false; |
+} |
+ |
+int BrowserFrameAndroid::GetMinimizeButtonOffset() const { |
+ return 0; |
+} |
+ |
+BrowserFrameAndroid::~BrowserFrameAndroid() {} |