summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/libgtk2ui
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-24 22:49:41 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-24 22:49:41 +0000
commit9137e7343672ce086de636b92c500bf809c96d3e (patch)
tree6e8c5776131eb2b39e5542cda12c335c64434ccc /chrome/browser/ui/libgtk2ui
parent21d5a6b64618bb1c82cfef3aaccb646f1a4fad3b (diff)
downloadchromium_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.cc8
-rw-r--r--chrome/browser/ui/libgtk2ui/gtk2_border.h2
-rw-r--r--chrome/browser/ui/libgtk2ui/gtk2_ui.cc7
-rw-r--r--chrome/browser/ui/libgtk2ui/gtk2_ui.h4
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(