Commit automatically generated through clang-tidy's
performance-use-std-move new pass.
- Maybe type has a dedicated move operator
- And TimingParams also have a dedicated move operator because of Maybe
members
- OwningAnimationTarget benefits from being moved
- nsCOMPtr benefits from being moved
- std::vector benefits from being moved
- std::string benefits from being moved
- SMILTimeValueSpecParams benefits from being moved
Differential Revision: https://phabricator.services.mozilla.com/D285674
Commit automatically generated through clang-tidy's
performance-use-std-move new pass.
- Maybe type has a dedicated move operator
- And TimingParams also have a dedicated move operator because of Maybe
members
- OwningAnimationTarget benefits from being moved
- nsCOMPtr benefits from being moved
- std::vector benefits from being moved
- std::string benefits from being moved
- SMILTimeValueSpecParams benefits from being moved
Differential Revision: https://phabricator.services.mozilla.com/D285674
Most changes are automated. Relevant bit is dom/.clang-format. I had to
manually disable clang-format in a few places where importing external
files and so on that aren't self-contained, and fix a couple includes /
forward declarations.
Differential Revision: https://phabricator.services.mozilla.com/D256800
We are making changes to many files. Very huge chunk of the changes are just renaming CSP -> PolicyContainer. Part 1 and part 2 are solely separated as frontend and backend. The unfortunate thing is, I mistakenly placed IDL changes in part 1, and many of those IDL changes affect frontend code too. I'm sorry for this inconvinience and hard to review patch(es).
(FWIW before this rewrite we had another patch stack. It is 25 patches and I believe isn't as comprehensive as this one. It also didn't replace CSP's inheritance but was copied alongside with CSP, but we decided to change our method and make policy conttainer contain CSP and copy it around after some discussion and reviews)
Differential Revision: https://phabricator.services.mozilla.com/D249248
We used to generate our boundary only from numbers which led to empty requests being blocked as potential SQL injections.
Now we are adding a "geckoformboundary" Prefix and using hex values, so the bug should be fixed.
Differential Revision: https://phabricator.services.mozilla.com/D229943
We used to generate our boundary only from numbers which led to empty requests being blocked as potential SQL injections.
Now we are adding a "GeckoFormBoundary" Prefix and using hex values, so the bug should be fixed.
Differential Revision: https://phabricator.services.mozilla.com/D229943
We have more readable and faster versions (that just omit the namespace
arg).
Mostly done via sed, with a couple helpers to use the faster lookups
where possible.
Differential Revision: https://phabricator.services.mozilla.com/D181795
This patch changes the value of an empty `<input type=file>` control as obtained from the `FormData` API, which used to be an empty string, to be a `File` object with empty contents, whose name is the empty string and whose type is `"application/octet-stream"`.
Differential Revision: https://phabricator.services.mozilla.com/D106605
This patch changes the value of an empty `<input type=file>` control as obtained from the `FormData` API, which used to be an empty string, to be a `File` object with empty contents, whose name is the empty string and whose type is `"application/octet-stream"`.
Differential Revision: https://phabricator.services.mozilla.com/D106605
It's possible that the dialog is closed while we are processing
the request, and we'd deferencing a null pointer for such case.
Differential Revision: https://phabricator.services.mozilla.com/D83531
Using a weak RNG for the form boundary allows a website operator to perform several
attacks on users (as outlined in https://trac.torproject.org/projects/tor/ticket/22919)
These include:
- Identifying Windows users based on the unseeded RNG
- Identify the number of form submissions that have occurred cross-origin between same-origin submissions
Additionally, a predictable boundary makes it possible to forge a boundary in the middle
of a file upload.
Differential Revision: https://phabricator.services.mozilla.com/D56056
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/D55442