Changeset 76098 in webkit
- Timestamp:
- Jan 18, 2011 8:11:18 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r76091 r76098 1 2011-01-18 MORITA Hajime <morrita@google.com> 2 3 Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools. 4 https://bugs.webkit.org/show_bug.cgi?id=52608 5 6 No new tests. no behavioral change. 7 8 * GNUmakefile.am: 9 * WebCore.gypi: 10 * WebCore.pro: 11 * WebCore.vcproj/WebCore.vcproj: 12 * WebCore.xcodeproj/project.pbxproj: 13 * dom/TextEvent.cpp: 14 (WebCore::TextEvent::create): 15 (WebCore::TextEvent::createForDrop): 16 (WebCore::TextEvent::TextEvent): 17 * dom/TextEvent.h: 18 (WebCore::TextEvent::isLineBreak): 19 (WebCore::TextEvent::isBackTab): 20 (WebCore::TextEvent::isPaste): 21 (WebCore::TextEvent::isDrop): 22 * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType. 23 * editing/EditorCommand.cpp: 24 (WebCore::executeInsertBacktab): 25 (WebCore::executeInsertLineBreak): 26 (WebCore::executeInsertNewline): 27 (WebCore::executeInsertTab): 28 * page/EventHandler.cpp: 29 (WebCore::EventHandler::handleTextInputEvent): 30 * page/EventHandler.h: 31 1 32 2011-01-18 Ben Vanik <ben.vanik@gmail.com> 2 33 -
trunk/Source/WebCore/GNUmakefile.am
r76083 r76098 1301 1301 Source/WebCore/dom/TextEvent.cpp \ 1302 1302 Source/WebCore/dom/TextEvent.h \ 1303 Source/WebCore/dom/TextEventInputType.h \ 1303 1304 Source/WebCore/dom/Text.h \ 1304 1305 Source/WebCore/dom/TouchList.h \ -
trunk/Source/WebCore/WebCore.gypi
r76083 r76098 1349 1349 'dom/TextEvent.cpp', 1350 1350 'dom/TextEvent.h', 1351 'dom/TextEventInputType.h', 1351 1352 'dom/Touch.cpp', 1352 1353 'dom/Touch.h', -
trunk/Source/WebCore/WebCore.pro
r76083 r76098 1715 1715 dom/TagNodeList.h \ 1716 1716 dom/TextEvent.h \ 1717 dom/TextEventInputType.h \ 1717 1718 dom/Text.h \ 1718 1719 dom/Touch.h \ -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r76083 r76098 46195 46195 </File> 46196 46196 <File 46197 RelativePath="..\dom\TextEventInputType.h" 46198 > 46199 </File> 46200 <File 46197 46201 RelativePath="..\dom\TransformSource.h" 46198 46202 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r76083 r76098 3180 3180 A77979280D6B9E64003851B9 /* JSImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A77979240D6B9E64003851B9 /* JSImageData.cpp */; }; 3181 3181 A77979290D6B9E64003851B9 /* JSImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = A77979250D6B9E64003851B9 /* JSImageData.h */; }; 3182 A77B41A012E675A90054343D /* TextEventInputType.h in Headers */ = {isa = PBXBuildFile; fileRef = A77B419F12E675A90054343D /* TextEventInputType.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3182 3183 A784941B0B5FE507001E237A /* Clipboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A784941A0B5FE507001E237A /* Clipboard.cpp */; }; 3183 3184 A78FE13B12366B1000ACE8D0 /* SpellChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */; }; … … 9553 9554 A77979240D6B9E64003851B9 /* JSImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSImageData.cpp; sourceTree = "<group>"; }; 9554 9555 A77979250D6B9E64003851B9 /* JSImageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSImageData.h; sourceTree = "<group>"; }; 9556 A77B419F12E675A90054343D /* TextEventInputType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextEventInputType.h; sourceTree = "<group>"; }; 9555 9557 A784941A0B5FE507001E237A /* Clipboard.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Clipboard.cpp; sourceTree = "<group>"; }; 9556 9558 A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpellChecker.cpp; sourceTree = "<group>"; }; … … 19086 19088 933A142D0B7D188600A53FFD /* TextEvent.h */, 19087 19089 933A142C0B7D188600A53FFD /* TextEvent.idl */, 19090 A77B419F12E675A90054343D /* TextEventInputType.h */, 19088 19091 5DB1BC6810715A6400EFAA49 /* TransformSource.h */, 19089 19092 5DB1BC6910715A6400EFAA49 /* TransformSourceLibxslt.cpp */, … … 22146 22149 B2C3DA490D006C1D00EF6F26 /* TextEncodingRegistry.h in Headers */, 22147 22150 933A14300B7D188600A53FFD /* TextEvent.h in Headers */, 22151 A77B41A012E675A90054343D /* TextEventInputType.h in Headers */, 22148 22152 F55B3DD81251F12D003EF269 /* TextFieldInputType.h in Headers */, 22149 22153 93309E18099E64920056E581 /* TextGranularity.h in Headers */, -
trunk/Source/WebCore/dom/TextEvent.cpp
r65395 r76098 32 32 namespace WebCore { 33 33 34 TextEvent::InputType TextEvent::selectInputType(bool isLineBreak, bool isBackTab)35 {36 if (isLineBreak)37 return TextEvent::InputTypeLineBreak;38 if (isBackTab)39 return TextEvent::InputTypeBackTab;40 return TextEvent::InputTypeKeyboard;41 }42 43 34 PassRefPtr<TextEvent> TextEvent::create() 44 35 { … … 46 37 } 47 38 48 PassRefPtr<TextEvent> TextEvent::create(PassRefPtr<AbstractView> view, const String& data, TextEvent ::InputType inputType)39 PassRefPtr<TextEvent> TextEvent::create(PassRefPtr<AbstractView> view, const String& data, TextEventInputType inputType) 49 40 { 50 41 return adoptRef(new TextEvent(view, data, inputType)); … … 63 54 PassRefPtr<TextEvent> TextEvent::createForDrop(PassRefPtr<AbstractView> view, const String& data) 64 55 { 65 return adoptRef(new TextEvent(view, data, TextEvent ::InputTypeDrop));56 return adoptRef(new TextEvent(view, data, TextEventInputDrop)); 66 57 } 67 58 68 59 TextEvent::TextEvent() 69 : m_inputType(TextEvent ::InputTypeKeyboard)60 : m_inputType(TextEventInputKeyboard) 70 61 , m_shouldSmartReplace(false) 71 62 , m_shouldMatchStyle(false) … … 73 64 } 74 65 75 TextEvent::TextEvent(PassRefPtr<AbstractView> view, const String& data, InputType inputType)66 TextEvent::TextEvent(PassRefPtr<AbstractView> view, const String& data, TextEventInputType inputType) 76 67 : UIEvent(eventNames().textInputEvent, true, true, view, 0) 77 68 , m_inputType(inputType) … … 86 77 bool shouldSmartReplace, bool shouldMatchStyle) 87 78 : UIEvent(eventNames().textInputEvent, true, true, view, 0) 88 , m_inputType(TextEvent ::InputTypePaste)79 , m_inputType(TextEventInputPaste) 89 80 , m_data(data) 90 81 , m_pastingFragment(pastingFragment) -
trunk/Source/WebCore/dom/TextEvent.h
r65395 r76098 29 29 30 30 #include "DocumentFragment.h" 31 #include "TextEventInputType.h" 31 32 #include "UIEvent.h" 32 33 … … 35 36 class TextEvent : public UIEvent { 36 37 public: 37 enum InputType {38 InputTypeKeyboard, // any newline characters in the text are line breaks only, not paragraph separators.39 InputTypeLineBreak, // any tab characters in the text are backtabs.40 InputTypeBackTab,41 InputTypePaste,42 InputTypeDrop,43 };44 38 45 static InputType selectInputType(bool isLineBreak, bool isBackTab);46 39 static PassRefPtr<TextEvent> create(); 47 static PassRefPtr<TextEvent> create(PassRefPtr<AbstractView> view, const String& data, InputType = InputTypeKeyboard);40 static PassRefPtr<TextEvent> create(PassRefPtr<AbstractView>, const String& data, TextEventInputType = TextEventInputKeyboard); 48 41 static PassRefPtr<TextEvent> createForPlainTextPaste(PassRefPtr<AbstractView> view, const String& data, bool shouldSmartReplace); 49 42 static PassRefPtr<TextEvent> createForFragmentPaste(PassRefPtr<AbstractView> view, PassRefPtr<DocumentFragment> data, bool shouldSmartReplace, bool shouldMatchStyle); … … 58 51 virtual bool isTextEvent() const; 59 52 60 bool isLineBreak() const { return m_inputType == InputTypeLineBreak; }61 bool isBackTab() const { return m_inputType == InputTypeBackTab; }62 bool isPaste() const { return m_inputType == InputTypePaste; }63 bool isDrop() const { return m_inputType == InputTypeDrop; }53 bool isLineBreak() const { return m_inputType == TextEventInputLineBreak; } 54 bool isBackTab() const { return m_inputType == TextEventInputBackTab; } 55 bool isPaste() const { return m_inputType == TextEventInputPaste; } 56 bool isDrop() const { return m_inputType == TextEventInputDrop; } 64 57 65 58 bool shouldSmartReplace() const { return m_shouldSmartReplace; } … … 70 63 TextEvent(); 71 64 72 TextEvent(PassRefPtr<AbstractView>, const String& data, InputType = InputTypeKeyboard);65 TextEvent(PassRefPtr<AbstractView>, const String& data, TextEventInputType = TextEventInputKeyboard); 73 66 TextEvent(PassRefPtr<AbstractView>, const String& data, PassRefPtr<DocumentFragment>, 74 67 bool shouldSmartReplace, bool shouldMatchStyle); 75 68 76 InputType m_inputType;69 TextEventInputType m_inputType; 77 70 String m_data; 78 71 -
trunk/Source/WebCore/editing/EditorCommand.cpp
r75844 r76098 478 478 static bool executeInsertBacktab(Frame* frame, Event* event, EditorCommandSource, const String&) 479 479 { 480 return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event, false, true);480 return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event, TextEventInputBackTab); 481 481 } 482 482 … … 506 506 switch (source) { 507 507 case CommandFromMenuOrKeyBinding: 508 return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\n", event, true);508 return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\n", event, TextEventInputLineBreak); 509 509 case CommandFromDOM: 510 510 case CommandFromDOMWithUserInterface: … … 522 522 { 523 523 Frame* targetFrame = WebCore::targetFrame(frame, event); 524 return targetFrame->eventHandler()->handleTextInputEvent("\n", event, !targetFrame->editor()->canEditRichly());524 return targetFrame->eventHandler()->handleTextInputEvent("\n", event, targetFrame->editor()->canEditRichly() ? TextEventInputKeyboard : TextEventInputLineBreak); 525 525 } 526 526 … … 545 545 static bool executeInsertTab(Frame* frame, Event* event, EditorCommandSource, const String&) 546 546 { 547 return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event , false, false);547 return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event); 548 548 } 549 549 -
trunk/Source/WebCore/page/EventHandler.cpp
r75932 r76098 2648 2648 #endif // ENABLE(DRAG_SUPPORT) 2649 2649 2650 bool EventHandler::handleTextInputEvent(const String& text, Event* underlyingEvent, bool isLineBreak, bool isBackTab)2650 bool EventHandler::handleTextInputEvent(const String& text, Event* underlyingEvent, TextEventInputType inputType) 2651 2651 { 2652 2652 // Platforms should differentiate real commands like selectAll from text input in disguise (like insertNewline), 2653 2653 // and avoid dispatching text input events from keydown default handlers. 2654 2654 ASSERT(!underlyingEvent || !underlyingEvent->isKeyboardEvent() || static_cast<KeyboardEvent*>(underlyingEvent)->type() == eventNames().keypressEvent); 2655 ASSERT(!(isLineBreak && isBackTab));2656 2655 2657 2656 if (!m_frame) … … 2669 2668 view->resetDeferredRepaintDelay(); 2670 2669 2671 RefPtr<TextEvent> event = TextEvent::create(m_frame->domWindow(), text, TextEvent::selectInputType(isLineBreak, isBackTab));2670 RefPtr<TextEvent> event = TextEvent::create(m_frame->domWindow(), text, inputType); 2672 2671 event->setUnderlyingEvent(underlyingEvent); 2673 2672 -
trunk/Source/WebCore/page/EventHandler.h
r73941 r76098 32 32 #include "PlatformMouseEvent.h" 33 33 #include "ScrollTypes.h" 34 #include "TextEventInputType.h" 34 35 #include "Timer.h" 35 36 #include <wtf/Forward.h> … … 174 175 void defaultKeyboardEventHandler(KeyboardEvent*); 175 176 176 bool handleTextInputEvent(const String& text, Event* underlyingEvent = 0, 177 bool isLineBreak = false, bool isBackTab = false); 177 bool handleTextInputEvent(const String& text, Event* underlyingEvent = 0, TextEventInputType = TextEventInputKeyboard); 178 178 void defaultTextInputEventHandler(TextEvent*); 179 179
Note: See TracChangeset
for help on using the changeset viewer.