Changeset 163464 in webkit


Ignore:
Timestamp:
Feb 5, 2014 12:04:40 PM (10 years ago)
Author:
ap@apple.com
Message:

Copying failing test paths from build.webkit.org/dashboard popovers also copies non-selectable links
https://bugs.webkit.org/show_bug.cgi?id=128236

Reviewed by Timothy Hatcher.

Work around bug 80159 - copying should always respect user-select:none, but it doesn't yet.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

When copying, temporarily make non-selectable parts invisible, and put text of
the selection onto pasteboard. Since we immediately make everything visible again,
there is even no blinking.

Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js

    r163213 r163464  
    215215        }
    216216
     217        // Work around bug 80159: -webkit-user-select:none not respected when copying content.
     218        // We set clipboard data manually, temporarily making non-selectable content hidden
     219        // to easily get accurate selection text.
     220        content.oncopy = function(event) {
     221            var iterator = document.createNodeIterator(
     222                event.currentTarget,
     223                NodeFilter.SHOW_ELEMENT,
     224                {
     225                    acceptNode: function(element) {
     226                        if (window.getComputedStyle(element).webkitUserSelect !== "none")
     227                            return NodeFilter.FILTER_ACCEPT;
     228                        return NodeFilter.FILTER_SKIP;
     229                    }
     230                }
     231            );
     232
     233            while ((node = iterator.nextNode()))
     234                node.style.visibility = "visible";
     235
     236            event.currentTarget.style.visibility = "hidden";
     237            event.clipboardData.setData('text', window.getSelection());
     238            event.currentTarget.style.visibility = "";
     239            return false;
     240        }
     241
    217242        return content;
    218243    },
  • trunk/Tools/ChangeLog

    r163463 r163464  
     12014-02-05  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Copying failing test paths from build.webkit.org/dashboard popovers also copies non-selectable links
     4        https://bugs.webkit.org/show_bug.cgi?id=128236
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        Work around bug 80159 - copying should always respect user-select:none, but it doesn't yet.
     9
     10        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
     11        When copying, temporarily make non-selectable parts invisible, and put text of
     12        the selection onto pasteboard. Since we immediately make everything visible again,
     13        there is even no blinking.
     14
    1152014-02-05  Nick Diego Yamane  <nick.yamane@openbossa.org>
    216
Note: See TracChangeset for help on using the changeset viewer.