diff options
author | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-24 22:49:41 +0000 |
---|---|---|
committer | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-24 22:49:41 +0000 |
commit | 9137e7343672ce086de636b92c500bf809c96d3e (patch) | |
tree | 6e8c5776131eb2b39e5542cda12c335c64434ccc /ui | |
parent | 21d5a6b64618bb1c82cfef3aaccb646f1a4fad3b (diff) | |
download | chromium_src-9137e7343672ce086de636b92c500bf809c96d3e.zip chromium_src-9137e7343672ce086de636b92c500bf809c96d3e.tar.gz chromium_src-9137e7343672ce086de636b92c500bf809c96d3e.tar.bz2 |
views: Make View::set_border() take a scoped_ptr<>.
This makes the ownership situation much clearer. It also renames the function to SetBorder() (since it is not a simple accessor and can free previous instances of Border), and creates a Border::NullBorder() method (since "SetBorder(scoped_ptr<>())" is not clear).
BUG=none
R=sky@chromium.org
Review URL: https://codereview.chromium.org/145033006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246990 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
42 files changed, 175 insertions, 165 deletions
diff --git a/ui/app_list/views/apps_grid_view.cc b/ui/app_list/views/apps_grid_view.cc index ba394d1..3a9285e 100644 --- a/ui/app_list/views/apps_grid_view.cc +++ b/ui/app_list/views/apps_grid_view.cc @@ -385,10 +385,8 @@ void AppsGridView::SetLayout(int icon_size, int cols, int rows_per_page) { cols_ = cols; rows_per_page_ = rows_per_page; - set_border(views::Border::CreateEmptyBorder(kTopPadding, - kLeftRightPadding, - 0, - kLeftRightPadding)); + SetBorder(views::Border::CreateEmptyBorder( + kTopPadding, kLeftRightPadding, 0, kLeftRightPadding)); } void AppsGridView::SetModel(AppListModel* model) { diff --git a/ui/app_list/views/folder_header_view.cc b/ui/app_list/views/folder_header_view.cc index 399e599..a06b7b1 100644 --- a/ui/app_list/views/folder_header_view.cc +++ b/ui/app_list/views/folder_header_view.cc @@ -37,7 +37,7 @@ const SkColor kHintTextColor = SkColorSetRGB(0xA0, 0xA0, 0xA0); class FolderHeaderView::FolderNameView : public views::Textfield { public: FolderNameView() { - set_border(views::Border::CreateEmptyBorder(1, 1, 1, 1)); + SetBorder(views::Border::CreateEmptyBorder(1, 1, 1, 1)); const SkColor kFocusBorderColor = SkColorSetRGB(64, 128, 250); SetFocusPainter(views::Painter::CreateSolidFocusPainter( kFocusBorderColor, @@ -73,7 +73,7 @@ FolderHeaderView::FolderHeaderView(FolderHeaderViewDelegate* delegate) folder_name_view_->set_placeholder_text_color(kHintTextColor); folder_name_view_->set_placeholder_text( rb.GetLocalizedString(IDS_APP_LIST_FOLDER_NAME_PLACEHOLDER)); - folder_name_view_->set_border(NULL); + folder_name_view_->SetBorder(views::Border::NullBorder()); folder_name_view_->SetBackgroundColor(kContentsBackgroundColor); folder_name_view_->set_controller(this); AddChildView(folder_name_view_); diff --git a/ui/app_list/views/search_box_view.cc b/ui/app_list/views/search_box_view.cc index d701766..f7a84f4 100644 --- a/ui/app_list/views/search_box_view.cc +++ b/ui/app_list/views/search_box_view.cc @@ -56,7 +56,7 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, #if !defined(OS_CHROMEOS) menu_button_ = new views::MenuButton(NULL, base::string16(), this, false); - menu_button_->set_border(NULL); + menu_button_->SetBorder(views::Border::NullBorder()); menu_button_->SetIcon(*rb.GetImageSkiaNamed(IDR_APP_LIST_TOOLS_NORMAL)); menu_button_->SetHoverIcon(*rb.GetImageSkiaNamed(IDR_APP_LIST_TOOLS_HOVER)); menu_button_->SetPushedIcon(*rb.GetImageSkiaNamed( @@ -64,7 +64,7 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, AddChildView(menu_button_); #endif - search_box_->set_border(NULL); + search_box_->SetBorder(views::Border::NullBorder()); search_box_->SetFontList(rb.GetFontList(ui::ResourceBundle::MediumFont)); search_box_->set_placeholder_text_color(kHintTextColor); search_box_->set_controller(this); diff --git a/ui/app_list/views/search_result_actions_view.cc b/ui/app_list/views/search_result_actions_view.cc index 691e264..c31b124 100644 --- a/ui/app_list/views/search_result_actions_view.cc +++ b/ui/app_list/views/search_result_actions_view.cc @@ -62,7 +62,7 @@ bool SearchResultActionsView::IsValidActionIndex(int action_index) const { void SearchResultActionsView::CreateImageButton( const SearchResult::Action& action) { views::ImageButton* button = new views::ImageButton(this); - button->set_border(views::Border::CreateEmptyBorder(0, 9, 0, 9)); + button->SetBorder(views::Border::CreateEmptyBorder(0, 9, 0, 9)); button->SetAccessibleName(action.tooltip_text); button->SetImageAlignment(views::ImageButton::ALIGN_CENTER, views::ImageButton::ALIGN_MIDDLE); diff --git a/ui/app_list/views/speech_view.cc b/ui/app_list/views/speech_view.cc index 7f59222..c6bad7c 100644 --- a/ui/app_list/views/speech_view.cc +++ b/ui/app_list/views/speech_view.cc @@ -94,11 +94,11 @@ bool MicButton::HitTestRect(const gfx::Rect& rect) const { SpeechView::SpeechView(AppListViewDelegate* delegate) : delegate_(delegate) { - set_border(new views::ShadowBorder( - kShadowBlur, - kShadowColor, - kShadowOffset, // Vertical offset. - 0)); + SetBorder(scoped_ptr<views::Border>( + new views::ShadowBorder(kShadowBlur, + kShadowColor, + kShadowOffset, // Vertical offset. + 0))); // To keep the painting order of the border and the background, this class // actually has a single child of 'container' which has white background and diff --git a/ui/message_center/views/message_center_view.cc b/ui/message_center/views/message_center_view.cc index 8054a3d..7d8da4a 100644 --- a/ui/message_center/views/message_center_view.cc +++ b/ui/message_center/views/message_center_view.cc @@ -256,7 +256,7 @@ MessageListView::MessageListView(MessageCenterView* message_center_view, gfx::Insets shadow_insets = MessageView::GetShadowInsets(); set_background(views::Background::CreateSolidBackground( kMessageCenterBackgroundColor)); - set_border(views::Border::CreateEmptyBorder( + SetBorder(views::Border::CreateEmptyBorder( top_down ? 0 : kMarginBetweenItems - shadow_insets.top(), /* top */ kMarginBetweenItems - shadow_insets.left(), /* left */ top_down ? kMarginBetweenItems - shadow_insets.bottom() : 0, /* bottom */ @@ -801,10 +801,10 @@ void MessageCenterView::Layout() { if (is_scrollable) { // Draw separator line on the top of the button bar if it is on the bottom // or draw it at the bottom if the bar is on the top. - button_bar_->set_border(views::Border::CreateSolidSidedBorder( + button_bar_->SetBorder(views::Border::CreateSolidSidedBorder( top_down_ ? 0 : 1, 0, top_down_ ? 1 : 0, 0, kFooterDelimiterColor)); } else { - button_bar_->set_border(views::Border::CreateEmptyBorder( + button_bar_->SetBorder(views::Border::CreateEmptyBorder( top_down_ ? 0 : 1, 0, top_down_ ? 1 : 0, 0)); } button_bar_->SchedulePaint(); diff --git a/ui/message_center/views/message_view.cc b/ui/message_center/views/message_view.cc index 6c1a681..8657aec 100644 --- a/ui/message_center/views/message_view.cc +++ b/ui/message_center/views/message_view.cc @@ -83,10 +83,11 @@ gfx::Insets MessageView::GetShadowInsets() { } void MessageView::CreateShadowBorder() { - set_border(new views::ShadowBorder(kShadowBlur, - message_center::kShadowColor, - kShadowOffset, // Vertical offset. - 0)); // Horizontal offset. + SetBorder(scoped_ptr<views::Border>( + new views::ShadowBorder(kShadowBlur, + message_center::kShadowColor, + kShadowOffset, // Vertical offset. + 0))); // Horizontal offset. } bool MessageView::IsCloseButtonFocused() { diff --git a/ui/message_center/views/notification_button.cc b/ui/message_center/views/notification_button.cc index 8fa32f3..3cc0fec 100644 --- a/ui/message_center/views/notification_button.cc +++ b/ui/message_center/views/notification_button.cc @@ -48,7 +48,7 @@ void NotificationButton::SetIcon(const gfx::ImageSkia& image) { icon_->SetImage(image); icon_->SetHorizontalAlignment(views::ImageView::LEADING); icon_->SetVerticalAlignment(views::ImageView::LEADING); - icon_->set_border(views::Border::CreateEmptyBorder( + icon_->SetBorder(views::Border::CreateEmptyBorder( message_center::kButtonIconTopPadding, 0, 0, 0)); AddChildViewAt(icon_, 0); } @@ -64,8 +64,8 @@ void NotificationButton::SetTitle(const base::string16& title) { title_->SetHorizontalAlignment(gfx::ALIGN_LEFT); title_->SetEnabledColor(message_center::kRegularTextColor); title_->SetBackgroundColor(kRegularTextBackgroundColor); - title_->set_border(views::Border::CreateEmptyBorder( - kButtonTitleTopPadding, 0, 0, 0)); + title_->SetBorder( + views::Border::CreateEmptyBorder(kButtonTitleTopPadding, 0, 0, 0)); AddChildView(title_); } SetAccessibleName(title); diff --git a/ui/message_center/views/notification_view.cc b/ui/message_center/views/notification_view.cc index aa80bfa..7b258ab 100644 --- a/ui/message_center/views/notification_view.cc +++ b/ui/message_center/views/notification_view.cc @@ -54,12 +54,15 @@ const int kExpandIconBottomPadding = 8; const int kExpandIconRightPadding = 11; // static -views::Border* MakeEmptyBorder(int top, int left, int bottom, int right) { +scoped_ptr<views::Border> MakeEmptyBorder(int top, + int left, + int bottom, + int right) { return views::Border::CreateEmptyBorder(top, left, bottom, right); } // static -views::Border* MakeTextBorder(int padding, int top, int bottom) { +scoped_ptr<views::Border> MakeTextBorder(int padding, int top, int bottom) { // Split the padding between the top and the bottom, then add the extra space. return MakeEmptyBorder(padding / 2 + top, message_center::kTextLeftPadding, @@ -68,7 +71,7 @@ views::Border* MakeTextBorder(int padding, int top, int bottom) { } // static -views::Border* MakeProgressBarBorder(int top, int bottom) { +scoped_ptr<views::Border> MakeProgressBarBorder(int top, int bottom) { return MakeEmptyBorder(top, message_center::kTextLeftPadding, bottom, @@ -76,7 +79,9 @@ views::Border* MakeProgressBarBorder(int top, int bottom) { } // static -views::Border* MakeSeparatorBorder(int top, int left, SkColor color) { +scoped_ptr<views::Border> MakeSeparatorBorder(int top, + int left, + SkColor color) { return views::Border::CreateSolidSidedBorder(top, left, 0, 0, color); } @@ -182,7 +187,7 @@ views::View* MakeNotificationImage(const gfx::Image& image, gfx::Size size) { // This calculation determines that the new image would have the correct // height for width. if (ideal_size != scaled_size) { - proportional_image_view->set_border(views::Border::CreateSolidBorder( + proportional_image_view->SetBorder(views::Border::CreateSolidBorder( message_center::kNotificationImageBorderSize, SK_ColorTRANSPARENT)); } @@ -311,8 +316,8 @@ NotificationView::NotificationView(MessageCenterController* controller, top_view_ = new views::View(); top_view_->SetLayoutManager( new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 0)); - top_view_->set_border(MakeEmptyBorder( - kTextTopPadding - 8, 0, kTextBottomPadding - 5, 0)); + top_view_->SetBorder( + MakeEmptyBorder(kTextTopPadding - 8, 0, kTextBottomPadding - 5, 0)); const gfx::FontList default_label_font_list = views::Label().font_list(); @@ -331,7 +336,7 @@ NotificationView::NotificationView(MessageCenterController* controller, message_center::kTitleLineLimit); title_view_->SetColors(message_center::kRegularTextColor, kRegularTextBackgroundColor); - title_view_->set_border(MakeTextBorder(padding, 3, 0)); + title_view_->SetBorder(MakeTextBorder(padding, 3, 0)); top_view_->AddChildView(title_view_); accessible_lines.push_back(notification.title()); } @@ -346,7 +351,7 @@ NotificationView::NotificationView(MessageCenterController* controller, message_view_->SetVisible(!is_expanded_ || !notification.items().size()); message_view_->SetColors(message_center::kRegularTextColor, kDimTextBackgroundColor); - message_view_->set_border(MakeTextBorder(padding, 4, 0)); + message_view_->SetBorder(MakeTextBorder(padding, 4, 0)); top_view_->AddChildView(message_view_); accessible_lines.push_back(notification.message()); } @@ -364,7 +369,7 @@ NotificationView::NotificationView(MessageCenterController* controller, context_message_view_->SetLineHeight(kMessageLineHeight); context_message_view_->SetColors(message_center::kDimTextColor, kContextTextBackgroundColor); - context_message_view_->set_border(MakeTextBorder(padding, 4, 0)); + context_message_view_->SetBorder(MakeTextBorder(padding, 4, 0)); top_view_->AddChildView(context_message_view_); accessible_lines.push_back(notification.context_message()); } @@ -373,7 +378,7 @@ NotificationView::NotificationView(MessageCenterController* controller, progress_bar_view_ = NULL; if (notification.type() == NOTIFICATION_TYPE_PROGRESS) { progress_bar_view_ = new NotificationProgressBar(); - progress_bar_view_->set_border(MakeProgressBarBorder( + progress_bar_view_->SetBorder(MakeProgressBarBorder( message_center::kProgressBarTopPadding, kProgressBarBottomPadding)); progress_bar_view_->SetValue(notification.progress() / 100.0); top_view_->AddChildView(progress_bar_view_); @@ -385,7 +390,7 @@ NotificationView::NotificationView(MessageCenterController* controller, for (size_t i = 0; i < items.size() && i < kNotificationMaximumItems; ++i) { ItemView* item_view = new ItemView(items[i]); item_view->SetVisible(is_expanded_); - item_view->set_border(MakeTextBorder(padding, i ? 0 : 4, 0)); + item_view->SetBorder(MakeTextBorder(padding, i ? 0 : 4, 0)); item_views_.push_back(item_view); top_view_->AddChildView(item_view); accessible_lines.push_back( @@ -432,7 +437,7 @@ NotificationView::NotificationView(MessageCenterController* controller, std::vector<ButtonInfo> buttons = notification.buttons(); for (size_t i = 0; i < buttons.size(); ++i) { views::View* separator = new views::ImageView(); - separator->set_border(MakeSeparatorBorder(1, 0, kButtonSeparatorColor)); + separator->SetBorder(MakeSeparatorBorder(1, 0, kButtonSeparatorColor)); bottom_view_->AddChildView(separator); NotificationButton* button = new NotificationButton(this); ButtonInfo button_info = buttons[i]; diff --git a/ui/message_center/views/notifier_settings_view.cc b/ui/message_center/views/notifier_settings_view.cc index a48680a..1796def 100644 --- a/ui/message_center/views/notifier_settings_view.cc +++ b/ui/message_center/views/notifier_settings_view.cc @@ -333,7 +333,7 @@ NotifierSettingsView::NotifierButton::NotifierButton( (settings::kLearnMoreTargetHeight - settings::kLearnMoreSize) / 2; // The image itself is quite small, this large invisible border creates a // much bigger click target. - learn_more_->set_border( + learn_more_->SetBorder( views::Border::CreateEmptyBorder(learn_more_border_height, learn_more_border_width, learn_more_border_height, @@ -496,7 +496,7 @@ NotifierSettingsView::NotifierSettingsView(NotifierSettingsProvider* provider) ui::ResourceBundle::MediumFont)); title_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT); title_label_->SetMultiLine(true); - title_label_->set_border( + title_label_->SetBorder( views::Border::CreateEmptyBorder(kComputedTitleTopMargin, settings::kTitleMargin, kComputedTitleBottomMargin, @@ -571,7 +571,7 @@ void NotifierSettingsView::UpdateContentsView( top_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); top_label->SetMultiLine(true); - top_label->set_border(views::Border::CreateEmptyBorder( + top_label->SetBorder(views::Border::CreateEmptyBorder( 0, settings::kTitleMargin + kMenuButtonInnateMargin, 0, @@ -598,7 +598,8 @@ void NotifierSettingsView::UpdateContentsView( selector_border->SetInsets(gfx::Insets( kMenuButtonVerticalPadding, kMenuButtonLeftPadding, kMenuButtonVerticalPadding, kMenuButtonRightPadding)); - notifier_group_selector_->set_border(selector_border.release()); + notifier_group_selector_->SetBorder( + selector_border.PassAs<views::Border>()); notifier_group_selector_->SetFocusPainter(scoped_ptr<views::Painter>()); notifier_group_selector_->set_animate_on_state_change(false); notifier_group_selector_->SetFocusable(true); @@ -616,17 +617,17 @@ void NotifierSettingsView::UpdateContentsView( // border on the last notifier, as the spec leaves a space for it. scoped_ptr<views::Border> entry_border; if (i == notifier_count - 1) { - entry_border.reset(views::Border::CreateEmptyBorder( - 0, 0, settings::kEntrySeparatorHeight, 0)); + entry_border = views::Border::CreateEmptyBorder( + 0, 0, settings::kEntrySeparatorHeight, 0); } else { - entry_border.reset(views::Border::CreateSolidSidedBorder( - 0, - 0, - settings::kEntrySeparatorHeight, - 0, - settings::kEntrySeparatorColor)); + entry_border = + views::Border::CreateSolidSidedBorder(0, + 0, + settings::kEntrySeparatorHeight, + 0, + settings::kEntrySeparatorColor); } - entry->set_border(entry_border.release()); + entry->SetBorder(entry_border.Pass()); entry->SetFocusable(true); contents_view->AddChildView(entry); buttons_.insert(button); diff --git a/ui/views/border.cc b/ui/views/border.cc index f347c2a..658a1f1 100644 --- a/ui/views/border.cc +++ b/ui/views/border.cc @@ -133,28 +133,37 @@ Border::~Border() { } // static -Border* Border::CreateSolidBorder(int thickness, SkColor color) { - return new SolidBorder(thickness, color); +scoped_ptr<Border> Border::NullBorder() { + return scoped_ptr<Border>(); } // static -Border* Border::CreateEmptyBorder(int top, int left, int bottom, int right) { - return new EmptyBorder(top, left, bottom, right); +scoped_ptr<Border> Border::CreateSolidBorder(int thickness, SkColor color) { + return scoped_ptr<Border>(new SolidBorder(thickness, color)); } // static -Border* Border::CreateSolidSidedBorder(int top, - int left, - int bottom, - int right, - SkColor color) { - return new SidedSolidBorder(top, left, bottom, right, color); +scoped_ptr<Border> Border::CreateEmptyBorder(int top, + int left, + int bottom, + int right) { + return scoped_ptr<Border>(new EmptyBorder(top, left, bottom, right)); } // static -Border* Border::CreateBorderPainter(Painter* painter, - const gfx::Insets& insets) { - return new BorderPainter(painter, insets); +scoped_ptr<Border> Border::CreateSolidSidedBorder(int top, + int left, + int bottom, + int right, + SkColor color) { + return scoped_ptr<Border>( + new SidedSolidBorder(top, left, bottom, right, color)); +} + +// static +scoped_ptr<Border> Border::CreateBorderPainter(Painter* painter, + const gfx::Insets& insets) { + return scoped_ptr<Border>(new BorderPainter(painter, insets)); } TextButtonBorder* Border::AsTextButtonBorder() { diff --git a/ui/views/border.h b/ui/views/border.h index 2e9c56b..2467939 100644 --- a/ui/views/border.h +++ b/ui/views/border.h @@ -6,6 +6,7 @@ #define UI_VIEWS_BORDER_H_ #include "base/basictypes.h" +#include "base/memory/scoped_ptr.h" #include "third_party/skia/include/core/SkColor.h" #include "ui/gfx/insets.h" #include "ui/views/views_export.h" @@ -26,7 +27,7 @@ class View; // // The border class is used to display a border around a view. // To set a border on a view, just call SetBorder on the view, for example: -// view->set_border(Border::CreateSolidBorder(1, SkColorSetRGB(25, 25, 112)); +// view->SetBorder(Border::CreateSolidBorder(1, SkColorSetRGB(25, 25, 112)); // Once set on a view, the border is owned by the view. // // IMPORTANT NOTE: not all views support borders at this point. In order to @@ -43,27 +44,33 @@ class VIEWS_EXPORT Border { Border(); virtual ~Border(); + // Convenience for creating a scoped_ptr with no Border. + static scoped_ptr<Border> NullBorder(); + // Creates a border that is a simple line of the specified thickness and // color. - static Border* CreateSolidBorder(int thickness, SkColor color); + static scoped_ptr<Border> CreateSolidBorder(int thickness, SkColor color); // Creates a border for reserving space. The returned border does not // paint anything. - static Border* CreateEmptyBorder(int top, int left, int bottom, int right); + static scoped_ptr<Border> CreateEmptyBorder(int top, + int left, + int bottom, + int right); // Creates a border of the specified color, and specified thickness on each // side. - static Border* CreateSolidSidedBorder(int top, - int left, - int bottom, - int right, - SkColor color); + static scoped_ptr<Border> CreateSolidSidedBorder(int top, + int left, + int bottom, + int right, + SkColor color); // Creates a Border from the specified Painter. The border owns the painter, // thus the painter is deleted when the Border is deleted. // |insets| define size of an area allocated for a Border. - static Border* CreateBorderPainter(Painter* painter, - const gfx::Insets& insets); + static scoped_ptr<Border> CreateBorderPainter(Painter* painter, + const gfx::Insets& insets); // Renders the border for the specified view. virtual void Paint(const View& view, gfx::Canvas* canvas) = 0; diff --git a/ui/views/bubble/bubble_delegate.cc b/ui/views/bubble/bubble_delegate.cc index dbd0cae8..6c64d22 100644 --- a/ui/views/bubble/bubble_delegate.cc +++ b/ui/views/bubble/bubble_delegate.cc @@ -136,7 +136,8 @@ NonClientFrameView* BubbleDelegateView::CreateNonClientFrameView( BubbleBorder::Arrow adjusted_arrow = arrow(); if (base::i18n::IsRTL()) adjusted_arrow = BubbleBorder::horizontal_mirror(adjusted_arrow); - frame->SetBubbleBorder(new BubbleBorder(adjusted_arrow, shadow(), color())); + frame->SetBubbleBorder(scoped_ptr<BubbleBorder>( + new BubbleBorder(adjusted_arrow, shadow(), color()))); return frame; } diff --git a/ui/views/bubble/bubble_frame_view.cc b/ui/views/bubble/bubble_frame_view.cc index 91c94a3..8bad29e 100644 --- a/ui/views/bubble/bubble_frame_view.cc +++ b/ui/views/bubble/bubble_frame_view.cc @@ -80,7 +80,7 @@ BubbleFrameView::BubbleFrameView(const gfx::Insets& content_margins) close_->SetImage(CustomButton::STATE_PRESSED, *rb.GetImageNamed(IDR_CLOSE_DIALOG_P).ToImageSkia()); close_->SetSize(close_->GetPreferredSize()); - close_->set_border(NULL); + close_->SetBorder(scoped_ptr<Border>()); close_->SetVisible(false); AddChildView(close_); } @@ -228,12 +228,12 @@ void BubbleFrameView::ButtonPressed(Button* sender, const ui::Event& event) { GetWidget()->Close(); } -void BubbleFrameView::SetBubbleBorder(BubbleBorder* border) { - bubble_border_ = border; - set_border(bubble_border_); +void BubbleFrameView::SetBubbleBorder(scoped_ptr<BubbleBorder> border) { + bubble_border_ = border.get(); + SetBorder(border.PassAs<Border>()); // Update the background, which relies on the border. - set_background(new views::BubbleBackground(border)); + set_background(new views::BubbleBackground(bubble_border_)); } void BubbleFrameView::SetTitlebarExtraView(View* view) { diff --git a/ui/views/bubble/bubble_frame_view.h b/ui/views/bubble/bubble_frame_view.h index d033c8d..b72867b 100644 --- a/ui/views/bubble/bubble_frame_view.h +++ b/ui/views/bubble/bubble_frame_view.h @@ -55,9 +55,9 @@ class VIEWS_EXPORT BubbleFrameView : public NonClientFrameView, // Overridden from ButtonListener: virtual void ButtonPressed(Button* sender, const ui::Event& event) OVERRIDE; - // Use bubble_border() and SetBubbleBorder(), not border() and set_border(). + // Use bubble_border() and SetBubbleBorder(), not border() and SetBorder(). BubbleBorder* bubble_border() const { return bubble_border_; } - void SetBubbleBorder(BubbleBorder* border); + void SetBubbleBorder(scoped_ptr<BubbleBorder> border); gfx::Insets content_margins() const { return content_margins_; } diff --git a/ui/views/bubble/bubble_frame_view_unittest.cc b/ui/views/bubble/bubble_frame_view_unittest.cc index ef5d58d..1bd9e34 100644 --- a/ui/views/bubble/bubble_frame_view_unittest.cc +++ b/ui/views/bubble/bubble_frame_view_unittest.cc @@ -23,7 +23,8 @@ class TestBubbleFrameView : public BubbleFrameView { TestBubbleFrameView() : BubbleFrameView(gfx::Insets(kMargin, kMargin, kMargin, kMargin)), available_bounds_(gfx::Rect(0, 0, 1000, 1000)) { - SetBubbleBorder(new BubbleBorder(kArrow, BubbleBorder::NO_SHADOW, kColor)); + SetBubbleBorder(scoped_ptr<views::BubbleBorder>( + new BubbleBorder(kArrow, BubbleBorder::NO_SHADOW, kColor))); } virtual ~TestBubbleFrameView() {} diff --git a/ui/views/bubble/tray_bubble_view.cc b/ui/views/bubble/tray_bubble_view.cc index 4b67515..7a4209f 100644 --- a/ui/views/bubble/tray_bubble_view.cc +++ b/ui/views/bubble/tray_bubble_view.cc @@ -412,7 +412,7 @@ bool TrayBubbleView::CanActivate() const { NonClientFrameView* TrayBubbleView::CreateNonClientFrameView(Widget* widget) { BubbleFrameView* frame = new BubbleFrameView(margins()); - frame->SetBubbleBorder(bubble_border_); + frame->SetBubbleBorder(scoped_ptr<views::BubbleBorder>(bubble_border_)); return frame; } diff --git a/ui/views/color_chooser/color_chooser_view.cc b/ui/views/color_chooser/color_chooser_view.cc index c35701b..3108228 100644 --- a/ui/views/color_chooser/color_chooser_view.cc +++ b/ui/views/color_chooser/color_chooser_view.cc @@ -253,7 +253,7 @@ ColorChooserView::SaturationValueView::SaturationValueView( : chooser_view_(chooser_view), hue_(0) { SetFocusable(false); - set_border(Border::CreateSolidBorder(kBorderWidth, SK_ColorGRAY)); + SetBorder(Border::CreateSolidBorder(kBorderWidth, SK_ColorGRAY)); } void ColorChooserView::SaturationValueView::OnHueChanged(SkScalar hue) { @@ -349,7 +349,7 @@ class ColorChooserView::SelectedColorPatchView : public views::View { ColorChooserView::SelectedColorPatchView::SelectedColorPatchView() { SetFocusable(false); SetVisible(true); - set_border(Border::CreateSolidBorder(kBorderWidth, SK_ColorGRAY)); + SetBorder(Border::CreateSolidBorder(kBorderWidth, SK_ColorGRAY)); } void ColorChooserView::SelectedColorPatchView::SetColor(SkColor color) { diff --git a/ui/views/controls/button/blue_button.cc b/ui/views/controls/button/blue_button.cc index 4da321c..b5c0b15 100644 --- a/ui/views/controls/button/blue_button.cc +++ b/ui/views/controls/button/blue_button.cc @@ -30,7 +30,7 @@ BlueButton::BlueButton(ButtonListener* listener, const base::string16& text) // Insets for splitting the images. const gfx::Insets insets(5, 5, 5, 5); - LabelButtonBorder* button_border = new LabelButtonBorder(style()); + scoped_ptr<LabelButtonBorder> button_border(new LabelButtonBorder(style())); ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); button_border->SetPainter(false, STATE_NORMAL, Painter::CreateImagePainter( *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_NORMAL), insets)); @@ -48,7 +48,7 @@ BlueButton::BlueButton(ButtonListener* listener, const base::string16& text) *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_FOCUSED_PRESSED), insets)); button_border->SetPainter(true, STATE_DISABLED, Painter::CreateImagePainter( *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_DISABLED), insets)); - set_border(button_border); + SetBorder(button_border.PassAs<Border>()); } BlueButton::~BlueButton() {} diff --git a/ui/views/controls/button/checkbox.cc b/ui/views/controls/button/checkbox.cc index a17102f..ed9eaa82 100644 --- a/ui/views/controls/button/checkbox.cc +++ b/ui/views/controls/button/checkbox.cc @@ -19,12 +19,12 @@ Checkbox::Checkbox(const base::string16& label) : LabelButton(NULL, label), checked_(false) { SetHorizontalAlignment(gfx::ALIGN_LEFT); - LabelButtonBorder* button_border = new LabelButtonBorder(style()); + scoped_ptr<LabelButtonBorder> button_border(new LabelButtonBorder(style())); button_border->SetPainter(false, STATE_HOVERED, NULL); button_border->SetPainter(false, STATE_PRESSED, NULL); // Inset the trailing side by a couple pixels for the focus border. button_border->set_insets(gfx::Insets(0, 0, 0, 2)); - set_border(button_border); + SetBorder(button_border.PassAs<Border>()); SetFocusable(true); ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); diff --git a/ui/views/controls/button/image_button_unittest.cc b/ui/views/controls/button/image_button_unittest.cc index 995b205..734ffbd 100644 --- a/ui/views/controls/button/image_button_unittest.cc +++ b/ui/views/controls/button/image_button_unittest.cc @@ -116,11 +116,11 @@ TEST_F(ImageButtonTest, ImagePositionWithBorder) { EXPECT_EQ(gfx::Point().ToString(), button.ComputeImagePaintPosition(image).ToString()); - button.set_border(views::Border::CreateEmptyBorder(10, 5, 0, 0)); + button.SetBorder(views::Border::CreateEmptyBorder(10, 5, 0, 0)); EXPECT_EQ(gfx::Point(5, 10).ToString(), button.ComputeImagePaintPosition(image).ToString()); - button.set_border(NULL); + button.SetBorder(Border::NullBorder()); button.SetBounds(0, 0, 50, 50); EXPECT_EQ(gfx::Point().ToString(), button.ComputeImagePaintPosition(image).ToString()); @@ -129,7 +129,7 @@ TEST_F(ImageButtonTest, ImagePositionWithBorder) { ImageButton::ALIGN_MIDDLE); EXPECT_EQ(gfx::Point(15, 10).ToString(), button.ComputeImagePaintPosition(image).ToString()); - button.set_border(views::Border::CreateEmptyBorder(10, 10, 0, 0)); + button.SetBorder(views::Border::CreateEmptyBorder(10, 10, 0, 0)); EXPECT_EQ(gfx::Point(20, 15).ToString(), button.ComputeImagePaintPosition(image).ToString()); } diff --git a/ui/views/controls/button/label_button.cc b/ui/views/controls/button/label_button.cc index 95ec214..23ffa95 100644 --- a/ui/views/controls/button/label_button.cc +++ b/ui/views/controls/button/label_button.cc @@ -159,7 +159,7 @@ void LabelButton::SetStyle(ButtonStyle style) { ResetColorsFromNativeTheme(); - UpdateThemedBorder(new LabelButtonBorder(style_)); + UpdateThemedBorder(scoped_ptr<Border>(new LabelButtonBorder(style_))); // Invalidate the layout to pickup the new insets from the border. InvalidateLayout(); @@ -339,15 +339,15 @@ void LabelButton::UpdateImage() { image_->SetImage(GetImage(state())); } -void LabelButton::UpdateThemedBorder(LabelButtonBorder* label_button_border) { +void LabelButton::UpdateThemedBorder(scoped_ptr<Border> label_button_border) { #if defined(OS_LINUX) && !defined(OS_CHROMEOS) views::LinuxUI* linux_ui = views::LinuxUI::instance(); if (linux_ui) { - set_border(linux_ui->CreateNativeBorder(this, label_button_border)); + SetBorder(linux_ui->CreateNativeBorder(this, label_button_border.Pass())); } else #endif { - set_border(label_button_border); + SetBorder(label_button_border.Pass()); } } diff --git a/ui/views/controls/button/label_button.h b/ui/views/controls/button/label_button.h index 1951421..0bbe7fe 100644 --- a/ui/views/controls/button/label_button.h +++ b/ui/views/controls/button/label_button.h @@ -96,10 +96,10 @@ class VIEWS_EXPORT LabelButton : public CustomButton, // Updates the image view to contain the appropriate button state image. void UpdateImage(); - // Updates our border with a specific LabelButtonBorder instance which has - // different insets, etc. This may wrap the border in an object which will - // draw a native style border. - void UpdateThemedBorder(LabelButtonBorder* label_button_border); + // Updates our border with a specific Border instance which has different + // insets, etc. This may wrap the border in an object which will draw a + // native style border. + void UpdateThemedBorder(scoped_ptr<Border> border); // NativeThemeDelegate: virtual gfx::Rect GetThemePaintRect() const OVERRIDE; diff --git a/ui/views/controls/button/text_button.cc b/ui/views/controls/button/text_button.cc index 03f2fda..3ebd5b7 100644 --- a/ui/views/controls/button/text_button.cc +++ b/ui/views/controls/button/text_button.cc @@ -603,7 +603,7 @@ TextButton::TextButton(ButtonListener* listener, const base::string16& text) icon_text_spacing_(kDefaultIconTextSpacing), ignore_minimum_size_(true), full_justification_(false) { - set_border(new TextButtonDefaultBorder); + SetBorder(scoped_ptr<Border>(new TextButtonDefaultBorder)); SetFocusPainter(Painter::CreateDashedFocusPainterWithInsets( gfx::Insets(kFocusRectInset, kFocusRectInset, kFocusRectInset, kFocusRectInset))); diff --git a/ui/views/controls/combobox/combobox.cc b/ui/views/controls/combobox/combobox.cc index 1f0b9fd..bfbafa5 100644 --- a/ui/views/controls/combobox/combobox.cc +++ b/ui/views/controls/combobox/combobox.cc @@ -593,12 +593,12 @@ void Combobox::UpdateFromModel() { } void Combobox::UpdateBorder() { - FocusableBorder* border = new FocusableBorder(); + scoped_ptr<FocusableBorder> border(new FocusableBorder()); if (style_ == STYLE_NOTIFY_ON_CLICK) border->SetInsets(8, 13, 8, 13); if (invalid_) border->SetColor(kWarningColor); - set_border(border); + SetBorder(border.PassAs<Border>()); } void Combobox::AdjustBoundsForRTLUI(gfx::Rect* rect) const { diff --git a/ui/views/controls/label_unittest.cc b/ui/views/controls/label_unittest.cc index 640b9d6..1376138 100644 --- a/ui/views/controls/label_unittest.cc +++ b/ui/views/controls/label_unittest.cc @@ -169,10 +169,8 @@ TEST(LabelTest, SingleLineSizing) { // Test everything with borders. gfx::Insets border(10, 20, 30, 40); - label.set_border(Border::CreateEmptyBorder(border.top(), - border.left(), - border.bottom(), - border.right())); + label.SetBorder(Border::CreateEmptyBorder( + border.top(), border.left(), border.bottom(), border.right())); // GetPreferredSize and borders. label.SetBounds(0, 0, 0, 0); @@ -250,10 +248,8 @@ TEST(LabelTest, MultiLineSizing) { // Test everything with borders. gfx::Insets border(10, 20, 30, 40); - label.set_border(Border::CreateEmptyBorder(border.top(), - border.left(), - border.bottom(), - border.right())); + label.SetBorder(Border::CreateEmptyBorder( + border.top(), border.left(), border.bottom(), border.right())); // SizeToFit and borders. label.SizeToFit(0); @@ -391,10 +387,8 @@ TEST(LabelTest, DrawSingleLineString) { // Test single line drawing with a border. gfx::Insets border(39, 34, 8, 96); - label.set_border(Border::CreateEmptyBorder(border.top(), - border.left(), - border.bottom(), - border.right())); + label.SetBorder(Border::CreateEmptyBorder( + border.top(), border.left(), border.bottom(), border.right())); gfx::Size required_size_with_border(label.GetPreferredSize()); EXPECT_EQ(required_size.width() + border.width(), @@ -534,10 +528,8 @@ TEST(LabelTest, DrawMultiLineString) { // Test multiline drawing with a border. gfx::Insets border(19, 92, 23, 2); - label.set_border(Border::CreateEmptyBorder(border.top(), - border.left(), - border.bottom(), - border.right())); + label.SetBorder(Border::CreateEmptyBorder( + border.top(), border.left(), border.bottom(), border.right())); label.SizeToFit(0); label.SetBounds(label.x(), label.y(), @@ -668,10 +660,8 @@ TEST(LabelTest, DrawSingleLineStringInRTL) { // Test single line drawing with a border. gfx::Insets border(39, 34, 8, 96); - label.set_border(Border::CreateEmptyBorder(border.top(), - border.left(), - border.bottom(), - border.right())); + label.SetBorder(Border::CreateEmptyBorder( + border.top(), border.left(), border.bottom(), border.right())); gfx::Size required_size_with_border(label.GetPreferredSize()); EXPECT_EQ(required_size.width() + border.width(), @@ -817,10 +807,8 @@ TEST(LabelTest, DrawMultiLineStringInRTL) { // Test multiline drawing with a border. gfx::Insets border(19, 92, 23, 2); - label.set_border(Border::CreateEmptyBorder(border.top(), - border.left(), - border.bottom(), - border.right())); + label.SetBorder(Border::CreateEmptyBorder( + border.top(), border.left(), border.bottom(), border.right())); label.SizeToFit(0); label.SetBounds(label.x(), label.y(), diff --git a/ui/views/controls/menu/menu_scroll_view_container.cc b/ui/views/controls/menu/menu_scroll_view_container.cc index 7b8edbe..5bb0a4a 100644 --- a/ui/views/controls/menu/menu_scroll_view_container.cc +++ b/ui/views/controls/menu/menu_scroll_view_container.cc @@ -299,13 +299,14 @@ void MenuScrollViewContainer::CreateDefaultBorder() { int right = menu_config.menu_horizontal_border_size + padding; if (use_border) { - set_border(views::Border::CreateBorderPainter( - new views::RoundRectPainter(menu_config.native_theme->GetSystemColor( + SetBorder(views::Border::CreateBorderPainter( + new views::RoundRectPainter( + menu_config.native_theme->GetSystemColor( ui::NativeTheme::kColorId_MenuBorderColor), menu_config.corner_radius), - gfx::Insets(top, left, bottom, right))); + gfx::Insets(top, left, bottom, right))); } else { - set_border(Border::CreateEmptyBorder(top, left, bottom, right)); + SetBorder(Border::CreateEmptyBorder(top, left, bottom, right)); } } @@ -313,7 +314,7 @@ void MenuScrollViewContainer::CreateBubbleBorder() { bubble_border_ = new BubbleBorder(arrow_, BubbleBorder::SMALL_SHADOW, SK_ColorWHITE); - set_border(bubble_border_); + SetBorder(scoped_ptr<Border>(bubble_border_)); set_background(new BubbleBackground(bubble_border_)); } diff --git a/ui/views/controls/menu/menu_scroll_view_container.h b/ui/views/controls/menu/menu_scroll_view_container.h index 83baa2a..929b738 100644 --- a/ui/views/controls/menu/menu_scroll_view_container.h +++ b/ui/views/controls/menu/menu_scroll_view_container.h @@ -65,7 +65,7 @@ class MenuScrollViewContainer : public View { // If set the currently set border is a bubble border. BubbleBorder::Arrow arrow_; - // The currently set border. + // Weak reference to the currently set border. BubbleBorder* bubble_border_; DISALLOW_COPY_AND_ASSIGN(MenuScrollViewContainer); diff --git a/ui/views/controls/scroll_view.cc b/ui/views/controls/scroll_view.cc index d835c1e..22dbcb0 100644 --- a/ui/views/controls/scroll_view.cc +++ b/ui/views/controls/scroll_view.cc @@ -31,8 +31,9 @@ class ScrollViewWithBorder : public views::ScrollView { private: void SetThemeSpecificState() { - set_border(Border::CreateSolidBorder( - 1, GetNativeTheme()->GetSystemColor( + SetBorder(Border::CreateSolidBorder( + 1, + GetNativeTheme()->GetSystemColor( ui::NativeTheme::kColorId_UnfocusedBorderColor))); } diff --git a/ui/views/controls/styled_label_unittest.cc b/ui/views/controls/styled_label_unittest.cc index 841f7b7..081f45f 100644 --- a/ui/views/controls/styled_label_unittest.cc +++ b/ui/views/controls/styled_label_unittest.cc @@ -109,7 +109,7 @@ TEST_F(StyledLabelTest, BasicWrapping) { StyledLabelContentHeightForWidth(label_preferred_size.width())); // Also respect the border. - styled()->set_border(Border::CreateEmptyBorder(3, 3, 3, 3)); + styled()->SetBorder(Border::CreateEmptyBorder(3, 3, 3, 3)); styled()->SetBounds( 0, 0, diff --git a/ui/views/controls/textfield/textfield.cc b/ui/views/controls/textfield/textfield.cc index 5c6c801..8d91445 100644 --- a/ui/views/controls/textfield/textfield.cc +++ b/ui/views/controls/textfield/textfield.cc @@ -90,7 +90,7 @@ Textfield::Textfield() weak_ptr_factory_(this) { set_context_menu_controller(this); set_drag_controller(this); - set_border(new FocusableBorder()); + SetBorder(scoped_ptr<Border>(new FocusableBorder())); SetFocusable(true); if (ViewsDelegate::views_delegate) { diff --git a/ui/views/corewm/tooltip_aura.cc b/ui/views/corewm/tooltip_aura.cc index 186d2db..1214a6b 100644 --- a/ui/views/corewm/tooltip_aura.cc +++ b/ui/views/corewm/tooltip_aura.cc @@ -66,9 +66,8 @@ TooltipAura::TooltipAura(gfx::ScreenType screen_type) label_.set_background( views::Background::CreateSolidBackground(kTooltipBackground)); if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoDropShadows)) { - label_.set_border( - views::Border::CreateSolidBorder(kTooltipBorderWidth, - kTooltipBorder)); + label_.SetBorder( + views::Border::CreateSolidBorder(kTooltipBorderWidth, kTooltipBorder)); } label_.set_owned_by_client(); label_.SetMultiLine(true); diff --git a/ui/views/examples/button_example.cc b/ui/views/examples/button_example.cc index 45b75d1..c4becd3 100644 --- a/ui/views/examples/button_example.cc +++ b/ui/views/examples/button_example.cc @@ -126,10 +126,13 @@ void ButtonExample::TextButtonPressed(const ui::Event& event) { text_button_->text().length() < 50 ? kLongText : kTextButton)); } else { use_native_theme_border_ = !use_native_theme_border_; - if (use_native_theme_border_) - text_button_->set_border(new TextButtonNativeThemeBorder(text_button_)); - else - text_button_->set_border(new TextButtonDefaultBorder()); + if (use_native_theme_border_) { + text_button_->SetBorder(scoped_ptr<views::Border>( + new TextButtonNativeThemeBorder(text_button_))); + } else { + text_button_->SetBorder( + scoped_ptr<views::Border>(new TextButtonDefaultBorder())); + } } } else if (event.IsAltDown()) { text_button_->SetIsDefault(!text_button_->is_default()); diff --git a/ui/views/examples/label_example.cc b/ui/views/examples/label_example.cc index fe7c8f0..f9c8656 100644 --- a/ui/views/examples/label_example.cc +++ b/ui/views/examples/label_example.cc @@ -32,7 +32,7 @@ class PreferredSizeLabel : public Label { }; PreferredSizeLabel::PreferredSizeLabel() : Label() { - set_border(Border::CreateSolidBorder(2, SK_ColorCYAN)); + SetBorder(Border::CreateSolidBorder(2, SK_ColorCYAN)); } PreferredSizeLabel::~PreferredSizeLabel() {} diff --git a/ui/views/examples/multiline_example.cc b/ui/views/examples/multiline_example.cc index 30dcd6a..86685a4 100644 --- a/ui/views/examples/multiline_example.cc +++ b/ui/views/examples/multiline_example.cc @@ -27,7 +27,7 @@ class MultilineExample::RenderTextView : public View { render_text_->SetHorizontalAlignment(gfx::ALIGN_CENTER); render_text_->SetColor(SK_ColorBLACK); render_text_->SetMultiline(true); - set_border(Border::CreateSolidBorder(2, SK_ColorGRAY)); + SetBorder(Border::CreateSolidBorder(2, SK_ColorGRAY)); } virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { @@ -108,7 +108,7 @@ void MultilineExample::CreateExampleView(View* container) { label_ = new Label(); label_->SetText(ASCIIToUTF16(kTestString)); label_->SetMultiLine(true); - label_->set_border(Border::CreateSolidBorder(2, SK_ColorCYAN)); + label_->SetBorder(Border::CreateSolidBorder(2, SK_ColorCYAN)); label_checkbox_ = new Checkbox(ASCIIToUTF16("views::Label:")); label_checkbox_->SetChecked(true); diff --git a/ui/views/examples/text_example.cc b/ui/views/examples/text_example.cc index 64e9107..81e4cfc 100644 --- a/ui/views/examples/text_example.cc +++ b/ui/views/examples/text_example.cc @@ -187,7 +187,7 @@ Combobox* TextExample::AddCombobox(GridLayout* layout, void TextExample::CreateExampleView(View* container) { text_view_ = new TextExampleView; - text_view_->set_border(Border::CreateSolidBorder(1, SK_ColorGRAY)); + text_view_->SetBorder(Border::CreateSolidBorder(1, SK_ColorGRAY)); GridLayout* layout = new GridLayout(container); container->SetLayoutManager(layout); diff --git a/ui/views/focus/focus_traversal_unittest.cc b/ui/views/focus/focus_traversal_unittest.cc index b8c8d3e..a83bbab 100644 --- a/ui/views/focus/focus_traversal_unittest.cc +++ b/ui/views/focus/focus_traversal_unittest.cc @@ -296,7 +296,7 @@ void FocusTraversalTest::InitContentView() { cb->set_id(kTopCheckBoxID); left_container_ = new PaneView(); - left_container_->set_border(Border::CreateSolidBorder(1, SK_ColorBLACK)); + left_container_->SetBorder(Border::CreateSolidBorder(1, SK_ColorBLACK)); left_container_->set_background( Background::CreateSolidBackground(240, 240, 240)); left_container_->set_id(kLeftContainerID); @@ -381,7 +381,7 @@ void FocusTraversalTest::InitContentView() { left_container_->AddChildView(combobox); right_container_ = new PaneView(); - right_container_->set_border(Border::CreateSolidBorder(1, SK_ColorBLACK)); + right_container_->SetBorder(Border::CreateSolidBorder(1, SK_ColorBLACK)); right_container_->set_background( Background::CreateSolidBackground(240, 240, 240)); right_container_->set_id(kRightContainerID); @@ -412,7 +412,7 @@ void FocusTraversalTest::InitContentView() { y += radio_button_height + gap_between_radio_buttons; View* inner_container = new View(); - inner_container->set_border(Border::CreateSolidBorder(1, SK_ColorBLACK)); + inner_container->SetBorder(Border::CreateSolidBorder(1, SK_ColorBLACK)); inner_container->set_background( Background::CreateSolidBackground(230, 230, 230)); inner_container->set_id(kInnerContainerID); diff --git a/ui/views/linux_ui/linux_ui.h b/ui/views/linux_ui/linux_ui.h index 2ae847f..2398634 100644 --- a/ui/views/linux_ui/linux_ui.h +++ b/ui/views/linux_ui/linux_ui.h @@ -102,9 +102,9 @@ class VIEWS_EXPORT LinuxUI : public ui::LinuxInputMethodContextFactory, const std::string& content_type, int size) const = 0; // Builds a Border which paints the native button style. - virtual Border* CreateNativeBorder( + virtual scoped_ptr<Border> CreateNativeBorder( views::CustomButton* owning_button, - views::Border* border) = 0; + scoped_ptr<views::Border> border) = 0; // Notifies the observer about changes about how window buttons should be // laid out. If the order is anything other than the default min,max,close on diff --git a/ui/views/touchui/touch_editing_menu.cc b/ui/views/touchui/touch_editing_menu.cc index 986d01b..0536e74 100644 --- a/ui/views/touchui/touch_editing_menu.cc +++ b/ui/views/touchui/touch_editing_menu.cc @@ -141,7 +141,7 @@ Button* TouchEditingMenuView::CreateButton(const base::string16& title, int h_border = (kMenuButtonWidth - gfx::GetStringWidth(label, font_list)) / 2; button_border->set_insets( gfx::Insets(v_border, h_border, v_border, h_border)); - button->set_border(button_border.release()); + button->SetBorder(button_border.PassAs<Border>()); button->SetFontList(font_list); button->set_tag(tag); return button; diff --git a/ui/views/view.cc b/ui/views/view.cc index 9e6d59d..c86c4af 100644 --- a/ui/views/view.cc +++ b/ui/views/view.cc @@ -804,9 +804,7 @@ void View::set_background(Background* b) { background_.reset(b); } -void View::set_border(Border* b) { - border_.reset(b); -} +void View::SetBorder(scoped_ptr<Border> b) { border_ = b.Pass(); } ui::ThemeProvider* View::GetThemeProvider() const { const Widget* widget = GetWidget(); diff --git a/ui/views/view.h b/ui/views/view.h index aba1194..e2cd1f6 100644 --- a/ui/views/view.h +++ b/ui/views/view.h @@ -513,7 +513,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, Background* background() { return background_.get(); } // The border object is owned by this object and may be NULL. - void set_border(Border* b); + void SetBorder(scoped_ptr<Border> b); const Border* border() const { return border_.get(); } Border* border() { return border_.get(); } diff --git a/ui/views/window/dialog_delegate.cc b/ui/views/window/dialog_delegate.cc index 824db56..a4849e7 100644 --- a/ui/views/window/dialog_delegate.cc +++ b/ui/views/window/dialog_delegate.cc @@ -169,14 +169,11 @@ NonClientFrameView* DialogDelegate::CreateDialogFrameView( const SkColor color = widget->GetNativeTheme()->GetSystemColor( ui::NativeTheme::kColorId_DialogBackground); if (force_opaque_border) { - frame->SetBubbleBorder(new BubbleBorder( - BubbleBorder::NONE, - BubbleBorder::NO_SHADOW_OPAQUE_BORDER, - color)); + frame->SetBubbleBorder(scoped_ptr<BubbleBorder>(new BubbleBorder( + BubbleBorder::NONE, BubbleBorder::NO_SHADOW_OPAQUE_BORDER, color))); } else { - frame->SetBubbleBorder(new BubbleBorder(BubbleBorder::FLOAT, - BubbleBorder::SMALL_SHADOW, - color)); + frame->SetBubbleBorder(scoped_ptr<BubbleBorder>(new BubbleBorder( + BubbleBorder::FLOAT, BubbleBorder::SMALL_SHADOW, color))); } DialogDelegate* delegate = widget->widget_delegate()->AsDialogDelegate(); if (delegate) { |