| Differences between
and this patch
- a/Source/JavaScriptCore/ChangeLog +9 lines
Lines 1-3 a/Source/JavaScriptCore/ChangeLog_sec1
1
2019-02-25  Antoine Quint  <graouts@apple.com>
2
3
        Support Pointer Events on macOS
4
        https://bugs.webkit.org/show_bug.cgi?id=195008
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * Configurations/FeatureDefines.xcconfig:
9
1
2019-02-24  Devin Rousso  <drousso@apple.com>
10
2019-02-24  Devin Rousso  <drousso@apple.com>
2
11
3
        Web Inspector: Change the InspectorOverlay to use native rather than canvas
12
        Web Inspector: Change the InspectorOverlay to use native rather than canvas
- a/Source/WebCore/ChangeLog +28 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2019-02-25  Antoine Quint  <graouts@apple.com>
2
3
        Support Pointer Events on macOS
4
        https://bugs.webkit.org/show_bug.cgi?id=195008
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        No new tests (OOPS!).
9
10
        * Configurations/FeatureDefines.xcconfig:
11
        * dom/Document.cpp:
12
        (WebCore::Document::invalidateRenderingDependentRegions):
13
        (WebCore::Document::nodeWillBeRemoved):
14
        (WebCore::Document::updateTouchActionElements):
15
        * dom/Document.h:
16
        * dom/Element.cpp:
17
        (WebCore::Element::dispatchMouseEvent):
18
        * dom/PointerEvent.cpp:
19
        (WebCore::pointerEventType):
20
        (WebCore::PointerEvent::create):
21
        * dom/PointerEvent.h:
22
        * page/PointerCaptureController.cpp:
23
        (WebCore::PointerCaptureController::dispatchEvent):
24
        (WebCore::PointerCaptureController::pointerEventWillBeDispatched):
25
        * page/PointerLockController.cpp:
26
        * style/StyleTreeResolver.cpp:
27
        (WebCore::Style::TreeResolver::resolveElement):
28
1
2019-02-25  Miguel Gomez  <magomez@igalia.com>
29
2019-02-25  Miguel Gomez  <magomez@igalia.com>
2
30
3
        [WPE] Add support for holepunch using an external video player
31
        [WPE] Add support for holepunch using an external video player
- a/Source/WebCore/PAL/ChangeLog +9 lines
Lines 1-3 a/Source/WebCore/PAL/ChangeLog_sec1
1
2019-02-25  Antoine Quint  <graouts@apple.com>
2
3
        Support Pointer Events on macOS
4
        https://bugs.webkit.org/show_bug.cgi?id=195008
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * Configurations/FeatureDefines.xcconfig:
9
1
2019-02-23  Keith Miller  <keith_miller@apple.com>
10
2019-02-23  Keith Miller  <keith_miller@apple.com>
2
11
3
        Add new mac target numbers
12
        Add new mac target numbers
- a/Source/WebKit/ChangeLog +9 lines
Lines 1-3 a/Source/WebKit/ChangeLog_sec1
1
2019-02-25  Antoine Quint  <graouts@apple.com>
2
3
        Support Pointer Events on macOS
4
        https://bugs.webkit.org/show_bug.cgi?id=195008
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * Configurations/FeatureDefines.xcconfig:
9
1
2019-02-24  Zalan Bujtas  <zalan@apple.com>
10
2019-02-24  Zalan Bujtas  <zalan@apple.com>
2
11
3
        Introduce ContentChangeObserver class
12
        Introduce ContentChangeObserver class
- a/Source/WebKitLegacy/mac/ChangeLog +9 lines
Lines 1-3 a/Source/WebKitLegacy/mac/ChangeLog_sec1
1
2019-02-25  Antoine Quint  <graouts@apple.com>
2
3
        Support Pointer Events on macOS
