Commit Graph

64 Commits

Author SHA1 Message Date
Gabriele Svelto
5dc21d568c Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:17:57 +00:00
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
Jonathan Watt
906aa3faf2 Bug 1510247. Fix some unified build issues in widget code. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D13061

--HG--
extra : rebase_source : 919f43d45fc9bc4fe8502b0acf3d01ed067cdd49
2018-11-14 17:03:36 +00:00
Tom Schuster
cd9a715947 Bug 1493292 - Remove len from nsIFormatConverter. r=smaug
Depends on D11204

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

--HG--
extra : moz-landing-system : lando
2018-11-20 17:01:46 +00:00
Tom Schuster
29211098ca Bug 1493292 - Remove len from nsIFlavorDataProvider r=smaug
Depends on D11203

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

--HG--
extra : moz-landing-system : lando
2018-11-20 17:01:44 +00:00
Tom Schuster
2cab03a44d Bug 1493292 - Remove len from nsTransferable. r=smaug
Depends on D11202

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

--HG--
extra : moz-landing-system : lando
2018-11-20 17:01:42 +00: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
Tom Schuster
5a9d2a428c Bug 1493292 - Remove aDataLen parameters from nsITransferable.getTransferData. r=smaug
Depends on D11200

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

--HG--
extra : moz-landing-system : lando
2018-11-20 16:59:56 +00:00
Tom Schuster
aa53a63c78 Bug 1493292 - GetStringSize instead of aDataLen. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D11200

--HG--
extra : moz-landing-system : lando
2018-11-20 16:59:39 +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
2ab01e399b Bug 1493292 - Remove len from nsIFormatConverter. r=smaug
Depends on D11204

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

--HG--
extra : moz-landing-system : lando
2018-11-20 14:47:13 +00:00
Tom Schuster
e2f59a0c22 Bug 1493292 - Remove len from nsIFlavorDataProvider r=smaug
Depends on D11203

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

--HG--
extra : moz-landing-system : lando
2018-11-20 14:47:11 +00:00
Tom Schuster
9dec693c4f Bug 1493292 - Remove len from nsTransferable. r=smaug
Depends on D11202

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

--HG--
extra : moz-landing-system : lando
2018-11-20 14:47:09 +00: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
Tom Schuster
b292ec7c2c Bug 1493292 - Remove aDataLen parameters from nsITransferable.getTransferData. r=smaug
Depends on D11200

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

--HG--
extra : moz-landing-system : lando
2018-11-20 14:47:02 +00:00
Tom Schuster
b21e106022 Bug 1493292 - GetStringSize instead of aDataLen. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D11200

--HG--
extra : moz-landing-system : lando
2018-11-20 14:45:27 +00:00
Boris Zbarsky
0216588e17 Bug 1507540 part 5. Use more notxpcom attributes in widget/. r=ehsan 2018-11-19 20:17:54 -05:00
Rob Wu
41757ec00a Bug 1482540 - Avoid file IO in content proceesses in nsTransferable r=Ehsan,mstange
Large clipboard data (in nsTransferable) in content processes is no
longer stored in a temporary file, but kept in memory.

Differential Revision: https://phabricator.services.mozilla.com/D10336
2018-11-14 22:16:17 +01:00
Tom Schuster
3a8e0049b7 Bug 1503577 - Change CreateDataFromPrimitive aDataLen to out parameter with size of string in bytes. r=mstange
Right now CreateDataFromPrimitive doesn't use the aDataLen parameter, and after this change the out
value should be the same as the value passed in, as long as we are dealing with strings.

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

--HG--
extra : moz-landing-system : lando
2018-11-09 13:24:28 +00:00
Tom Schuster
8c1f89b6e5 Bug 1503588 - Remove aDataLen parameter from nsITransferable.getAnyTransferData. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D10441

--HG--
extra : moz-landing-system : lando
2018-11-02 11:02:25 +00:00
Gabriele Svelto
266ef73c96 Bug 1503207 - Remove nsWeakPtr.h and cleanup all files including weak reference-related headers r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D10251

--HG--
extra : moz-landing-system : lando
2018-10-31 20:39:03 +00:00
Tom Schuster
0959f0508c Bug 1499821 - Introduce the FindDataFlavor helper function to nsTransferable. r=froydnj
This combines some of your ideas from D8074, in which I think is quite a big improvement to the overall code.

The code for nsTransferable::GetTransferData, especially nsIFlavorDataProvider is a bit wonky, because I tried to preserve the current behavior.

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

