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

Side by Side Diff: chrome/browser/ui/autofill/autofill_popup_controller_impl.cc

Issue 15987009: Update chrome/ to use WeakPtr<T>::get() instead of implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/autofill/autofill_popup_controller_impl.h" 5 #include "chrome/browser/ui/autofill/autofill_popup_controller_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 }; 66 };
67 67
68 } // namespace 68 } // namespace
69 69
70 // static 70 // static
71 WeakPtr<AutofillPopupControllerImpl> AutofillPopupControllerImpl::GetOrCreate( 71 WeakPtr<AutofillPopupControllerImpl> AutofillPopupControllerImpl::GetOrCreate(
72 WeakPtr<AutofillPopupControllerImpl> previous, 72 WeakPtr<AutofillPopupControllerImpl> previous,
73 WeakPtr<AutofillPopupDelegate> delegate, 73 WeakPtr<AutofillPopupDelegate> delegate,
74 gfx::NativeView container_view, 74 gfx::NativeView container_view,
75 const gfx::RectF& element_bounds) { 75 const gfx::RectF& element_bounds) {
76 DCHECK(!previous || previous->delegate_ == delegate); 76 DCHECK(!previous.get() || previous->delegate_.get() == delegate.get());
77 77
78 if (previous && 78 if (previous.get() && previous->container_view() == container_view &&
79 previous->container_view() == container_view &&
80 previous->element_bounds() == element_bounds) { 79 previous->element_bounds() == element_bounds) {
81 previous->ClearState(); 80 previous->ClearState();
82 return previous; 81 return previous;
83 } 82 }
84 83
85 if (previous) 84 if (previous.get())
86 previous->Hide(); 85 previous->Hide();
87 86
88 AutofillPopupControllerImpl* controller = 87 AutofillPopupControllerImpl* controller =
89 new AutofillPopupControllerImpl(delegate, container_view, element_bounds); 88 new AutofillPopupControllerImpl(delegate, container_view, element_bounds);
90 return controller->GetWeakPtr(); 89 return controller->GetWeakPtr();
91 } 90 }
92 91
93 AutofillPopupControllerImpl::AutofillPopupControllerImpl( 92 AutofillPopupControllerImpl::AutofillPopupControllerImpl(
94 base::WeakPtr<AutofillPopupDelegate> delegate, 93 base::WeakPtr<AutofillPopupDelegate> delegate,
95 gfx::NativeView container_view, 94 gfx::NativeView container_view,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 161
163 ShowView(); 162 ShowView();
164 } else { 163 } else {
165 UpdateBoundsAndRedrawPopup(); 164 UpdateBoundsAndRedrawPopup();
166 } 165 }
167 166
168 delegate_->OnPopupShown(this); 167 delegate_->OnPopupShown(this);
169 } 168 }
170 169
171 void AutofillPopupControllerImpl::Hide() { 170 void AutofillPopupControllerImpl::Hide() {
172 if (delegate_) 171 if (delegate_.get())
173 delegate_->OnPopupHidden(this); 172 delegate_->OnPopupHidden(this);
174 173
175 if (view_) 174 if (view_)
176 view_->Hide(); 175 view_->Hide();
177 176
178 delete this; 177 delete this;
179 } 178 }
180 179
181 void AutofillPopupControllerImpl::ViewDestroyed() { 180 void AutofillPopupControllerImpl::ViewDestroyed() {
182 // The view has already been destroyed so clear the reference to it. 181 // The view has already been destroyed so clear the reference to it.
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 // The popup can appear below the field. 651 // The popup can appear below the field.
653 return std::make_pair(bottom_growth_start, popup_required_height); 652 return std::make_pair(bottom_growth_start, popup_required_height);
654 } else { 653 } else {
655 // The popup must appear above the field. 654 // The popup must appear above the field.
656 return std::make_pair(top_growth_end - popup_required_height, 655 return std::make_pair(top_growth_end - popup_required_height,
657 popup_required_height); 656 popup_required_height);
658 } 657 }
659 } 658 }
660 659
661 } // namespace autofill 660 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698