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

Side by Side Diff: chrome/browser/ui/views/frame/glass_browser_frame_view.h

Issue 1406403007: Eliminate HICON leaks caused by creating icons from bitmap image. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add move semantics to ScopedGDIObject. Created 5 years, 1 month 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
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 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/win/scoped_gdi_object.h"
9 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h" 10 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
10 #include "ui/views/controls/button/button.h" 11 #include "ui/views/controls/button/button.h"
11 #include "ui/views/window/non_client_view.h" 12 #include "ui/views/window/non_client_view.h"
12 13
13 class BrowserView; 14 class BrowserView;
14 15
15 class GlassBrowserFrameView : public BrowserNonClientFrameView, 16 class GlassBrowserFrameView : public BrowserNonClientFrameView,
16 public views::ButtonListener { 17 public views::ButtonListener {
17 public: 18 public:
18 // Constructs a non-client view for an BrowserFrame. 19 // Constructs a non-client view for an BrowserFrame.
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 90
90 // Displays the next throbber frame. 91 // Displays the next throbber frame.
91 void DisplayNextThrobberFrame(); 92 void DisplayNextThrobberFrame();
92 93
93 // The layout rect of the incognito icon, if visible. 94 // The layout rect of the incognito icon, if visible.
94 gfx::Rect incognito_bounds_; 95 gfx::Rect incognito_bounds_;
95 96
96 // The bounds of the ClientView. 97 // The bounds of the ClientView.
97 gfx::Rect client_view_bounds_; 98 gfx::Rect client_view_bounds_;
98 99
100 // The small icon created from the bitmap image of the window icon.
101 base::win::ScopedHICON small_window_icon_;
102
103 // The big icon created from the bitmap image of the window icon.
104 base::win::ScopedHICON big_window_icon_;
105
99 // Whether or not the window throbber is currently animating. 106 // Whether or not the window throbber is currently animating.
100 bool throbber_running_; 107 bool throbber_running_;
101 108
102 // The index of the current frame of the throbber animation. 109 // The index of the current frame of the throbber animation.
103 int throbber_frame_; 110 int throbber_frame_;
104 111
105 static const int kThrobberIconCount = 24; 112 static const int kThrobberIconCount = 24;
106 static HICON throbber_icons_[kThrobberIconCount]; 113 static HICON throbber_icons_[kThrobberIconCount];
107 static void InitThrobberIcons(); 114 static void InitThrobberIcons();
108 115
109 DISALLOW_COPY_AND_ASSIGN(GlassBrowserFrameView); 116 DISALLOW_COPY_AND_ASSIGN(GlassBrowserFrameView);
110 }; 117 };
111 118
112 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_ 119 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698