--HG--
extra : moz-landing-system : lando
2018-10-25 10:04:43 +00:00
Csoregi Natalia
9476fa6c62 Backed out changeset 7b87be447ed8 (bug 1499821) for bustages on nsTransferable.h. CLOSED TREE 2018-10-25 01:26:25 +03:00
Tom Schuster
70d6344664 Bug 1499821 - Introduce the FindDataFlavor helper function to nsTransferable. r=froydnj
This combines some of your ideas from D8074, in which I think is quite a big improvement to the overall code.

The code for nsTransferable::GetTransferData, especially nsIFlavorDataProvider is a bit wonky, because I tried to preserve the current behavior.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 21:34:32 +00:00
Tom Schuster
fa1366d1bc Bug 1500954 - Remove special zero length handling in nsITransferable.GetTransferData. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D9423

--HG--
extra : moz-landing-system : lando
2018-10-24 21:32:04 +00:00
Tom Schuster
3a29b5d888 Bug 1499821 - Some general code style fixes for nsTransferable. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D9496

--HG--
extra : moz-landing-system : lando
2018-10-23 12:17:02 +00:00
Tom Schuster
4904e37caf Bug 1499821 - Remove unused nsITransferable.isLargeDataSet. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D9440

--HG--
extra : moz-landing-system : lando
2018-10-22 21:46:38 +00: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
Tom Schuster
3334b2af14 Bug 1497476 - Clang-format nsTransferable.cpp. r=froydnj
Running clang-format makes this code at least a bit more pleasant to look at.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 16:48:43 +00:00
Tom Schuster
6fcac07b5e Bug 1497831 - Use nsTArray instead of nsIArray for nsIFormatConverter. r=smaug
Depends on D8194

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

--HG--
extra : moz-landing-system : lando
2018-10-10 20:26:06 +00:00
Tom Schuster
028ba5d31e Bug 1497831 - Use nsTArray instead of nsIArray for nsITransferable. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D8194

--HG--
extra : moz-landing-system : lando
2018-10-10 20:25:54 +00:00
Boris Zbarsky
6213894581 Bug 1455676 part 3. Remove nsIDOMNode usage from widget/. r=qdot 2018-05-29 22:58:48 -04:00
Rob Wu
2209797ba5 Bug 1433030 - Initialize nsTransferable::mPrivateData with false r=jdm
Initialize mPrivateData to false by default again, because the
change that changed the default value from true to false, i.e.
https://hg.mozilla.org/mozilla-central/rev/9e19b58d6494
prevented the clipboard from being backed by the filesystem,
as shown at https://bugzilla.mozilla.org/show_bug.cgi?id=1433030#c7

MozReview-Commit-ID: DEw5ETVqab8

--HG--
extra : rebase_source : 0d15a91c28ae3dee9c7e767a5b2c959574610b0f
2018-03-07 10:21:50 +01:00
Rob Wu
877c911eae Bug 335545 - Make DataStruct non-copyable r=mstange
DataStruct cannot safely be copied if its mCacheFD member is set.
Currently there is no code for this case, but to avoid problems later,
mark the copy and assignment constructors private and delete them.

A move-constructor was added to compensate for the deleted copy
constructor. nsTransferable::AddDataFlavor uses this new constructor
instead of the previous implicit default copy constructor.

MozReview-Commit-ID: 3N5xjFXOUKB

--HG--
extra : rebase_source : dc609f20c7048b3630fa99fe2deef3f5be155334
2018-02-25 17:36:08 +01:00
Rob Wu
ed4e35a109 Bug 335545 - Store clipboard data in memory XOR file r=mstange
Ensure that only DataStruct::mData + mDataLen, XOR
DataStruct::mCacheFD is used.
(Previously it was possible that all of these members were populated,
 which is a waste of memory.)

The effect of this change is visible when SetTransferData is called
multiple times with the same flavor, but with one below the threshold
for storing in-memory, and the other above (=store in a file).

MozReview-Commit-ID: 4UlkKAYsjf

--HG--
extra : rebase_source : 75398f84f039bdf2ff0195342f3db8efbdce6d3d
2017-09-03 03:21:45 +02:00
Rob Wu
1b8a4cf8e6 Bug 335545 - Use nsAnonymousTemporaryFile for clipboard cache r=mstange
The cache file is never directly exposed to consumers of DataStruct,
so it does not make sense to keep the clipboardcache file around
forever.

