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 d20b650dd30ed624545a5ccb8a0e01a804f6f9e3..4b79817db905b1958c04fea6b25bb375fe59a6d1 100644 |
--- a/content/browser/accessibility/browser_accessibility_win.h |
+++ b/content/browser/accessibility/browser_accessibility_win.h |
@@ -40,11 +40,12 @@ BrowserAccessibilityWin |
public CComObjectRootEx<CComMultiThreadModel>, |
public IDispatchImpl<IAccessible2, &IID_IAccessible2, |
&LIBID_IAccessible2Lib>, |
+ public IAccessibleHyperlink, |
+ public IAccessibleHypertext, |
public IAccessibleImage, |
public IAccessibleTable, |
public IAccessibleTable2, |
public IAccessibleTableCell, |
- public IAccessibleText, |
public IAccessibleValue, |
public IServiceProvider, |
public ISimpleDOMDocument, |
@@ -54,12 +55,14 @@ BrowserAccessibilityWin |
BEGIN_COM_MAP(BrowserAccessibilityWin) |
COM_INTERFACE_ENTRY2(IDispatch, IAccessible2) |
COM_INTERFACE_ENTRY2(IAccessible, IAccessible2) |
+ COM_INTERFACE_ENTRY2(IAccessibleText, IAccessibleHypertext) |
COM_INTERFACE_ENTRY(IAccessible2) |
+ COM_INTERFACE_ENTRY(IAccessibleHyperlink) |
+ COM_INTERFACE_ENTRY(IAccessibleHypertext) |
COM_INTERFACE_ENTRY(IAccessibleImage) |
COM_INTERFACE_ENTRY(IAccessibleTable) |
COM_INTERFACE_ENTRY(IAccessibleTable2) |
COM_INTERFACE_ENTRY(IAccessibleTableCell) |
- COM_INTERFACE_ENTRY(IAccessibleText) |
COM_INTERFACE_ENTRY(IAccessibleValue) |
COM_INTERFACE_ENTRY(IServiceProvider) |
COM_INTERFACE_ENTRY(ISimpleDOMDocument) |
@@ -478,6 +481,64 @@ BrowserAccessibilityWin |
} |
// |
+ // IAccessibleHypertext methods. |
+ // |
+ |
+ CONTENT_EXPORT STDMETHODIMP get_nHyperlinks(long* hyperlinkCount); |
+ |
+ CONTENT_EXPORT STDMETHODIMP get_hyperlink( |
+ long index, |
+ IAccessibleHyperlink** hyperlink); |
+ |
+ CONTENT_EXPORT STDMETHODIMP get_hyperlinkIndex(long char_index, |
+ long* hyperlink_index); |
+ |
+ // IAccessibleHyperlink not implemented. |
+ CONTENT_EXPORT STDMETHODIMP get_anchor(long index, VARIANT* anchor) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_anchorTarget(long index, |
dmazzoni
2011/10/28 17:33:53
Nit: fit all arguments on one line or all on separ
David Tseng
2011/10/28 18:25:15
Done.
|
+ VARIANT* anchorTarget) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_startIndex( long* index) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_endIndex( long* index) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_valid(boolean* valid) { |
+ return E_NOTIMPL; |
+ } |
+ |
+ // IAccessibleAction not implemented. |
+ CONTENT_EXPORT STDMETHODIMP nActions(long* nActions) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP doAction(long actionIndex) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_description( |
+ long actionIndex, |
+ BSTR* description) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_keyBinding( |
+ long actionIndex, |
+ long nMaxBindings, |
+ BSTR** keyBindings, |
+ long* nBindings) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_name(long actionIndex, BSTR* name) { |
+ return E_NOTIMPL; |
+ } |
+ CONTENT_EXPORT STDMETHODIMP get_localizedName(long actionIndex, |
+ BSTR* localizedName) { |
+ return E_NOTIMPL; |
+ } |
+ |
+ // |
// IAccessibleValue methods. |
// |
@@ -715,6 +776,12 @@ BrowserAccessibilityWin |
// Relationships between this node and other nodes. |
std::vector<BrowserAccessibilityRelation*> relations_; |
+ // The text of this node including embedded hyperlink characters. |
+ string16 hypertext_; |
+ |
+ // Maps the |hypertext_| embedded character offset to a child of |children_|. |
+ std::map<int32, int32> hyperlink_offset_to_index_; |
+ |
// Give BrowserAccessibility::Create access to our constructor. |
friend class BrowserAccessibility; |
friend class BrowserAccessibilityRelation; |