Index: ui/android/view_android.cc |
diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc |
index 41a8c346bf21e9328e54d9af032f614280e6b214..b1ea3608998b81ce71032739ac0ee9da3c88367f 100644 |
--- a/ui/android/view_android.cc |
+++ b/ui/android/view_android.cc |
@@ -15,15 +15,13 @@ namespace ui { |
using base::android::JavaRef; |
-ViewAndroid::ViewAndroid(const JavaRef<jobject>& delegate, |
- WindowAndroid* root_window) |
- : parent_(nullptr), window_(root_window), delegate_(delegate) {} |
+ViewAndroid::ViewAndroid(const JavaRef<jobject>& delegate) |
+ : parent_(nullptr), delegate_(delegate) {} |
-ViewAndroid::ViewAndroid() : parent_(nullptr), window_(nullptr) {} |
+ViewAndroid::ViewAndroid() : parent_(nullptr) {} |
ViewAndroid::~ViewAndroid() { |
- if (parent_) |
- parent_->RemoveChild(this); |
+ RemoveFromParent(); |
for (std::list<ViewAndroid*>::iterator it = children_.begin(); |
it != children_.end(); it++) { |
@@ -34,16 +32,20 @@ ViewAndroid::~ViewAndroid() { |
void ViewAndroid::AddChild(ViewAndroid* child) { |
DCHECK(child); |
- DCHECK(child->window_ == nullptr) << "Children shouldn't have a root window"; |
DCHECK(std::find(children_.begin(), children_.end(), child) == |
children_.end()); |
children_.push_back(child); |
if (child->parent_) |
- child->parent_->RemoveChild(child); |
+ child->RemoveFromParent(); |
child->parent_ = this; |
} |
+void ViewAndroid::RemoveFromParent() { |
+ if (parent_) |
+ parent_->RemoveChild(this); |
+} |
+ |
void ViewAndroid::RemoveChild(ViewAndroid* child) { |
DCHECK(child); |
DCHECK_EQ(child->parent_, this); |
@@ -56,17 +58,9 @@ void ViewAndroid::RemoveChild(ViewAndroid* child) { |
} |
WindowAndroid* ViewAndroid::GetWindowAndroid() const { |
- if (window_) |
- return window_; |
- |
return parent_ ? parent_->GetWindowAndroid() : nullptr; |
} |
-void ViewAndroid::SetWindowAndroid(WindowAndroid* root_window) { |
- window_ = root_window; |
- DCHECK(parent_ == nullptr) << "Children shouldn't have a root window"; |
-} |
- |
const JavaRef<jobject>& ViewAndroid::GetViewAndroidDelegate() |
const { |
if (!delegate_.is_null()) |