The only change in this commit is to switch from using a filename to
using a file descriptor. In the destructor, the FD is explicitly closed
(which releases the file data).  nsAnonymousTemporaryFile takes care
of removing the file when the destructor is not called (e.g. crashes).

Previously, the clipboard cache was stored in a file called:
TmpD/clipboardcache-N

As of this commit, the clipboard cache is stored at:
TmpD/mozilla-temp-randomN (macOS and Linux)
TmpD/mozilla-temp-files/mozilla-temp-randomN (Windows)
(see xpcom/io/nsAnonymousTemporaryFile.{h,cpp} for more details)

To verify that these files are really gone:
1. Create a document with 500k+ characters, open it in Firefox.
2. Copy its content - this will trigger the clipboard cache.
3. Look for the open file descriptor of the deleted file:
   ( macOS and Linux: )
   lsof +L1 | grep mozilla-temp
4. Copy anything (under the 500k threshold), or quit/kill Firefox.
5. Repeat step 3 and observe that the number of file descriptors
   has decreased.

MozReview-Commit-ID: 85GlKQrNUl5

--HG--
extra : rebase_source : 6937143639d6a6280ffe8b53b4c2fa4b1e7ef55d
2017-09-03 02:29:10 +02:00
Arthur Edelstein
7d2a9476f0 Bug 1433030 - Stop nsTransferable writing to /tmp in PB windows r=jdm
We shouldn't assume it's safe to write to /tmp unless we know
for sure we are not in a private browsing window. So
use mPrivateData = true as default.

Based on a patch by Neill Miller:
https://trac.torproject.org/projects/tor/ticket/21830
2018-02-12 10:34:00 +02: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
Wes Kocher
b3c0b118ec Backed out 3 changesets (bug 335545) for asan failures in test_bug1123480.xul a=backout
Backed out changeset 25a686779a94 (bug 335545)
Backed out changeset b83ddb70c8b5 (bug 335545)
Backed out changeset ea69ee15ed90 (bug 335545)

MozReview-Commit-ID: LkJgt3eSs2J
2017-09-26 15:26:07 -07:00
Rob Wu
81c80f8357 Bug 335545 - Store clipboard data in memory XOR file r=mstange
Ensure that only DataStruct::mData + mDataLen, XOR
DataStruct::mCacheFD is used.
(Previously it was possible that all of these members were populated,
 which is a waste of memory.)

The effect of this change is visible when SetTransferData is called
multiple times with the same flavor, but with one below the threshold
for storing in-memory, and the other above (=store in a file).

MozReview-Commit-ID: 4UlkKAYsjf

--HG--
extra : rebase_source : fff484301dc87f12685575084993b6bf877f9a9b
2017-09-03 03:21:45 +02:00
Rob Wu
764aecbcc4 Bug 335545 - Use nsAnonymousTemporaryFile for clipboard cache r=mstange
The cache file is never directly exposed to consumers of DataStruct,
so it does not make sense to keep the clipboardcache file around
forever.

The only change in this commit is to switch from using a filename to
using a file descriptor. In the destructor, the FD is explicitly closed
(which releases the file data).  nsAnonymousTemporaryFile takes care
of removing the file when the destructor is not called (e.g. crashes).

Previously, the clipboard cache was stored in a file called:
TmpD/clipboardcache-N

As of this commit, the clipboard cache is stored at:
TmpD/mozilla-temp-randomN (macOS and Linux)
TmpD/mozilla-temp-files/mozilla-temp-randomN (Windows)
(see xpcom/io/nsAnonymousTemporaryFile.{h,cpp} for more details)

To verify that these files are really gone:
1. Create a document with 500k+ characters, open it in Firefox.
2. Copy its content - this will trigger the clipboard cache.
3. Look for the open file descriptor of the deleted file:
   ( macOS and Linux: )
   lsof +L1 | grep mozilla-temp
4. Copy anything (under the 500k threshold), or quit/kill Firefox.
5. Repeat step 3 and observe that the number of file descriptors
   has decreased.

MozReview-Commit-ID: 85GlKQrNUl5

