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

Side by Side Diff: chrome/browser/ui/views/status_bubble_views.cc

Issue 7031053: Make Widget ownership a little clearer by expressing it in terms of an enum. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 7 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/views/status_bubble_views.h" 5 #include "chrome/browser/ui/views/status_bubble_views.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 if (!popup_.get()) { 560 if (!popup_.get()) {
561 popup_.reset(new Widget); 561 popup_.reset(new Widget);
562 views::Widget* frame = base_view_->GetWidget(); 562 views::Widget* frame = base_view_->GetWidget();
563 if (!view_) 563 if (!view_)
564 view_ = new StatusView(this, popup_.get(), frame->GetThemeProvider()); 564 view_ = new StatusView(this, popup_.get(), frame->GetThemeProvider());
565 if (!expand_view_.get()) 565 if (!expand_view_.get())
566 expand_view_.reset(new StatusViewExpander(this, view_)); 566 expand_view_.reset(new StatusViewExpander(this, view_));
567 Widget::InitParams params(Widget::InitParams::TYPE_POPUP); 567 Widget::InitParams params(Widget::InitParams::TYPE_POPUP);
568 params.transparent = true; 568 params.transparent = true;
569 params.accept_events = false; 569 params.accept_events = false;
570 params.delete_on_destroy = false; 570 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
571 params.parent = frame->GetNativeView(); 571 params.parent = frame->GetNativeView();
572 popup_->Init(params); 572 popup_->Init(params);
573 popup_->SetOpacity(0x00); 573 popup_->SetOpacity(0x00);
574 popup_->SetContentsView(view_); 574 popup_->SetContentsView(view_);
575 Reposition(); 575 Reposition();
576 popup_->Show(); 576 popup_->Show();
577 } 577 }
578 } 578 }
579 579
580 void StatusBubbleViews::Reposition() { 580 void StatusBubbleViews::Reposition() {
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 void StatusBubbleViews::SetBubbleWidth(int width) { 828 void StatusBubbleViews::SetBubbleWidth(int width) {
829 size_.set_width(width); 829 size_.set_width(width);
830 SetBounds(original_position_.x(), original_position_.y(), 830 SetBounds(original_position_.x(), original_position_.y(),
831 size_.width(), size_.height()); 831 size_.width(), size_.height());
832 } 832 }
833 833
834 void StatusBubbleViews::CancelExpandTimer() { 834 void StatusBubbleViews::CancelExpandTimer() {
835 if (!expand_timer_factory_.empty()) 835 if (!expand_timer_factory_.empty())
836 expand_timer_factory_.RevokeAll(); 836 expand_timer_factory_.RevokeAll();
837 } 837 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698