Index: Source/WebKit/chromium/tests/WebFrameTest.cpp |
diff --git a/Source/WebKit/chromium/tests/WebFrameTest.cpp b/Source/WebKit/chromium/tests/WebFrameTest.cpp |
index 0acee21acaa575945e03b0d4376b2c0afe2e2298..b78c7ac1487729646ae9d5c8f49d907be42331bf 100644 |
--- a/Source/WebKit/chromium/tests/WebFrameTest.cpp |
+++ b/Source/WebKit/chromium/tests/WebFrameTest.cpp |
@@ -2575,6 +2575,37 @@ TEST_F(WebFrameTest, ReplaceMisspelledRange) |
m_webView = 0; |
} |
+TEST_F(WebFrameTest, RemoveSpellingMarkers) |
+{ |
+ registerMockedHttpURLLoad("spell.html"); |
+ m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "spell.html"); |
+ SpellCheckClient spellcheck; |
+ m_webView->setSpellCheckClient(&spellcheck); |
+ |
+ WebFrameImpl* frame = static_cast<WebFrameImpl*>(m_webView->mainFrame()); |
+ Document* document = frame->frame()->document(); |
+ Element* element = document->getElementById("data"); |
+ |
+ frame->frame()->settings()->setAsynchronousSpellCheckingEnabled(true); |
+ frame->frame()->settings()->setUnifiedTextCheckerEnabled(true); |
+ frame->frame()->settings()->setEditingBehaviorType(WebCore::EditingWindowsBehavior); |
+ |
+ element->focus(); |
+ document->execCommand("InsertText", false, "_wellcome_."); |
+ |
+ frame->removeSpellingMarkers(); |
+ |
+ const int allTextBeginOffset = 0; |
+ const int allTextLength = 11; |
+ frame->selectRange(WebRange::fromDocumentRange(frame, allTextBeginOffset, allTextLength)); |
+ RefPtr<Range> selectionRange = frame->frame()->selection()->toNormalizedRange(); |
+ |
+ EXPECT_EQ(0U, document->markers()->markersInRange(selectionRange.get(), DocumentMarker::Spelling).size()); |
+ |
+ m_webView->close(); |
+ m_webView = 0; |
+} |
+ |
class TestAccessInitialDocumentWebFrameClient : public WebFrameClient { |
public: |
TestAccessInitialDocumentWebFrameClient() : m_didAccessInitialDocument(false) |