Commit Graph
51 Commits
Author SHA1 Message Date
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
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
Sean Feng 185d905fb0 Bug 1920115 - Add the setup for WebTaskSchedulingState r=jjaschke,dom-core,arai
Spec: https://wicg.github.io/scheduling-apis/#scheduling-state

This patch add the setup for WebTaskSchedulingState so that it
can be set and get in the following patch, by allowing it
to be carried over in continued Promise callbask and be set to
window globals and worker globals.

Differential Revision: https://phabricator.services.mozilla.com/D234231
2025-03-31 19:49:02 +00:00
Stanca Serban fee009a450 Backed out 8 changesets (bug 1920115) for causing multiple failures.
Backed out changeset 2d0905a92f2c (bug 1920115)
Backed out changeset 67bf260fe59b (bug 1920115)
Backed out changeset 4739af17e757 (bug 1920115)
Backed out changeset 0773f669c498 (bug 1920115)
Backed out changeset 4b579a1c9b46 (bug 1920115)
Backed out changeset 79b3b0148eb4 (bug 1920115)
Backed out changeset 78181c32bdc6 (bug 1920115)
Backed out changeset 912cf1adac80 (bug 1920115)
2025-02-28 02:01:11 +02:00
Sean Feng 1de017cb47 Bug 1920115 - Add the setup for WebTaskSchedulingState r=jjaschke,dom-core,arai
Spec: https://wicg.github.io/scheduling-apis/#scheduling-state

This patch add the setup for WebTaskSchedulingState so that it
can be set and get in the following patch, by allowing it
to be carried over in continued Promise callbask and be set to
window globals and worker globals.

Differential Revision: https://phabricator.services.mozilla.com/D234231
2025-02-27 16:17:35 +00:00
Goloman Adrian c6e05542f0 Backed out 8 changesets (bug 1920115) for causing hazard bustages @CycleCollectedJSContext.cpp.
Backed out changeset f5357c6c5580 (bug 1920115)
Backed out changeset 6a8cb3cc704e (bug 1920115)
Backed out changeset 4ccb6970887e (bug 1920115)
Backed out changeset 7522970c5a1d (bug 1920115)
Backed out changeset 6c1140811a6c (bug 1920115)
Backed out changeset be6c223e63f0 (bug 1920115)
Backed out changeset 121bf804d2a6 (bug 1920115)
Backed out changeset 6b23965ce57e (bug 1920115)
2025-02-25 02:48:00 +02:00
Sean Feng 4af9cbe5ab Bug 1920115 - Add the setup for WebTaskSchedulingState r=jjaschke,dom-core,arai
Spec: https://wicg.github.io/scheduling-apis/#scheduling-state

This patch add the setup for WebTaskSchedulingState so that it
can be set and get in the following patch, by allowing it
to be carried over in continued Promise callbask and be set to
window globals and worker globals.

Differential Revision: https://phabricator.services.mozilla.com/D234231
2025-02-24 19:31:26 +00:00
André Bargull 3f9e70360a Bug 1726123 - Part 5: Add missing "js/" includes outside of SM. r=arai
In preparation for the next part, add missing includes to "js/" public headers.

Differential Revision: https://phabricator.services.mozilla.com/D122843
2021-08-17 15:45:39 +00:00
Chris Peterson 5ac4034b03 Bug 1691889 - Replace MOZ_MUST_USE with [[nodiscard]] in dom/. r=peterv
The MOZ_MUST_USE macro is defined as clang's and gcc's nonstandard __attribute__((warn_unused_result)). Now that we compile as C++17 by default (bug 1560664), we can replace MOZ_MUST_USE with C++17's standard [[nodiscard]] attribute.

The [[nodiscard]] attribute must precede a function declaration's declaration specifiers (like static, extern, inline, or virtual). The __attribute__((warn_unused_result)) attribute does not have this order restriction.

