diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-21 22:44:21 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-21 22:44:21 +0000 |
commit | 3b8a7f8e37e223f3cfbdb6893a3e372ba1e72bc2 (patch) | |
tree | dbcc9e25653efaa6d7b3fd0b646f56123f72f8f2 /views/controls/native_control_win.cc | |
parent | 294b014b3743b8a359d423ab238d2ea2872cf629 (diff) | |
download | chromium_src-3b8a7f8e37e223f3cfbdb6893a3e372ba1e72bc2.zip chromium_src-3b8a7f8e37e223f3cfbdb6893a3e372ba1e72bc2.tar.gz chromium_src-3b8a7f8e37e223f3cfbdb6893a3e372ba1e72bc2.tar.bz2 |
Attempt 2 at:
Converts usage of SetProp/GetProp to a map. Even after making sure we
clean up props we still leak in a handful of cases that are causing
test grief. By and large our usage of properties is for inside the
application, so that a map works fine.
BUG=61528 44991
TEST=none
TBR=cpu@chromium.org
Review URL: http://codereview.chromium.org/5144005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66920 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/native_control_win.cc')
-rw-r--r-- | views/controls/native_control_win.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/views/controls/native_control_win.cc b/views/controls/native_control_win.cc index c4f811c..a223993 100644 --- a/views/controls/native_control_win.cc +++ b/views/controls/native_control_win.cc @@ -7,14 +7,16 @@ #include <windowsx.h> #include "app/l10n_util_win.h" -#include "app/win/scoped_prop.h" +#include "app/view_prop.h" #include "base/logging.h" #include "base/win_util.h" #include "views/focus/focus_manager.h" +using app::ViewProp; + namespace views { -static const wchar_t* kNativeControlWinKey = L"__NATIVE_CONTROL_WIN__"; +static const char* const kNativeControlWinKey = "__NATIVE_CONTROL_WIN__"; //////////////////////////////////////////////////////////////////////////////// // NativeControlWin, public: @@ -130,8 +132,7 @@ void NativeControlWin::ShowContextMenu(const gfx::Point& location) { void NativeControlWin::NativeControlCreated(HWND native_control) { // Associate this object with the control's HWND so that WidgetWin can find // this object when it receives messages from it. - props_.push_back( - new app::win::ScopedProp(native_control, kNativeControlWinKey, this)); + props_.push_back(new ViewProp(native_control, kNativeControlWinKey, this)); props_.push_back(ChildWindowMessageProcessor::Register(native_control, this)); // Subclass so we get WM_KEYDOWN and WM_SETFOCUS messages. @@ -196,8 +197,8 @@ LRESULT NativeControlWin::NativeControlWndProc(HWND window, UINT message, WPARAM w_param, LPARAM l_param) { - NativeControlWin* native_control = - static_cast<NativeControlWin*>(GetProp(window, kNativeControlWinKey)); + NativeControlWin* native_control = reinterpret_cast<NativeControlWin*>( + ViewProp::GetValue(window, kNativeControlWinKey)); DCHECK(native_control); if (message == WM_KEYDOWN && |