Commit Graph

177 Commits

Author SHA1 Message Date
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Tom Schuster
6296f48a85 Bug 1493292 - Remove aDataLen parameters from nsITransferable.setTransferData. r=smaug
Depends on D11201

Differential Revision: https://phabricator.services.mozilla.com/D11202

--HG--
extra : moz-landing-system : lando
2018-11-20 17:00:09 +00:00
Csoregi Natalia
df7483024d Backed out 6 changesets (bug 1493292) for bustage on /nsTransferable.cpp. CLOSED TREE
Backed out changeset f198bf91320b (bug 1493292)
Backed out changeset 6487aa307123 (bug 1493292)
Backed out changeset f2cabd69c568 (bug 1493292)
Backed out changeset 71430fceb4a3 (bug 1493292)
Backed out changeset 3a9b6d65d8c7 (bug 1493292)
Backed out changeset 55769869037c (bug 1493292)
2018-11-20 17:13:18 +02:00
Tom Schuster
8be0fec340 Bug 1493292 - Remove aDataLen parameters from nsITransferable.setTransferData. r=smaug
Depends on D11201

Differential Revision: https://phabricator.services.mozilla.com/D11202

--HG--
extra : moz-landing-system : lando
2018-11-20 14:47:04 +00:00
Boris Zbarsky
64ae41821b Bug 1507540 part 6. Make nsIVariant's "type" a notxpcom attribute. r=froydnj 2018-11-19 20:20:05 -05:00
Tom Schuster
1506df6b61 Bug 1497476 - Remove nsITransferable.kFlavorHasDataProvider. r=NeilDeakin
Depends on D8074

Differential Revision: https://phabricator.services.mozilla.com/D8075

--HG--
extra : moz-landing-system : lando
2018-10-16 20:35:10 +00:00
Neil Deakin
f659f51906 Bug 1310193 - Remove wrapping of nsISupports as nsISupportsInterfacePointer in transferables. r=smaug
--HG--
extra : rebase_source : 562b3bcd621ad348b7e2ada8151775b188ba58ff
2018-10-07 16:33:07 +02:00
Anny Gakhokidze
edf3cdbd07 Bug 1453153 - Initial removal of moz* APIs in DataTransfer, r=enndeakin,r=nika
In DataTransfer, change mozItemCount, mozTypesAt, mozClearDataAt, mozSetDataAt,
mozGetDataAt APIs to be ChromeOnly.

MozReview-Commit-ID: 9uJ9ncrcBL2
2018-08-22 15:10:31 -04:00
Bogdan Tara
b6dabcd8c5 Backed out changeset 485fdf8e37e8 (bug 1453153) for clipboard failures on test_findbar.xul CLOSED TREE 2018-08-11 03:21:43 +03:00
Anny Gakhokidze
be49493caf Bug 1453153 - Initial removal of moz* APIs in DataTransfer, r=enndeakin,nika
In DataTransfer, change mozItemCount, mozTypesAt, mozClearDataAt, mozSetDataAt,
mozGetDataAt APIs to be ChromeOnly.

MozReview-Commit-ID: 9uJ9ncrcBL2
2018-08-10 11:57:06 -04:00
Anny Gakhokidze
469c8c4a94 Bug 1461465 - Implement async Clipboard APIs, r=nika,r=enndeakin
MozReview-Commit-ID: 3vCxbaGZtiv
2018-07-31 13:13:02 -04:00
Anny Gakhokidze
535e3c83a1 Bug 1470540 - Improve performance of DataTransfer::CacheExternalClipboardFormats, r=baku,mccr8
Currently, in order to retrieve supported clipboard formats
DataTransfer::CacheExternalClipboardFormats repeatedly makes the same calls to
clipboard->HasDataMatchingFlavors.

In the case when aPlainTextOnly == true only 1 call is made -
clipboard->HasDataMatchingFlavors(kUnicodeMime, ...), and when
aPlainTextOnly == false we have 1 call made for every member of the list
{ kCustomTypesMime, kFileMime, kHTMLMime, kRTFMime, kURLMime, kURLDataMime,
kUnicodeMime, kPNGImageMime } - a total of 8 calls.

We can see that in nsClipboardProxy::HasDataMatchingFlavors, there is a call to
ContentChild::GetSingleton()->SendClipboardHasType.
So when aPlainTextOnly == true, we will have 1 sync message, and when
aPlainTextOnly == false, we will have 8 sync messages.

With the proposed solution, in DataTransfer::CacheExternalClipboardFormats
we will only have 1 sync message regardless of the case because
GetExternalClipboardFormats() will retrieve all supported clipboard
formats at once.

MozReview-Commit-ID: CAmBfqB459v

