summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_accessibility.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/browser_accessibility.cc')
-rw-r--r--chrome/browser/browser_accessibility.cc16
1 files changed, 5 insertions, 11 deletions
diff --git a/chrome/browser/browser_accessibility.cc b/chrome/browser/browser_accessibility.cc
index 9fade8d..8af5a6a 100644
--- a/chrome/browser/browser_accessibility.cc
+++ b/chrome/browser/browser_accessibility.cc
@@ -11,7 +11,9 @@ using webkit_glue::WebAccessibility;
HRESULT BrowserAccessibility::Initialize(int iaccessible_id, int routing_id,
int process_id, HWND parent_hwnd) {
- if (!parent_hwnd || iaccessible_id < 0)
+ // Check input parameters. Root id is 1000, to avoid conflicts with the ids
+ // used by MSAA.
+ if (!parent_hwnd || iaccessible_id < 1000)
return E_INVALIDARG;
iaccessible_id_ = iaccessible_id;
@@ -21,10 +23,6 @@ HRESULT BrowserAccessibility::Initialize(int iaccessible_id, int routing_id,
// Mark instance as active.
instance_active_ = true;
-
- // Treat child ids intitially as referring to direct children of the object.
- direct_descendant_ = true;
-
return S_OK;
}
@@ -192,7 +190,7 @@ STDMETHODIMP BrowserAccessibility::get_accChild(VARIANT var_child,
return E_INVALIDARG;
// If var_child is the parent, remain with the same IDispatch.
- if (var_child.lVal == CHILDID_SELF && iaccessible_id_ != 0)
+ if (var_child.lVal == CHILDID_SELF && iaccessible_id_ != 1000)
return S_OK;
if (!RequestAccessibilityInfo(WebAccessibility::FUNCTION_GETCHILD, var_child,
@@ -411,7 +409,7 @@ STDMETHODIMP BrowserAccessibility::get_accParent(IDispatch** disp_parent) {
return E_INVALIDARG;
// Root node's parent is the containing HWND's IAccessible.
- if (iaccessible_id_ == 0) {
+ if (iaccessible_id_ == 1000) {
// For an object that has no parent (e.g. root), point the accessible parent
// to the default implementation.
HRESULT hr =
@@ -548,13 +546,9 @@ bool BrowserAccessibility::RequestAccessibilityInfo(int iaccessible_func_id,
in_params.object_id = iaccessible_id_;
in_params.function_id = iaccessible_func_id;
in_params.child_id = var_id.lVal;
- in_params.direct_descendant = direct_descendant();
in_params.input_long1 = input1;
in_params.input_long2 = input2;
- if (!direct_descendant())
- set_direct_descendant(true);
-
return BrowserAccessibilityManager::GetInstance()->
RequestAccessibilityInfo(&in_params, routing_id_, process_id_);
}