Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(220)

Unified Diff: webkit/glue/editor_client_impl.h

Issue 330021: Move glue/EditorClientImpl.h/cpp to webkit/api/src (Closed)
Patch Set: Patch 5 Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/glue/editor_client_impl.h
diff --git a/webkit/glue/editor_client_impl.h b/webkit/glue/editor_client_impl.h
deleted file mode 100644
index 9d937116e5fdb186c2ffa7e5a9d24bed36670449..0000000000000000000000000000000000000000
--- a/webkit/glue/editor_client_impl.h
+++ /dev/null
@@ -1,187 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef WEBKIT_GLUE_EDITOR_CLIENT_IMPL_H__
-#define WEBKIT_GLUE_EDITOR_CLIENT_IMPL_H__
-
-#include "DOMWindow.h"
-#include "EditorClient.h"
-#include "Timer.h"
-#include <wtf/Deque.h>
-
-namespace WebCore {
-class Frame;
-class HTMLInputElement;
-class Node;
-class PlatformKeyboardEvent;
-}
-
-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* range);
- virtual bool shouldEndEditing(WebCore::Range* range);
- virtual bool shouldInsertNode(WebCore::Node* node, WebCore::Range* range,
- WebCore::EditorInsertAction action);
- virtual bool shouldInsertText(const WebCore::String& text, WebCore::Range* range,
- WebCore::EditorInsertAction action);
- virtual bool shouldDeleteRange(WebCore::Range* range);
- virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange,
- WebCore::Range* toRange,
- WebCore::EAffinity affinity,
- bool stillSelecting);
- virtual bool shouldApplyStyle(WebCore::CSSStyleDeclaration* style,
- WebCore::Range* 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* 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& misspelledWord);
- virtual void updateSpellingUIWithGrammarString(const WebCore::String&,
- const WebCore::GrammarDetail& detail);
- virtual void updateSpellingUIWithMisspelledWord(const WebCore::String&);
- virtual void showSpellingUI(bool show);
- virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const WebCore::String&,
- 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* node);
-
- // Notification that the text changed in |text_field| 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* text_field);
-
- private:
- void ModifySelection(WebCore::Frame* frame,
- WebCore::KeyboardEvent* event);
-
- // Triggers autofill for |input_element| if applicable. This can be form
- // autofill (via a popup-menu) or password autofill depending on
- // |input_element|. If |form_autofill_only| is true, password autofill is not
- // triggered.
- // |autofill_on_empty_value| indicates whether the autofill should be shown
- // when the text-field is empty.
- // If |requires_caret_at_end| is true, the autofill popup is only shown if the
- // caret is located at the end of the entered text in |input_element|.
- // Returns true if the autofill popup has been scheduled to be shown, false
- // otherwise.
- bool Autofill(WebCore::HTMLInputElement* input_element,
- bool form_autofill_only,
- bool autofill_on_empty_value,
- bool requires_caret_at_end);
-
- private:
- // Called to process the autofill described by autofill_args_.
- // 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.
- // TODO(hbono): 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* webview_;
- bool in_redo_;
-
- typedef Deque< RefPtr<WebCore::EditCommand> > EditCommandStack;
- EditCommandStack undo_stack_;
- EditCommandStack redo_stack_;
-
- // Whether the last entered key was a backspace.
- bool backspace_or_delete_pressed_;
-
- // This flag is set to false if spell check for this editor is manually
- // turned off. The default setting is SPELLCHECK_AUTOMATIC.
- enum {
- SPELLCHECK_AUTOMATIC,
- SPELLCHECK_FORCED_ON,
- SPELLCHECK_FORCED_OFF
- };
- int spell_check_this_field_status_;
-
- // Used to delay autofill processing.
- WebCore::Timer<EditorClientImpl> autofill_timer_;
-
- struct AutofillArgs {
- RefPtr<WebCore::HTMLInputElement> input_element;
- bool autofill_form_only;
- bool autofill_on_empty_value;
- bool require_caret_at_end;
- bool backspace_or_delete_pressed;
- };
- OwnPtr<AutofillArgs> autofill_args_;
-};
-
-#endif // WEBKIT_GLUE_EDITOR_CLIENT_IMPL_H__

Powered by Google App Engine
This is Rietveld 408576698