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 /chrome/browser/ui/libgtk2ui | |
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 'chrome/browser/ui/libgtk2ui')
-rw-r--r-- | chrome/browser/ui/libgtk2ui/gtk2_border.cc | 8 | ||||
-rw-r--r-- | chrome/browser/ui/libgtk2ui/gtk2_border.h | 2 | ||||
-rw-r--r-- | chrome/browser/ui/libgtk2ui/gtk2_ui.cc | 7 | ||||
-rw-r--r-- | chrome/browser/ui/libgtk2ui/gtk2_ui.h | 4 |
4 files changed, 11 insertions, 10 deletions
diff --git a/chrome/browser/ui/libgtk2ui/gtk2_border.cc b/chrome/browser/ui/libgtk2ui/gtk2_border.cc index 57b6f5d..93c46db 100644 --- a/chrome/browser/ui/libgtk2ui/gtk2_border.cc +++ b/chrome/browser/ui/libgtk2ui/gtk2_border.cc @@ -50,8 +50,8 @@ class ButtonImageSkiaSource : public gfx::ImageSkiaSource { private: const Gtk2UI* gtk2_ui_; - GtkStateType state_; - gfx::Size size_; + const GtkStateType state_; + const gfx::Size size_; DISALLOW_COPY_AND_ASSIGN(ButtonImageSkiaSource); }; @@ -60,11 +60,11 @@ class ButtonImageSkiaSource : public gfx::ImageSkiaSource { Gtk2Border::Gtk2Border(Gtk2UI* gtk2_ui, views::CustomButton* owning_button, - views::Border* border) + scoped_ptr<views::Border> border) : gtk2_ui_(gtk2_ui), use_gtk_(gtk2_ui_->GetUseSystemTheme()), owning_button_(owning_button), - border_(border) { + border_(border.Pass()) { gtk2_ui_->AddGtkBorder(this); } diff --git a/chrome/browser/ui/libgtk2ui/gtk2_border.h b/chrome/browser/ui/libgtk2ui/gtk2_border.h index 5d789ba7ed..0dde0dd 100644 --- a/chrome/browser/ui/libgtk2ui/gtk2_border.h +++ b/chrome/browser/ui/libgtk2ui/gtk2_border.h @@ -24,7 +24,7 @@ class Gtk2Border : public views::Border { public: Gtk2Border(Gtk2UI* gtk2_ui, views::CustomButton* owning_button, - views::Border* border); + scoped_ptr<views::Border> border); virtual ~Gtk2Border(); // Called on theme changes. We invalidate the layout, drop our cached images, diff --git a/chrome/browser/ui/libgtk2ui/gtk2_ui.cc b/chrome/browser/ui/libgtk2ui/gtk2_ui.cc index 1ae080f..0b28094 100644 --- a/chrome/browser/ui/libgtk2ui/gtk2_ui.cc +++ b/chrome/browser/ui/libgtk2ui/gtk2_ui.cc @@ -527,10 +527,11 @@ gfx::Image Gtk2UI::GetIconForContentType( return gfx::Image(image_skia); } -views::Border* Gtk2UI::CreateNativeBorder( +scoped_ptr<views::Border> Gtk2UI::CreateNativeBorder( views::CustomButton* owning_button, - views::Border* border) { - return new Gtk2Border(this, owning_button, border); + scoped_ptr<views::Border> border) { + return scoped_ptr<views::Border>( + new Gtk2Border(this, owning_button, border.Pass())); } void Gtk2UI::AddWindowButtonOrderObserver( diff --git a/chrome/browser/ui/libgtk2ui/gtk2_ui.h b/chrome/browser/ui/libgtk2ui/gtk2_ui.h index 381e666..375c7ea 100644 --- a/chrome/browser/ui/libgtk2ui/gtk2_ui.h +++ b/chrome/browser/ui/libgtk2ui/gtk2_ui.h @@ -97,9 +97,9 @@ class Gtk2UI : public views::LinuxUI { const base::string16& tool_tip) const OVERRIDE; virtual gfx::Image GetIconForContentType( const std::string& content_type, int size) const OVERRIDE; - virtual views::Border* CreateNativeBorder( + virtual scoped_ptr<views::Border> CreateNativeBorder( views::CustomButton* owning_button, - views::Border* border) OVERRIDE; + scoped_ptr<views::Border> border) OVERRIDE; virtual void AddWindowButtonOrderObserver( views::WindowButtonOrderObserver* observer) OVERRIDE; virtual void RemoveWindowButtonOrderObserver( |