Index: webkit/api/src/EditorClientImpl.h |
diff --git a/webkit/api/src/EditorClientImpl.h b/webkit/api/src/EditorClientImpl.h |
deleted file mode 100644 |
index fd08b4d92d2139da33d5ae5e64dd2676d2d255e3..0000000000000000000000000000000000000000 |
--- a/webkit/api/src/EditorClientImpl.h |
+++ /dev/null |
@@ -1,194 +0,0 @@ |
-/* |
- * Copyright (C) 2009 Google Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions are |
- * met: |
- * |
- * * Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * * Redistributions in binary form must reproduce the above |
- * copyright notice, this list of conditions and the following disclaimer |
- * in the documentation and/or other materials provided with the |
- * distribution. |
- * * Neither the name of Google Inc. nor the names of its |
- * contributors may be used to endorse or promote products derived from |
- * this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#ifndef EditorClientImpl_h |
-#define EditorClientImpl_h |
- |
-#include "EditorClient.h" |
-#include "Timer.h" |
-#include <wtf/Deque.h> |
- |
-namespace WebCore { |
-class HTMLInputElement; |
-} |
- |
-namespace WebKit { |
-class WebViewImpl; |
- |
-class EditorClientImpl : public WebCore::EditorClient { |
-public: |
- EditorClientImpl(WebViewImpl* webView); |
- |
- virtual ~EditorClientImpl(); |
- virtual void pageDestroyed(); |
- |
- virtual bool shouldShowDeleteInterface(WebCore::HTMLElement*); |
- virtual bool smartInsertDeleteEnabled(); |
- virtual bool isSelectTrailingWhitespaceEnabled(); |
- virtual bool isContinuousSpellCheckingEnabled(); |
- virtual void toggleContinuousSpellChecking(); |
- virtual bool isGrammarCheckingEnabled(); |
- virtual void toggleGrammarChecking(); |
- virtual int spellCheckerDocumentTag(); |
- virtual bool isEditable(); |
- virtual bool shouldBeginEditing(WebCore::Range*); |
- virtual bool shouldEndEditing(WebCore::Range*); |
- virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, WebCore::EditorInsertAction); |
- virtual bool shouldInsertText(const WebCore::String&, WebCore::Range*, WebCore::EditorInsertAction); |
- virtual bool shouldDeleteRange(WebCore::Range*); |
- virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange, |
- WebCore::Range* toRange, |
- WebCore::EAffinity, |
- bool stillSelecting); |
- virtual bool shouldApplyStyle(WebCore::CSSStyleDeclaration*, WebCore::Range*); |
- virtual bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*); |
- virtual void didBeginEditing(); |
- virtual void respondToChangedContents(); |
- virtual void respondToChangedSelection(); |
- virtual void didEndEditing(); |
- virtual void didWriteSelectionToPasteboard(); |
- virtual void didSetSelectionTypesForPasteboard(); |
- virtual void registerCommandForUndo(PassRefPtr<WebCore::EditCommand>); |
- virtual void registerCommandForRedo(PassRefPtr<WebCore::EditCommand>); |
- virtual void clearUndoRedoOperations(); |
- virtual bool canUndo() const; |
- virtual bool canRedo() const; |
- virtual void undo(); |
- virtual void redo(); |
- virtual const char* interpretKeyEvent(const WebCore::KeyboardEvent*); |
- virtual bool handleEditingKeyboardEvent(WebCore::KeyboardEvent*); |
- virtual void handleKeyboardEvent(WebCore::KeyboardEvent*); |
- virtual void handleInputMethodKeydown(WebCore::KeyboardEvent*); |
- virtual void textFieldDidBeginEditing(WebCore::Element*); |
- virtual void textFieldDidEndEditing(WebCore::Element*); |
- virtual void textDidChangeInTextField(WebCore::Element*); |
- virtual bool doTextFieldCommandFromEvent(WebCore::Element*, WebCore::KeyboardEvent*); |
- virtual void textWillBeDeletedInTextField(WebCore::Element*); |
- virtual void textDidChangeInTextArea(WebCore::Element*); |
- virtual void ignoreWordInSpellDocument(const WebCore::String&); |
- virtual void learnWord(const WebCore::String&); |
- virtual void checkSpellingOfString(const UChar*, int length, |
- int* misspellingLocation, |
- int* misspellingLength); |
- virtual void checkGrammarOfString(const UChar*, int length, |
- WTF::Vector<WebCore::GrammarDetail>&, |
- int* badGrammarLocation, |
- int* badGrammarLength); |
- virtual WebCore::String getAutoCorrectSuggestionForMisspelledWord(const WebCore::String&); |
- virtual void updateSpellingUIWithGrammarString(const WebCore::String&, const WebCore::GrammarDetail&); |
- virtual void updateSpellingUIWithMisspelledWord(const WebCore::String&); |
- virtual void showSpellingUI(bool show); |
- virtual bool spellingUIIsShowing(); |
- virtual void getGuessesForWord(const WebCore::String& word, |
- WTF::Vector<WebCore::String>& guesses); |
- virtual void setInputMethodState(bool enabled); |
- |
- // Shows the form autofill popup for |node| if it is an HTMLInputElement and |
- // it is empty. This is called when you press the up or down arrow in a |
- // text-field or when clicking an already focused text-field. |
- // Returns true if the autofill popup has been scheduled to be shown, false |
- // otherwise. |
- virtual bool showFormAutofillForNode(WebCore::Node*); |
- |
- // Notification that the text changed due to acceptance of a suggestion |
- // provided by an autofill popup. Having a separate callback in this case |
- // is a simple way to break the cycle that would otherwise occur if |
- // textDidChangeInTextField was called. |
- virtual void onAutofillSuggestionAccepted(WebCore::HTMLInputElement*); |
- |
-private: |
- void modifySelection(WebCore::Frame*, WebCore::KeyboardEvent*); |
- |
- // Triggers autofill for an input element if applicable. This can be form |
- // autofill (via a popup-menu) or password autofill depending on the |
- // input element. If |formAutofillOnly| is true, password autofill is not |
- // triggered. |
- // |autofillOnEmptyValue| indicates whether the autofill should be shown |
- // when the text-field is empty. |
- // If |requiresCaretAtEnd| is true, the autofill popup is only shown if the |
- // caret is located at the end of the entered text. |
- // Returns true if the autofill popup has been scheduled to be shown, false |
- // otherwise. |
- bool autofill(WebCore::HTMLInputElement*, |
- bool formAutofillOnly, bool autofillOnEmptyValue, |
- bool requiresCaretAtEnd); |
- |
- // Called to process the autofill described by m_autofillArgs. |
- // This method is invoked asynchronously if the caret position is not |
- // reflecting the last text change yet, and we need it to decide whether or |
- // not to show the autofill popup. |
- void doAutofill(WebCore::Timer<EditorClientImpl>*); |
- |
- void cancelPendingAutofill(); |
- |
- // Returns whether or not the focused control needs spell-checking. |
- // Currently, this function just retrieves the focused node and determines |
- // whether or not it is a <textarea> element or an element whose |
- // contenteditable attribute is true. |
- // FIXME: Bug 740540: This code just implements the default behavior |
- // proposed in this issue. We should also retrieve "spellcheck" attributes |
- // for text fields and create a flag to over-write the default behavior. |
- bool shouldSpellcheckByDefault(); |
- |
- WebViewImpl* m_webView; |
- bool m_inRedo; |
- |
- typedef Deque<RefPtr<WebCore::EditCommand> > EditCommandStack; |
- EditCommandStack m_undoStack; |
- EditCommandStack m_redoStack; |
- |
- // Whether the last entered key was a backspace. |
- bool m_backspaceOrDeletePressed; |
- |
- // This flag is set to false if spell check for this editor is manually |
- // turned off. The default setting is SpellCheckAutomatic. |
- enum { |
- SpellCheckAutomatic, |
- SpellCheckForcedOn, |
- SpellCheckForcedOff |
- }; |
- int m_spellCheckThisFieldStatus; |
- |
- // Used to delay autofill processing. |
- WebCore::Timer<EditorClientImpl> m_autofillTimer; |
- |
- struct AutofillArgs { |
- RefPtr<WebCore::HTMLInputElement> inputElement; |
- bool autofillFormOnly; |
- bool autofillOnEmptyValue; |
- bool requireCaretAtEnd; |
- bool backspaceOrDeletePressed; |
- }; |
- OwnPtr<AutofillArgs> m_autofillArgs; |
-}; |
- |
-} // namespace WebKit |
- |
-#endif |