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

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

Issue 859133003: Fire AX text inserted event when embedded obj char changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor cleanup Created 5 years, 11 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.h
diff --git a/content/browser/accessibility/browser_accessibility_win.h b/content/browser/accessibility/browser_accessibility_win.h
index 305dabaffedede3b90650f954c2e256505f7dd9f..c5da60821f193db03d39f0d9b88dc7db8a37f31e 100644
--- a/content/browser/accessibility/browser_accessibility_win.h
+++ b/content/browser/accessibility/browser_accessibility_win.h
@@ -82,7 +82,7 @@ BrowserAccessibilityWin
// Represents a non-static text node in IAccessibleHypertext. This character
// is embedded in the response to IAccessibleText::get_text, indicating the
// position where a non-static text child object appears.
- CONTENT_EXPORT static const base::char16 kEmbeddedCharacter[];
+ CONTENT_EXPORT static const base::char16 kEmbeddedCharacter;
// Mappings from roles and states to human readable strings. Initialize
// with |InitializeStringMaps|.
@@ -97,15 +97,18 @@ BrowserAccessibilityWin
// like NotifyWinEvent, and as the unique ID for IAccessible2 and ISimpleDOM.
LONG unique_id_win() const { return unique_id_win_; }
- CONTENT_EXPORT void UpdateIAccessibleText();
+ // Called after an atomic tree update completes. See
+ // BrowserAccessibilityManagerWin::OnAtomicUpdateFinished for more
+ // details on what these do.
+ CONTENT_EXPORT void UpdateStep1ComputeWinAttributes();
+ CONTENT_EXPORT void UpdateStep2ComputeHypertext();
+ CONTENT_EXPORT void UpdateStep3FireEvents(bool is_subtree_creation);
+ CONTENT_EXPORT void UpdateStep4DeleteOldWinAttributes();
//
// BrowserAccessibility methods.
//
- CONTENT_EXPORT virtual void OnDataChanged() override;
- CONTENT_EXPORT virtual void OnUpdateFinished() override;
CONTENT_EXPORT virtual void OnSubtreeWillBeDeleted() override;
- CONTENT_EXPORT virtual void OnSubtreeCreationFinished() override;
CONTENT_EXPORT virtual void NativeAddReference() override;
CONTENT_EXPORT virtual void NativeReleaseReference() override;
CONTENT_EXPORT virtual bool IsNative() const override;
@@ -791,6 +794,11 @@ BrowserAccessibilityWin
base::string16 description() const { return win_attributes_->description; }
base::string16 help() const { return win_attributes_->help; }
base::string16 value() const { return win_attributes_->value; }
+ base::string16 hypertext() const { return win_attributes_->hypertext; }
+ std::map<int32, int32>& hyperlink_offset_to_index() const {
+ return win_attributes_->hyperlink_offset_to_index;
+ }
+ std::vector<int32>& hyperlinks() const { return win_attributes_->hyperlinks; }
private:
// Add one to the reference count and return the same object. Always
@@ -842,6 +850,7 @@ BrowserAccessibilityWin
// be the name, it may be the value, etc. depending on the role.
base::string16 TextForIAccessibleText();
+ bool IsSameHypertextCharacter(size_t old_char_index, size_t new_char_index);
void ComputeHypertextRemovedAndInserted(
int* start, int* old_len, int* new_len);
@@ -889,6 +898,16 @@ BrowserAccessibilityWin
// IAccessible2 attributes.
std::vector<base::string16> ia2_attributes;
+
+ // Hypertext.
+ base::string16 hypertext;
+
+ // Maps the |hypertext_| embedded character offset to an index in
+ // |hyperlinks_|.
+ std::map<int32, int32> hyperlink_offset_to_index;
+
+ // The id of a BrowserAccessibilityWin for each hyperlink.
+ std::vector<int32> hyperlinks;
};
scoped_ptr<WinAttributes> win_attributes_;
@@ -900,19 +919,6 @@ BrowserAccessibilityWin
// Relationships between this node and other nodes.
std::vector<BrowserAccessibilityRelation*> relations_;
- // IAccessibleText text of this node including
- // embedded hyperlink characters.
- base::string16 old_hypertext_;
- base::string16 hypertext_;
-
- // Maps the |hypertext_| embedded character offset to an index in
- // |hyperlinks_|.
- std::map<int32, int32> hyperlink_offset_to_index_;
-
- // Collection of non-static text child indicies, each of which corresponds to
- // a hyperlink.
- std::vector<int32> hyperlinks_;
-
// The previous scroll position, so we can tell if this object scrolled.
int previous_scroll_x_;
int previous_scroll_y_;

Powered by Google App Engine
This is Rietveld 408576698