Commit Graph

160 Commits

Author SHA1 Message Date
Nathan Froyd
6ca6b03ffd 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
cb0e540602 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
2018-03-27 14:55:33 -07:00
Coroiu Cristina
1028e71e02 Backed out changeset 608119812c07 (bug 1437281) on request from haik a=backout 2018-03-26 23:53:06 +03:00
Haik Aftandilian
9cf609c01f 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
2018-03-22 14:04:23 -07:00
Boris Zbarsky
8d8b8ff2b5 Bug 1444686 part 14. Remove nsIDOMDataTransfer. r=mystor
MozReview-Commit-ID: BLi4w10clkP
2018-03-13 16:24:01 -04:00
Boris Zbarsky
b557ebf943 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
e0d4f437be 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
42fd52d36e 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
5233731aff 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
3d51c49049 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
f54ea47e24 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
762a379561 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
c2f56585a8 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
e29c3d5a3e Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3
2017-10-21 23:53:02 +09:00
Kris Maglione
6abfb21ed3 Bug 1404198: Part 1 - Add non-virtual constructor for nsIObject(Input|Output)Stream and update existing callers. r=njn
MozReview-Commit-ID: 3eoh6AwDJyz
2017-10-04 20:06:28 -07:00
Nicholas Nethercote
7dbfdaf890 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
2017-10-03 09:05:19 +11:00
Nicholas Nethercote
9fda5528d2 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
2017-09-26 08:33:21 +10:00
Michael Layzell
c25b2d35d2 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
ee1064853c Bug 1199729 - Part 4: Update EventUtils to simulate drag events more accurately, r=baku 2017-09-08 11:05:08 -04:00
Michael Layzell
307c057e1b Bug 1199729 - Part 1: Add the Protected mode to DataTransfer, r=baku 2017-09-08 11:05:06 -04:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Sebastian Hengst
ffa23e1652 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
a8be72d73b 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
199ee9117b 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
ed4a22c432 Bug 1347748, error check the write methods, r=layzell 2017-03-29 06:32:02 -04:00
Michael Layzell
e15ed0bd0e 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
28bc30f78a 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
d47fb1f1c9 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
9c74b76971 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
c5f010dc43 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
37aaa22263 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
bf449c9a7c 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
d12d518f85 Bug 1327798 - Part 1. PasteNoFormatting shouldn't set text/html to clipboard event on paste. r=enndeakin
MozReview-Commit-ID: 8VMudiPiXcK
2017-02-22 18:34:45 +09:00
Olli Pettay
3898f7d882 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8 2017-01-03 21:47:55 +02:00
Neil Deakin
45e02b912c Bug 1309596, add an updateDragImage method to modify the drag feedback image during the drag, r=smaug 2016-12-23 18:09:44 -05:00
Boris Zbarsky
6286c72598 Bug 1317720. Use NeedsCallerType instead of NeedsSubjectPrincipal for DataTransfer.types. r=mystor 2016-11-15 12:46:32 -05:00
Boris Zbarsky
bf99bde385 Bug 1317599. Get rid of LegacyIsCallerChromeOrNativeCode use in datatransfer code. r=mystor 2016-11-15 12:46:32 -05:00
Michael Layzell
1139a777c7 Bug 1306645 - Don't add application/x-moz-file entries from the clipboard to dataTransfer with e10s, r=enndeakin
application/x-moz-file entries on the clipboard are not able to be
successfully transmitted across synchronous IPC due to bug 1308007, thus
they appear as useless null files.

This patch hides those useless null files, and thus unhides image data
which may have been on the clipboard but was previously hidden by the
presence of an application/x-moz-file file

MozReview-Commit-ID: 4RmQe9kDZLe
2016-10-20 15:09:43 -04:00
Eric Rahm
2a4d3b22b9 Bug 1309698 - Remove usage of nsISupportsArray from nsIDragService. r=smaug 2016-10-18 11:56:20 -07:00
Michael Layzell
e2a0979b6c Bug 1309645 - Stop providing image/jpeg files as a string to websites, r=enndeakin
MozReview-Commit-ID: 1NsWeMk5V5s
2016-10-13 16:58:19 -04:00
Boris Zbarsky
5ec6c4c5ff Bug 1308287 part 2. Make DataTransfer.types use [NeedsSubjectPrincipal]. r=mystor 2016-10-10 21:07:48 -04:00
Boris Zbarsky
65a99191a7 Bug 1308287 part 1. Change [NeedsSubjectPrincipal] to only do the Maybe thing for interfaces that can be exposed to workers. r=baku
The idea is to not make consumers think about whether the principal exists or
not when the caller knows for sure that it does.

The substantive changes are in dom/bindings, nsHTMLDocument::SetDesignMode, and
around the CanUseStorage bits.  Everything else is pretty mechanical.
2016-10-10 21:07:48 -04:00
Boris Zbarsky
89d7a546a8 Bug 1298243 part 7. Change DataTransfer.types from being a DOMStringList to being a frozen array. r=mystor,gijs 2016-10-10 21:07:47 -04:00
Boris Zbarsky
fc815061ed Bug 1298243 part 6. Remove the unused xpidl versions of DataTransfer.types and DataTransfer.getData. r=mystor 2016-10-10 21:07:47 -04:00
Boris Zbarsky
0859c5334f Bug 1298243 part 5. Notify the DataTransfer whenever its types list changes. r=mystor 2016-10-10 21:07:47 -04:00
Boris Zbarsky
3297a2bf11 Bug 1298243 part 4. Drop the pointless ErrorResult from the DataTransferItemList indexed getter. r=mystor 2016-10-10 21:07:47 -04:00
Boris Zbarsky
67246e9f1c Bug 1298243 part 3. Restrict mutation of a DataTransferItem's kind to codepaths that are actually changing its data. r=mystor 2016-10-10 21:07:47 -04:00
Andrea Marchesini
f2fd73dec3 Bug 1306222 - Use NeedsSubjectPrincipal in DataTransfer, r=ehsan 2016-09-30 19:54:28 +02:00
Andrea Marchesini
bcba04a6c4 Bug 1306220 - Get rid of nsIDOMDataTransfer::clearData and mozClearDataAt, r=ehsan 2016-09-29 22:47:01 +02:00
Andrea Marchesini
a96eec50ed Bug 1297393 - Make passing of subject principals to webidl entry points explicit - part 3 - DataTransferItemList, r=ehsan 2016-09-29 08:55:20 +02:00