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

Side by Side Diff: views/widget/widget_win.h

Issue 2823009: Keep a map of all views that have sent notifications. This ensures that Acce... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 months 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 | Annotate | Revision Log
« no previous file with comments | « views/view_win.cc ('k') | views/widget/widget_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 VIEWS_WIDGET_WIDGET_WIN_H_ 5 #ifndef VIEWS_WIDGET_WIDGET_WIN_H_
6 #define VIEWS_WIDGET_WIDGET_WIN_H_ 6 #define VIEWS_WIDGET_WIDGET_WIN_H_
7 7
8 #include <atlbase.h> 8 #include <atlbase.h>
9 #include <atlapp.h> 9 #include <atlapp.h>
10 #include <atlcrack.h> 10 #include <atlcrack.h>
11 #include <atlmisc.h> 11 #include <atlmisc.h>
12 12
13 #include <vector>
14
13 #include "app/win/window_impl.h" 15 #include "app/win/window_impl.h"
14 #include "base/message_loop.h" 16 #include "base/message_loop.h"
15 #include "base/scoped_comptr_win.h" 17 #include "base/scoped_comptr_win.h"
16 #include "views/focus/focus_manager.h" 18 #include "views/focus/focus_manager.h"
17 #include "views/layout_manager.h" 19 #include "views/layout_manager.h"
18 #include "views/widget/widget.h" 20 #include "views/widget/widget.h"
19 21
20 namespace gfx { 22 namespace gfx {
21 class Canvas; 23 class Canvas;
22 class Rect; 24 class Rect;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 } 87 }
86 88
87 // See description of use_layered_buffer_ for details. 89 // See description of use_layered_buffer_ for details.
88 void SetUseLayeredBuffer(bool use_layered_buffer); 90 void SetUseLayeredBuffer(bool use_layered_buffer);
89 91
90 // Disable Layered Window updates by setting to false. 92 // Disable Layered Window updates by setting to false.
91 void set_can_update_layered_window(bool can_update_layered_window) { 93 void set_can_update_layered_window(bool can_update_layered_window) {
92 can_update_layered_window_ = can_update_layered_window; 94 can_update_layered_window_ = can_update_layered_window;
93 } 95 }
94 96
97 // Obtain the view event with the given MSAA child id. Used in
98 // ViewAccessibility::get_accChild to support requests for children of
99 // windowless controls. May return NULL (see ViewHierarchyChanged).
100 View* GetAccessibilityViewEventAt(int id);
101
102 // Add a view that has recently fired an accessibility event. Returns a MSAA
103 // child id which is generated by: -(index of view in vector + 1) which
104 // guarantees a negative child id. This distinguishes the view from
105 // positive MSAA child id's which are direct leaf children of views that have
106 // associated hWnd's (e.g. WidgetWin).
107 int AddAccessibilityViewEvent(View* view);
108
109 // Clear a view that has recently been removed on a hierarchy change.
110 void ClearAccessibilityViewEvent(View* view);
111
95 BEGIN_MSG_MAP_EX(WidgetWin) 112 BEGIN_MSG_MAP_EX(WidgetWin)
96 // Range handlers must go first! 113 // Range handlers must go first!
97 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange) 114 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange)
98 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCMOUSEMOVE, OnMouseRange) 115 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCMOUSEMOVE, OnMouseRange)
99 116
100 // Reflected message handler 117 // Reflected message handler
101 MESSAGE_HANDLER_EX(kReflectedMessage, OnReflectedMessage) 118 MESSAGE_HANDLER_EX(kReflectedMessage, OnReflectedMessage)
102 119
103 // CustomFrameWindow hacks 120 // CustomFrameWindow hacks
104 MESSAGE_HANDLER_EX(WM_NCUAHDRAWCAPTION, OnNCUAHDrawCaption) 121 MESSAGE_HANDLER_EX(WM_NCUAHDRAWCAPTION, OnNCUAHDrawCaption)
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 bool restore_focus_when_enabled_; 559 bool restore_focus_when_enabled_;
543 560
544 // Instance of accessibility information and handling for MSAA root 561 // Instance of accessibility information and handling for MSAA root
545 ScopedComPtr<IAccessible> accessibility_root_; 562 ScopedComPtr<IAccessible> accessibility_root_;
546 563
547 scoped_ptr<DefaultThemeProvider> default_theme_provider_; 564 scoped_ptr<DefaultThemeProvider> default_theme_provider_;
548 565
549 // Non owned pointer to optional delegate. May be NULL if no delegate is 566 // Non owned pointer to optional delegate. May be NULL if no delegate is
550 // being used. 567 // being used.
551 WidgetDelegate* delegate_; 568 WidgetDelegate* delegate_;
569
570 // The maximum number of view events in our vector below.
571 static const int kMaxAccessibilityViewEvents = 20;
572
573 // A vector used to access views for which we have sent notifications to
574 // accessibility clients. It is used as a circular queue.
575 std::vector<View*> accessibility_view_events_;
576
577 // The current position of the view events vector. When incrementing,
578 // we always mod this value with the max view events above .
579 int accessibility_view_events_index_;
552 }; 580 };
553 581
554 } // namespace views 582 } // namespace views
555 583
556 #endif // VIEWS_WIDGET_WIDGET_WIN_H_ 584 #endif // VIEWS_WIDGET_WIDGET_WIN_H_
OLDNEW
« no previous file with comments | « views/view_win.cc ('k') | views/widget/widget_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698