Changeset 239279 in webkit
- Timestamp:
- Dec 17, 2018 11:42:55 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r239278 r239279 1 2018-12-17 Zalan Bujtas <zalan@apple.com> 2 3 Reproducible ASSERTion failure when toggling layer borders with find-in-page up 4 https://bugs.webkit.org/show_bug.cgi?id=192762 5 <rdar://problem/46676873> 6 7 Reviewed by Simon Fraser. 8 9 * editing/document-marker-null-check-expected.txt: Added. 10 * editing/document-marker-null-check.html: Added. 11 1 12 2018-12-17 Commit Queue <commit-queue@webkit.org> 2 13 -
trunk/Source/WebCore/ChangeLog
r239278 r239279 1 2018-12-17 Zalan Bujtas <zalan@apple.com> 2 3 Reproducible ASSERTion failure when toggling layer borders with find-in-page up 4 https://bugs.webkit.org/show_bug.cgi?id=192762 5 <rdar://problem/46676873> 6 7 Reviewed by Simon Fraser. 8 9 DocumentMarkerController::markersFor() should take a reference instead of a Node*. 10 11 Test: editing/document-marker-null-check.html 12 13 * dom/DocumentMarkerController.cpp: 14 (DocumentMarkerController::hasMarkers): 15 * dom/DocumentMarkerController.h: 16 * editing/AlternativeTextController.cpp: 17 (WebCore::AlternativeTextController::respondToChangedSelection): 18 * editing/Editor.cpp: 19 (WebCore::Editor::selectionStartHasMarkerFor const): 20 * rendering/InlineTextBox.cpp: 21 (WebCore::InlineTextBox::collectMarkedTextsForDocumentMarkers const): 22 * rendering/RenderReplaced.cpp: 23 (WebCore::RenderReplaced::paint): 24 * rendering/RenderText.cpp: 25 (WebCore::RenderText::draggedContentRangesBetweenOffsets const): 26 * rendering/SimpleLineLayout.cpp: 27 (WebCore::SimpleLineLayout::canUseForWithReason): 28 * testing/Internals.cpp: 29 (WebCore::Internals::markerCountForNode): 30 1 31 2018-12-17 Commit Queue <commit-queue@webkit.org> 2 32 -
trunk/Source/WebCore/dom/DocumentMarkerController.cpp
r237266 r239279 522 522 } 523 523 524 Vector<RenderedDocumentMarker*> DocumentMarkerController::markersFor(Node *node, OptionSet<DocumentMarker::MarkerType> markerTypes)524 Vector<RenderedDocumentMarker*> DocumentMarkerController::markersFor(Node& node, OptionSet<DocumentMarker::MarkerType> markerTypes) 525 525 { 526 526 if (!possiblyHasMarkers(markerTypes)) … … 528 528 529 529 Vector<RenderedDocumentMarker*> result; 530 MarkerList* list = m_markers.get( node);530 MarkerList* list = m_markers.get(&node); 531 531 if (!list) 532 532 return result; … … 552 552 Node* pastLastNode = range.pastLastNode(); 553 553 for (Node* node = range.firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) { 554 for (auto* marker : markersFor(node)) { 554 ASSERT(node); 555 for (auto* marker : markersFor(*node)) { 555 556 if (!markerTypes.contains(marker->type())) 556 557 continue; … … 764 765 Node* pastLastNode = range.pastLastNode(); 765 766 for (Node* node = range.firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) { 766 for (auto* marker : markersFor(node)) { 767 ASSERT(node); 768 for (auto* marker : markersFor(*node)) { 767 769 if (!markerTypes.contains(marker->type())) 768 770 continue; -
trunk/Source/WebCore/dom/DocumentMarkerController.h
r237266 r239279 83 83 void setMarkersActive(Node*, unsigned startOffset, unsigned endOffset, bool); 84 84 85 WEBCORE_EXPORT Vector<RenderedDocumentMarker*> markersFor(Node *, OptionSet<DocumentMarker::MarkerType> = DocumentMarker::allMarkers());85 WEBCORE_EXPORT Vector<RenderedDocumentMarker*> markersFor(Node&, OptionSet<DocumentMarker::MarkerType> = DocumentMarker::allMarkers()); 86 86 WEBCORE_EXPORT Vector<RenderedDocumentMarker*> markersInRange(Range&, OptionSet<DocumentMarker::MarkerType>); 87 87 void clearDescriptionOnMarkersIntersectingRange(Range&, OptionSet<DocumentMarker::MarkerType>); -
trunk/Source/WebCore/editing/AlternativeTextController.cpp
r235120 r239279 421 421 422 422 Node* node = position.containerNode(); 423 for (auto* marker : node->document().markers().markersFor(node)) { 423 ASSERT(node); 424 for (auto* marker : node->document().markers().markersFor(*node)) { 424 425 ASSERT(marker); 425 426 if (respondToMarkerAtEndOfWord(*marker, position)) -
trunk/Source/WebCore/editing/Editor.cpp
r238894 r239279 3769 3769 unsigned int startOffset = static_cast<unsigned int>(from); 3770 3770 unsigned int endOffset = static_cast<unsigned int>(from + length); 3771 Vector<RenderedDocumentMarker*> markers = document().markers().markersFor( node);3771 Vector<RenderedDocumentMarker*> markers = document().markers().markersFor(*node); 3772 3772 for (auto* marker : markers) { 3773 3773 if (marker->startOffset() <= startOffset && endOffset <= marker->endOffset() && marker->type() == markerType) -
trunk/Source/WebCore/rendering/InlineTextBox.cpp
r238463 r239279 863 863 return { }; 864 864 865 Vector<RenderedDocumentMarker*> markers = renderer().document().markers().markersFor( renderer().textNode());865 Vector<RenderedDocumentMarker*> markers = renderer().document().markers().markersFor(*renderer().textNode()); 866 866 867 867 auto markedTextTypeForMarkerType = [] (DocumentMarker::MarkerType type) { -
trunk/Source/WebCore/rendering/RenderReplaced.cpp
r238463 r239279 163 163 if (element() && element()->parentOrShadowHostElement()) { 164 164 auto* parentContainer = element()->parentOrShadowHostElement(); 165 if (draggedContentContainsReplacedElement(document().markers().markersFor(parentContainer, DocumentMarker::DraggedContent), *element())) { 165 ASSERT(parentContainer); 166 if (draggedContentContainsReplacedElement(document().markers().markersFor(*parentContainer, DocumentMarker::DraggedContent), *element())) { 166 167 savedGraphicsContext.save(); 167 168 paintInfo.context().setAlpha(0.25); -
trunk/Source/WebCore/rendering/RenderText.cpp
r238064 r239279 1064 1064 return { }; 1065 1065 1066 auto markers = document().markers().markersFor( textNode(), DocumentMarker::DraggedContent);1066 auto markers = document().markers().markersFor(*textNode(), DocumentMarker::DraggedContent); 1067 1067 if (markers.isEmpty()) 1068 1068 return { }; -
trunk/Source/WebCore/rendering/SimpleLineLayout.cpp
r238463 r239279 316 316 if (is<RenderText>(*child)) { 317 317 const auto& renderText = downcast<RenderText>(*child); 318 if ( !renderText.document().markers().markersFor(renderText.textNode()).isEmpty())318 if (renderText.textNode() && !renderText.document().markers().markersFor(*renderText.textNode()).isEmpty()) 319 319 SET_REASON_AND_RETURN_IF_NEEDED(FlowIncludesDocumentMarkers, reasons, includeReasons); 320 320 child = child->nextSibling(); -
trunk/Source/WebCore/testing/Internals.cpp
r239278 r239279 1542 1542 1543 1543 node.document().frame()->editor().updateEditorUINowIfScheduled(); 1544 return node.document().markers().markersFor( &node, markerTypes).size();1544 return node.document().markers().markersFor(node, markerTypes).size(); 1545 1545 } 1546 1546 … … 1555 1555 node.document().frame()->editor().updateEditorUINowIfScheduled(); 1556 1556 1557 Vector<RenderedDocumentMarker*> markers = node.document().markers().markersFor( &node, markerTypes);1557 Vector<RenderedDocumentMarker*> markers = node.document().markers().markersFor(node, markerTypes); 1558 1558 if (markers.size() <= index) 1559 1559 return nullptr;
Note: See TracChangeset
for help on using the changeset viewer.