Commit Graph
117 Commits
Author SHA1 Message Date
Leo Tenenbaum 6a27bbbbf6 Bug 2042943 - Add mSubmitter member to FSURLEncoded. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D303026
2026-06-01 13:25:28 +00:00
Sylvestre Ledru d2ee2c8fb9 Bug 2036402 - Apply std::move in dom/html where values can be moved instead of copied r=dom-core,firefox-svg-reviewers,smaug,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D298099
2026-05-04 15:16:20 +00:00
Emilio Cobos Álvarez 5016086e1a Bug 2025089 - Remove some includes from nsINode.h and Element.h. r=dom-core,dom-storage-reviewers,firefox-svg-reviewers,janv,smaug
Differential Revision: https://phabricator.services.mozilla.com/D289049
2026-03-22 23:45:55 +00:00
Sylvestre Ledru 9eb1a31a98 Bug 2023419 - Remove Emacs/Vim modelines from dom/ r=emilio,media-playback-reviewers,webidl,padenot
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287843
2026-03-16 21:02:32 +00:00
serge-sans-paille b093ca6e20 Bug 2020581 - Replace copy assignment by move assignment in dom/ r=media-playback-reviewers,webrtc-reviewers,dom-worker-reviewers,dom-core,asuth,padenot,smaug,bwc
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
2026-03-05 00:58:38 +00:00
Andreea Silaghi df905fef77 Revert "Bug 2020587 - Replace copy assignment by move assignment in xpcom/ r=xpcom-reviewers,jstutte" for causing failures at TestFileSystemHelpers This reverts commit d3c7b9c4d1.
This reverts commit 38c02da27e.
2026-03-04 08:20:03 +00:00
serge-sans-paille 38c02da27e Bug 2020581 - Replace copy assignment by move assignment in dom/ r=media-playback-reviewers,webrtc-reviewers,dom-worker-reviewers,dom-core,asuth,padenot,smaug,bwc
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
2026-03-04 07:00:30 +00:00
Emilio Cobos Álvarez 791917d8af Bug 1976665 - Sort headers in dom/. r=dom-core,media-playback-reviewers,webrtc-reviewers,dom-storage-reviewers,padenot,janv,smaug,jesup,jib
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
2025-08-05 11:47:34 +00:00
Fatih Kilic eed44c4862 Bug 1968607 - Part 1: Replace CSP with PolicyContainer. r=tschuster,webidl,smaug
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
2025-07-11 05:39:17 +00:00
Andreas Farre e10114d313 Bug 1962710 - Part 3: Fire NavigateEvent for regular navigations. r=smaug,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249242
2025-05-19 09:03:54 +00:00
Oskar Mansfeld a2d3523172 Bug 1931331 - Adding prefix to multipart boundary generation to prevent false SQL injection detection. r=necko-reviewers,tjr,valentin,kershaw
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
2024-12-04 09:24:27 +00:00
Alexandru Marc 0e7b083e54 Backed out changeset 4e9ed2a5d08d (bug 1931331) for causing mochitest failures @ test_formData.html 2024-12-02 15:42:05 +02:00
Oskar Mansfeld 36f9142be0 Bug 1931331 - Adding prefix to multipart boundary generation to prevent false SQL injection detection. r=necko-reviewers,tjr,valentin
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
2024-12-02 12:11:40 +00:00
Tom Schuster c223046d21 Bug 1835157 - Ignore target names which contain both newline and < characters. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D210480
2024-05-24 08:09:36 +00:00
Vincent Hilla ba2163ab57 Bug 1820403 - Skip parts of form submission when the method is dialog. r=dom-core,sefeng
https://github.com/whatwg/html/pull/8943 moved dialog submission in the form submission algorithm from step 24 to step 11.

Differential Revision: https://phabricator.services.mozilla.com/D183168
2023-07-18 13:00:27 +00:00
Emilio Cobos Álvarez 529c9ee321 Bug 1839922 - Remove usage of {Has,Get}Attr(kNameSpaceID_None, ..). r=edgar
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
2023-06-23 10:01:32 +00:00
Tom Schuster d0e64c1cc0 Bug 1770094 r=freddyb,emilio
Differential Revision: https://phabricator.services.mozilla.com/D154518
2022-08-15 14:41:10 +00:00
Marian-Vasile Laza ce538c3c37 Backed out changeset 3849f10b5154 (bug 1770094) requested by the dev - patch is incomplete. CLOSED TREE 2022-08-15 12:34:02 +03:00
Tom Schuster 19c632bbc7 Bug 1770094 r=freddyb,emilio
Differential Revision: https://phabricator.services.mozilla.com/D154518
2022-08-15 08:19:06 +00:00
ssummar 43e270e58d Bug 1603127 - Replaced mozilla::Tuple with std::tuple and applied structured bindings in mozilla/Encoding.h. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D129920
2021-11-08 08:14:00 +00:00
Cristian Tuns 3b4f87f69c Backed out changeset 7e8e3747c3f8 (bug 1603127) for causing toolchains build bustages (Bug 1739589). CLOSED TREE 2021-11-05 07:23:45 -04:00
ssummar f2f04d2ae8 Bug 1603127 - Replaced mozilla::Tuple with std::tuple and applied structured bindings in mozilla/Encoding.h. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D129920
2021-11-05 05:33:58 +00:00
ssummar b7e03bdd6d Bug 1626517 - Replaced mozilla::Unused with mozilla::Ignore in mozilla::Decoder/mozilla::Encoder calls. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D129022
2021-10-25 12:31:41 +00:00
Edgar Chen c791a38187 Bug 1728081 - Part 3: Merge nsIForm into HTMLFormElement; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D123951
2021-08-30 18:44:51 +00:00
Edgar Chen 2a45c41a27 Bug 1721349 - Move mSubmitter from HTMLFormSubmission to FormData and make it participate in cycle collection; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D120334
2021-07-21 09:52:20 +00:00
Andreu Botella 4f7586a152 Bug 1686765 - Update newline normalization in form payloads. r=smaug
This commit also changes the way escapes work in multipart/form-data names and filenames.

