Changeset 67362 in webkit
- Timestamp:
- Sep 12, 2010 9:21:00 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r67361 r67362 1 2010-09-10 MORITA Hajime <morrita@google.com> 2 3 Reviewed by Tony Chang. 4 5 [Chromium] Implement textInputController.hasSpellingMarker() for Chromium 6 https://bugs.webkit.org/show_bug.cgi?id=45441 7 8 Add an note for API readiness. 9 10 * platform/chromium/test_expectations.txt: 11 1 12 2010-09-12 Dirk Pranke <dpranke@chromium.org> 2 13 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r67361 r67362 2719 2719 2720 2720 // Need to implement textInputController.hasSpellingMarkers(). 2721 // Note that hasSpellingMarkers() is available for DRT: http://webkit.org/b/45441 2721 2722 BUGWK41832 : editing/spelling/spelling-textarea.html = FAIL 2722 2723 BUGWK41832 : editing/spelling/spelling-contenteditable.html = FAIL -
trunk/WebCore/ChangeLog
r67357 r67362 1 2010-09-10 MORITA Hajime <morrita@google.com> 2 3 Reviewed by Tony Chang. 4 5 [Chromium] Implement textInputController.hasSpellingMarker() for Chromium 6 https://bugs.webkit.org/show_bug.cgi?id=45441 7 8 Added an API for testing marker state. 9 We locate this here instead of DRT for sharing the logic between 10 multiple ports. 11 12 * WebCore.exp.in: 13 * editing/Editor.cpp: 14 (WebCore::Editor::selectionStartHasSpellingMarkerFor): 15 * editing/Editor.h: 16 1 17 2010-09-12 Adam Barth <abarth@webkit.org> 2 18 -
trunk/WebCore/WebCore.exp.in
r67316 r67362 845 845 __ZNK3JSC8Bindings10RootObject12globalObjectEv 846 846 __ZNK3WTF6String14createCFStringEv 847 __ZNK7WebCore6Editor34selectionStartHasSpellingMarkerForEii 847 848 __ZNK7WebCore10FloatPointcv8_NSPointEv 848 849 __ZNK7WebCore10PluginData16supportsMimeTypeERKN3WTF6StringE -
trunk/WebCore/editing/Editor.cpp
r67238 r67362 3592 3592 } 3593 3593 3594 bool Editor::selectionStartHasSpellingMarkerFor(int from, int length) const 3595 { 3596 Node* node = m_frame->selection()->start().node(); 3597 if (!node || !node->renderer()) 3598 return false; 3599 ASSERT(node->renderer()->isText()); 3600 3601 unsigned int startOffset = static_cast<unsigned int>(from); 3602 unsigned int endOffset = static_cast<unsigned int>(from + length); 3603 Vector<DocumentMarker> markers = m_frame->document()->markers()->markersForNode(node); 3604 for (size_t i = 0; i < markers.size(); ++i) { 3605 DocumentMarker marker = markers[i]; 3606 if (marker.startOffset <= startOffset && endOffset <= marker.endOffset && marker.type == DocumentMarker::Spelling) 3607 return true; 3608 } 3609 3610 return false; 3611 } 3612 3613 3594 3614 } // namespace WebCore -
trunk/WebCore/editing/Editor.h
r67122 r67362 361 361 #endif 362 362 363 bool selectionStartHasSpellingMarkerFor(int from, int length) const; 364 363 365 private: 364 366 Frame* m_frame; -
trunk/WebKit/chromium/ChangeLog
r67291 r67362 1 2010-09-10 MORITA Hajime <morrita@google.com> 2 3 Reviewed by Tony Chang. 4 5 [Chromium] Implement textInputController.hasSpellingMarker() for Chromium 6 https://bugs.webkit.org/show_bug.cgi?id=45441 7 8 Exported Frame::selectionStartHasSpellingMarkerFor() for DRT use. 9 10 * public/WebFrame.h: 11 * src/WebFrameImpl.cpp: 12 (WebKit::WebFrameImpl::selectionStartHasSpellingMarkerFor): 13 * src/WebFrameImpl.h: 14 1 15 2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 2 16 -
trunk/WebKit/chromium/public/WebFrame.h
r66176 r67362 534 534 virtual WebRect selectionBoundsRect() const = 0; 535 535 536 // Only for testing purpose: 537 // Returns true if selection.anchorNode has a marker on range from |from| with |length|. 538 virtual bool selectionStartHasSpellingMarkerFor(int from, int length) const = 0; 536 539 protected: 537 540 ~WebFrame() { } -
trunk/WebKit/chromium/src/WebFrameImpl.cpp
r67253 r67362 1706 1706 } 1707 1707 1708 bool WebFrameImpl::selectionStartHasSpellingMarkerFor(int from, int length) const 1709 { 1710 if (!m_frame) 1711 return false; 1712 return m_frame->editor()->selectionStartHasSpellingMarkerFor(from, length); 1713 } 1714 1708 1715 // WebFrameImpl public --------------------------------------------------------- 1709 1716 -
trunk/WebKit/chromium/src/WebFrameImpl.h
r66176 r67362 183 183 virtual WebRect selectionBoundsRect() const; 184 184 185 virtual bool selectionStartHasSpellingMarkerFor(int from, int length) const; 186 185 187 static PassRefPtr<WebFrameImpl> create(WebFrameClient* client); 186 188 ~WebFrameImpl(); -
trunk/WebKit/mac/ChangeLog
r67316 r67362 1 2010-09-10 MORITA Hajime <morrita@google.com> 2 3 Reviewed by Tony Chang. 4 5 [Chromium] Implement textInputController.hasSpellingMarker() for Chromium 6 https://bugs.webkit.org/show_bug.cgi?id=45441 7 8 Moved the actual logic of hasSpellingMarker into WebCore to share 9 it with other ports. 10 11 * WebView/WebFrame.mm: 12 (-[WebFrame hasSpellingMarker:length:]): 13 1 14 2010-09-11 Adam Barth <abarth@webkit.org> 2 15 -
trunk/WebKit/mac/WebView/WebFrame.mm
r67316 r67362 1350 1350 } 1351 1351 1352 static Node* spellingNode(Frame* coreFrame)1353 {1354 Node* focusedNode = coreFrame->selection()->start().node();1355 if (!focusedNode || !focusedNode->renderer())1356 return 0;1357 1358 for (const RenderObject* renderer = focusedNode->renderer(); renderer; renderer = renderer->childAt(0)) {1359 if (renderer->isText())1360 return renderer->node();1361 }1362 return 0;1363 }1364 1365 1352 - (BOOL)hasSpellingMarker:(int)from length:(int)length 1366 1353 { … … 1368 1355 if (!coreFrame) 1369 1356 return NO; 1370 1371 Node* node = spellingNode(coreFrame); 1372 if (!node) 1373 return NO; 1374 1375 unsigned int startOffset = static_cast<unsigned int>(from); 1376 unsigned int endOffset = static_cast<unsigned int>(from + length); 1377 Vector<DocumentMarker> markers = coreFrame->document()->markers()->markersForNode(node); 1378 for (size_t i = 0; i < markers.size(); ++i) { 1379 DocumentMarker marker = markers[i]; 1380 if (marker.startOffset <= startOffset && endOffset <= marker.endOffset && marker.type == DocumentMarker::Spelling) 1381 return YES; 1382 } 1383 return NO; 1357 return coreFrame->editor()->selectionStartHasSpellingMarkerFor(from, length); 1384 1358 } 1385 1359 -
trunk/WebKitTools/ChangeLog
r67352 r67362 1 2010-09-10 MORITA Hajime <morrita@google.com> 2 3 Reviewed by Tony Chang. 4 5 [Chromium] Implement textInputController.hasSpellingMarker() for Chromium 6 https://bugs.webkit.org/show_bug.cgi?id=45441 7 8 Added TextInputController::hasSpellingMarker(). 9 10 * DumpRenderTree/chromium/TextInputController.cpp: 11 (TextInputController::TextInputController): 12 (TextInputController::hasSpellingMarker): 13 * DumpRenderTree/chromium/TextInputController.h: 14 1 15 2010-09-12 Dirk Pranke <dpranke@chromium.org> 2 16 -
trunk/WebKitTools/DumpRenderTree/chromium/TextInputController.cpp
r57648 r67362 66 66 bindMethod("validAttributesForMarkedText", &TextInputController::validAttributesForMarkedText); 67 67 bindMethod("makeAttributedString", &TextInputController::makeAttributedString); 68 bindMethod("hasSpellingMarker", &TextInputController::hasSpellingMarker); 68 69 } 69 70 … … 215 216 result->setNull(); 216 217 } 218 219 void TextInputController::hasSpellingMarker(const CppArgumentList& arguments, CppVariant* result) 220 { 221 if (arguments.size() < 2 || !arguments[0].isNumber() || !arguments[1].isNumber()) 222 return; 223 WebFrame* mainFrame = getMainFrame(); 224 if (!mainFrame) 225 return; 226 // Returns as a number for a compatibility reason. 227 result->set(mainFrame->selectionStartHasSpellingMarkerFor(arguments[0].toInt32(), arguments[1].toInt32()) ? 1 : 0); 228 } -
trunk/WebKitTools/DumpRenderTree/chromium/TextInputController.h
r55712 r67362 62 62 void validAttributesForMarkedText(const CppArgumentList&, CppVariant*); 63 63 void makeAttributedString(const CppArgumentList&, CppVariant*); 64 void hasSpellingMarker(const CppArgumentList&, CppVariant*); 64 65 65 66 private:
Note: See TracChangeset
for help on using the changeset viewer.