Changeset 74044 in webkit
- Timestamp:
- Dec 14, 2010 11:30:22 AM (13 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 3 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/Android.mk
r73756 r74044 345 345 html/parser/TextDocumentParser.cpp \ 346 346 html/parser/TextViewSourceParser.cpp \ 347 \ 348 html/shadow/SliderThumbElement.cpp \ 347 349 \ 348 350 loader/cache/CachedCSSStyleSheet.cpp \ -
trunk/WebCore/CMakeLists.txt
r73939 r74044 19 19 "${WEBCORE_DIR}/html/canvas" 20 20 "${WEBCORE_DIR}/html/parser" 21 "${WEBCORE_DIR}/html/shadow" 21 22 "${WEBCORE_DIR}/inspector" 22 23 "${WEBCORE_DIR}/loader" … … 1142 1143 html/parser/TextDocumentParser.cpp 1143 1144 html/parser/TextViewSourceParser.cpp 1145 1146 html/shadow/SliderThumbElement.cpp 1144 1147 1145 1148 inspector/ConsoleMessage.cpp -
trunk/WebCore/ChangeLog
r74041 r74044 1 2010-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 1 22 2010-12-13 Alexey Proskuryakov <ap@apple.com> 2 23 -
trunk/WebCore/GNUmakefile.am
r73939 r74044 25 25 -I$(srcdir)/WebCore/html/canvas \ 26 26 -I$(srcdir)/WebCore/html/parser \ 27 -I$(srcdir)/WebCore/html/shadow \ 27 28 -I$(srcdir)/WebCore/inspector \ 28 29 -I$(srcdir)/WebCore/loader \ -
trunk/WebCore/WebCore.gyp/WebCore.gyp
r73736 r74044 134 134 '../html/canvas', 135 135 '../html/parser', 136 '../html/shadow', 136 137 '../inspector', 137 138 '../loader', -
trunk/WebCore/WebCore.gypi
r73939 r74044 1990 1990 'html/parser/TextViewSourceParser.cpp', 1991 1991 'html/parser/TextViewSourceParser.h', 1992 'html/shadow/SliderThumbElement.cpp', 1993 'html/shadow/SliderThumbElement.h', 1992 1994 'inspector/ConsoleMessage.cpp', 1993 1995 'inspector/ConsoleMessage.h', -
trunk/WebCore/WebCore.pro
r73939 r74044 228 228 $$PWD/html/canvas \ 229 229 $$PWD/html/parser \ 230 $$PWD/html/shadow \ 230 231 $$PWD/inspector \ 231 232 $$PWD/loader \ … … 1021 1022 html/parser/TextDocumentParser.cpp \ 1022 1023 html/parser/TextViewSourceParser.cpp \ 1024 html/shadow/SliderThumbElement.cpp \ 1023 1025 inspector/ConsoleMessage.cpp \ 1024 1026 inspector/InjectedScript.cpp \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r73939 r74044 55322 55322 </File> 55323 55323 </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> 55324 55336 </Filter> 55325 55337 <Filter -
trunk/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
r73060 r74044 8 8 <Tool 9 9 Name="VCCLCompilerTool" 10 AdditionalIncludeDirectories=""$(ProjectDir)..";"$(ProjectDir)..\accessibility";"$(ProjectDir)..\accessibility\win";"$(ProjectDir)..\bridge";"$(ProjectDir)..\bridge\c";"$(ProjectDir)..\bridge\jsc";"$(ProjectDir)..\css";"$(ProjectDir)..\editing";"$(ProjectDir)..\fileapi";"$(ProjectDir)..\rendering";"$(ProjectDir)..\rendering\style";"$(ProjectDir)..\rendering\svg";"$(ProjectDir)..\bindings";"$(ProjectDir)..\bindings\generic";"$(ProjectDir)..\bindings\js";"$(ProjectDir)..\bindings\js\specialization";"$(ProjectDir)..\dom";"$(ProjectDir)..\dom\default";"$(ProjectDir)..\history";"$(ProjectDir)..\html";"$(ProjectDir)..\html\canvas";"$(ProjectDir)..\html\parser";"$(ProjectDir)..\ inspector";"$(ProjectDir)..\loader";"$(ProjectDir)..\loader\appcache";"$(ProjectDir)..\loader\archive";"$(ProjectDir)..\loader\archive\cf";"$(ProjectDir)..\loader\cache";"$(ProjectDir)..\loader\icon";"$(ProjectDir)..\mathml";"$(ProjectDir)..\notifications";"$(ProjectDir)..\page";"$(ProjectDir)..\page\animation";"$(ProjectDir)..\page\win";"$(ProjectDir)..\platform";"$(ProjectDir)..\platform\animation";"$(ProjectDir)..\platform\mock";"$(ProjectDir)..\platform\sql";"$(ProjectDir)..\platform\win";"$(ProjectDir)..\platform\network";"$(ProjectDir)..\platform\network\win";"$(ProjectDir)..\platform\cf";"$(ProjectDir)..\platform\graphics";"$(ProjectDir)..\platform\graphics\filters";"$(ProjectDir)..\platform\graphics\opentype";"$(ProjectDir)..\platform\graphics\transforms";"$(ProjectDir)..\platform\text";"$(ProjectDir)..\platform\text\transcoder";"$(ProjectDir)..\platform\graphics\win";"$(ProjectDir)..\xml";"$(WebKitOutputDir)\obj\WebCore\DerivedSources";"$(ProjectDir)..\plugins";"$(ProjectDir)..\plugins\win";"$(ProjectDir)..\svg\animation";"$(ProjectDir)..\svg\graphics";"$(ProjectDir)..\svg\properties";"$(ProjectDir)..\svg\graphics\filters";"$(ProjectDir)..\svg";"$(ProjectDir)..\wml";"$(ProjectDir)..\storage";"$(ProjectDir)..\websockets";"$(ProjectDir)..\workers";"$(WebKitOutputDir)\include";"$(WebKitOutputDir)\include\private";"$(WebKitOutputDir)\include\JavaScriptCore";"$(WebKitOutputDir)\include\private\JavaScriptCore";"$(ProjectDir)..\ForwardingHeaders";"$(WebKitLibrariesDir)\include";"$(WebKitLibrariesDir)\include\private";"$(WebKitLibrariesDir)\include\private\JavaScriptCore";"$(WebKitLibrariesDir)\include\pthreads";"$(WebKitLibrariesDir)\include\sqlite";"$(WebKitLibrariesDir)\include\JavaScriptCore";"$(WebKitLibrariesDir)\include\zlib""10 AdditionalIncludeDirectories=""$(ProjectDir)..";"$(ProjectDir)..\accessibility";"$(ProjectDir)..\accessibility\win";"$(ProjectDir)..\bridge";"$(ProjectDir)..\bridge\c";"$(ProjectDir)..\bridge\jsc";"$(ProjectDir)..\css";"$(ProjectDir)..\editing";"$(ProjectDir)..\fileapi";"$(ProjectDir)..\rendering";"$(ProjectDir)..\rendering\style";"$(ProjectDir)..\rendering\svg";"$(ProjectDir)..\bindings";"$(ProjectDir)..\bindings\generic";"$(ProjectDir)..\bindings\js";"$(ProjectDir)..\bindings\js\specialization";"$(ProjectDir)..\dom";"$(ProjectDir)..\dom\default";"$(ProjectDir)..\history";"$(ProjectDir)..\html";"$(ProjectDir)..\html\canvas";"$(ProjectDir)..\html\parser";"$(ProjectDir)..\html\shadow";"$(ProjectDir)..\inspector";"$(ProjectDir)..\loader";"$(ProjectDir)..\loader\appcache";"$(ProjectDir)..\loader\archive";"$(ProjectDir)..\loader\archive\cf";"$(ProjectDir)..\loader\cache";"$(ProjectDir)..\loader\icon";"$(ProjectDir)..\mathml";"$(ProjectDir)..\notifications";"$(ProjectDir)..\page";"$(ProjectDir)..\page\animation";"$(ProjectDir)..\page\win";"$(ProjectDir)..\platform";"$(ProjectDir)..\platform\animation";"$(ProjectDir)..\platform\mock";"$(ProjectDir)..\platform\sql";"$(ProjectDir)..\platform\win";"$(ProjectDir)..\platform\network";"$(ProjectDir)..\platform\network\win";"$(ProjectDir)..\platform\cf";"$(ProjectDir)..\platform\graphics";"$(ProjectDir)..\platform\graphics\filters";"$(ProjectDir)..\platform\graphics\opentype";"$(ProjectDir)..\platform\graphics\transforms";"$(ProjectDir)..\platform\text";"$(ProjectDir)..\platform\text\transcoder";"$(ProjectDir)..\platform\graphics\win";"$(ProjectDir)..\xml";"$(WebKitOutputDir)\obj\WebCore\DerivedSources";"$(ProjectDir)..\plugins";"$(ProjectDir)..\plugins\win";"$(ProjectDir)..\svg\animation";"$(ProjectDir)..\svg\graphics";"$(ProjectDir)..\svg\properties";"$(ProjectDir)..\svg\graphics\filters";"$(ProjectDir)..\svg";"$(ProjectDir)..\wml";"$(ProjectDir)..\storage";"$(ProjectDir)..\websockets";"$(ProjectDir)..\workers";"$(WebKitOutputDir)\include";"$(WebKitOutputDir)\include\private";"$(WebKitOutputDir)\include\JavaScriptCore";"$(WebKitOutputDir)\include\private\JavaScriptCore";"$(ProjectDir)..\ForwardingHeaders";"$(WebKitLibrariesDir)\include";"$(WebKitLibrariesDir)\include\private";"$(WebKitLibrariesDir)\include\private\JavaScriptCore";"$(WebKitLibrariesDir)\include\pthreads";"$(WebKitLibrariesDir)\include\sqlite";"$(WebKitLibrariesDir)\include\JavaScriptCore";"$(WebKitLibrariesDir)\include\zlib"" 11 11 PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS" 12 12 UsePrecompiledHeader="2" -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r73964 r74044 920 920 4138D3351244054800323D33 /* EventContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 4138D3331244054800323D33 /* EventContext.h */; }; 921 921 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 */; }; 922 924 4162A450101145AE00DFF3ED /* DedicatedWorkerContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4162A44D101145AE00DFF3ED /* DedicatedWorkerContext.cpp */; }; 923 925 4162A451101145AE00DFF3ED /* DedicatedWorkerContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 4162A44E101145AE00DFF3ED /* DedicatedWorkerContext.h */; }; … … 7221 7223 4138D3331244054800323D33 /* EventContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventContext.h; sourceTree = "<group>"; }; 7222 7224 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>"; }; 7223 7227 4162A44D101145AE00DFF3ED /* DedicatedWorkerContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DedicatedWorkerContext.cpp; path = workers/DedicatedWorkerContext.cpp; sourceTree = "<group>"; }; 7224 7228 4162A44E101145AE00DFF3ED /* DedicatedWorkerContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DedicatedWorkerContext.h; path = workers/DedicatedWorkerContext.h; sourceTree = "<group>"; }; … … 13023 13027 sourceTree = "<group>"; 13024 13028 }; 13029 4150F9ED12B6E0990008C860 /* shadow */ = { 13030 isa = PBXGroup; 13031 children = ( 13032 4150F9EF12B6E0E70008C860 /* SliderThumbElement.h */, 13033 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */, 13034 ); 13035 path = shadow; 13036 sourceTree = "<group>"; 13037 }; 13025 13038 449195900FBE175B00D9F824 /* Exports */ = { 13026 13039 isa = PBXGroup; … … 15182 15195 49484FAE102CF01E00187DD3 /* canvas */, 15183 15196 97C1F5511228558800EDE616 /* parser */, 15197 4150F9ED12B6E0990008C860 /* shadow */, 15184 15198 B0149E7911A4B21500196A7B /* AsyncImageResizer.cpp */, 15185 15199 B0149E7A11A4B21500196A7B /* AsyncImageResizer.h */, … … 21569 21583 51327D6011A33A2B004F9D65 /* SinkDocument.h in Headers */, 21570 21584 49E911CD0EF86D47009D0CAF /* SkewTransformOperation.h in Headers */, 21585 4150F9F112B6E0E70008C860 /* SliderThumbElement.h in Headers */, 21571 21586 4B6FA6F40C39E48C00087011 /* SmartReplace.h in Headers */, 21572 21587 E4AFD00C0DAF335400F5F55C /* SMILTime.h in Headers */, … … 24340 24355 51327D6111A33A2B004F9D65 /* SinkDocument.cpp in Sources */, 24341 24356 49E911CC0EF86D47009D0CAF /* SkewTransformOperation.cpp in Sources */, 24357 4150F9F212B6E0E70008C860 /* SliderThumbElement.cpp in Sources */, 24342 24358 4B6FA6F50C39E48C00087011 /* SmartReplace.cpp in Sources */, 24343 24359 4B6FA6F70C39E4A100087011 /* SmartReplaceCF.cpp in Sources */, -
trunk/WebCore/rendering/RenderSlider.cpp
r73618 r74044 37 37 #include "RenderView.h" 38 38 #include "ShadowElement.h" 39 #include "SliderThumbElement.h" 39 40 #include "StepRange.h" 40 41 #include <wtf/MathExtras.h> … … 51 52 StepRange range(element); 52 53 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 at99 // 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 were103 // 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();145 54 } 146 55
Note: See TracChangeset
for help on using the changeset viewer.