Differential Revision: https://phabricator.services.mozilla.com/D108000
2021-05-24 13:17:56 +00:00
Cosmin Sabou 65823251e1 Backed out changeset beece7a29ecd (bug 1686765) for mochitest failures on test_ext_webrequest_upload.html. CLOSED TREE 2021-05-24 14:53:38 +03:00
Andreu Botella 4b3cdbd1b5 Bug 1686765 - Update newline normalization in form payloads. r=smaug
This commit also changes the way escapes work in multipart/form-data names and filenames.

Differential Revision: https://phabricator.services.mozilla.com/D108000
2021-05-24 10:51:59 +00:00
Andreu Botella f778253bfe Bug 1459859 - Treat an empty <input type=file> as an empty File in FormData. r=smaug,robwu
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
2021-03-24 18:43:58 +00:00
Csoregi Natalia 9a1d729070 Backed out changeset 57563a99fe53 (bug 1459859) for failures on test_ext_webrequest_upload.html. CLOSED TREE 2021-03-24 14:08:13 +02:00
Andreu Botella 36179c410d Bug 1459859 - Treat an empty <input type=file> as an empty File in FormData. r=smaug
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
2021-03-24 11:11:25 +00:00
Andreu Botella 70b6deef58 Bug 1687820 - Fix bugs with null bytes in form payloads. r=smaug
On `multipart/form-data` payloads, a null byte on the name, filename or string
value cuts off the rest of the name, filename or value. On `text/plain`
payloads, a null byte anywhere cuts off the rest of the entire payload.

This is because `nsLinebreakConverter::ConvertLineBreaks` is called without
giving a length parameter, which causes it to treat the input C string as
null-terminated.

The tests for `text/plain` are under review on WPT:
https://github.com/web-platform-tests/wpt/pull/26740
(https://wpt.fyi/results/html/semantics/forms/form-submission-0/text-plain.window.html?label=pr_head&max-count=1&pr=26740)

Differential Revision: https://phabricator.services.mozilla.com/D102625
2021-01-23 20:25:05 +00:00
Simon Giesecke ca547db942 Bug 1673931 - Avoid including Element.h from header files.
Differential Revision: https://phabricator.services.mozilla.com/D96535

Depends on D96534
2020-11-23 16:08:40 +00:00
Simon Giesecke 46908cfb51 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Sylvestre Ledru 68b806d604 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 17:04:01 +00:00
Butkovits Atila a6e7dcc53f Backed out changeset c0adbf7522dc (bug 1674637) for bustage on GMPParent.cpp. CLOSED TREE 2020-11-04 10:54:36 +02:00
Sylvestre Ledru 8f709b39e8 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 08:29:00 +00:00
Sean Feng 0fa914f043 Bug 1652699 - Fix a null pointer crash while doing dialog form submission r=smaug
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
2020-07-14 21:19:10 +00:00
Simon Giesecke f6c10f5ca9 Bug 1648010 - Fix uses of NS_LITERAL_STRING with C string literals. r=geckoview-reviewers,agi,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80861
2020-07-01 08:34:12 +00:00
Simon Giesecke a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Olli Pettay f41ed32728 Bug 1637712 - Consider to move *Ancestor* API to nsINode r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D75169
2020-05-20 14:55:15 +00:00
Emilio Cobos Álvarez 142fdc2dd9 Bug 1637240 - Clean up iteration to find closest ancestor dialog in dialog form submission. r=sefeng
Differential Revision: https://phabricator.services.mozilla.com/D74845
2020-05-12 14:37:12 +00:00
sefeng a6f4e1f142 Bug 1557303 - Implement form[method="dialog"] r=smaug
Spec: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#submit-dialog

Differential Revision: https://phabricator.services.mozilla.com/D73364
2020-05-11 22:56:13 +00:00
Jonathan Watt 3b22e68804 Bug 1634474. Make dom/html/ buildable outside of unified-build environment. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D73309
2020-05-04 14:29:02 +00:00
Boris Zbarsky 8ca40df90b Bug 1591100. Fix the form submission URL for the empty-query case. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D66721
2020-03-13 11:46:26 +00:00
Simon Giesecke 968040c445 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/html. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63171
2020-02-20 16:19:15 +00:00
John Dai f6499e75d8 Bug 1588715 - Refactor matches the spec term 'submitter'; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62035
2020-02-11 12:46:57 +00:00
Alex Catarineu a0d20a5fbd Bug 461204 - Improve the random number generator for the boundaries in multipart/form-data r=smaug
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
2020-01-13 20:41:14 +00:00
Gabriele Svelto eb403b8785 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ 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/D55442
2019-12-06 09:24:56 +00:00
Dorel Luca 67889e1013 Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00