--HG--
extra : rebase_source : b0c6e9540e53ad5e713a9db55f3001d7f53c308a
2017-09-03 02:29:10 +02:00
Sebastian Hengst
b98981f4a0 Backed out changeset dff1e1774422 (bug 335545) for failing clipboard mochitest widget/tests/test_bug1123480.xul on Linux x64 asan. r=backout 2017-09-21 00:00:52 +02:00
Sebastian Hengst
83c050d603 Backed out changeset e96494792b66 (bug 335545) 2017-09-20 23:59:57 +02:00
Rob Wu
b53439701a Bug 335545 - Store clipboard data in memory XOR file r=mstange
Ensure that only DataStruct::mData + mDataLen, XOR
DataStruct::mCacheFD is used.
(Previously it was possible that all of these members were populated,
 which is a waste of memory.)

The effect of this change is visible when SetTransferData is called
multiple times with the same flavor, but with one below the threshold
for storing in-memory, and the other above (=store in a file).

MozReview-Commit-ID: 4UlkKAYsjf

--HG--
extra : rebase_source : c9a5a7a3f5a6f3e6ab1bfb8662372cbbac837a00
2017-09-03 03:21:45 +02:00
Rob Wu
ecc04a9245 Bug 335545 - Use nsAnonymousTemporaryFile for clipboard cache r=mstange
The cache file is never directly exposed to consumers of DataStruct,
so it does not make sense to keep the clipboardcache file around
forever.

The only change in this commit is to switch from using a filename to
using a file descriptor. In the destructor, the FD is explicitly closed
(which releases the file data).  nsAnonymousTemporaryFile takes care
of removing the file when the destructor is not called (e.g. crashes).

Previously, the clipboard cache was stored in a file called:
TmpD/clipboardcache-N

As of this commit, the clipboard cache is stored at:
TmpD/mozilla-temp-randomN (macOS and Linux)
TmpD/mozilla-temp-files/mozilla-temp-randomN (Windows)
(see xpcom/io/nsAnonymousTemporaryFile.{h,cpp} for more details)

To verify that these files are really gone:
1. Create a document with 500k+ characters, open it in Firefox.
2. Copy its content - this will trigger the clipboard cache.
3. Look for the open file descriptor of the deleted file:
   ( macOS and Linux: )
   lsof +L1 | grep mozilla-temp
4. Copy anything (under the 500k threshold), or quit/kill Firefox.
5. Repeat step 3 and observe that the number of file descriptors
   has decreased.

MozReview-Commit-ID: 85GlKQrNUl5

--HG--
extra : rebase_source : eb05c1d4600f62373aa1b7e472154b57b99e6bf8
2017-09-03 02:29:10 +02:00
Nicholas Nethercote
f582d96b98 Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm.
This is straightforward, with only two notable things.

- `#include "nsXPIDLString.h" is replaced with `#include "nsString.h"`
  throughout, because all nsXPIDLString.h did was include nsString.h. The
  exception is for files which already include nsString.h, in which case the
  patch just removes the nsXPIDLString.h inclusion.

- The patch removes the |xpidl_string| gtest, but improves the |voided| test to
  cover some of its ground, e.g. testing Adopt(nullptr).

--HG--
extra : rebase_source : 452cc4a08046a1adb1a8099a7e85a1917de5add8
2017-08-17 15:29:03 +10:00
Nicholas Nethercote
8a72cf2251 Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm.
--HG--
extra : rebase_source : 69d58b0cfb56efc6b03d8e2d7be2ce3c3e6cd843
2017-08-21 20:01:27 +10:00
Makoto Kato
3147d216e4 Bug 1312936 - Part 1. Use ACString for nsITranserable.getAnyTransferData. r=masayuki
MozReview-Commit-ID: L8eWccMBtVj

--HG--
extra : rebase_source : 39afc27d9b25db779e543446b791a9afd36b2788
2016-10-26 11:07:16 +09:00
Eric Rahm
52edf921c1 Bug 1310017 - Remove nsISupportsArray usage from nsITransferable and nsIFormatConverter. r=smaug
This converts |nsITransferable.flavorsTransferableCanExport| and
|nsITransferable.flavorsTransferableCanImport| to return a |nsIArray|.

|nsIFormatConverter.getInputDataFlavors| and
|nsIFormatConverter.getOutputDataFlavors| are updated as well.
2016-10-16 12:43:56 -07:00
Nicholas Nethercote
04be8d005a Bug 1296164 (part 1) - Use [must_use] on nsIFile.{create,createUnique}. r=froydnj.
And fix numerous missing checks that this change identifies.

--HG--
extra : rebase_source : 97b0a6e8f9375c937dadb59c1110bb54b7633134
2016-08-18 13:30:12 +10:00