Changeset 155228 in webkit
- Timestamp:
- Sep 6, 2013, 7:08:06 PM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r155226 r155228 1 2013-09-06 Ryosuke Niwa <rniwa@webkit.org> 2 3 Range::ownerDocument should return Document& 4 https://bugs.webkit.org/show_bug.cgi?id=120908 5 6 Reviewed by Andreas Kling. 7 8 Return Document& in Range::ownerDocument(). Also make setDocument take Document& so that this invariant is self-evident. 9 10 * bindings/objc/DOM.mm: 11 (-[DOMRange boundingBox]): 12 (-[DOMRange renderedImageForcingBlackText:]): 13 (-[DOMRange textRects]): 14 * dom/Range.cpp: 15 (WebCore::Range::setDocument): 16 (WebCore::Range::setStart): 17 (WebCore::Range::setEnd): 18 (WebCore::Range::selectNode): 19 (WebCore::Range::selectNodeContents): 20 * dom/Range.h: 21 (WebCore::Range::ownerDocument): 22 * editing/AlternativeTextController.cpp: 23 (WebCore::AlternativeTextController::handleAlternativeTextUIResult): 24 * editing/Editor.cpp: 25 (WebCore::Editor::avoidIntersectionWithDeleteButtonController): 26 (WebCore::isFrameInRange): 27 (WebCore::Editor::countMatchesForText): 28 * editing/EditorCommand.cpp: 29 (WebCore::unionDOMRanges): 30 * editing/TextCheckingHelper.cpp: 31 (WebCore::TextCheckingHelper::unifiedTextCheckerEnabled): 32 * editing/TextIterator.cpp: 33 (WebCore::plainText): 34 (WebCore::findPlainText): 35 * editing/htmlediting.cpp: 36 (WebCore::extendRangeToWrappingNodes): 37 * editing/markup.cpp: 38 (WebCore::createMarkup): 39 (WebCore::createFragmentFromText): 40 * page/DragController.cpp: 41 (WebCore::documentFragmentFromDragData): 42 (WebCore::DragController::concludeEditDrag): 43 * page/Page.cpp: 44 (WebCore::Page::rangeOfString): 45 * rendering/RenderObject.cpp: 46 (WebCore::RenderObject::absoluteBoundingBoxRectForRange): 47 * testing/Internals.cpp: 48 (WebCore::Internals::addTextMatchMarker): 49 1 50 2013-09-06 Brent Fulgham <bfulgham@apple.com> 2 51 -
trunk/Source/WebCore/bindings/objc/DOM.mm
r154877 r155228 320 320 { 321 321 // FIXME: The call to updateLayoutIgnorePendingStylesheets should be moved into WebCore::Range. 322 core(self)->ownerDocument() ->updateLayoutIgnorePendingStylesheets();322 core(self)->ownerDocument().updateLayoutIgnorePendingStylesheets(); 323 323 return core(self)->boundingBox(); 324 324 } … … 327 327 { 328 328 WebCore::Range* range = core(self); 329 WebCore::Frame* frame = range->ownerDocument() ->frame();329 WebCore::Frame* frame = range->ownerDocument().frame(); 330 330 if (!frame) 331 331 return nil; … … 338 338 // FIXME: The call to updateLayoutIgnorePendingStylesheets should be moved into WebCore::Range. 339 339 Vector<WebCore::IntRect> rects; 340 core(self)->ownerDocument() ->updateLayoutIgnorePendingStylesheets();340 core(self)->ownerDocument().updateLayoutIgnorePendingStylesheets(); 341 341 core(self)->textRects(rects); 342 342 return kit(rects); -
trunk/Source/WebCore/dom/Range.cpp
r154877 r155228 117 117 } 118 118 119 void Range::setDocument(Document *document)120 { 121 ASSERT(m_ownerDocument != document);119 void Range::setDocument(Document& document) 120 { 121 ASSERT(m_ownerDocument != &document); 122 122 if (m_ownerDocument) 123 123 m_ownerDocument->detachRange(this); 124 m_ownerDocument = document;125 m_start.setToStartOfNode( document);126 m_end.setToStartOfNode( document);124 m_ownerDocument = &document; 125 m_start.setToStartOfNode(&document); 126 m_end.setToStartOfNode(&document); 127 127 m_ownerDocument->attachRange(this); 128 128 } … … 225 225 bool didMoveDocument = false; 226 226 if (&refNode->document() != m_ownerDocument) { 227 setDocument( &refNode->document());227 setDocument(refNode->document()); 228 228 didMoveDocument = true; 229 229 } … … 254 254 bool didMoveDocument = false; 255 255 if (&refNode->document() != m_ownerDocument) { 256 setDocument( &refNode->document());256 setDocument(refNode->document()); 257 257 didMoveDocument = true; 258 258 } … … 1345 1345 1346 1346 if (m_ownerDocument != &refNode->document()) 1347 setDocument( &refNode->document());1347 setDocument(refNode->document()); 1348 1348 1349 1349 ec = 0; … … 1390 1390 1391 1391 if (m_ownerDocument != &refNode->document()) 1392 setDocument( &refNode->document());1392 setDocument(refNode->document()); 1393 1393 1394 1394 m_start.setToStartOfNode(refNode); -
trunk/Source/WebCore/dom/Range.h
r148289 r155228 54 54 ~Range(); 55 55 56 Document * ownerDocument() const { return m_ownerDocument.get(); }56 Document& ownerDocument() const { return *m_ownerDocument; } 57 57 Node* startContainer() const { return m_start.container(); } 58 58 int startOffset() const { return m_start.offset(); } … … 153 153 Range(PassRefPtr<Document>, PassRefPtr<Node> startContainer, int startOffset, PassRefPtr<Node> endContainer, int endOffset); 154 154 155 void setDocument(Document *);155 void setDocument(Document&); 156 156 157 157 Node* checkNodeWOffset(Node*, int offset, ExceptionCode&) const; -
trunk/Source/WebCore/editing/AlternativeTextController.cpp
r154877 r155228 398 398 { 399 399 Range* rangeWithAlternative = m_alternativeTextInfo.rangeWithAlternative.get(); 400 if (!rangeWithAlternative || m_frame.document() != rangeWithAlternative->ownerDocument())400 if (!rangeWithAlternative || m_frame.document() != &rangeWithAlternative->ownerDocument()) 401 401 return; 402 402 -
trunk/Source/WebCore/editing/Editor.cpp
r155211 r155228 111 111 return 0; 112 112 113 Document* document = range->ownerDocument();114 115 113 Node* startContainer = range->startContainer(); 116 114 int startOffset = range->startOffset(); … … 135 133 } 136 134 137 return Range::create( document, startContainer, startOffset, endContainer, endOffset);135 return Range::create(&range->ownerDocument(), startContainer, startOffset, endContainer, endOffset); 138 136 } 139 137 … … 2920 2918 bool inRange = false; 2921 2919 for (HTMLFrameOwnerElement* ownerElement = frame->ownerElement(); ownerElement; ownerElement = ownerElement->document().ownerElement()) { 2922 if (&ownerElement->document() == range->ownerDocument()) {2920 if (&ownerElement->document() == &range->ownerDocument()) { 2923 2921 inRange = range->intersectsNode(ownerElement, IGNORE_EXCEPTION); 2924 2922 break; … … 2935 2933 RefPtr<Range> searchRange; 2936 2934 if (range) { 2937 if ( range->ownerDocument() == m_frame.document())2935 if (&range->ownerDocument() == m_frame.document()) 2938 2936 searchRange = range; 2939 2937 else if (!isFrameInRange(&m_frame, range)) -
trunk/Source/WebCore/editing/EditorCommand.cpp
r154938 r155228 271 271 Range* end = a->compareBoundaryPoints(Range::END_TO_END, b, ASSERT_NO_EXCEPTION) <= 0 ? b : a; 272 272 273 return Range::create( a->ownerDocument(), start->startContainer(), start->startOffset(), end->endContainer(), end->endOffset());273 return Range::create(&a->ownerDocument(), start->startContainer(), start->startOffset(), end->endContainer(), end->endOffset()); 274 274 } 275 275 -
trunk/Source/WebCore/editing/TextCheckingHelper.cpp
r154877 r155228 634 634 bool TextCheckingHelper::unifiedTextCheckerEnabled() const 635 635 { 636 if (!m_range) 637 return false; 638 639 Document* doc = m_range->ownerDocument(); 640 if (!doc) 641 return false; 642 643 return WebCore::unifiedTextCheckerEnabled(doc->frame()); 636 return m_range && WebCore::unifiedTextCheckerEnabled(m_range->ownerDocument().frame()); 644 637 } 645 638 -
trunk/Source/WebCore/editing/TextIterator.cpp
r155211 r155228 2536 2536 String result = builder.toString(); 2537 2537 2538 if (isDisplayString && r->ownerDocument())2539 r->ownerDocument() ->displayStringModifiedByEncoding(result);2538 if (isDisplayString) 2539 r->ownerDocument().displayStringModifiedByEncoding(result); 2540 2540 2541 2541 return result; … … 2558 2558 if (buffer.needsMoreContext()) { 2559 2559 RefPtr<Range> startRange = it.range(); 2560 RefPtr<Range> beforeStartRange = startRange->ownerDocument() ->createRange();2560 RefPtr<Range> beforeStartRange = startRange->ownerDocument().createRange(); 2561 2561 beforeStartRange->setEnd(startRange->startContainer(), startRange->startOffset(), IGNORE_EXCEPTION); 2562 2562 for (SimplifiedBackwardsTextIterator backwardsIterator(beforeStartRange.get()); !backwardsIterator.atEnd(); backwardsIterator.advance()) { … … 2595 2595 { 2596 2596 // CharacterIterator requires renderers to be up-to-date 2597 range->ownerDocument() ->updateLayout();2597 range->ownerDocument().updateLayout(); 2598 2598 2599 2599 // First, find the text. -
trunk/Source/WebCore/editing/htmlediting.cpp
r155211 r155228 572 572 573 573 // Create new range with the highest editable node contained within the range 574 RefPtr<Range> extendedRange = Range::create( range->ownerDocument());574 RefPtr<Range> extendedRange = Range::create(&range->ownerDocument()); 575 575 extendedRange->selectNode(highestNode, IGNORE_EXCEPTION); 576 576 return extendedRange.release(); -
trunk/Source/WebCore/editing/markup.cpp
r155019 r155228 638 638 return emptyString(); 639 639 640 Document* document = range->ownerDocument(); 641 if (!document) 642 return emptyString(); 643 640 Document& document = range->ownerDocument(); 644 641 const Range* updatedRange = range; 645 642 … … 647 644 // Disable the delete button so it's elements are not serialized into the markup, 648 645 // but make sure neither endpoint is inside the delete user interface. 649 Frame* frame = document ->frame();646 Frame* frame = document.frame(); 650 647 DeleteButtonControllerDisableScope deleteButtonControllerDisableScope(frame); 651 648 … … 659 656 #endif 660 657 661 return createMarkupInternal( document, range, updatedRange, nodes, shouldAnnotate, convertBlocksToInlines, shouldResolveURLs);658 return createMarkupInternal(&document, range, updatedRange, nodes, shouldAnnotate, convertBlocksToInlines, shouldResolveURLs); 662 659 } 663 660 … … 841 838 return 0; 842 839 843 Document *document = context->ownerDocument();844 RefPtr<DocumentFragment> fragment = document ->createDocumentFragment();840 Document& document = context->ownerDocument(); 841 RefPtr<DocumentFragment> fragment = document.createDocumentFragment(); 845 842 846 843 if (text.isEmpty()) … … 852 849 853 850 if (contextPreservesNewline(*context)) { 854 fragment->appendChild(document ->createTextNode(string), ASSERT_NO_EXCEPTION);851 fragment->appendChild(document.createTextNode(string), ASSERT_NO_EXCEPTION); 855 852 if (string.endsWith('\n')) { 856 RefPtr<Element> element = createBreakElement( document);853 RefPtr<Element> element = createBreakElement(&document); 857 854 element->setAttribute(classAttr, AppleInterchangeNewline); 858 855 fragment->appendChild(element.release(), ASSERT_NO_EXCEPTION); … … 886 883 if (s.isEmpty() && i + 1 == numLines) { 887 884 // For last line, use the "magic BR" rather than a P. 888 element = createBreakElement( document);885 element = createBreakElement(&document); 889 886 element->setAttribute(classAttr, AppleInterchangeNewline); 890 887 } else if (useLineBreak) { 891 element = createBreakElement( document);888 element = createBreakElement(&document); 892 889 fillContainerFromString(fragment.get(), s); 893 890 } else { … … 895 892 element = block->cloneElementWithoutChildren(); 896 893 else 897 element = createDefaultParagraphElement( document);894 element = createDefaultParagraphElement(&document); 898 895 fillContainerFromString(element.get(), s); 899 896 } -
trunk/Source/WebCore/page/DragController.cpp
r154939 r155228 124 124 } 125 125 126 static PassRefPtr<DocumentFragment> documentFragmentFromDragData(DragData* dragData, Frame* frame, RefPtr<Range> context, 127 bool allowPlainText, bool& chosePlainText) 126 static PassRefPtr<DocumentFragment> documentFragmentFromDragData(DragData* dragData, Frame* frame, PassRefPtr<Range> context, bool allowPlainText, bool& chosePlainText) 128 127 { 129 128 ASSERT(dragData); 130 129 chosePlainText = false; 131 130 132 Document* document = context->ownerDocument(); 133 ASSERT(document); 134 if (document && dragData->containsCompatibleContent()) { 131 Document& document = context->ownerDocument(); 132 if (dragData->containsCompatibleContent()) { 135 133 if (PassRefPtr<DocumentFragment> fragment = dragData->asFragment(frame, context, allowPlainText, chosePlainText)) 136 134 return fragment; … … 140 138 String url = dragData->asURL(frame, DragData::DoNotConvertFilenames, &title); 141 139 if (!url.isEmpty()) { 142 RefPtr<HTMLAnchorElement> anchor = HTMLAnchorElement::create( document);140 RefPtr<HTMLAnchorElement> anchor = HTMLAnchorElement::create(&document); 143 141 anchor->setHref(url); 144 142 if (title.isEmpty()) { … … 149 147 title = url; 150 148 } 151 RefPtr<Node> anchorText = document ->createTextNode(title);149 RefPtr<Node> anchorText = document.createTextNode(title); 152 150 anchor->appendChild(anchorText, IGNORE_EXCEPTION); 153 RefPtr<DocumentFragment> fragment = document ->createDocumentFragment();151 RefPtr<DocumentFragment> fragment = document.createDocumentFragment(); 154 152 fragment->appendChild(anchor, IGNORE_EXCEPTION); 155 153 return fragment.get(); … … 506 504 if (!range) 507 505 return false; 508 CachedResourceLoader* cachedResourceLoader = range->ownerDocument() ->cachedResourceLoader();506 CachedResourceLoader* cachedResourceLoader = range->ownerDocument().cachedResourceLoader(); 509 507 ResourceCacheValidationSuppressor validationSuppressor(cachedResourceLoader); 510 508 if (dragIsMove(innerFrame->selection(), dragData) || dragCaret.isContentRichlyEditable()) { -
trunk/Source/WebCore/page/Page.cpp
r155194 r155228 631 631 return 0; 632 632 633 if (referenceRange && referenceRange->ownerDocument() ->page() != this)633 if (referenceRange && referenceRange->ownerDocument().page() != this) 634 634 return 0; 635 635 636 636 bool shouldWrap = options & WrapAround; 637 Frame* frame = referenceRange ? referenceRange->ownerDocument() ->frame() : &mainFrame();637 Frame* frame = referenceRange ? referenceRange->ownerDocument().frame() : &mainFrame(); 638 638 Frame* startFrame = frame; 639 639 do { -
trunk/Source/WebCore/rendering/RenderObject.cpp
r155211 r155228 1260 1260 return FloatRect(); 1261 1261 1262 if (range->ownerDocument()) 1263 range->ownerDocument()->updateLayout(); 1262 range->ownerDocument().updateLayout(); 1264 1263 1265 1264 Vector<FloatQuad> quads; -
trunk/Source/WebCore/testing/Internals.cpp
r155183 r155228 844 844 void Internals::addTextMatchMarker(const Range* range, bool isActive) 845 845 { 846 range->ownerDocument() ->updateLayoutIgnorePendingStylesheets();847 range->ownerDocument() ->markers().addTextMatchMarker(range, isActive);846 range->ownerDocument().updateLayoutIgnorePendingStylesheets(); 847 range->ownerDocument().markers().addTextMatchMarker(range, isActive); 848 848 } 849 849 -
trunk/Source/WebKit/blackberry/ChangeLog
r154870 r155228 1 2013-09-06 Ryosuke Niwa <rniwa@webkit.org> 2 3 Range::ownerDocument should return Document& 4 https://bugs.webkit.org/show_bug.cgi?id=120908 5 6 Reviewed by Andreas Kling. 7 8 * WebKitSupport/InPageSearchManager.cpp: 9 (BlackBerry::WebKit::InPageSearchManager::findNextString): 10 (BlackBerry::WebKit::InPageSearchManager::findAndMarkText): 11 (BlackBerry::WebKit::InPageSearchManager::clearTextMatches): 12 (BlackBerry::WebKit::InPageSearchManager::setActiveMatchAndMarker): 13 (BlackBerry::WebKit::InPageSearchManager::frameUnloaded): 14 (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches): 15 1 16 2013-08-30 Antti Koivisto <antti@apple.com> 2 17 -
trunk/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
r154348 r155228 136 136 } 137 137 138 Frame* currentActiveMatchFrame = selection.isNone() && m_activeMatch ? m_activeMatch->ownerDocument() ->frame() : m_webPage->focusedOrMainFrame();138 Frame* currentActiveMatchFrame = selection.isNone() && m_activeMatch ? m_activeMatch->ownerDocument().frame() : m_webPage->focusedOrMainFrame(); 139 139 140 140 if (findAndMarkText(text, searchStartingPoint.get(), currentActiveMatchFrame, findOptions, newSearch, startFromSelection)) … … 190 190 // because scopeStringMatches does not add any markers, it only counts the number. 191 191 // No need to unmarkAllTextMatches, it is already done from the caller because of newSearch 192 m_activeMatch->ownerDocument() ->markers().addTextMatchMarker(m_activeMatch.get(), true);192 m_activeMatch->ownerDocument().markers().addTextMatchMarker(m_activeMatch.get(), true); 193 193 frame->editor().setMarkedTextMatchesAreHighlighted(true /* highlight */); 194 194 } … … 223 223 // all matches but count them. 224 224 m_webPage->m_page->unmarkAllTextMatches(); 225 m_activeMatch->ownerDocument() ->markers().addTextMatchMarker(m_activeMatch.get(), true);225 m_activeMatch->ownerDocument().markers().addTextMatchMarker(m_activeMatch.get(), true); 226 226 frame->editor().setMarkedTextMatchesAreHighlighted(true /* highlight */); 227 227 } … … 236 236 if (selectActiveMatchOnClear && m_activeMatch.get()) { 237 237 VisibleSelection selection(m_activeMatch.get()); 238 m_activeMatch->ownerDocument() ->frame()->selection().setSelection(selection);238 m_activeMatch->ownerDocument().frame()->selection().setSelection(selection); 239 239 } 240 240 m_webPage->m_page->unmarkAllTextMatches(); … … 247 247 { 248 248 // Clear the old marker, update our range, and highlight the new range. 249 if (m_activeMatch.get()) { 250 if (Document* doc = m_activeMatch->ownerDocument()) 251 doc->markers().setMarkersActive(m_activeMatch.get(), false); 252 } 249 if (m_activeMatch.get()) 250 m_activeMatch->ownerDocument().markers().setMarkersActive(m_activeMatch.get(), false); 253 251 254 252 m_activeMatch = range; 255 if (m_activeMatch.get()) { 256 if (Document* doc = m_activeMatch->ownerDocument()) 257 doc->markers().setMarkersActive(m_activeMatch.get(), true); 258 } 253 if (m_activeMatch.get()) 254 m_activeMatch->ownerDocument().markers().setMarkersActive(m_activeMatch.get(), true); 259 255 } 260 256 … … 274 270 } 275 271 276 Frame* currentActiveMatchFrame = m_activeMatch->ownerDocument() ->frame();272 Frame* currentActiveMatchFrame = m_activeMatch->ownerDocument().frame(); 277 273 if (currentActiveMatchFrame == frame) { 278 274 // FIXME: We need to re-scope this frame instead of cancelling all effort? … … 303 299 } 304 300 305 if (m_resumeScopingFromRange && scopingFrame != m_resumeScopingFromRange->ownerDocument() ->frame())301 if (m_resumeScopingFromRange && scopingFrame != m_resumeScopingFromRange->ownerDocument().frame()) 306 302 m_resumeScopingFromRange = 0; 307 303 … … 344 340 } 345 341 if (!locateActiveMatchOnly && m_highlightAllMatches) 346 resultRange->ownerDocument() ->markers().addTextMatchMarker(resultRange.get(), foundActiveMatch);342 resultRange->ownerDocument().markers().addTextMatchMarker(resultRange.get(), foundActiveMatch); 347 343 348 344 searchRange->setStart(resultRange->endContainer(ec), resultRange->endOffset(ec), ec); -
trunk/Source/WebKit/mac/ChangeLog
r155164 r155228 1 2013-09-06 Ryosuke Niwa <rniwa@webkit.org> 2 3 Range::ownerDocument should return Document& 4 https://bugs.webkit.org/show_bug.cgi?id=120908 5 6 Reviewed by Andreas Kling. 7 8 * WebView/WebPDFView.mm: 9 (isFrameInRange): 10 1 11 2013-09-05 Andreas Kling <akling@apple.com> 2 12 -
trunk/Source/WebKit/mac/WebView/WebPDFView.mm
r154877 r155228 638 638 BOOL inRange = NO; 639 639 for (HTMLFrameOwnerElement* ownerElement = core(frame)->ownerElement(); ownerElement; ownerElement = ownerElement->document().frame()->ownerElement()) { 640 if (&ownerElement->document() == core(range)->ownerDocument()) {640 if (&ownerElement->document() == &core(range)->ownerDocument()) { 641 641 inRange = [range intersectsNode:kit(ownerElement)]; 642 642 break; -
trunk/Source/WebKit2/ChangeLog
r155163 r155228 1 2013-09-06 Ryosuke Niwa <rniwa@webkit.org> 2 3 Range::ownerDocument should return Document& 4 https://bugs.webkit.org/show_bug.cgi?id=120908 5 6 Reviewed by Andreas Kling. 7 8 * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: 9 (-[WKDOMRange textRects]): 10 1 11 2013-09-05 Ryuan Choi <ryuan.choi@samsung.com> 2 12 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm
r143111 r155228 143 143 - (NSArray *)textRects 144 144 { 145 _impl->ownerDocument() ->updateLayoutIgnorePendingStylesheets();145 _impl->ownerDocument().updateLayoutIgnorePendingStylesheets(); 146 146 Vector<WebCore::IntRect> rects; 147 147 _impl->textRects(rects);
Note:
See TracChangeset
for help on using the changeset viewer.