Differential Revision: https://phabricator.services.mozilla.com/D107355
2021-03-10 08:19:25 +00:00
Simon Giesecke 2969e54562 Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-05 15:29:49 +00:00
Alexandru Michis 80cf7cc919 Backed out changeset c6b72f3c76ba (bug 1676361) for causing bustages in nsSocketTransportService2.cpp
CLOSED TREE
2021-03-04 23:26:04 +02:00
Simon Giesecke b68ba311a2 Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-04 17:30:48 +00:00
Noemi Erli c351c837d1 Backed out changeset 06452c4c828c (bug 1676361) for causing bustages CLOSED TREE 2021-03-04 19:13:56 +02:00
Simon Giesecke e46fd72f6f Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-04 16:14:44 +00:00
smolnar 4a344e2a83 Backed out changeset 9062e17fe15c (bug 1676361) on devs request. CLOSED TREE 2021-03-04 16:51:21 +02:00
Simon Giesecke fa4029ad0a Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-04 14:32:15 +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
Christoph Kerschbaumer 3e0591366c Bug 1666419: Assert IsSafeToRunScript. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D91391
2020-09-28 06:29:44 +00:00
Nathan Froyd 1a5e36fc8f Bug 1223932 - delete guard object uses from the tree; r=jwalden
CLOSED TREE

We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Mihai Alexandru Michis 367903d750 Backed out changeset ac9c811bc427 (bug 1223932) for causing spidermonkey rust failures.
CLOSED TREE
2020-07-30 18:23:21 +03:00
Nathan Froyd 05fe6be54b Bug 1223932 - delete guard object uses from the tree; r=jwalden
We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Tom Schuster dc77ca452f Bug 1626100 - Use ExceptionStack for AutoJSAPI::StealExceptionAndStack. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D69666
2020-04-09 12:35:42 +00:00
Bas Schouten 55dc9e2acd Bug 1563335 - Part 1: Implement mechanism to throttle JS execution. r=smaug,asuth
Differential Revision: https://phabricator.services.mozilla.com/D59321
2020-03-26 00:36:24 +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
Gabriele Svelto dc6fa2e86c 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-04 15:01:19 +00:00
Bobby Holley bbdb992b42 Bug 1244247 - Remove racey sScriptSettingsTLSInitialized. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D49213
2019-10-15 02:10:02 +00:00
Boris Zbarsky aae1e5d349 Bug 1328307. AutoNoJSAPI should make it clearer that script is not running. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D41792
2019-08-23 20:47:02 +00:00
Boris Zbarsky e5b6d42bd2 Bug 1548625 part 2. Get rid of some ExposeObjectToActiveJS calls in DOM code. r=mccr8,jonco
The call in VRFrameData::LazyCreateMatrix is not needed because
aRetval.set(aArray) ends up calling into Heap::get() which does a read barrier
and exposes.

The call in nsXULPrototypeScript::Compile is not needed because initializing
the AutoJSAPI will guarantee that the global of the Realm it enters, which is
what we're examining here, will be exposed.

The call in Promise's CreateNativeHandlerFunction is not needed because the
object being passed in was always just-created into a stack Rooted.

The call in MIDIMessageEvent::GetData is not needed because it's always working
with a just-created object.  Also, mData is a Heap, so there will be a read
barrier anyway before anyone gets at the value.

The call in PrototypeDocumentContentSink::ExecuteScript is not needed because
the AutoEntryScript will guarantee that the global of the Realm it enters is
exposed.  And the JSAutoRealm is not needed either, because we're in that Realm
already.

