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

Changeset 249692 in webkit


Ignore:
Timestamp:
Sep 9, 2019, 8:19:40 PM (7 years ago)
Author:
Alan Coon
Message:

Cherry-pick r249493. rdar://problem/55182906

[iPadOS] Unable to change sheets on Airtable.com
https://bugs.webkit.org/show_bug.cgi?id=201456
<rdar://problem/51557377>

Patch by Antoine Quint <Antoine Quint> on 2019-09-04
Reviewed by Dean Jackson.

Simulated mouse events are required to be able to manipulate cells and and columns on Airtable.com. However, dispatching a "mousedown" event on
tabs allowing to pick a different sheet ends up calling preventDefault() and prevent "click" events from being dispatched, which makes it
impossible to change sheet. We now limit the dispatch of simulated mouse events to the grid.

  • page/Quirks.cpp: (WebCore::Quirks::simulatedMouseEventTypeForTarget const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249493 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Location:
branches/safari-608-branch/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-608-branch/Source/WebCore/ChangeLog

    r249689 r249692  
     12019-09-09  Kocsen Chung  <kocsen_chung@apple.com>
     2
     3        Cherry-pick r249493. rdar://problem/55182906
     4
     5    [iPadOS] Unable to change sheets on Airtable.com
     6    https://bugs.webkit.org/show_bug.cgi?id=201456
     7    <rdar://problem/51557377>
     8   
     9    Patch by Antoine Quint <graouts@apple.com> on 2019-09-04
     10    Reviewed by Dean Jackson.
     11   
     12    Simulated mouse events are required to be able to manipulate cells and and columns on Airtable.com. However, dispatching a "mousedown" event on
     13    tabs allowing to pick a different sheet ends up calling preventDefault() and prevent "click" events from being dispatched, which makes it
     14    impossible to change sheet. We now limit the dispatch of simulated mouse events to the grid.
     15   
     16    * page/Quirks.cpp:
     17    (WebCore::Quirks::simulatedMouseEventTypeForTarget const):
     18   
     19    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     20
     21    2019-09-04  Antoine Quint  <graouts@apple.com>
     22
     23            [iPadOS] Unable to change sheets on Airtable.com
     24            https://bugs.webkit.org/show_bug.cgi?id=201456
     25            <rdar://problem/51557377>
     26
     27            Reviewed by Dean Jackson.
     28
     29            Simulated mouse events are required to be able to manipulate cells and and columns on Airtable.com. However, dispatching a "mousedown" event on
     30            tabs allowing to pick a different sheet ends up calling preventDefault() and prevent "click" events from being dispatched, which makes it
     31            impossible to change sheet. We now limit the dispatch of simulated mouse events to the grid.
     32
     33            * page/Quirks.cpp:
     34            (WebCore::Quirks::simulatedMouseEventTypeForTarget const):
     35
    1362019-09-09  Kocsen Chung  <kocsen_chung@apple.com>
    237
  • branches/safari-608-branch/Source/WebCore/page/Quirks.cpp

    r248985 r249692  
    373373        return Event::IsCancelable::No;
    374374
     375    if (equalLettersIgnoringASCIICase(host, "airtable.com") || host.endsWithIgnoringASCIICase(".airtable.com")) {
     376        // We want to limit simulated mouse events to elements under <div id="paneContainer"> to allow for column re-ordering and multiple cell selection.
     377        if (is<Node>(target)) {
     378            auto* node = downcast<Node>(target);
     379            if (auto* paneContainer = node->treeScope().getElementById(AtomString("paneContainer"))) {
     380                if (paneContainer->contains(node))
     381                    return Event::IsCancelable::Yes;
     382            }
     383        }
     384        return { };
     385    }
     386
    375387    return Event::IsCancelable::Yes;
    376388}
Note: See TracChangeset for help on using the changeset viewer.