Index: mandoline/ui/browser/android/android_ui.cc |
diff --git a/mandoline/ui/browser/android/android_ui.cc b/mandoline/ui/browser/android/android_ui.cc |
index d9973669167adf094defeeb31b8fd7ff95f36b35..7cdbc72201e099e59427f6d3956a8b45528a0ff1 100644 |
--- a/mandoline/ui/browser/android/android_ui.cc |
+++ b/mandoline/ui/browser/android/android_ui.cc |
@@ -5,6 +5,8 @@ |
#include "mandoline/ui/browser/android/android_ui.h" |
#include "components/view_manager/public/cpp/view.h" |
+#include "mojo/converters/geometry/geometry_type_converters.h" |
+#include "ui/gfx/geometry/rect.h" |
namespace mandoline { |
@@ -13,15 +15,26 @@ AndroidUI::AndroidUI(Browser* browser, mojo::Shell* shell) |
shell_(shell), |
root_(nullptr), |
content_(nullptr) {} |
-AndroidUI::~AndroidUI() {} |
+ |
+AndroidUI::~AndroidUI() { |
+ root_->RemoveObserver(this); |
+} |
void AndroidUI::Init(mojo::View* root, mojo::View* content) { |
root_ = root; |
+ root_->AddObserver(this); |
content_ = content; |
content_->SetBounds(root_->bounds()); |
} |
+void AndroidUI::OnViewBoundsChanged(mojo::View* view, |
+ const mojo::Rect& old_bounds, |
+ const mojo::Rect& new_bounds) { |
+ content_->SetBounds( |
+ *mojo::Rect::From(gfx::Rect(0, 0, new_bounds.width, new_bounds.height))); |
+} |
+ |
// static |
BrowserUI* BrowserUI::Create(Browser* browser, mojo::Shell* shell) { |
return new AndroidUI(browser, shell); |