summaryrefslogtreecommitdiffstats
path: root/webkit/glue/editor_client_impl.h
diff options
context:
space:
mode:
authorjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-20 23:06:57 +0000
committerjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-20 23:06:57 +0000
commitdcda464d91fb97423f5b551babffe786b24ee251 (patch)
tree39c48d6ae9e45dd74a48e22395af68c1128f43e0 /webkit/glue/editor_client_impl.h
parentb93568f763472809870ff37735eab7e9cfcdb3c8 (diff)
downloadchromium_src-dcda464d91fb97423f5b551babffe786b24ee251.zip
chromium_src-dcda464d91fb97423f5b551babffe786b24ee251.tar.gz
chromium_src-dcda464d91fb97423f5b551babffe786b24ee251.tar.bz2
Relanding the new autofill.
I rolled it back yesterday, it broke the Linux and Mac builds. TBR=tim Review URL: http://codereview.chromium.org/11543 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5796 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/editor_client_impl.h')
-rw-r--r--webkit/glue/editor_client_impl.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/webkit/glue/editor_client_impl.h b/webkit/glue/editor_client_impl.h
index 189a9af..4d0f057 100644
--- a/webkit/glue/editor_client_impl.h
+++ b/webkit/glue/editor_client_impl.h
@@ -6,6 +6,7 @@
#define WEBKIT_GLUE_EDITOR_CLIENT_IMPL_H__
#include "base/compiler_specific.h"
+#include "base/task.h"
#include "build/build_config.h"
@@ -17,6 +18,7 @@ MSVC_POP_WARNING();
namespace WebCore {
class Frame;
+class HTMLInputElement;
class Node;
class PlatformKeyboardEvent;
}
@@ -103,9 +105,6 @@ class EditorClientImpl : public WebCore::EditorClient {
virtual void setInputMethodState(bool enabled);
void SetUseEditorDelegate(bool value) { use_editor_delegate_ = value; }
- // HACK for webkit bug #16976.
- // TODO (timsteele): Clean this up once webkit bug 16976 is fixed.
- void PreserveSelection();
// It would be better to add these methods to the objects they describe, but
// those are in WebCore and therefore inaccessible.
@@ -123,21 +122,23 @@ class EditorClientImpl : public WebCore::EditorClient {
void ModifySelection(WebCore::Frame* frame,
WebCore::KeyboardEvent* event);
+ void DoAutofill(WebCore::HTMLInputElement* input_element, bool backspace);
+
protected:
WebViewImpl* web_view_;
bool use_editor_delegate_;
bool in_redo_;
- // Should preserve the selection in next call to shouldChangeSelectedRange.
- bool preserve_;
-
- // Points to an HTMLInputElement that was just autocompleted (else NULL),
- // for use by respondToChangedContents().
- WebCore::Element* pending_inline_autocompleted_element_;
-
typedef std::deque<WTF::RefPtr<WebCore::EditCommand> > EditCommandStack;
EditCommandStack undo_stack_;
EditCommandStack redo_stack_;
+
+ private:
+ // Whether the last entered key was a backspace.
+ bool backspace_pressed_;
+
+ // The method factory used to post autofill related tasks.
+ ScopedRunnableMethodFactory<EditorClientImpl> autofill_factory_;
};
#endif // WEBKIT_GLUE_EDITOR_CLIENT_IMPL_H__