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

Unified Diff: content/browser/accessibility/browser_accessibility_win.cc

Issue 13770015: Rename confusing child_id to unique_id_win (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/accessibility/browser_accessibility_win.cc
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc
index a7b88434b7ba90cef7207818fa2e697cc3067384..5affc51bd53b5c8f8093dae91102bebb1a636a41 100644
--- a/content/browser/accessibility/browser_accessibility_win.cc
+++ b/content/browser/accessibility/browser_accessibility_win.cc
@@ -32,6 +32,9 @@ const GUID GUID_IAccessibleContentDocument = {
const char16 BrowserAccessibilityWin::kEmbeddedCharacter[] = L"\xfffc";
+// static
+LONG BrowserAccessibilityWin::next_unique_id_win_ = -1;
+
//
// BrowserAccessibilityRelation
//
@@ -188,6 +191,13 @@ BrowserAccessibilityWin::BrowserAccessibilityWin()
ia2_state_(0),
first_time_(true),
old_ia_state_(0) {
+ // Start unique IDs at -1 and decrement each time, because get_accChild
+ // uses positive IDs to enumerate children, so we use negative IDs to
+ // clearly distinguish between indices and unique IDs.
+ unique_id_win_ = next_unique_id_win_;
+ next_unique_id_win_--;
+ if (next_unique_id_win_ > 0)
+ next_unique_id_win_ = -1;
}
BrowserAccessibilityWin::~BrowserAccessibilityWin() {
@@ -668,7 +678,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_uniqueID(LONG* unique_id) {
if (!unique_id)
return E_INVALIDARG;
- *unique_id = child_id_;
+ *unique_id = unique_id_win_;
return S_OK;
}
@@ -2250,7 +2260,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nodeInfo(
*name_space_id = 0;
*node_value = SysAllocString(value_.c_str());
*num_children = children_.size();
- *unique_id = child_id_;
+ *unique_id = unique_id_win_;
if (ia_role_ == ROLE_SYSTEM_DOCUMENT) {
*node_type = NODETYPE_DOCUMENT;
@@ -2879,17 +2889,17 @@ void BrowserAccessibilityWin::PostInitialize() {
(ia_state_ & STATE_SYSTEM_FOCUSED) &&
!(old_ia_state_ & STATE_SYSTEM_FOCUSED)) {
::NotifyWinEvent(EVENT_OBJECT_FOCUS, hwnd,
- OBJID_CLIENT, child_id());
+ OBJID_CLIENT, unique_id_win());
}
if ((ia_state_ & STATE_SYSTEM_SELECTED) &&
!(old_ia_state_ & STATE_SYSTEM_SELECTED)) {
::NotifyWinEvent(EVENT_OBJECT_SELECTIONADD, hwnd,
- OBJID_CLIENT, child_id());
+ OBJID_CLIENT, unique_id_win());
} else if (!(ia_state_ & STATE_SYSTEM_SELECTED) &&
(old_ia_state_ & STATE_SYSTEM_SELECTED)) {
::NotifyWinEvent(EVENT_OBJECT_SELECTIONREMOVE, hwnd,
- OBJID_CLIENT, child_id());
+ OBJID_CLIENT, unique_id_win());
}
old_ia_state_ = ia_state_;
@@ -2927,7 +2937,8 @@ BrowserAccessibilityWin* BrowserAccessibilityWin::GetTargetFromChildID(
if (child_id >= 1 && child_id <= static_cast<LONG>(children_.size()))
return children_[child_id - 1]->ToBrowserAccessibilityWin();
- return manager_->GetFromChildID(child_id)->ToBrowserAccessibilityWin();
+ return manager_->ToBrowserAccessibilityManagerWin()->
+ GetFromUniqueIdWin(child_id)->ToBrowserAccessibilityWin();
aboxhall 2013/04/09 09:28:29 I don't think ToBrowserAccessibilityWin() is neces
dmazzoni 2013/04/09 19:44:04 You're right, thanks.
}
HRESULT BrowserAccessibilityWin::GetStringAttributeAsBstr(

Powered by Google App Engine
This is Rietveld 408576698