Title: [220169] branches/safari-604-branch/Source/WebCore
Revision
220169
Author
[email protected]
Date
2017-08-02 18:33:06 -0700 (Wed, 02 Aug 2017)

Log Message

Cherry-pick r220084. rdar://problem/33687425

Modified Paths

Diff

Modified: branches/safari-604-branch/Source/WebCore/ChangeLog (220168 => 220169)


--- branches/safari-604-branch/Source/WebCore/ChangeLog	2017-08-03 01:33:03 UTC (rev 220168)
+++ branches/safari-604-branch/Source/WebCore/ChangeLog	2017-08-03 01:33:06 UTC (rev 220169)
@@ -1,5 +1,26 @@
 2017-08-02  Jason Marcell  <[email protected]>
 
+        Cherry-pick r220084. rdar://problem/33687425
+
+    2017-07-31  Nan Wang  <[email protected]>
+
+            AX: CFEqual is failing on text markers with exact same data
+            https://bugs.webkit.org/show_bug.cgi?id=175002
+            <rdar://problem/33636985>
+
+            Reviewed by Chris Fleizach.
+
+            We should zero the memory of the TextMarkerData instance so that it
+            can be tested for byte-equivalence.
+
+            Made sure this change won't break any of the existing tests.
+
+            * accessibility/AXObjectCache.cpp:
+            (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
+            (WebCore::AXObjectCache::textMarkerDataForFirstPositionInTextControl):
+
+2017-08-02  Jason Marcell  <[email protected]>
+
         Cherry-pick r220077. rdar://problem/33687398
 
     2017-07-28  Matt Rajca  <[email protected]>

Modified: branches/safari-604-branch/Source/WebCore/accessibility/AXObjectCache.cpp (220168 => 220169)


--- branches/safari-604-branch/Source/WebCore/accessibility/AXObjectCache.cpp	2017-08-03 01:33:03 UTC (rev 220168)
+++ branches/safari-604-branch/Source/WebCore/accessibility/AXObjectCache.cpp	2017-08-03 01:33:06 UTC (rev 220169)
@@ -2160,7 +2160,10 @@
     AXObjectCache* cache = domNode->document().axObjectCache();
     RefPtr<AccessibilityObject> obj = cache->getOrCreate(domNode);
 
+    // This memory must be zero'd so instances of TextMarkerData can be tested for byte-equivalence.
     TextMarkerData textMarkerData;
+    memset(&textMarkerData, 0, sizeof(TextMarkerData));
+    
     textMarkerData.axID = obj.get()->axObjectID();
     textMarkerData.node = domNode;
     textMarkerData.offset = deepPos.deprecatedEditingOffset();
@@ -2185,7 +2188,10 @@
     if (!obj)
         return std::nullopt;
 
+    // This memory must be zero'd so instances of TextMarkerData can be tested for byte-equivalence.
     TextMarkerData textMarkerData;
+    memset(&textMarkerData, 0, sizeof(TextMarkerData));
+    
     textMarkerData.axID = obj.get()->axObjectID();
     textMarkerData.node = &textControl;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to