⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 244218 in webkit


Ignore:
Timestamp:
Apr 12, 2019, 9:52:35 AM (7 years ago)
Author:
graouts@webkit.org
Message:

Opt some websites into the simulated mouse events dispatch quirk when in modern compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=196830
<rdar://problem/49124313>

Reviewed by Wenson Hsieh.

Source/WebCore:

We add a new policy to determine whether simulated mouse events dispatch are allowed and use it to determine whether the
simulated mouse events dispatch quirk can be used for a given website. We then check the domain name for the current page's
document to see if it matches some known websites that require this quirk.

We needed to add some calls into Quirks::shouldDispatchSimulateMouseEvents() where we used to only consult the RuntimeEnabledFeature
flag to ensure we correctly created touch regions for simulated mouse events.

  • dom/EventNames.h:

(WebCore::EventNames::isTouchRelatedEventType const):

  • dom/Node.cpp:

(WebCore::Node::moveNodeToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):
(WebCore::Node::defaultEventHandler):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::simulatedMouseEventsDispatchPolicy const):
(WebCore::DocumentLoader::setSimulatedMouseEventsDispatchPolicy):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):

  • page/Quirks.cpp:

(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
(WebCore::Quirks::shouldDispatchSimulateMouseEvents const): Deleted.

  • page/Quirks.h:

Source/WebKit:

We add a new policy to determine whether simulated mouse events dispatch are allowed.

  • Shared/WebsitePoliciesData.cpp:

(WebKit::WebsitePoliciesData::encode const):
(WebKit::WebsitePoliciesData::decode):
(WebKit::WebsitePoliciesData::applyToDocumentLoader):

  • Shared/WebsitePoliciesData.h:
  • Shared/WebsiteSimulatedMouseEventsDispatchPolicy.h: Added.
  • UIProcess/API/APIWebsitePolicies.cpp:

(API::WebsitePolicies::copy const):
(API::WebsitePolicies::data):

  • UIProcess/API/APIWebsitePolicies.h:
  • WebKit.xcodeproj/project.pbxproj:
Location:
trunk/Source
Files:
13 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r244215 r244218  
     12019-04-12  Antoine Quint  <graouts@apple.com>
     2
     3        Opt some websites into the simulated mouse events dispatch quirk when in modern compatibility mode
     4        https://bugs.webkit.org/show_bug.cgi?id=196830
     5        <rdar://problem/49124313>
     6
     7        Reviewed by Wenson Hsieh.
     8
     9        We add a new policy to determine whether simulated mouse events dispatch are allowed and use it to determine whether the
     10        simulated mouse events dispatch quirk can be used for a given website. We then check the domain name for the current page's
     11        document to see if it matches some known websites that require this quirk.
     12
     13        We needed to add some calls into Quirks::shouldDispatchSimulateMouseEvents() where we used to only consult the RuntimeEnabledFeature
     14        flag to ensure we correctly created touch regions for simulated mouse events.
     15
     16        * dom/EventNames.h:
     17        (WebCore::EventNames::isTouchRelatedEventType const):
     18        * dom/Node.cpp:
     19        (WebCore::Node::moveNodeToNewDocument):
     20        (WebCore::tryAddEventListener):
     21        (WebCore::tryRemoveEventListener):
     22        (WebCore::Node::defaultEventHandler):
     23        * loader/DocumentLoader.h:
     24        (WebCore::DocumentLoader::simulatedMouseEventsDispatchPolicy const):
     25        (WebCore::DocumentLoader::setSimulatedMouseEventsDispatchPolicy):
     26        * page/DOMWindow.cpp:
     27        (WebCore::DOMWindow::addEventListener):
     28        (WebCore::DOMWindow::removeEventListener):
     29        * page/Quirks.cpp:
     30        (WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
     31        (WebCore::Quirks::shouldDispatchSimulateMouseEvents const): Deleted.
     32        * page/Quirks.h:
     33
    1342019-04-11  Simon Fraser  <simon.fraser@apple.com>
    235
  • trunk/Source/WebCore/dom/EventNames.h

    r243762 r244218  
    2222#pragma once
    2323
     24#include "Document.h"
     25#include "Quirks.h"
    2426#include "ThreadGlobalData.h"
    2527#include <array>
     
    365367    bool isWheelEventType(const AtomicString& eventType) const;
    366368    bool isGestureEventType(const AtomicString& eventType) const;
    367     bool isTouchRelatedEventType(const AtomicString& eventType) const;
     369    bool isTouchRelatedEventType(const Document&, const AtomicString& eventType) const;
    368370    bool isTouchScrollBlockingEventType(const AtomicString& eventType) const;
    369371#if ENABLE(GAMEPAD)
     
    400402}
    401403
    402 inline bool EventNames::isTouchRelatedEventType(const AtomicString& eventType) const
     404inline bool EventNames::isTouchRelatedEventType(const Document& document, const AtomicString& eventType) const
    403405{
    404406#if ENABLE(TOUCH_EVENTS)
    405     if (RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled()) {
     407    if (document.quirks().shouldDispatchSimulatedMouseEvents() || RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled()) {
    406408        if (eventType == mousedownEvent || eventType == mousemoveEvent || eventType == mouseupEvent)
    407409            return true;
    408410    }
    409411#endif
     412    UNUSED_PARAM(document);
    410413    return eventType == touchstartEvent
    411414        || eventType == touchmoveEvent
  • trunk/Source/WebCore/dom/Node.cpp

    r243686 r244218  
    20582058        unsigned numTouchEventListeners = 0;
    20592059#if ENABLE(TOUCH_EVENTS)
    2060         if (RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled()) {
     2060        if (newDocument.quirks().shouldDispatchSimulatedMouseEvents() || RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled()) {
    20612061            for (auto& name : eventNames().extendedTouchRelatedEventNames())
    20622062                numTouchEventListeners += eventListeners(name).size();
     
    21122112    if (eventNames().isWheelEventType(eventType))
    21132113        targetNode->document().didAddWheelEventHandler(*targetNode);
    2114     else if (eventNames().isTouchRelatedEventType(eventType))
     2114    else if (eventNames().isTouchRelatedEventType(targetNode->document(), eventType))
    21152115        targetNode->document().didAddTouchEventHandler(*targetNode);
    21162116
     
    21272127
    21282128#if ENABLE(TOUCH_EVENTS)
    2129     if (eventNames().isTouchRelatedEventType(eventType))
     2129    if (eventNames().isTouchRelatedEventType(targetNode->document(), eventType))
    21302130        targetNode->document().addTouchEventListener(*targetNode);
    21312131#endif
     
    21542154    if (eventNames().isWheelEventType(eventType))
    21552155        targetNode->document().didRemoveWheelEventHandler(*targetNode);
    2156     else if (eventNames().isTouchRelatedEventType(eventType))
     2156    else if (eventNames().isTouchRelatedEventType(targetNode->document(), eventType))
    21572157        targetNode->document().didRemoveTouchEventHandler(*targetNode);
    21582158
     
    21682168
    21692169#if ENABLE(TOUCH_EVENTS)
    2170     if (eventNames().isTouchRelatedEventType(eventType))
     2170    if (eventNames().isTouchRelatedEventType(targetNode->document(), eventType))
    21712171        targetNode->document().removeTouchEventListener(*targetNode);
    21722172#endif
     
    24642464                frame->eventHandler().defaultWheelEventHandler(startNode, downcast<WheelEvent>(event));
    24652465#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS_FAMILY)
    2466     } else if (is<TouchEvent>(event) && eventNames().isTouchRelatedEventType(eventType)) {
     2466    } else if (is<TouchEvent>(event) && eventNames().isTouchRelatedEventType(document(), eventType)) {
    24672467        RenderObject* renderer = this->renderer();
    24682468        while (renderer && (!is<RenderBox>(*renderer) || !downcast<RenderBox>(*renderer).canBeScrolledAndHasScrollableArea()))
  • trunk/Source/WebCore/loader/DocumentLoader.h

    r244197 r244218  
    125125};
    126126
     127enum class SimulatedMouseEventsDispatchPolicy : uint8_t {
     128    Default,
     129    Allow,
     130    Deny,
     131};
     132
    127133class DocumentLoader
    128134    : public RefCounted<DocumentLoader>
     
    302308    void setMediaSourcePolicy(MediaSourcePolicy policy) { m_mediaSourcePolicy = policy; }
    303309
     310    SimulatedMouseEventsDispatchPolicy simulatedMouseEventsDispatchPolicy() const { return m_simulatedMouseEventsDispatchPolicy; }
     311    void setSimulatedMouseEventsDispatchPolicy(SimulatedMouseEventsDispatchPolicy policy) { m_simulatedMouseEventsDispatchPolicy = policy; }
     312
    304313    void addSubresourceLoader(ResourceLoader*);
    305314    void removeSubresourceLoader(LoadCompletionType, ResourceLoader*);
     
    582591    MetaViewportPolicy m_metaViewportPolicy { MetaViewportPolicy::Default };
    583592    MediaSourcePolicy m_mediaSourcePolicy { MediaSourcePolicy::Default };
     593    SimulatedMouseEventsDispatchPolicy m_simulatedMouseEventsDispatchPolicy { SimulatedMouseEventsDispatchPolicy::Default };
    584594
    585595#if ENABLE(SERVICE_WORKER)
  • trunk/Source/WebCore/page/DOMWindow.cpp

    r243887 r244218  
    17831783        return false;
    17841784
    1785     if (Document* document = this->document()) {
     1785    auto* document = this->document();
     1786    if (document) {
    17861787        document->addListenerTypeIfNeeded(eventType);
    17871788        if (eventNames().isWheelEventType(eventType))
    17881789            document->didAddWheelEventHandler(*document);
    1789         else if (eventNames().isTouchRelatedEventType(eventType))
     1790        else if (eventNames().isTouchRelatedEventType(*document, eventType))
    17901791            document->didAddTouchEventHandler(*document);
    17911792        else if (eventType == eventNames().storageEvent)
     
    18021803#endif
    18031804#if ENABLE(IOS_TOUCH_EVENTS)
    1804     else if (eventNames().isTouchRelatedEventType(eventType))
     1805    else if (document && eventNames().isTouchRelatedEventType(*document, eventType))
    18051806        ++m_touchAndGestureEventListenerCount;
    18061807#endif
     
    20012002        return false;
    20022003
    2003     if (Document* document = this->document()) {
     2004    auto* document = this->document();
     2005    if (document) {
    20042006        if (eventNames().isWheelEventType(eventType))
    20052007            document->didRemoveWheelEventHandler(*document);
    2006         else if (eventNames().isTouchRelatedEventType(eventType))
     2008        else if (eventNames().isTouchRelatedEventType(*document, eventType))
    20072009            document->didRemoveTouchEventHandler(*document);
    20082010    }
     
    20172019#endif
    20182020#if ENABLE(IOS_TOUCH_EVENTS)
    2019     else if (eventNames().isTouchRelatedEventType(eventType)) {
     2021    else if (document && eventNames().isTouchRelatedEventType(*document, eventType)) {
    20202022        ASSERT(m_touchAndGestureEventListenerCount > 0);
    20212023        --m_touchAndGestureEventListenerCount;
  • trunk/Source/WebCore/page/Quirks.cpp

    r243499 r244218  
    196196}
    197197
    198 bool Quirks::shouldDispatchSimulateMouseEvents() const
    199 {
    200     return false;
    201 }
    202 
    203 }
     198bool Quirks::shouldDispatchSimulatedMouseEvents() const
     199{
     200#if PLATFORM(IOS_FAMILY)
     201    if (!needsQuirks())
     202        return false;
     203
     204    auto* loader = m_document->loader();
     205    if (!loader || loader->simulatedMouseEventsDispatchPolicy() != SimulatedMouseEventsDispatchPolicy::Allow)
     206        return false;
     207
     208    auto& url = m_document->topDocument().url();
     209    auto host = url.host();
     210
     211    if (equalLettersIgnoringASCIICase(host, "amazon.com") || host.endsWithIgnoringASCIICase(".amazon.com"))
     212        return true;
     213    if (equalLettersIgnoringASCIICase(host, "wix.com") || host.endsWithIgnoringASCIICase(".wix.com"))
     214        return true;
     215    if (equalLettersIgnoringASCIICase(host, "desmos.com") || host.endsWithIgnoringASCIICase(".desmos.com"))
     216        return true;
     217    if (equalLettersIgnoringASCIICase(host, "figma.com") || host.endsWithIgnoringASCIICase(".figma.com"))
     218        return true;
     219    if (equalLettersIgnoringASCIICase(host, "trello.com") || host.endsWithIgnoringASCIICase(".trello.com"))
     220        return true;
     221    if (equalLettersIgnoringASCIICase(host, "airtable.com") || host.endsWithIgnoringASCIICase(".airtable.com"))
     222        return true;
     223    if (equalLettersIgnoringASCIICase(host, "maps.google.com"))
     224        return true;
     225    if (equalLettersIgnoringASCIICase(host, "trailers.apple.com"))
     226        return true;
     227#endif
     228    return false;
     229}
     230
     231}
  • trunk/Source/WebCore/page/Quirks.h

    r243499 r244218  
    4646    bool hasBrokenEncryptedMediaAPISupportQuirk() const;
    4747    bool hasWebSQLSupportQuirk() const;
    48     bool shouldDispatchSimulateMouseEvents() const;
     48    bool shouldDispatchSimulatedMouseEvents() const;
    4949
    5050    WEBCORE_EXPORT bool isTouchBarUpdateSupressedForHiddenContentEditable() const;
  • trunk/Source/WebKit/ChangeLog

    r244217 r244218  
     12019-04-12  Antoine Quint  <graouts@apple.com>
     2
     3        Opt some websites into the simulated mouse events dispatch quirk when in modern compatibility mode
     4        https://bugs.webkit.org/show_bug.cgi?id=196830
     5        <rdar://problem/49124313>
     6
     7        Reviewed by Wenson Hsieh.
     8
     9        We add a new policy to determine whether simulated mouse events dispatch are allowed.
     10
     11        * Shared/WebsitePoliciesData.cpp:
     12        (WebKit::WebsitePoliciesData::encode const):
     13        (WebKit::WebsitePoliciesData::decode):
     14        (WebKit::WebsitePoliciesData::applyToDocumentLoader):
     15        * Shared/WebsitePoliciesData.h:
     16        * Shared/WebsiteSimulatedMouseEventsDispatchPolicy.h: Added.
     17        * UIProcess/API/APIWebsitePolicies.cpp:
     18        (API::WebsitePolicies::copy const):
     19        (API::WebsitePolicies::data):
     20        * UIProcess/API/APIWebsitePolicies.h:
     21        * WebKit.xcodeproj/project.pbxproj:
     22
    1232019-04-12  Chris Dumez  <cdumez@apple.com>
    224
  • trunk/Source/WebKit/Shared/WebsitePoliciesData.cpp

    r244197 r244218  
    4949    encoder << metaViewportPolicy;
    5050    encoder << mediaSourcePolicy;
     51    encoder << simulatedMouseEventsDispatchPolicy;
    5152}
    5253
     
    113114        return WTF::nullopt;
    114115   
     116    Optional<WebsiteSimulatedMouseEventsDispatchPolicy> simulatedMouseEventsDispatchPolicy;
     117    decoder >> simulatedMouseEventsDispatchPolicy;
     118    if (!simulatedMouseEventsDispatchPolicy)
     119        return WTF::nullopt;
     120
    115121    return { {
    116122        WTFMove(*contentBlockersEnabled),
     
    126132        WTFMove(*metaViewportPolicy),
    127133        WTFMove(*mediaSourcePolicy),
     134        WTFMove(*simulatedMouseEventsDispatchPolicy),
    128135    } };
    129136}
     
    209216    }
    210217
     218    switch (websitePolicies.simulatedMouseEventsDispatchPolicy) {
     219    case WebsiteSimulatedMouseEventsDispatchPolicy::Default:
     220        documentLoader.setSimulatedMouseEventsDispatchPolicy(WebCore::SimulatedMouseEventsDispatchPolicy::Default);
     221        break;
     222    case WebsiteSimulatedMouseEventsDispatchPolicy::Allow:
     223        documentLoader.setSimulatedMouseEventsDispatchPolicy(WebCore::SimulatedMouseEventsDispatchPolicy::Allow);
     224        break;
     225    case WebsiteSimulatedMouseEventsDispatchPolicy::Deny:
     226        documentLoader.setSimulatedMouseEventsDispatchPolicy(WebCore::SimulatedMouseEventsDispatchPolicy::Deny);
     227        break;
     228    }
     229
     230    if (websitePolicies.websiteDataStoreParameters) {
     231        if (auto* frame = documentLoader.frame()) {
     232            if (auto* page = frame->page())
     233                page->setSessionID(websitePolicies.websiteDataStoreParameters->networkSessionParameters.sessionID);
     234        }
     235    }
     236
    211237    auto* frame = documentLoader.frame();
    212238    if (!frame)
  • trunk/Source/WebKit/Shared/WebsitePoliciesData.h

    r244197 r244218  
    3232#include "WebsiteMetaViewportPolicy.h"
    3333#include "WebsitePopUpPolicy.h"
     34#include "WebsiteSimulatedMouseEventsDispatchPolicy.h"
    3435#include <WebCore/HTTPHeaderField.h>
    3536#include <wtf/OptionSet.h>
     
    6162    WebsiteMetaViewportPolicy metaViewportPolicy { WebsiteMetaViewportPolicy::Default };
    6263    WebsiteMediaSourcePolicy mediaSourcePolicy { WebsiteMediaSourcePolicy::Default };
     64    WebsiteSimulatedMouseEventsDispatchPolicy simulatedMouseEventsDispatchPolicy { WebsiteSimulatedMouseEventsDispatchPolicy::Default };
    6365
    6466    void encode(IPC::Encoder&) const;
  • trunk/Source/WebKit/Shared/WebsiteSimulatedMouseEventsDispatchPolicy.h

    r244217 r244218  
    11/*
    2  * Copyright (C) 2018-2019 Apple Inc. All rights reserved.
     2 * Copyright (C) 2019 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2626#pragma once
    2727
    28 #include <wtf/WeakPtr.h>
     28#include <wtf/Forward.h>
    2929
    30 namespace WebCore {
    31 
    32 class Document;
    33 
    34 class Quirks {
    35     WTF_MAKE_NONCOPYABLE(Quirks); WTF_MAKE_FAST_ALLOCATED;
    36 public:
    37     Quirks(Document&);
    38     ~Quirks();
    39 
    40     bool shouldIgnoreInvalidSignal() const;
    41     bool needsFormControlToBeMouseFocusable() const;
    42     bool needsAutoplayPlayPauseEvents() const;
    43     bool needsSeekingSupportDisabled() const;
    44     bool needsPerDocumentAutoplayBehavior() const;
    45     bool shouldAutoplayForArbitraryUserGesture() const;
    46     bool hasBrokenEncryptedMediaAPISupportQuirk() const;
    47     bool hasWebSQLSupportQuirk() const;
    48     bool shouldDispatchSimulateMouseEvents() const;
    49 
    50     WEBCORE_EXPORT bool isTouchBarUpdateSupressedForHiddenContentEditable() const;
    51     WEBCORE_EXPORT bool isNeverRichlyEditableForTouchBar() const;
    52 
    53 private:
    54     bool needsQuirks() const;
    55 
    56     WeakPtr<Document> m_document;
    57 
    58     mutable Optional<bool> m_hasBrokenEncryptedMediaAPISupportQuirk;
    59     mutable Optional<bool> m_hasWebSQLSupportQuirk;
     30namespace WebKit {
     31   
     32enum class WebsiteSimulatedMouseEventsDispatchPolicy : uint8_t {
     33    Default,
     34    Allow,
     35    Deny,
    6036};
    6137
    6238}
     39
     40namespace WTF {
     41
     42template<> struct EnumTraits<WebKit::WebsiteSimulatedMouseEventsDispatchPolicy> {
     43    using values = EnumValues<
     44    WebKit::WebsiteSimulatedMouseEventsDispatchPolicy,
     45    WebKit::WebsiteSimulatedMouseEventsDispatchPolicy::Default,
     46    WebKit::WebsiteSimulatedMouseEventsDispatchPolicy::Allow,
     47    WebKit::WebsiteSimulatedMouseEventsDispatchPolicy::Deny
     48    >;
     49};
     50
     51} // namespace WTF
  • trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp

    r244197 r244218  
    5757    policies->setPreferredCompatibilityMode(m_preferredCompatibilityMode);
    5858    policies->setMetaViewportPolicy(m_metaViewportPolicy);
     59    policies->setSimulatedMouseEventsDispatchPolicy(m_simulatedMouseEventsDispatchPolicy);
    5960    Vector<WebCore::HTTPHeaderField> customHeaderFields;
    6061    customHeaderFields.reserveInitialCapacity(m_customHeaderFields.size());
     
    8889        m_customNavigatorPlatform,
    8990        m_metaViewportPolicy,
    90         m_mediaSourcePolicy
     91        m_mediaSourcePolicy,
     92        m_simulatedMouseEventsDispatchPolicy,
    9193    };
    9294}
  • trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.h

    r244197 r244218  
    3333#include "WebsiteMetaViewportPolicy.h"
    3434#include "WebsitePopUpPolicy.h"
     35#include "WebsiteSimulatedMouseEventsDispatchPolicy.h"
    3536#include <WebCore/HTTPHeaderField.h>
    3637#include <wtf/OptionSet.h>
     
    9596    void setMediaSourcePolicy(WebKit::WebsiteMediaSourcePolicy policy) { m_mediaSourcePolicy = policy; }
    9697
     98    WebKit::WebsiteSimulatedMouseEventsDispatchPolicy simulatedMouseEventsDispatchPolicy() const { return m_simulatedMouseEventsDispatchPolicy; }
     99    void setSimulatedMouseEventsDispatchPolicy(WebKit::WebsiteSimulatedMouseEventsDispatchPolicy policy) { m_simulatedMouseEventsDispatchPolicy = policy; }
     100
    97101private:
    98102    WebsitePolicies(bool contentBlockersEnabled, OptionSet<WebKit::WebsiteAutoplayQuirk>, WebKit::WebsiteAutoplayPolicy, Vector<WebCore::HTTPHeaderField>&&, WebKit::WebsitePopUpPolicy, RefPtr<WebsiteDataStore>&&);
     
    111115    WebKit::WebsiteMetaViewportPolicy m_metaViewportPolicy { WebKit::WebsiteMetaViewportPolicy::Default };
    112116    WebKit::WebsiteMediaSourcePolicy m_mediaSourcePolicy { WebKit::WebsiteMediaSourcePolicy::Default };
     117    WebKit::WebsiteSimulatedMouseEventsDispatchPolicy m_simulatedMouseEventsDispatchPolicy { WebKit::WebsiteSimulatedMouseEventsDispatchPolicy::Default };
    113118};
    114119
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r244197 r244218  
    11121112                6BE969CD1E54E054008B7483 /* ResourceLoadStatisticsClassifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BE969CC1E54E054008B7483 /* ResourceLoadStatisticsClassifier.h */; };
    11131113                6EE849C81368D9390038D481 /* WKInspectorPrivateMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EE849C61368D92D0038D481 /* WKInspectorPrivateMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1114                71FB810B2260627E00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 71FB810A2260627A00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h */; };
    11141115                728E86F11795188C0087879E /* WebColorPickerMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 728E86EF1795188C0087879E /* WebColorPickerMac.h */; };
    11151116                75A8D2C8187CCFAB00C39C9E /* WKWebsiteDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 75A8D2C4187CCF9F00C39C9E /* WKWebsiteDataStore.h */; settings = {ATTRIBUTES = (Public, ); }; };
     
    35743575                6D8A91A511F0EFD100DD01FE /* com.apple.WebProcess.sb.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = com.apple.WebProcess.sb.in; path = WebProcess/com.apple.WebProcess.sb.in; sourceTree = "<group>"; };
    35753576                6EE849C61368D92D0038D481 /* WKInspectorPrivateMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKInspectorPrivateMac.h; path = mac/WKInspectorPrivateMac.h; sourceTree = "<group>"; };
     3577                71FB810A2260627A00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebsiteSimulatedMouseEventsDispatchPolicy.h; sourceTree = "<group>"; };
    35763578                728E86EF1795188C0087879E /* WebColorPickerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebColorPickerMac.h; sourceTree = "<group>"; };
    35773579                728E86F01795188C0087879E /* WebColorPickerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebColorPickerMac.mm; sourceTree = "<group>"; };
     
    52435245                                5C13024A1FE341A7000D9B31 /* WebsitePoliciesData.h */,
    52445246                                0EDE85022004E74900030560 /* WebsitePopUpPolicy.h */,
     5247                                71FB810A2260627A00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h */,
    52455248                                8360349D1ACB34D600626549 /* WebSQLiteDatabaseTracker.cpp */,
    52465249                                8360349E1ACB34D600626549 /* WebSQLiteDatabaseTracker.h */,
     
    97169719                                F430E9422247335F005FE053 /* WebsiteMetaViewportPolicy.h in Headers */,
    97179720                                0EDE85032004E75D00030560 /* WebsitePopUpPolicy.h in Headers */,
     9721                                71FB810B2260627E00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h in Headers */,
    97189722                                C149380922347104000CD707 /* WebSpeechSynthesisClient.h in Headers */,
    97199723                                836034A01ACB34D600626549 /* WebSQLiteDatabaseTracker.h in Headers */,
Note: See TracChangeset for help on using the changeset viewer.