diff options
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/webaccessibility.h | 4 | ||||
-rw-r--r-- | webkit/glue/webaccessibilitymanager_impl.cc | 9 | ||||
-rw-r--r-- | webkit/glue/webaccessibilitymanager_impl.h | 3 |
3 files changed, 9 insertions, 7 deletions
diff --git a/webkit/glue/webaccessibility.h b/webkit/glue/webaccessibility.h index 250c665..538e612 100644 --- a/webkit/glue/webaccessibility.h +++ b/webkit/glue/webaccessibility.h @@ -117,10 +117,6 @@ class WebAccessibility { // Id of accessible child, whose information is being requested. int child_id; - // Indicates if the |child_id| refers to a direct child of the active - // accessibility object (true) or not (false). - bool direct_descendant; - // LONG input parameters, used differently depending on the function called. long input_long1; long input_long2; diff --git a/webkit/glue/webaccessibilitymanager_impl.cc b/webkit/glue/webaccessibilitymanager_impl.cc index f765127..382c6057a 100644 --- a/webkit/glue/webaccessibilitymanager_impl.cc +++ b/webkit/glue/webaccessibilitymanager_impl.cc @@ -35,7 +35,7 @@ WebAccessibilityManager* WebAccessibilityManager::Create() { // class WebAccessibilityManagerImpl WebAccessibilityManagerImpl::WebAccessibilityManagerImpl() : root_(new GlueAccessibilityObjectRoot), - acc_obj_id_(0) { + acc_obj_id_(1000) { } WebAccessibilityManagerImpl::~WebAccessibilityManagerImpl() { @@ -55,7 +55,10 @@ bool WebAccessibilityManagerImpl::GetAccObjInfo(WebView* view, int object_id = in_params.object_id; int child_id = in_params.child_id; - if (!in_params.direct_descendant) { + // Since ids assigned by Chrome starts at 1000, whereas platform-specific ids + // used to reference a child will be in a wholly different range, we know + // that any id that high should be treated as a non-direct descendant. + if (in_params.child_id >= 1000) { // Object is not a direct child, re-map the input parameters accordingly. // The object to be retrieved is referred to by the |in_params.child_id|, as // a result of e.g. a focus event. The local |child_id| is set to 0, to @@ -247,7 +250,7 @@ bool WebAccessibilityManagerImpl::ClearAccObjMap(int acc_obj_id, } int_to_glue_acc_obj_map_.erase(it); - if (acc_obj_id == 0) { + if (acc_obj_id == 1000) { // Invalidate root. root_->acc_obj_root_ = 0; } diff --git a/webkit/glue/webaccessibilitymanager_impl.h b/webkit/glue/webaccessibilitymanager_impl.h index 1bc0607..be14bec 100644 --- a/webkit/glue/webaccessibilitymanager_impl.h +++ b/webkit/glue/webaccessibilitymanager_impl.h @@ -35,6 +35,9 @@ class WebAccessibilityManagerImpl : public WebAccessibilityManager { // Needed so WebAccessibilityManager::Create can call our constructor. friend class WebAccessibilityManager; + // Constructor creates a new GlueAccessibilityObjectRoot, and initializes + // the root |acc_obj_id_| to 1000, to avoid conflicts with platform-specific + // child ids. WebAccessibilityManagerImpl(); ~WebAccessibilityManagerImpl(); |