--HG--
extra : rebase_source : 27f1b420f2613e6a747ed63762f1583ab71ba3e0
2018-06-22 14:28:27 -04:00
Jeff Gilbert
5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Anny Gakhokidze
61c5f540ba Bug 1351193 - Part 1: Added new DataTransfer constructor, r=nika
Deleted the old Chrome DataTransfer constructor because it was only used
for some tests which can be easily changed. Added a new constructor that
is not Chrome Only.

MozReview-Commit-ID: HjcgafSiWfM
2018-06-04 15:09:17 -04:00
Boris Zbarsky
bea3100e53 Bug 1455676 part 14. Remove most use of nsIDOMNode in dom/. r=qdot 2018-05-29 22:58:49 -04:00
Boris Zbarsky
6213894581 Bug 1455676 part 3. Remove nsIDOMNode usage from widget/. r=qdot 2018-05-29 22:58:48 -04:00
Adrian Wielgosik
c501e3beb0 Bug 1460940 - Clean up most remaining C++-side uses of nsIDOMDocument. r=bz
MozReview-Commit-ID: LKRnyDPNlle

--HG--
extra : rebase_source : a48b7c72a0f7ede38c91149a04d5de53987736f1
2018-05-11 19:46:15 +02:00
Nathan Froyd
798efd6d66 Bug 1453134 - part 3 - be smarter about input stream semantics in DataTransfer; r=baku
We could have used the new NS_NewCStringInputStream overload here, but
it seemed nicer to directly transfer ownership into the newly-created
stream.  If we're going to be more efficient here, we might as well go
as far as when can without making the code too ugly.
2018-04-11 10:06:17 -04:00
Haik Aftandilian
c6b21edd12 Bug 1437281 - OSX dragging image to desktop changes OSX File associations r=mystor
On Mac, when dragging an image, add the image request's MIME type to
the transfer so that the MIME-extension check can be done in the
parent process to avoid content sandboxing issues.

MozReview-Commit-ID: 3cb4fCr6GnL

--HG--
extra : rebase_source : 43720237b467765401b5504c57bbc1b43d4dfdc0
2018-03-27 14:55:33 -07:00
Coroiu Cristina
8915d0accf Backed out changeset 608119812c07 (bug 1437281) on request from haik a=backout 2018-03-26 23:53:06 +03:00
Haik Aftandilian
ce6d9e36aa Bug 1437281 - OSX dragging image to desktop changes OSX File associations r=mystor
When dragging an image, add the image request's MIME type to the transfer
so that the MIME-extension check can be done in the parent process.

Move the MIME-extension check to the parent process to avoid
issues caused by content process sandboxing.

MozReview-Commit-ID: 3cb4fCr6GnL

--HG--
extra : rebase_source : ec49b8c83613be844fe4cd88a5024ac41a845199
2018-03-22 14:04:23 -07:00
Boris Zbarsky
dae236c7cb Bug 1444686 part 14. Remove nsIDOMDataTransfer. r=mystor
MozReview-Commit-ID: BLi4w10clkP
2018-03-13 16:24:01 -04:00
Boris Zbarsky
0d4f7a1b44 Bug 1444686 part 7. Get rid of unused nsIDOMDataTransfer members. r=mystor
MozReview-Commit-ID: 53ShdRZHlC9
2018-03-13 16:24:00 -04:00
Boris Zbarsky
d4bb233636 Bug 1444686 part 6. Get rid of nsIDOMDataTransfer::GetFiles. r=mystor
MozReview-Commit-ID: 3gAWLI2DyyU
2018-03-13 16:24:00 -04:00
Boris Zbarsky
acad63d428 Bug 1444686 part 5. Get rid of nsIDOMDataTransfer::Get/SetEffectAllowedInt. r=mystor
MozReview-Commit-ID: GIzIU7nWP5j
2018-03-13 16:24:00 -04:00
Boris Zbarsky
0da7198eee Bug 1444686 part 4. Get rid of nsIDOMDataTransfer::Get/SetDropEffectInt. r=mystor
MozReview-Commit-ID: EQ8KXMf4mnR
2018-03-13 16:23:59 -04:00
Boris Zbarsky
55ed30a9c6 Bug 1444686 part 3. Get rid of nsIDOMDataTransfer::Get/SetMozCursor. r=mystor
MozReview-Commit-ID: G7vuh1uuWGv
2018-03-13 16:23:59 -04:00
Boris Zbarsky
6139d9be8f Bug 1444686 part 2. Get rid of nsIDOMDataTransfer::GetMozItemCount. r=mystor
MozReview-Commit-ID: 1eo6czER8Qw
2018-03-13 16:23:59 -04:00
Boris Zbarsky
4968b166a6 Bug 1444686 part 1. Get rid of nsIDOMDataTransfer::Get/SetDropEffect. r=mystor
MozReview-Commit-ID: 6Kn9uuaQYI0
2018-03-13 16:23:59 -04:00
Tooru Fujisawa
48bb8e02c7 Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
Masatoshi Kimura
dbd92543c6 Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3

