Bug 82497 - REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms
Summary: REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: HTML Editing (show other bugs)
Version: 528+ (Nightly build)
Hardware: Macintosh Unspecified
: P2 Normal
Assignee: Enrica Casucci
URL:
Keywords: InRadar, LayoutTestFailure, MakingBotsRed
Depends on:
Blocks:
 
Reported: 2012-03-28 12:02 PDT by Enrica Casucci
Modified: 2012-03-28 17:24 PDT (History)
2 users (show)

See Also:


Attachments
Patch (2.46 KB, patch)
2012-03-28 12:23 PDT, Enrica Casucci
beidson: review-
Details | Formatted Diff | Diff
Patch2 (2.51 KB, patch)
2012-03-28 12:45 PDT, Enrica Casucci
beidson: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Enrica Casucci 2012-03-28 12:02:46 PDT
This is very likely a regression caused by http://trac.webkit.org/changeset/111267.
This revision fixed the way data is written to the pasteboard for NSURLPboardType.
We now need to fix how it is read from the pasteboard in that format.
Comment 1 Radar WebKit Bug Importer 2012-03-28 12:03:14 PDT
<rdar://problem/11140334>
Comment 2 Enrica Casucci 2012-03-28 12:23:08 PDT
Created attachment 134367 [details]
Patch
Comment 3 Brady Eidson 2012-03-28 12:30:52 PDT
Comment on attachment 134367 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=134367&action=review

> Source/WebCore/platform/mac/ClipboardMac.mm:207
>      // Fallback to NSURLPboardType (which is a single URL)
>      if (availableTypes.contains(String(NSURLPboardType))) {
> -        platformStrategies()->pasteboardStrategy()->getPathnamesForType(absoluteURLs, String(NSURLPboardType), pasteboardName);
> +        absoluteURLs.append(platformStrategies()->pasteboardStrategy()->stringForType(String(NSURLPboardType), pasteboardName));
>          if (!absoluteURLs.isEmpty())
>              return absoluteURLs;

It seems that the old code - using getPathnamesForType() - could return anywhere from 0 to many URLs so the absoluteURLs.isEmpty() check was relevant.

But the comment suggests that NSURLPboardType should only ever be 1 URL.  And - in fact - this new code can only ever return exactly 1 URL.

Nuke that unnecessary !absoluteURLs.isEmpty() check!  :)
Comment 4 Brady Eidson 2012-03-28 12:32:06 PDT
And also - did TestWebKitAPI run successfully with this change?
Comment 5 Enrica Casucci 2012-03-28 12:45:17 PDT
Created attachment 134373 [details]
Patch2

New patch that addresses reviewer's comments.
Comment 6 Enrica Casucci 2012-03-28 16:43:46 PDT
http://trac.webkit.org/changeset/112473
Comment 7 Alexey Proskuryakov 2012-03-28 17:08:40 PDT
Isn't this the same as bug 81125 and its associated radar?
Comment 8 Brady Eidson 2012-03-28 17:24:11 PDT
(In reply to comment #7)
> Isn't this the same as bug 81125 and its associated radar?

Seems almost certain that it is