Index: content/browser/accessibility/browser_accessibility_manager_gtk.cc |
=================================================================== |
--- content/browser/accessibility/browser_accessibility_manager_gtk.cc (revision 0) |
+++ content/browser/accessibility/browser_accessibility_manager_gtk.cc (revision 0) |
@@ -0,0 +1,66 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "content/browser/accessibility/browser_accessibility_manager_gtk.h" |
+ |
+#include "content/browser/accessibility/browser_accessibility_gtk.h" |
+#include "content/common/accessibility_messages.h" |
+ |
+using webkit_glue::WebAccessibility; |
+ |
+// static |
+BrowserAccessibilityManager* BrowserAccessibilityManager::Create( |
+ gfx::NativeView parent_view, |
+ const WebAccessibility& src, |
+ BrowserAccessibilityDelegate* delegate, |
+ BrowserAccessibilityFactory* factory) { |
+ return new BrowserAccessibilityManagerGtk( |
+ parent_view, |
+ src, |
+ delegate, |
+ factory); |
+} |
+ |
+BrowserAccessibilityManagerGtk::BrowserAccessibilityManagerGtk( |
+ GtkWidget* parent_view, |
+ const WebAccessibility& src, |
+ BrowserAccessibilityDelegate* delegate, |
+ BrowserAccessibilityFactory* factory) |
+ : BrowserAccessibilityManager(parent_view, src, delegate, factory) { |
+} |
+ |
+BrowserAccessibilityManagerGtk::~BrowserAccessibilityManagerGtk() { |
+} |
+ |
+void BrowserAccessibilityManagerGtk::NotifyAccessibilityEvent( |
+ int type, |
+ BrowserAccessibility* node) { |
+ AtkObject* atk_object = node->toBrowserAccessibilityGtk()->GetAtkObject(); |
+ |
+ switch (type) { |
+ case AccessibilityNotificationChildrenChanged: |
+ RecursivelySendChildrenChanged(GetRoot()->toBrowserAccessibilityGtk()); |
+ break; |
+ case AccessibilityNotificationFocusChanged: |
+ g_signal_emit_by_name(atk_object, "focus-event", true); |
+ atk_focus_tracker_notify(atk_object); |
+ break; |
+ default: |
+ break; |
+ } |
+} |
+ |
+void BrowserAccessibilityManagerGtk::RecursivelySendChildrenChanged( |
+ BrowserAccessibilityGtk* node) { |
+ AtkObject* atkObject = node->toBrowserAccessibilityGtk()->GetAtkObject(); |
+ for (unsigned int i = 0; i < node->children().size(); ++i) { |
+ BrowserAccessibilityGtk* child = |
+ node->children()[i]->toBrowserAccessibilityGtk(); |
+ g_signal_emit_by_name(atkObject, |
+ "children-changed::add", |
+ i, |
+ child->GetAtkObject()); |
+ RecursivelySendChildrenChanged(child); |
+ } |
+} |
Property changes on: content/browser/accessibility/browser_accessibility_manager_gtk.cc |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |