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

Unified Diff: views/widget/widget_win.cc

Issue 5144005: Converts usage of SetProp/GetProp to a map. Even after making sure we (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome
Patch Set: Fix build Created 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « views/widget/widget_win.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/widget/widget_win.cc
diff --git a/views/widget/widget_win.cc b/views/widget/widget_win.cc
index 77cf8c13d94dde15c262e6e3685978f959a73406..62643b2bfe1b9daf14f5474d2e0a4ff72e3bf0a8 100644
--- a/views/widget/widget_win.cc
+++ b/views/widget/widget_win.cc
@@ -7,8 +7,8 @@
#include "app/keyboard_code_conversion_win.h"
#include "app/l10n_util_win.h"
#include "app/system_monitor.h"
+#include "app/view_prop.h"
#include "app/win_util.h"
-#include "app/win/scoped_prop.h"
#include "base/string_util.h"
#include "base/win_util.h"
#include "gfx/canvas_skia.h"
@@ -26,11 +26,15 @@
#include "views/widget/widget_delegate.h"
#include "views/window/window_win.h"
+using app::ViewProp;
+
namespace views {
// Property used to link the HWND to its RootView.
-static const wchar_t* const kRootViewWindowProperty = L"__ROOT_VIEW__";
-static const wchar_t* kWidgetKey = L"__VIEWS_WIDGET__";
+static const char* const kRootViewWindowProperty = "__ROOT_VIEW__";
+
+// Links the HWND to it's Widget (as a Widget, not a WidgetWin).
+static const char* const kWidgetKey = "__VIEWS_WIDGET__";
bool WidgetWin::screen_reader_active_ = false;
@@ -39,7 +43,8 @@ bool WidgetWin::screen_reader_active_ = false;
#define OBJID_CUSTOM 1
RootView* GetRootViewForHWND(HWND hwnd) {
- return reinterpret_cast<RootView*>(::GetProp(hwnd, kRootViewWindowProperty));
+ return reinterpret_cast<RootView*>(
+ ViewProp::GetValue(hwnd, kRootViewWindowProperty));
}
///////////////////////////////////////////////////////////////////////////////
@@ -414,21 +419,21 @@ const Window* WidgetWin::GetWindow() const {
return GetWindowImpl(hwnd());
}
-void WidgetWin::SetNativeWindowProperty(const std::wstring& name, void* value) {
+void WidgetWin::SetNativeWindowProperty(const char* name, void* value) {
// Remove the existing property (if any).
- for (ScopedProps::iterator i = props_.begin(); i != props_.end(); ++i) {
- if ((*i)->key() == name) {
+ for (ViewProps::iterator i = props_.begin(); i != props_.end(); ++i) {
+ if ((*i)->Key() == name) {
props_.erase(i);
break;
}
}
if (value)
- props_.push_back(new app::win::ScopedProp(hwnd(), name, value));
+ props_.push_back(new ViewProp(hwnd(), name, value));
}
-void* WidgetWin::GetNativeWindowProperty(const std::wstring& name) {
- return GetProp(hwnd(), name.c_str());
+void* WidgetWin::GetNativeWindowProperty(const char* name) {
+ return ViewProp::GetValue(hwnd(), name);
}
ThemeProvider* WidgetWin::GetThemeProvider() const {
@@ -1298,8 +1303,7 @@ Widget* Widget::CreatePopupWidget(TransparencyParam transparent,
}
static BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM l_param) {
- RootView* root_view =
- reinterpret_cast<RootView*>(GetProp(hwnd, kRootViewWindowProperty));
+ RootView* root_view = GetRootViewForHWND(hwnd);
if (root_view) {
*reinterpret_cast<RootView**>(l_param) = root_view;
return FALSE; // Stop enumerating.
@@ -1309,8 +1313,7 @@ static BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM l_param) {
// static
RootView* Widget::FindRootView(HWND hwnd) {
- RootView* root_view =
- reinterpret_cast<RootView*>(GetProp(hwnd, kRootViewWindowProperty));
+ RootView* root_view = GetRootViewForHWND(hwnd);
if (root_view)
return root_view;
@@ -1323,8 +1326,7 @@ RootView* Widget::FindRootView(HWND hwnd) {
// Enumerate child windows as they could have RootView distinct from
// the HWND's root view.
BOOL CALLBACK EnumAllRootViewsChildProc(HWND hwnd, LPARAM l_param) {
- RootView* root_view =
- reinterpret_cast<RootView*>(GetProp(hwnd, kRootViewWindowProperty));
+ RootView* root_view = GetRootViewForHWND(hwnd);
if (root_view) {
std::set<RootView*>* root_views_set =
reinterpret_cast<std::set<RootView*>*>(l_param);
@@ -1335,8 +1337,7 @@ BOOL CALLBACK EnumAllRootViewsChildProc(HWND hwnd, LPARAM l_param) {
void Widget::FindAllRootViews(HWND window,
std::vector<RootView*>* root_views) {
- RootView* root_view =
- reinterpret_cast<RootView*>(GetProp(window, kRootViewWindowProperty));
+ RootView* root_view = GetRootViewForHWND(window);
std::set<RootView*> root_views_set;
if (root_view)
root_views_set.insert(root_view);
@@ -1356,12 +1357,9 @@ void Widget::FindAllRootViews(HWND window,
// static
Widget* Widget::GetWidgetFromNativeView(gfx::NativeView native_view) {
- if (IsWindow(native_view)) {
- HANDLE raw_widget = GetProp(native_view, kWidgetKey);
- if (raw_widget)
- return reinterpret_cast<Widget*>(raw_widget);
- }
- return NULL;
+ return IsWindow(native_view) ?
+ reinterpret_cast<Widget*>(ViewProp::GetValue(native_view, kWidgetKey)) :
+ NULL;
}
// static
« no previous file with comments | « views/widget/widget_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698