Differential Revision: https://phabricator.services.mozilla.com/D29720
2019-05-03 10:09:11 +00:00
Boris Zbarsky 2ee7a4c853 Bug 1547923 part 1. Remove unused callers of GetGlobalJSObject. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D29702
2019-05-02 18:37:52 +00:00
Brian Hackett 147960477e Bug 996060 Part 2 - Use JS engine stack if necessary when reporting errors, r=bz.
Differential Revision: https://phabricator.services.mozilla.com/D25645
2019-04-01 12:17:43 -06:00
Jeff Walden 9a71a44ca4 Bug 1542120 - Add js/public/Warnings.h for warning-related JSAPI. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D26273
2019-04-05 22:52:04 +00:00
Emilio Cobos Álvarez dc336a73ba Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Jan de Mooij d227b4369d Bug 722345 part 3 - Remove request API. r=luke
Differential Revision: https://phabricator.services.mozilla.com/D4424
2018-08-28 09:53:30 +02:00
Jan de Mooij cf6c255f8c Bug 1267297 - Use AutoEntryScript for script activity bookkeeping instead of the request machinery. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D4085
2018-09-04 16:59:56 +00:00
Jan de Mooij 41e091b454 Bug 1474540 - Assert we don't pass cross-compartment wrappers to AutoJSAPI::Init. r=bholley 2018-07-24 09:19:25 +02:00
Jan de Mooij 89f1b83309 Bug 1474541 part 2 - Assert we don't pass cross-compartment wrappers to AutoEntryScript. r=bz 2018-07-25 10:42:40 +02:00
Csoregi Natalia c8dab51568 Backed out changeset 438598073b9b (bug 1474540) for assertion failure at ScriptSettings.cpp:493 on Android. CLOSED TREE 2018-07-24 11:34:09 +03:00
Jan de Mooij 029c024bc1 Bug 1474540 - Assert we don't pass cross-compartment wrappers to AutoJSAPI::Init. r=bholley 2018-07-24 09:19:25 +02:00
Nazım Can Altınova 0da03b961d Bug 1475006 - Remove mAutoProfilerLabel from AutoEntryScript in non-MOZ_GECKO_PROFILER builds r=mstange
MozReview-Commit-ID: 66mZK4q2ATK
2018-07-12 11:01:08 +02:00
Nazım Can Altınova 1eff5d1250 Bug 1473303 - Add a AutoProfilerLabel member to AutoEntryScript class to add a label frame for evaluating scripts r=bz
MozReview-Commit-ID: CqfO7r7JoPS
2018-07-04 15:35:07 +02:00
Jan de Mooij 8ee2a9f7b2 Bug 1461292 part 2 - Rename JSAutoNullableCompartment to JSAutoNullableRealm. r=bz 2018-05-16 10:53:45 +02:00
Olli Pettay 8d2a7b0ad2 Bug 1193394 - Part 1: Microtasks and promises scheduling. r=bevis 2017-11-17 11:01:27 +08:00
Csoregi Natalia a7fb1721fe Backed out 7 changesets (bug 1193394) for browser-chrome failures on browser_ext_popup_background.js. CLOSED TREE
Backed out changeset 9683f24ff8ec (bug 1193394)
Backed out changeset 0e7140a7c841 (bug 1193394)
Backed out changeset a0e26f6b2784 (bug 1193394)
Backed out changeset 29e1fceaf48d (bug 1193394)
Backed out changeset b8632bbbd273 (bug 1193394)
Backed out changeset a54ef2d8f896 (bug 1193394)
Backed out changeset 55c94c05c57f (bug 1193394)
2018-03-01 16:29:02 +02:00
Olli Pettay 6a1afb366a Bug 1193394 - Part 1: Microtasks and promises scheduling. r=bevis 2017-11-17 11:01:27 +08:00
Nika Layzell d8c117bc28 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Xidorn Quan c66005e95a Bug 1379585 part 1 - Add an RAII class for auto disable interrupt callback. r=baku
MozReview-Commit-ID: IInIukI0yI7
2017-07-14 10:02:59 +10:00
Andrea Marchesini 80bc31371c Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader
2017-05-08 08:24:22 +02:00
Carsten "Tomcat" Book c4daf63d34 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla' 2017-05-08 09:54:38 +02:00