Chromium Code Reviews| 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..2d9392af276be6dfc9c82bf6cbc1fa204f08c4d8 |
| --- /dev/null |
| +++ b/chrome/browser/ui/views/frame/browser_frame_android.cc |
| @@ -0,0 +1,82 @@ |
| +// 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. |
| + |
| +/////////////////////////////////////////////////////////////////////////////// |
| +// BrowserFrameAndroid, public: |
| + |
| +// static |
| +const char BrowserFrameAndroid::kWindowName[] = "BrowserFrameAndroid"; |
| + |
| +namespace { |
| +static aura::WindowTreeHostPlatform* host = nullptr; |
|
bshe
2015/11/02 16:05:13
This doesnt need to be static I believe.
mfomitchev
2015/11/02 16:07:22
no need for static since you are using anonymous n
Hadi
2015/11/02 16:33:55
Done.
|
| +} |
| + |
| +BrowserFrameAndroid::BrowserFrameAndroid(BrowserFrame* browser_frame, |
| + BrowserView* browser_view) |
| + : views::NativeWidgetAura(browser_frame), browser_view_(browser_view) { |
| + GetNativeWindow()->SetName(kWindowName); |
| +} |
| + |
|
bshe
2015/11/02 16:05:13
Add comment "// static" before SetHost so it is ea
Hadi
2015/11/02 16:33:55
Done.
|
| +void BrowserFrameAndroid::SetHost( |
| + aura::WindowTreeHostPlatform* window_tree_host) { |
|
mfomitchev
2015/11/02 16:07:22
nit: call this "host" so it the function signature
Hadi
2015/11/02 16:33:55
We already had the name "host", so I named this on
|
| + 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); |
| +} |
| + |
| +bool BrowserFrameAndroid::ShouldSaveWindowPlacement() const { |
| + return false; |
| +} |
| + |
| +void BrowserFrameAndroid::GetWindowPlacement( |
| + gfx::Rect* bounds, |
| + ui::WindowShowState* show_state) const {} |
| + |
| +//////////////////////////////////////////////////////////////////////////////// |
| +// BrowserFrameAndroid, NativeBrowserFrame implementation: |
| + |
| +views::Widget::InitParams BrowserFrameAndroid::GetWidgetParams() { |
| + DCHECK(host != nullptr); |
| + |
| + 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() {} |