Changeset 222776 in webkit
- Timestamp:
- Oct 3, 2017 2:50:06 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r222768 r222776 1 2017-10-03 Michael Catanzaro <mcatanzaro@igalia.com> 2 3 REGRESSION(r222392): [WPE][GTK] Many forms tests are failing due to broken event timestamps 4 https://bugs.webkit.org/show_bug.cgi?id=177449 5 6 Reviewed by Chris Dumez. 7 8 * platform/gtk/TestExpectations: 9 1 10 2017-10-02 Wenson Hsieh <wenson_hsieh@apple.com> 2 11 -
trunk/LayoutTests/platform/gtk/TestExpectations
r222644 r222776 3450 3450 webkit.org/b/175662 inspector/canvas/recording-2d.html [ Failure ] 3451 3451 3452 webkit.org/b/177449 fast/forms/ValidityState-valueMissing-002.html [ Failure ]3453 webkit.org/b/177449 fast/forms/listbox-selection-after-typeahead.html [ Failure ]3454 webkit.org/b/177449 fast/forms/listbox-typeahead-scroll.html [ Failure ]3455 webkit.org/b/177449 fast/forms/onchange-select-check-validity.html [ Failure ]3456 webkit.org/b/177449 fast/forms/select-double-onchange.html [ Failure ]3457 webkit.org/b/177449 fast/forms/select-script-onchange.html [ Failure ]3458 webkit.org/b/177449 fast/forms/select/menulist-oninput-fired.html [ Failure ]3459 webkit.org/b/177449 fast/forms/select/select-disabled.html [ Failure ]3460 webkit.org/b/177449 fast/events/popup-when-select-change.html [ Timeout Crash ]3461 3462 3452 #//////////////////////////////////////////////////////////////////////////////////////// 3463 3453 # End of non-crashing, non-flaky tests failing -
trunk/Source/WebCore/ChangeLog
r222774 r222776 1 2017-10-03 Michael Catanzaro <mcatanzaro@igalia.com> 2 3 REGRESSION(r222392): [WPE][GTK] Many forms tests are failing due to broken event timestamps 4 https://bugs.webkit.org/show_bug.cgi?id=177449 5 6 Reviewed by Chris Dumez. 7 8 * platform/gtk/GtkUtilities.cpp: 9 (WebCore::wallTimeForEvent): 10 * platform/gtk/GtkUtilities.h: 11 (WebCore::wallTimeForEvent): 12 * platform/gtk/PlatformKeyboardEventGtk.cpp: 13 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 14 * platform/gtk/PlatformMouseEventGtk.cpp: 15 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 16 * platform/gtk/PlatformWheelEventGtk.cpp: 17 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 18 1 19 2017-10-03 Youenn Fablet <youenn@apple.com> 2 20 -
trunk/Source/WebCore/platform/gtk/GtkUtilities.cpp
r197062 r222776 55 55 } 56 56 57 template<> 58 WallTime wallTimeForEvent(const GdkEvent* event) 59 { 60 // This works if and only if the X server or Wayland compositor happens to 61 // be using CLOCK_MONOTONIC for its monotonic time, and so long as 62 // g_get_monotonic_time() continues to do so as well, and so long as 63 // WTF::MonotonicTime continues to use g_get_monotonic_time(). 64 return MonotonicTime::fromRawSeconds(gdk_event_get_time(event) / 1000.).approximateWallTime(); 65 } 66 57 67 #if ENABLE(DEVELOPER_MODE) 58 68 static CString topLevelPath() -
trunk/Source/WebCore/platform/gtk/GtkUtilities.h
r184010 r222776 20 20 #define GtkUtilities_h 21 21 22 #include <wtf/MonotonicTime.h> 23 #include <wtf/WallTime.h> 22 24 #include <wtf/text/CString.h> 23 25 … … 29 31 bool widgetIsOnscreenToplevelWindow(GtkWidget*); 30 32 33 template<typename GdkEventType> 34 WallTime wallTimeForEvent(const GdkEventType* event) { return MonotonicTime::fromRawSeconds(event->time / 1000.).approximateWallTime(); } 35 36 template<> 37 WallTime wallTimeForEvent(const GdkEvent*); 38 31 39 #if ENABLE(DEVELOPER_MODE) 32 40 CString webkitBuildDirectory(); -
trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp
r222392 r222776 31 31 #include "PlatformKeyboardEvent.h" 32 32 33 #include "GtkUtilities.h" 33 34 #include "GtkVersioning.h" 34 35 #include "NotImplemented.h" … … 1260 1261 // Keep this in sync with the other platform event constructors 1261 1262 PlatformKeyboardEvent::PlatformKeyboardEvent(GdkEventKey* event, const CompositionResults& compositionResults) 1262 : PlatformEvent(eventTypeForGdkKeyEvent(event), modifiersForGdkKeyEvent(event), WallTime::now())1263 : PlatformEvent(eventTypeForGdkKeyEvent(event), modifiersForGdkKeyEvent(event), wallTimeForEvent(event)) 1263 1264 , m_text(compositionResults.simpleString.length() ? compositionResults.simpleString : singleCharacterString(event->keyval)) 1264 1265 , m_unmodifiedText(m_text) -
trunk/Source/WebCore/platform/gtk/PlatformMouseEventGtk.cpp
r222392 r222776 28 28 #include "PlatformMouseEvent.h" 29 29 30 #include "GtkUtilities.h" 30 31 #include "PlatformKeyboardEvent.h" 31 32 #include <gdk/gdk.h> … … 39 40 PlatformMouseEvent::PlatformMouseEvent(GdkEventButton* event) 40 41 { 41 m_timestamp = WallTime::fromRawSeconds(event->time);42 m_timestamp = wallTimeForEvent(event); 42 43 m_position = IntPoint((int)event->x, (int)event->y); 43 44 m_globalPosition = IntPoint((int)event->x_root, (int)event->y_root); … … 88 89 PlatformMouseEvent::PlatformMouseEvent(GdkEventMotion* motion) 89 90 { 90 m_timestamp = WallTime::fromRawSeconds(motion->time);91 m_timestamp = wallTimeForEvent(motion); 91 92 m_position = IntPoint((int)motion->x, (int)motion->y); 92 93 m_globalPosition = IntPoint((int)motion->x_root, (int)motion->y_root); -
trunk/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp
r222392 r222776 30 30 31 31 #include "FloatPoint.h" 32 #include "GtkUtilities.h" 32 33 #include "PlatformKeyboardEvent.h" 33 34 #include "Scrollbar.h" … … 44 45 45 46 m_type = PlatformEvent::Wheel; 46 m_timestamp = WallTime::now();47 m_timestamp = wallTimeForEvent(event); 47 48 48 49 if (event->state & GDK_SHIFT_MASK) -
trunk/Source/WebKit/ChangeLog
r222772 r222776 1 2017-10-03 Michael Catanzaro <mcatanzaro@igalia.com> 2 3 REGRESSION(r222392): [WPE][GTK] Many forms tests are failing due to broken event timestamps 4 https://bugs.webkit.org/show_bug.cgi?id=177449 5 6 Reviewed by Chris Dumez. 7 8 * Shared/gtk/WebEventFactory.cpp: 9 (WebKit::WebEventFactory::createWebMouseEvent): 10 (WebKit::WebEventFactory::createWebWheelEvent): 11 (WebKit::WebEventFactory::createWebKeyboardEvent): 12 (WebKit::WebEventFactory::createWebTouchEvent): 13 * Shared/wpe/WebEventFactory.cpp: 14 (WebKit::wallTimeForEventTime): 15 (WebKit::WebEventFactory::createWebKeyboardEvent): 16 (WebKit::WebEventFactory::createWebMouseEvent): 17 (WebKit::WebEventFactory::createWebWheelEvent): 18 (WebKit::WebEventFactory::createWebTouchEvent): 19 1 20 2017-10-03 Carlos Garcia Campos <cgarcia@igalia.com> 2 21 -
trunk/Source/WebKit/Shared/gtk/WebEventFactory.cpp
r222392 r222776 32 32 #include "Scrollbar.h" 33 33 #include "WindowsKeyboardCodes.h" 34 #include <WebCore/GtkUtilities.h> 34 35 #include <WebCore/GtkVersioning.h> 35 36 #include <gdk/gdk.h> … … 133 134 134 135 return WebMouseEvent(type, 135 136 137 138 139 140 141 142 143 WallTime::fromRawSeconds(gdk_event_get_time(event)));136 buttonForEvent(event), 137 IntPoint(x, y), 138 IntPoint(xRoot, yRoot), 139 0 /* deltaX */, 140 0 /* deltaY */, 141 0 /* deltaZ */, 142 currentClickCount, 143 modifiersForEvent(event), 144 wallTimeForEvent(event)); 144 145 } 145 146 … … 211 212 WebWheelEvent::ScrollByPixelWheelEvent, 212 213 modifiersForEvent(event), 213 WallTime::fromRawSeconds(gdk_event_get_time(event)));214 wallTimeForEvent(event)); 214 215 } 215 216 … … 228 229 isGdkKeyCodeFromKeyPad(event->key.keyval), 229 230 modifiersForEvent(event), 230 WallTime::fromRawSeconds(gdk_event_get_time(event)));231 wallTimeForEvent(event)); 231 232 } 232 233 … … 250 251 } 251 252 252 return WebTouchEvent(type, WTFMove(touchPoints), modifiersForEvent(event), WallTime::fromRawSeconds(gdk_event_get_time(event)));253 return WebTouchEvent(type, WTFMove(touchPoints), modifiersForEvent(event), wallTimeForEvent(event)); 253 254 #else 254 255 return WebTouchEvent(); -
trunk/Source/WebKit/Shared/wpe/WebEventFactory.cpp
r222392 r222776 73 73 } 74 74 75 WallTime wallTimeForEventTime(uint64_t timestamp) 76 { 77 // This works if and only if the WPE backend uses CLOCK_MONOTONIC for its 78 // event timestamps, and so long as g_get_monotonic_time() continues to do 79 // so as well, and so long as WTF::MonotonicTime continues to use 80 // g_get_monotonic_time(). It also assumes the event timestamp is in 81 // milliseconds. 82 return MonotonicTime::fromRawSeconds(timestamp / 1000.).approximateWallTime(); 83 } 84 75 85 WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(struct wpe_input_keyboard_event* event) 76 86 { … … 82 92 wpe_input_windows_key_code_for_key_event(wpe_input_key_mapper_get_singleton(), event), 83 93 event->keyCode, 0, false, false, false, 84 modifiersForEvent(event), WallTime::fromRawSeconds(event->time));94 modifiersForEvent(event), wallTimeForEventTime(event->time)); 85 95 } 86 96 … … 120 130 position.scale(1 / deviceScaleFactor); 121 131 return WebMouseEvent(type, button, position, position, 122 0, 0, 0, clickCount, static_cast<WebEvent::Modifiers>(0), WallTime::fromRawSeconds(event->time));132 0, 0, 0, clickCount, static_cast<WebEvent::Modifiers>(0), wallTimeForEventTime(event->time)); 123 133 } 124 134 … … 155 165 position.scale(1 / deviceScaleFactor); 156 166 return WebWheelEvent(WebEvent::Wheel, position, position, 157 delta, wheelTicks, WebWheelEvent::ScrollByPixelWheelEvent, static_cast<WebEvent::Modifiers>(0), WallTime::fromRawSeconds(event->time));167 delta, wheelTicks, WebWheelEvent::ScrollByPixelWheelEvent, static_cast<WebEvent::Modifiers>(0), wallTimeForEventTime(event->time)); 158 168 } 159 169 … … 210 220 } 211 221 212 return WebTouchEvent(type, WTFMove(touchPoints), WebEvent::Modifiers(0), WallTime::fromRawSeconds(event->time));222 return WebTouchEvent(type, WTFMove(touchPoints), WebEvent::Modifiers(0), wallTimeForEventTime(event->time)); 213 223 } 214 224
Note: See TracChangeset
for help on using the changeset viewer.