--HG--
extra : rebase_source : 5db437f1c34608aa223916874d62b48c59baeae8
2017-10-21 23:53:02 +09:00
Kris Maglione
3876d40960 Bug 1404198: Part 1 - Add non-virtual constructor for nsIObject(Input|Output)Stream and update existing callers. r=njn
MozReview-Commit-ID: 3eoh6AwDJyz

--HG--
extra : rebase_source : 92b18b6ef07d276cac79ce735ca0b592cffbf87e
2017-10-04 20:06:28 -07:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Michael Layzell
5dff36164d Bug 1398883 - Disable the DataTransfer::Protected state for Firefox 57, r=baku
This isn't a super essential feature, and is just a change to try to bring us in
line with chromium and the spec. As this has apparent web compat issues, and
DataTransfer is a hard to test area, this patch moves the changes behind a pref,
which we can come back to turning on after we ship 57.
2017-09-13 11:45:48 -04:00
Michael Layzell
63ecbc4c55 Bug 1199729 - Part 4: Update EventUtils to simulate drag events more accurately, r=baku 2017-09-08 11:05:08 -04:00
Michael Layzell
9cfa67ef65 Bug 1199729 - Part 1: Add the Protected mode to DataTransfer, r=baku 2017-09-08 11:05:06 -04:00
Sylvestre Ledru
4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Sebastian Hengst
a5890afd0f Backed out changeset e0a52989a521 (bug 1352852) for timing out in dom/events/test/test_dragstart.html. r=backout 2017-05-11 18:07:41 +02:00
Michael Layzell
12717ff1a6 Bug 1352852 - Add dummy data to the DataTransfer when dragging a draggable object, r=enndeakin
When dragging a `draggable=true` HTML DOM node, if no data is added to the
DataTransfer during the DragStart event, we currently cancel the drag. This is
inconsistent with Chrome's behaviour.

This patch adds a chrome-only (hidden from content) item to the DataTransfer:
application/x-moz-dummy-data. This data is added only when no other data has
been added to the DataTransfer, and the target of the dragstart event was a
draggable=true HTML DOM node.

This hidden node allows for the drag event to complete successfully, while
appearing the same as Chrome's behavior to content scripts.

MozReview-Commit-ID: HVqEr7aR6DD
2017-05-11 10:09:14 -04:00
Michael Layzell
52e859430e Bug 1352281 - Include KIND_OTHER types in DataTransfer.types, r=baku
MozReview-Commit-ID: EoqzAydaLea
2017-04-17 14:57:25 -04:00
Neil Deakin
85b254f54b Bug 1347748, error check the write methods, r=layzell 2017-03-29 06:32:02 -04:00
Michael Layzell
23e8ac47d2 Bug 1348143 - Check nsresult values more places in DataTransfer. r=enndeakin
MozReview-Commit-ID: BP4avMImDB8
2017-03-27 17:44:27 -04:00
Michael Layzell
a3d57f1d3f Bug 1342057 - Part 1: Use correct MIME type for files as DataTransferItem.type, r=baku
MozReview-Commit-ID: 4hrZ3YoGTJj
2017-03-07 18:18:42 -05:00
Wes Kocher
4424ad9cd7 Backed out 2 changesets (bug 1342057) for android failures in test_clipboard_events.html a=backout
Backed out changeset 5a1e069911fa (bug 1342057)
Backed out changeset 6758f6e0b836 (bug 1342057)

MozReview-Commit-ID: 6MHaDaORlqx
2017-03-07 11:44:03 -08:00
Michael Layzell
b985d62013 Bug 1342057 - Part 1: Use correct MIME type for files as DataTransferItem.type, r=baku
MozReview-Commit-ID: 4hrZ3YoGTJj
2017-03-07 12:45:58 -05:00
Michael Layzell
d982a16df5 Bug 1338328 - Change error type for custom-clipdata mime type, and add test for correct exception type, r=baku
MozReview-Commit-ID: 9qwwXxWgWrO
2017-03-06 14:37:27 -05:00
Wes Kocher
8d2ba463c0 Backed out changeset bfc13d436dd4 (bug 1338328) for browser_context_menu_autocomplete_interaction.js failures a=backout
MozReview-Commit-ID: DfOAidZWnWF
2017-03-01 15:38:21 -08:00
Michael Layzell
2f4b475ed1 Bug 1338328 - Change error type for custom-clipdata mime type, and add test for correct exception type, r=baku
MozReview-Commit-ID: 9qwwXxWgWrO
2017-03-01 15:15:36 -05:00
Makoto Kato
2dcf7753c2 Bug 1327798 - Part 1. PasteNoFormatting shouldn't set text/html to clipboard event on paste. r=enndeakin
MozReview-Commit-ID: 8VMudiPiXcK

--HG--
extra : rebase_source : 2476f69296a60f6978f97da2daef021b90350dbf
2017-02-22 18:34:45 +09:00