Changeset 74044 in webkit


Ignore:
Timestamp:
Dec 14, 2010 11:30:22 AM (13 years ago)
Author:
Dimitri Glazkov
Message:

2010-12-13 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by David Levin.

Move SliderThumbElement into its own file.
https://bugs.webkit.org/show_bug.cgi?id=50973

No change in behavior, so no tests.

  • Android.mk: Added SliderThumbElement.
  • CMakeLists.txt: Ditto.
  • WebCore.gyp/WebCore.gyp: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto,
  • html/shadow/SliderThumbElement.cpp: Added.
  • html/shadow/SliderThumbElement.h: Added.
  • rendering/RenderSlider.cpp: Removed code that was moved into

SliderThumbElement.

Location:
trunk/WebCore
Files:
3 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/Android.mk

    r73756 r74044  
    345345        html/parser/TextDocumentParser.cpp \
    346346        html/parser/TextViewSourceParser.cpp \
     347        \
     348        html/shadow/SliderThumbElement.cpp \
    347349        \
    348350        loader/cache/CachedCSSStyleSheet.cpp \
  • trunk/WebCore/CMakeLists.txt

    r73939 r74044  
    1919    "${WEBCORE_DIR}/html/canvas"
    2020    "${WEBCORE_DIR}/html/parser"
     21    "${WEBCORE_DIR}/html/shadow"
    2122    "${WEBCORE_DIR}/inspector"
    2223    "${WEBCORE_DIR}/loader"
     
    11421143    html/parser/TextDocumentParser.cpp
    11431144    html/parser/TextViewSourceParser.cpp
     1145
     1146    html/shadow/SliderThumbElement.cpp
    11441147
    11451148    inspector/ConsoleMessage.cpp
  • trunk/WebCore/ChangeLog

    r74041 r74044  
     12010-12-13  Dimitri Glazkov  <dglazkov@chromium.org>
     2
     3        Reviewed by David Levin.
     4
     5        Move SliderThumbElement into its own file.
     6        https://bugs.webkit.org/show_bug.cgi?id=50973
     7
     8        No change in behavior, so no tests.
     9
     10        * Android.mk: Added SliderThumbElement.
     11        * CMakeLists.txt: Ditto.
     12        * WebCore.gyp/WebCore.gyp: Ditto.
     13        * WebCore.gypi: Ditto.
     14        * WebCore.pro: Ditto.
     15        * WebCore.vcproj/WebCore.vcproj: Ditto.
     16        * WebCore.xcodeproj/project.pbxproj: Ditto,
     17        * html/shadow/SliderThumbElement.cpp: Added.
     18        * html/shadow/SliderThumbElement.h: Added.
     19        * rendering/RenderSlider.cpp: Removed code that was moved into
     20            SliderThumbElement.
     21
    1222010-12-13  Alexey Proskuryakov  <ap@apple.com>
    223
  • trunk/WebCore/GNUmakefile.am

    r73939 r74044  
    2525        -I$(srcdir)/WebCore/html/canvas \
    2626        -I$(srcdir)/WebCore/html/parser \
     27        -I$(srcdir)/WebCore/html/shadow \
    2728        -I$(srcdir)/WebCore/inspector \
    2829        -I$(srcdir)/WebCore/loader \
  • trunk/WebCore/WebCore.gyp/WebCore.gyp

    r73736 r74044  
    134134      '../html/canvas',
    135135      '../html/parser',
     136      '../html/shadow',
    136137      '../inspector',
    137138      '../loader',
  • trunk/WebCore/WebCore.gypi

    r73939 r74044  
    19901990            'html/parser/TextViewSourceParser.cpp',
    19911991            'html/parser/TextViewSourceParser.h',
     1992            'html/shadow/SliderThumbElement.cpp',
     1993            'html/shadow/SliderThumbElement.h',
    19921994            'inspector/ConsoleMessage.cpp',
    19931995            'inspector/ConsoleMessage.h',
  • trunk/WebCore/WebCore.pro

    r73939 r74044  
    228228    $$PWD/html/canvas \
    229229    $$PWD/html/parser \
     230    $$PWD/html/shadow \
    230231    $$PWD/inspector \
    231232    $$PWD/loader \
     
    10211022    html/parser/TextDocumentParser.cpp \
    10221023    html/parser/TextViewSourceParser.cpp \
     1024    html/shadow/SliderThumbElement.cpp \
    10231025    inspector/ConsoleMessage.cpp \
    10241026    inspector/InjectedScript.cpp \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r73939 r74044  
    5532255322                                </File>
    5532355323                        </Filter>
     55324                        <Filter
     55325                                Name="shadow"
     55326                                >
     55327                                <File
     55328                                        RelativePath="..\html\shadow\SliderThumbElement.cpp"
     55329                                        >
     55330                                </File>
     55331                                <File
     55332                                        RelativePath="..\html\shadow\SliderThumbElement.h"
     55333                                        >
     55334                                </File>
     55335                        </Filter>
    5532455336                </Filter>
    5532555337                <Filter
  • trunk/WebCore/WebCore.vcproj/WebCoreCommon.vsprops

    r73060 r74044  
    88        <Tool
    99                Name="VCCLCompilerTool"
    10                 AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\notifications&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(WebKitOutputDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(WebKitOutputDir)\include&quot;;&quot;$(WebKitOutputDir)\include\private&quot;;&quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
     10                AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\html\shadow&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\notifications&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(WebKitOutputDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(WebKitOutputDir)\include&quot;;&quot;$(WebKitOutputDir)\include\private&quot;;&quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
    1111                PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS"
    1212                UsePrecompiledHeader="2"
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r73964 r74044  
    920920                4138D3351244054800323D33 /* EventContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 4138D3331244054800323D33 /* EventContext.h */; };
    921921                4138D3361244054800323D33 /* EventContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4138D3341244054800323D33 /* EventContext.cpp */; };
     922                4150F9F112B6E0E70008C860 /* SliderThumbElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 4150F9EF12B6E0E70008C860 /* SliderThumbElement.h */; };
     923                4150F9F212B6E0E70008C860 /* SliderThumbElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */; };
    922924                4162A450101145AE00DFF3ED /* DedicatedWorkerContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4162A44D101145AE00DFF3ED /* DedicatedWorkerContext.cpp */; };
    923925                4162A451101145AE00DFF3ED /* DedicatedWorkerContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 4162A44E101145AE00DFF3ED /* DedicatedWorkerContext.h */; };
     
    72217223                4138D3331244054800323D33 /* EventContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventContext.h; sourceTree = "<group>"; };
    72227224                4138D3341244054800323D33 /* EventContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventContext.cpp; sourceTree = "<group>"; };
     7225                4150F9EF12B6E0E70008C860 /* SliderThumbElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SliderThumbElement.h; sourceTree = "<group>"; };
     7226                4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SliderThumbElement.cpp; sourceTree = "<group>"; };
    72237227                4162A44D101145AE00DFF3ED /* DedicatedWorkerContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DedicatedWorkerContext.cpp; path = workers/DedicatedWorkerContext.cpp; sourceTree = "<group>"; };
    72247228                4162A44E101145AE00DFF3ED /* DedicatedWorkerContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DedicatedWorkerContext.h; path = workers/DedicatedWorkerContext.h; sourceTree = "<group>"; };
     
    1302313027                        sourceTree = "<group>";
    1302413028                };
     13029                4150F9ED12B6E0990008C860 /* shadow */ = {
     13030                        isa = PBXGroup;
     13031                        children = (
     13032                                4150F9EF12B6E0E70008C860 /* SliderThumbElement.h */,
     13033                                4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */,
     13034                        );
     13035                        path = shadow;
     13036                        sourceTree = "<group>";
     13037                };
    1302513038                449195900FBE175B00D9F824 /* Exports */ = {
    1302613039                        isa = PBXGroup;
     
    1518215195                                49484FAE102CF01E00187DD3 /* canvas */,
    1518315196                                97C1F5511228558800EDE616 /* parser */,
     15197                                4150F9ED12B6E0990008C860 /* shadow */,
    1518415198                                B0149E7911A4B21500196A7B /* AsyncImageResizer.cpp */,
    1518515199                                B0149E7A11A4B21500196A7B /* AsyncImageResizer.h */,
     
    2156921583                                51327D6011A33A2B004F9D65 /* SinkDocument.h in Headers */,
    2157021584                                49E911CD0EF86D47009D0CAF /* SkewTransformOperation.h in Headers */,
     21585                                4150F9F112B6E0E70008C860 /* SliderThumbElement.h in Headers */,
    2157121586                                4B6FA6F40C39E48C00087011 /* SmartReplace.h in Headers */,
    2157221587                                E4AFD00C0DAF335400F5F55C /* SMILTime.h in Headers */,
     
    2434024355                                51327D6111A33A2B004F9D65 /* SinkDocument.cpp in Sources */,
    2434124356                                49E911CC0EF86D47009D0CAF /* SkewTransformOperation.cpp in Sources */,
     24357                                4150F9F212B6E0E70008C860 /* SliderThumbElement.cpp in Sources */,
    2434224358                                4B6FA6F50C39E48C00087011 /* SmartReplace.cpp in Sources */,
    2434324359                                4B6FA6F70C39E4A100087011 /* SmartReplaceCF.cpp in Sources */,
  • trunk/WebCore/rendering/RenderSlider.cpp

    r73618 r74044  
    3737#include "RenderView.h"
    3838#include "ShadowElement.h"
     39#include "SliderThumbElement.h"
    3940#include "StepRange.h"
    4041#include <wtf/MathExtras.h>
     
    5152    StepRange range(element);
    5253    return range.proportionFromValue(range.valueFromElement(element));
    53 }
    54 
    55 class SliderThumbElement : public ShadowBlockElement {
    56 public:
    57     static PassRefPtr<SliderThumbElement> create(HTMLElement* shadowParent);
    58 
    59     bool inDragMode() const { return m_inDragMode; }
    60 
    61     virtual void defaultEventHandler(Event*);
    62     virtual void detach();
    63 
    64 private:       
    65     SliderThumbElement(HTMLElement* shadowParent);
    66 
    67     FloatPoint m_offsetToThumb;
    68     bool m_inDragMode;
    69 };
    70 
    71 inline SliderThumbElement::SliderThumbElement(HTMLElement* shadowParent)
    72     : ShadowBlockElement(shadowParent)
    73     , m_inDragMode(false)
    74 {
    75 }
    76 
    77 inline PassRefPtr<SliderThumbElement> SliderThumbElement::create(HTMLElement* shadowParent)
    78 {
    79     return adoptRef(new SliderThumbElement(shadowParent));
    80 }
    81 
    82 void SliderThumbElement::defaultEventHandler(Event* event)
    83 {
    84     if (!event->isMouseEvent()) {
    85         ShadowBlockElement::defaultEventHandler(event);
    86         return;
    87     }
    88 
    89     MouseEvent* mouseEvent = static_cast<MouseEvent*>(event);
    90     bool isLeftButton = mouseEvent->button() == LeftButton;
    91     const AtomicString& eventType = event->type();
    92 
    93     if (eventType == eventNames().mousedownEvent && isLeftButton) {
    94         if (document()->frame() && renderer()) {
    95             RenderSlider* slider = toRenderSlider(renderer()->parent());
    96             if (slider) {
    97                 if (slider->mouseEventIsInThumb(mouseEvent)) {
    98                     // We selected the thumb, we want the cursor to always stay at
    99                     // the same position relative to the thumb.
    100                     m_offsetToThumb = slider->mouseEventOffsetToThumb(mouseEvent);
    101                 } else {
    102                     // We are outside the thumb, move the thumb to the point were
    103                     // we clicked. We'll be exactly at the center of the thumb.
    104                     m_offsetToThumb.setX(0);
    105                     m_offsetToThumb.setY(0);
    106                 }
    107 
    108                 m_inDragMode = true;
    109                 document()->frame()->eventHandler()->setCapturingMouseEventsNode(shadowHost());
    110                 event->setDefaultHandled();
    111                 return;
    112             }
    113         }
    114     } else if (eventType == eventNames().mouseupEvent && isLeftButton) {
    115         if (m_inDragMode) {
    116             if (Frame* frame = document()->frame())
    117                 frame->eventHandler()->setCapturingMouseEventsNode(0);     
    118             m_inDragMode = false;
    119             event->setDefaultHandled();
    120             return;
    121         }
    122     } else if (eventType == eventNames().mousemoveEvent) {
    123         if (m_inDragMode && renderer() && renderer()->parent()) {
    124             RenderSlider* slider = toRenderSlider(renderer()->parent());
    125             if (slider) {
    126                 FloatPoint curPoint = slider->absoluteToLocal(mouseEvent->absoluteLocation(), false, true);
    127                 IntPoint eventOffset(curPoint.x() + m_offsetToThumb.x(), curPoint.y() + m_offsetToThumb.y());
    128                 slider->setValueForPosition(slider->positionForOffset(eventOffset));
    129                 event->setDefaultHandled();
    130                 return;
    131             }
    132         }
    133     }
    134 
    135     ShadowBlockElement::defaultEventHandler(event);
    136 }
    137 
    138 void SliderThumbElement::detach()
    139 {
    140     if (m_inDragMode) {
    141         if (Frame* frame = document()->frame())
    142             frame->eventHandler()->setCapturingMouseEventsNode(0);     
    143     }
    144     ShadowBlockElement::detach();
    14554}
    14655
Note: See TracChangeset for help on using the changeset viewer.