4
        https://bugs.webkit.org/show_bug.cgi?id=195008
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * Configurations/FeatureDefines.xcconfig:
9
1
2019-02-23  Keith Miller  <keith_miller@apple.com>
10
2019-02-23  Keith Miller  <keith_miller@apple.com>
2
11
3
        Add new mac target numbers
12
        Add new mac target numbers
- a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig +1 lines
Lines 305-310 ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME)); a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig_sec1
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
308
ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
308
309
309
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
311
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
- a/Source/WebCore/Configurations/FeatureDefines.xcconfig +1 lines
Lines 305-310 ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME)); a/Source/WebCore/Configurations/FeatureDefines.xcconfig_sec1
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
308
ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
308
309
309
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
311
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
- a/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig +1 lines
Lines 305-310 ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME)); a/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig_sec1
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
308
ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
308
309
309
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
311
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
- a/Source/WebCore/dom/Document.cpp -5 / +3 lines
Lines 4153-4159 void Document::invalidateRenderingDependentRegions(AnnotationsAction annotations a/Source/WebCore/dom/Document.cpp_sec1
4153
    setTouchEventRegionsNeedUpdate();
4153
    setTouchEventRegionsNeedUpdate();
4154
#endif
4154
#endif
4155
4155
4156
#if ENABLE(POINTER_EVENTS)
4156
#if PLATFORM(IOS_FAMILY) && ENABLE(POINTER_EVENTS)
4157
    if (auto* page = this->page()) {
4157
    if (auto* page = this->page()) {
4158
        if (auto* frameView = view()) {
4158
        if (auto* frameView = view()) {
4159
            if (auto* scrollingCoordinator = page->scrollingCoordinator())
4159
            if (auto* scrollingCoordinator = page->scrollingCoordinator())
Lines 4545-4551 void Document::nodeWillBeRemoved(Node& node) a/Source/WebCore/dom/Document.cpp_sec2
4545
    if (is<Text>(node))
4545
    if (is<Text>(node))
4546
        m_markers->removeMarkers(node);
4546
        m_markers->removeMarkers(node);
4547
4547
4548
#if ENABLE(POINTER_EVENTS)
4548
#if PLATFORM(IOS_FAMILY) && ENABLE(POINTER_EVENTS)
4549
    if (m_touchActionElements && is<Element>(node))
4549
    if (m_touchActionElements && is<Element>(node))
4550
        m_touchActionElements->remove(&downcast<Element>(node));
4550
        m_touchActionElements->remove(&downcast<Element>(node));
4551
#endif
4551
#endif
Lines 8687-8693 void Document::setPaintWorkletGlobalScopeForName(const String& name, Ref<PaintWo a/Source/WebCore/dom/Document.cpp_sec3
8687
}
8687
}
8688
#endif
8688
#endif
8689
8689
8690
#if ENABLE(POINTER_EVENTS)
8690
#if PLATFORM(IOS_FAMILY) && ENABLE(POINTER_EVENTS)
8691
void Document::updateTouchActionElements(Element& element, const RenderStyle& style)
8691
void Document::updateTouchActionElements(Element& element, const RenderStyle& style)
8692
{
8692
{
8693
    bool changed = false;
8693
    bool changed = false;
Lines 8699-8705 void Document::updateTouchActionElements(Element& element, const RenderStyle& st a/Source/WebCore/dom/Document.cpp_sec4
8699
    } else if (m_touchActionElements)
8699
    } else if (m_touchActionElements)
8700
        changed |= m_touchActionElements->remove(&element);
8700
        changed |= m_touchActionElements->remove(&element);
8701
8701
8702
#if PLATFORM(IOS_FAMILY)
8703
    if (!changed)
8702
    if (!changed)
8704
        return;
8703
        return;
8705
8704
Lines 8711-8717 void Document::updateTouchActionElements(Element& element, const RenderStyle& st a/Source/WebCore/dom/Document.cpp_sec5
8711
        if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
8710
        if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
8712
            scrollingCoordinator->frameViewEventTrackingRegionsChanged(*frameView);
8711
            scrollingCoordinator->frameViewEventTrackingRegionsChanged(*frameView);
8713
    }
8712
    }
8714
#endif
8715
}
8713
}
8716
#endif
8714
#endif
8717
8715
- a/Source/WebCore/dom/Document.h -2 / +2 lines
Lines 1251-1257 public: a/Source/WebCore/dom/Document.h_sec1
1251
    bool hasTouchEventHandlers() const { return false; }
1251
    bool hasTouchEventHandlers() const { return false; }
1252
    bool touchEventTargetsContain(Node&) const { return false; }
1252
    bool touchEventTargetsContain(Node&) const { return false; }
1253
#endif
1253
#endif
1254
#if ENABLE(POINTER_EVENTS)
1254
#if PLATFORM(IOS_FAMILY) && ENABLE(POINTER_EVENTS)
1255
    void updateTouchActionElements(Element&, const RenderStyle&);
1255
    void updateTouchActionElements(Element&, const RenderStyle&);
1256
    const HashSet<RefPtr<Element>>* touchActionElements() const { return m_touchActionElements.get(); }
1256
    const HashSet<RefPtr<Element>>* touchActionElements() const { return m_touchActionElements.get(); }
1257
#endif
1257
#endif
Lines 1847-1853 private: a/Source/WebCore/dom/Document.h_sec2
1847
#if ENABLE(TOUCH_EVENTS)
1847
#if ENABLE(TOUCH_EVENTS)
1848
    std::unique_ptr<EventTargetSet> m_touchEventTargets;
1848
    std::unique_ptr<EventTargetSet> m_touchEventTargets;
1849
#endif
1849
#endif
1850
#if ENABLE(POINTER_EVENTS)
1850
#if PLATFORM(IOS_FAMILY) && ENABLE(POINTER_EVENTS)
1851
    std::unique_ptr<HashSet<RefPtr<Element>>> m_touchActionElements;
1851
    std::unique_ptr<HashSet<RefPtr<Element>>> m_touchActionElements;
1852
#endif
1852
#endif
1853
    std::unique_ptr<EventTargetSet> m_wheelEventTargets;
1853
    std::unique_ptr<EventTargetSet> m_wheelEventTargets;
- a/Source/WebCore/dom/Element.cpp -1 / +18 lines
Lines 79-84 a/Source/WebCore/dom/Element.cpp_sec1
79
#include "NodeRenderStyle.h"
79
#include "NodeRenderStyle.h"
80
#include "PlatformWheelEvent.h"
80
#include "PlatformWheelEvent.h"
81
#include "PointerCaptureController.h"
81
#include "PointerCaptureController.h"
82
#include "PointerEvent.h"
82
#include "PointerLockController.h"
83
#include "PointerLockController.h"
83
#include "RenderFragmentContainer.h"
84
#include "RenderFragmentContainer.h"
84
#include "RenderLayer.h"
85
#include "RenderLayer.h"
Lines 288-296 bool Element::dispatchMouseEvent(const PlatformMouseEvent& platformEvent, const a/Source/WebCore/dom/Element.cpp_sec2
288
    if (mouseEvent->type().isEmpty())
289
    if (mouseEvent->type().isEmpty())
289
        return true; // Shouldn't happen.
290
        return true; // Shouldn't happen.
290
291
292
    bool didNotSwallowEvent = true;
293
294
#if ENABLE(POINTER_EVENTS)
295
    if (RuntimeEnabledFeatures::sharedFeatures().pointerEventsEnabled()) {
296
        auto pointerEvent = PointerEvent::create(mouseEvent);
297
        if (auto* page = document().page())
298
            page->pointerCaptureController().dispatchEvent(pointerEvent, this);
299
        if (pointerEvent->defaultPrevented() || pointerEvent->defaultHandled()) {
300
            didNotSwallowEvent = false;
301
            if (pointerEvent->type() == eventNames().pointerdownEvent || pointerEvent->type() == eventNames().pointerupEvent)
302
                return false;
303
        }
304
    }
305
#endif
306
291
    ASSERT(!mouseEvent->target() || mouseEvent->target() != relatedTarget);
307
    ASSERT(!mouseEvent->target() || mouseEvent->target() != relatedTarget);
292
    dispatchEvent(mouseEvent);
308
    dispatchEvent(mouseEvent);
293
    bool didNotSwallowEvent = !mouseEvent->defaultPrevented() && !mouseEvent->defaultHandled();
309
    if (mouseEvent->defaultPrevented() || mouseEvent->defaultHandled())
310
        didNotSwallowEvent = false;
294
311
295
    if (mouseEvent->type() == eventNames().clickEvent && mouseEvent->detail() == 2) {
312
    if (mouseEvent->type() == eventNames().clickEvent && mouseEvent->detail() == 2) {
296
        // Special case: If it's a double click event, we also send the dblclick event. This is not part
313
        // Special case: If it's a double click event, we also send the dblclick event. This is not part
- a/Source/WebCore/dom/PointerEvent.cpp +52 lines
Lines 28-33 a/Source/WebCore/dom/PointerEvent.cpp_sec1
28
28
29
#if ENABLE(POINTER_EVENTS)
29
#if ENABLE(POINTER_EVENTS)
30
30
31
#import "EventNames.h"
32
31
namespace WebCore {
33
namespace WebCore {
32
34
33
const String& PointerEvent::mousePointerType()
35
const String& PointerEvent::mousePointerType()
Lines 48-53 const String& PointerEvent::touchPointerType() a/Source/WebCore/dom/PointerEvent.cpp_sec2
48
    return touchType;
50
    return touchType;
49
}
51
}
50
52
53
static AtomicString pointerEventType(const AtomicString& mouseEventType)
54
{
55
    auto& names = eventNames();
56
    if (mouseEventType == names.mousedownEvent)
57
        return names.pointerdownEvent;
58
    if (mouseEventType == names.mouseoverEvent)
59
        return names.pointeroverEvent;
60
    if (mouseEventType == names.mouseenterEvent)
61
        return names.pointerenterEvent;
62
    if (mouseEventType == names.mousemoveEvent)
63
        return names.pointermoveEvent;
64
    if (mouseEventType == names.mouseleaveEvent)
65
        return names.pointerleaveEvent;
66
    if (mouseEventType == names.mouseoutEvent)
67
        return names.pointeroutEvent;
68
    if (mouseEventType == names.mouseupEvent)
69
        return names.pointerupEvent;
70
71
    ASSERT_NOT_REACHED();
72
    return nullAtom();
73
}
74
51
PointerEvent::PointerEvent() = default;
75
PointerEvent::PointerEvent() = default;
52
76
53
PointerEvent::PointerEvent(const AtomicString& type, Init&& initializer)
77
PointerEvent::PointerEvent(const AtomicString& type, Init&& initializer)
Lines 65-70 PointerEvent::PointerEvent(const AtomicString& type, Init&& initializer) a/Source/WebCore/dom/PointerEvent.cpp_sec3
65
{
89
{
66
}
90
}
67
91
92
Ref<PointerEvent> PointerEvent::create(const MouseEvent& mouseEvent)
93
{
94
    auto type = pointerEventType(mouseEvent.type());
95
    auto isEnterOrLeave = type == eventNames().pointerenterEvent || type == eventNames().pointerleaveEvent;
96
97
    PointerEvent::Init init;
98
    init.bubbles = !isEnterOrLeave;
99
    init.cancelable = !isEnterOrLeave;
100
    init.composed = !isEnterOrLeave;
101
    init.view = mouseEvent.view();
102
    init.ctrlKey = mouseEvent.ctrlKey();
103
    init.shiftKey = mouseEvent.shiftKey();
104
    init.altKey = mouseEvent.altKey();
105
    init.metaKey = mouseEvent.metaKey();
106
    init.modifierAltGraph = mouseEvent.altGraphKey();
107
    init.modifierCapsLock = mouseEvent.capsLockKey();
108
    init.screenX = mouseEvent.screenX();
109
    init.screenY = mouseEvent.screenY();
110
    init.clientX = mouseEvent.clientX();
111
    init.clientY = mouseEvent.clientY();
112
    init.button = mouseEvent.button();
113
    init.buttons = mouseEvent.buttons();
114
    init.relatedTarget = mouseEvent.relatedTarget();
115
    init.isPrimary = true;
116
117
    return PointerEvent::create(type, WTFMove(init));
118
}
119
68
PointerEvent::~PointerEvent() = default;
120
PointerEvent::~PointerEvent() = default;
69
121
70
EventInterface PointerEvent::eventInterface() const
122
EventInterface PointerEvent::eventInterface() const
- a/Source/WebCore/dom/PointerEvent.h +2 lines
Lines 81-86 public: a/Source/WebCore/dom/PointerEvent.h_sec1
81
        return adoptRef(*new PointerEvent);
81
        return adoptRef(*new PointerEvent);
82
    }
82
    }
83
83
84
    static Ref<PointerEvent> create(const MouseEvent&);
85
84
#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS_FAMILY)
86
#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS_FAMILY)
85
    static Ref<PointerEvent> create(const PlatformTouchEvent&, unsigned touchIndex, bool isPrimary, Ref<WindowProxy>&&);
87
    static Ref<PointerEvent> create(const PlatformTouchEvent&, unsigned touchIndex, bool isPrimary, Ref<WindowProxy>&&);
86
    static Ref<PointerEvent> create(const String& type, const PlatformTouchEvent&, unsigned touchIndex, bool isPrimary, Ref<WindowProxy>&&);
88
    static Ref<PointerEvent> create(const String& type, const PlatformTouchEvent&, unsigned touchIndex, bool isPrimary, Ref<WindowProxy>&&);
- a/Source/WebCore/page/PointerCaptureController.cpp +23 lines
Lines 35-40 a/Source/WebCore/page/PointerCaptureController.cpp_sec1
35
#include "Page.h"
35
#include "Page.h"
36
#include "PointerEvent.h"
36
#include "PointerEvent.h"
37
37
38
#if ENABLE(POINTER_LOCK)
39
#include "PointerLockController.h"
40
#endif
41
38
namespace WebCore {
42
namespace WebCore {
39
43
40
PointerCaptureController::PointerCaptureController(Page& page)
44
PointerCaptureController::PointerCaptureController(Page& page)
Lines 175-180 std::pair<bool, bool> PointerCaptureController::dispatchEventForTouchAtIndex(Eve a/Source/WebCore/page/PointerCaptureController.cpp_sec2
175
}
179
}
176
#endif
180
#endif
177
181
182
void PointerCaptureController::dispatchEvent(PointerEvent& event, EventTarget* target)
183
{
184
    pointerEventWillBeDispatched(event, target);
185
186
    auto iterator = m_activePointerIdsToCapturingData.find(event.pointerId());
187
    if (iterator != m_activePointerIdsToCapturingData.end()) {
188
        auto& capturingData = iterator->value;
189
        if (capturingData.targetOverride)
190
            capturingData.targetOverride->dispatchEvent(event);
191
    }
192
193
    if (target && !event.target())
194
        target->dispatchEvent(event);
195
196
    pointerEventWasDispatched(event);
197
}
198
178
void PointerCaptureController::pointerEventWillBeDispatched(const PointerEvent& event, EventTarget* target)
199
void PointerCaptureController::pointerEventWillBeDispatched(const PointerEvent& event, EventTarget* target)
179
{
200
{
180
    // https://w3c.github.io/pointerevents/#implicit-pointer-capture
201
    // https://w3c.github.io/pointerevents/#implicit-pointer-capture
Lines 196-202 void PointerCaptureController::pointerEventWillBeDispatched(const PointerEvent& a/Source/WebCore/page/PointerCaptureController.cpp_sec3
196
    CapturingData capturingData;
217
    CapturingData capturingData;
197
    capturingData.pointerType = event.pointerType();
218
    capturingData.pointerType = event.pointerType();
198
    m_activePointerIdsToCapturingData.set(pointerId, capturingData);
219
    m_activePointerIdsToCapturingData.set(pointerId, capturingData);
220
#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS_FAMILY)
199
    setPointerCapture(downcast<Element>(target), pointerId);
221
    setPointerCapture(downcast<Element>(target), pointerId);
222
#endif
200
}
223
}
201
224
202
void PointerCaptureController::pointerEventWasDispatched(const PointerEvent& event)
225
void PointerCaptureController::pointerEventWasDispatched(const PointerEvent& event)
- a/Source/WebCore/page/PointerLockController.cpp +4 lines
Lines 38-43 a/Source/WebCore/page/PointerLockController.cpp_sec1
38
#include "UserGestureIndicator.h"
38
#include "UserGestureIndicator.h"
39
#include "VoidCallback.h"
39
#include "VoidCallback.h"
40
40
41
#if ENABLE(POINTER_EVENTS)
42
#include "PointerCaptureController.h"
43
#endif
44
41
namespace WebCore {
45
namespace WebCore {
42
46
43
PointerLockController::PointerLockController(Page& page)
47
PointerLockController::PointerLockController(Page& page)
- a/Source/WebCore/style/StyleTreeResolver.cpp -1 / +1 lines
Lines 237-243 ElementUpdates TreeResolver::resolveElement(Element& element) a/Source/WebCore/style/StyleTreeResolver.cpp_sec1
237
    auto beforeUpdate = resolvePseudoStyle(element, update, PseudoId::Before);
237
    auto beforeUpdate = resolvePseudoStyle(element, update, PseudoId::Before);
238
    auto afterUpdate = resolvePseudoStyle(element, update, PseudoId::After);
238
    auto afterUpdate = resolvePseudoStyle(element, update, PseudoId::After);
239
239
240
#if ENABLE(POINTER_EVENTS)
240
#if ENABLE(POINTER_EVENTS) && PLATFORM(IOS_FAMILY)
241
    if (RuntimeEnabledFeatures::sharedFeatures().pointerEventsEnabled())
241
    if (RuntimeEnabledFeatures::sharedFeatures().pointerEventsEnabled())
242
        m_document.updateTouchActionElements(element, *update.style.get());
242
        m_document.updateTouchActionElements(element, *update.style.get());
243
#endif
243
#endif
- a/Source/WebKit/Configurations/FeatureDefines.xcconfig +1 lines
Lines 305-310 ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME)); a/Source/WebKit/Configurations/FeatureDefines.xcconfig_sec1
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
308
ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
308
309
309
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
311
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
- a/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig +1 lines
Lines 305-310 ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME)); a/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig_sec1
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
308
ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
308
309
309
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
311
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
- a/Tools/ChangeLog +9 lines
Lines 1-3 a/Tools/ChangeLog_sec1
1
2019-02-25  Antoine Quint  <graouts@apple.com>
2
3
        Support Pointer Events on macOS
4
        https://bugs.webkit.org/show_bug.cgi?id=195008
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
9
1
2019-02-24  Michael Catanzaro  <mcatanzaro@igalia.com>
10
2019-02-24  Michael Catanzaro  <mcatanzaro@igalia.com>
2
11
3
        [WPE][GTK] Remove user agent quirk for washingtonpost.com
12
        [WPE][GTK] Remove user agent quirk for washingtonpost.com
- a/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig +1 lines
Lines 305-310 ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME)); a/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig_sec1
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
305
ENABLE_POINTER_EVENTS_iosmac = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
306
ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
307
ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
308
ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
308
309
309
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
310
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;
311
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;

Return to Bug 195008