Changeset 76098 in webkit


Ignore:
Timestamp:
Jan 18, 2011 8:11:18 PM (13 years ago)
Author:
morrita@google.com
Message:

2011-01-18 MORITA Hajime <morrita@google.com>

Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
https://bugs.webkit.org/show_bug.cgi?id=52608

No new tests. no behavioral change.

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/TextEvent.cpp: (WebCore::TextEvent::create): (WebCore::TextEvent::createForDrop): (WebCore::TextEvent::TextEvent):
  • dom/TextEvent.h: (WebCore::TextEvent::isLineBreak): (WebCore::TextEvent::isBackTab): (WebCore::TextEvent::isPaste): (WebCore::TextEvent::isDrop):
  • dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
  • editing/EditorCommand.cpp: (WebCore::executeInsertBacktab): (WebCore::executeInsertLineBreak): (WebCore::executeInsertNewline): (WebCore::executeInsertTab):
  • page/EventHandler.cpp: (WebCore::EventHandler::handleTextInputEvent):
  • page/EventHandler.h:
Location:
trunk/Source/WebCore
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r76091 r76098  
     12011-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
    1322011-01-18  Ben Vanik  <ben.vanik@gmail.com>
    233
  • trunk/Source/WebCore/GNUmakefile.am

    r76083 r76098  
    13011301        Source/WebCore/dom/TextEvent.cpp \
    13021302        Source/WebCore/dom/TextEvent.h \
     1303        Source/WebCore/dom/TextEventInputType.h \
    13031304        Source/WebCore/dom/Text.h \
    13041305        Source/WebCore/dom/TouchList.h \
  • trunk/Source/WebCore/WebCore.gypi

    r76083 r76098  
    13491349            'dom/TextEvent.cpp',
    13501350            'dom/TextEvent.h',
     1351            'dom/TextEventInputType.h',
    13511352            'dom/Touch.cpp',
    13521353            'dom/Touch.h',
  • trunk/Source/WebCore/WebCore.pro

    r76083 r76098  
    17151715    dom/TagNodeList.h \
    17161716    dom/TextEvent.h \
     1717    dom/TextEventInputType.h \
    17171718    dom/Text.h \
    17181719    dom/Touch.h \
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r76083 r76098  
    4619546195                        </File>
    4619646196                        <File
     46197                                RelativePath="..\dom\TextEventInputType.h"
     46198                                >
     46199                        </File>
     46200                        <File
    4619746201                                RelativePath="..\dom\TransformSource.h"
    4619846202                                >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r76083 r76098  
    31803180                A77979280D6B9E64003851B9 /* JSImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A77979240D6B9E64003851B9 /* JSImageData.cpp */; };
    31813181                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, ); }; };
    31823183                A784941B0B5FE507001E237A /* Clipboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A784941A0B5FE507001E237A /* Clipboard.cpp */; };
    31833184                A78FE13B12366B1000ACE8D0 /* SpellChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */; };
     
    95539554                A77979240D6B9E64003851B9 /* JSImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSImageData.cpp; sourceTree = "<group>"; };
    95549555                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>"; };
    95559557                A784941A0B5FE507001E237A /* Clipboard.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Clipboard.cpp; sourceTree = "<group>"; };
    95569558                A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpellChecker.cpp; sourceTree = "<group>"; };
     
    1908619088                                933A142D0B7D188600A53FFD /* TextEvent.h */,
    1908719089                                933A142C0B7D188600A53FFD /* TextEvent.idl */,
     19090                                A77B419F12E675A90054343D /* TextEventInputType.h */,
    1908819091                                5DB1BC6810715A6400EFAA49 /* TransformSource.h */,
    1908919092                                5DB1BC6910715A6400EFAA49 /* TransformSourceLibxslt.cpp */,
     
    2214622149                                B2C3DA490D006C1D00EF6F26 /* TextEncodingRegistry.h in Headers */,
    2214722150                                933A14300B7D188600A53FFD /* TextEvent.h in Headers */,
     22151                                A77B41A012E675A90054343D /* TextEventInputType.h in Headers */,
    2214822152                                F55B3DD81251F12D003EF269 /* TextFieldInputType.h in Headers */,
    2214922153                                93309E18099E64920056E581 /* TextGranularity.h in Headers */,
  • trunk/Source/WebCore/dom/TextEvent.cpp

    r65395 r76098  
    3232namespace WebCore {
    3333
    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 
    4334PassRefPtr<TextEvent> TextEvent::create()
    4435{
     
    4637}
    4738
    48 PassRefPtr<TextEvent> TextEvent::create(PassRefPtr<AbstractView> view, const String& data, TextEvent::InputType inputType)
     39PassRefPtr<TextEvent> TextEvent::create(PassRefPtr<AbstractView> view, const String& data, TextEventInputType inputType)
    4940{
    5041    return adoptRef(new TextEvent(view, data, inputType));
     
    6354PassRefPtr<TextEvent> TextEvent::createForDrop(PassRefPtr<AbstractView> view, const String& data)
    6455{
    65     return adoptRef(new TextEvent(view, data, TextEvent::InputTypeDrop));
     56    return adoptRef(new TextEvent(view, data, TextEventInputDrop));
    6657}
    6758
    6859TextEvent::TextEvent()
    69     : m_inputType(TextEvent::InputTypeKeyboard)
     60    : m_inputType(TextEventInputKeyboard)
    7061    , m_shouldSmartReplace(false)
    7162    , m_shouldMatchStyle(false)
     
    7364}
    7465
    75 TextEvent::TextEvent(PassRefPtr<AbstractView> view, const String& data, InputType inputType)
     66TextEvent::TextEvent(PassRefPtr<AbstractView> view, const String& data, TextEventInputType inputType)
    7667    : UIEvent(eventNames().textInputEvent, true, true, view, 0)
    7768    , m_inputType(inputType)
     
    8677                     bool shouldSmartReplace, bool shouldMatchStyle)
    8778    : UIEvent(eventNames().textInputEvent, true, true, view, 0)
    88     , m_inputType(TextEvent::InputTypePaste)
     79    , m_inputType(TextEventInputPaste)
    8980    , m_data(data)
    9081    , m_pastingFragment(pastingFragment)
  • trunk/Source/WebCore/dom/TextEvent.h

    r65395 r76098  
    2929
    3030#include "DocumentFragment.h"
     31#include "TextEventInputType.h"
    3132#include "UIEvent.h"
    3233
     
    3536    class TextEvent : public UIEvent {
    3637    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         };
    4438
    45         static InputType selectInputType(bool isLineBreak, bool isBackTab);
    4639        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);
    4841        static PassRefPtr<TextEvent> createForPlainTextPaste(PassRefPtr<AbstractView> view, const String& data, bool shouldSmartReplace);
    4942        static PassRefPtr<TextEvent> createForFragmentPaste(PassRefPtr<AbstractView> view, PassRefPtr<DocumentFragment> data, bool shouldSmartReplace, bool shouldMatchStyle);
     
    5851        virtual bool isTextEvent() const;
    5952
    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; }
    6457
    6558        bool shouldSmartReplace() const { return m_shouldSmartReplace; }
     
    7063        TextEvent();
    7164
    72         TextEvent(PassRefPtr<AbstractView>, const String& data, InputType = InputTypeKeyboard);
     65        TextEvent(PassRefPtr<AbstractView>, const String& data, TextEventInputType = TextEventInputKeyboard);
    7366        TextEvent(PassRefPtr<AbstractView>, const String& data, PassRefPtr<DocumentFragment>,
    7467                  bool shouldSmartReplace, bool shouldMatchStyle);
    7568
    76         InputType m_inputType;
     69        TextEventInputType m_inputType;
    7770        String m_data;
    7871
  • trunk/Source/WebCore/editing/EditorCommand.cpp

    r75844 r76098  
    478478static bool executeInsertBacktab(Frame* frame, Event* event, EditorCommandSource, const String&)
    479479{
    480     return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event, false, true);
     480    return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event, TextEventInputBackTab);
    481481}
    482482
     
    506506    switch (source) {
    507507    case CommandFromMenuOrKeyBinding:
    508         return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\n", event, true);
     508        return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\n", event, TextEventInputLineBreak);
    509509    case CommandFromDOM:
    510510    case CommandFromDOMWithUserInterface:
     
    522522{
    523523    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);
    525525}
    526526
     
    545545static bool executeInsertTab(Frame* frame, Event* event, EditorCommandSource, const String&)
    546546{
    547     return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event, false, false);
     547    return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\t", event);
    548548}
    549549
  • trunk/Source/WebCore/page/EventHandler.cpp

    r75932 r76098  
    26482648#endif // ENABLE(DRAG_SUPPORT)
    26492649 
    2650 bool EventHandler::handleTextInputEvent(const String& text, Event* underlyingEvent, bool isLineBreak, bool isBackTab)
     2650bool EventHandler::handleTextInputEvent(const String& text, Event* underlyingEvent, TextEventInputType inputType)
    26512651{
    26522652    // Platforms should differentiate real commands like selectAll from text input in disguise (like insertNewline),
    26532653    // and avoid dispatching text input events from keydown default handlers.
    26542654    ASSERT(!underlyingEvent || !underlyingEvent->isKeyboardEvent() || static_cast<KeyboardEvent*>(underlyingEvent)->type() == eventNames().keypressEvent);
    2655     ASSERT(!(isLineBreak && isBackTab));
    26562655
    26572656    if (!m_frame)
     
    26692668        view->resetDeferredRepaintDelay();
    26702669
    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);
    26722671    event->setUnderlyingEvent(underlyingEvent);
    26732672
  • trunk/Source/WebCore/page/EventHandler.h

    r73941 r76098  
    3232#include "PlatformMouseEvent.h"
    3333#include "ScrollTypes.h"
     34#include "TextEventInputType.h"
    3435#include "Timer.h"
    3536#include <wtf/Forward.h>
     
    174175    void defaultKeyboardEventHandler(KeyboardEvent*);
    175176
    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);
    178178    void defaultTextInputEventHandler(TextEvent*);
    179179
Note: See TracChangeset for help on using the changeset viewer.