Commit Graph

68 Commits

Author SHA1 Message Date
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
Simon Giesecke
ab6f0a7137 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Simon Giesecke
39124586b5 Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83817
2020-08-07 07:49:47 +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
Simon Giesecke
d9ad6f7529 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/base. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63102
2020-02-21 10:41:47 +00:00
Edgar Chen
ac8c576f36 bug 1610296 - Rename TypedArray_base::ComputeLengthAndData to TypedArray_base::ComputeState; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D60514
2020-01-23 03:22:06 +00:00
Sebastian Streich
450006181b Bug 1608878 Remove GetURI from DOMParser.cpp r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D59746
2020-01-16 17:27:40 +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
Boris Zbarsky
2df1df0176 Bug 1517588. Use nsIPrincipal::IsSystemPrincipal instead of nsContentUtils::IsSystemPrincipal r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53067
2019-12-05 04:44:32 +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
Boris Zbarsky
c7e93db348 Bug 1589285 part 3. Use the new GetString methods for Web IDL enums in various places. r=edgar
The idea is to stop directly accessing EnumTypeValues::strings in type-unsafe
ways from consumer code.

Differential Revision: https://phabricator.services.mozilla.com/D49533
2019-10-17 23:40:57 +00:00
Sean Feng
dcfd220746 Bug 1467970 - Unsupport cross docGroup adoption r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D43135
2019-09-14 00:09:44 +00:00
Alex Catarineu
f1e25269a5 Bug 467035 - Avoid leaking browser language via DTD r=Gijs,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D34187
2019-07-08 10:47:05 +00:00
Sylvestre Ledru
b31009da86 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Ryan Hunt
ad7b7dbb30 Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106
2019-02-25 16:05:29 -06:00
Jonathan Kingston
8397774fdf Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881
2019-02-27 23:42:27 +00:00
Jonathan Kingston
3ef1df37e1 Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770
2019-02-27 23:41:31 +00:00
Jonathan Kingston
649c453cbd Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769
2019-02-27 23:41:04 +00:00
Alex Gaynor
080a157351 Bug 1415508 - use Span in constructing a byte input stream; r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D20687
2019-02-25 19:11:20 +00:00
Dorel Luca
2dfae9a24a Backed out 4 changesets (bug 1525319) for Android failures in dom/base/test/test_progress_events_for_gzip_data.html
Backed out changeset b73f033efb41 (bug 1525319)
Backed out changeset 1d318d5c6b98 (bug 1525319)
Backed out changeset 6d73418988d4 (bug 1525319)
Backed out changeset 84ca79bd2dc3 (bug 1525319)
2019-02-25 04:06:11 +02:00
Jonathan Kingston
b6e28d0b8e Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881
2019-02-24 20:27:55 +00:00
Jonathan Kingston
4334f239c3 Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770
2019-02-24 20:26:59 +00:00
Jonathan Kingston
d6fffaf979 Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769
2019-02-24 20:26:16 +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
Emilio Cobos Álvarez
e461afa617 Bug 1516853 - Merge nsIDocument and nsDocument. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D15498
2018-12-31 14:10:19 +00: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
Andrea Marchesini
c2055bb4ff Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Adrian Wielgosik
39fc49cc8e Bug 1460940 - Convert NS_NewDOMDocument to use nsIDocument. r=bz
MozReview-Commit-ID: GoJ30YZGRhq
2018-05-11 19:46:15 +02:00
Boris Zbarsky
f3d1eb2716 Bug 1455026. Remove support for weak references from DOMParser. r=qdot
MozReview-Commit-ID: GYCJ2fu2ZI9
2018-04-20 23:04:46 -04:00
Boris Zbarsky
65809647c4 Bug 1453869 part 16. Add a way to create a DOMParser directly from C++. r=mrbkap
Thunderbird uses DOMParser from C++ for now.  They should ideally migrate that into JS, but we can give them something that works for the moment.

MozReview-Commit-ID: C4D6QuFdbn8
2018-04-20 23:04:46 -04:00
Boris Zbarsky
12d739ab7e Bug 1453869 part 15. Remove nsIDOMParser. r=mrbkap
MozReview-Commit-ID: 8gGb1qO56gu
2018-04-20 23:04:46 -04:00
Boris Zbarsky
fc1ddece3a Bug 1453869 part 14. Make the document and base URIs arguments to the DOMParser constructor. r=mrbkap
Init() is no longer needed, and the mAttemptedInit machinery can all go away.

MozReview-Commit-ID: 3wNavKLGdlc
2018-04-20 23:04:45 -04:00
Boris Zbarsky
861e8195fc Bug 1453869 part 13. Make DOMParser store an nsIGlobalObject* as mOwner. r=mrbkap
Incidentally, we can remove mScriptHandlingObject, because mOwner is always the same object anyway.

MozReview-Commit-ID: 1txkjkKvBsi
2018-04-20 23:04:45 -04:00
Boris Zbarsky
bc471f86a1 Bug 1453869 part 12. Make the DOMParser constructor require a principal. r=mrbkap
We always have one now.  So we can remove all the codepaths that attempted to
handle the !mPrincipal case.

We can also remove the nsContentUtils::IsSystemPrincipal(mPrincipal) codepaths,
because that can never happen: DOMParser::Constructor never creates a DOMParser
with a system principal.

MozReview-Commit-ID: EUrGoiI0o3u
2018-04-20 23:04:45 -04:00
Boris Zbarsky
5f31de6553 Bug 1453869 part 11. Inline DOMParser::InitInternal into its one caller. r=mrbkap
The other caller went away all the way back in part 1 of bug 1453869.

MozReview-Commit-ID: pJttjegpBm
2018-04-20 23:04:45 -04:00
Boris Zbarsky
3f5455bf21 Bug 1453869 part 10. Stop constructing DOMParser by contract. r=mrbkap
MozReview-Commit-ID: A0bHF5RHhs6
2018-04-20 23:04:45 -04:00
Boris Zbarsky
a9aa26bffe Bug 1453869 part 7. Make the DOMParser WebIDL constructor use a nullprincipal for the document if the caller is system-principal. r=mrbkap
In our test suite, we only run into two calls to this constructor with a system
principal, and both are in test code.

After this, calling the WebIDL constructor from system code is _almost_
equivalent to creating by contract.  The one difference is that the resulting
DOMParser (and the documents it creates) will have its script handling object
set to the global the constructor came from instead of being null.

MozReview-Commit-ID: Fe2yMeqoYnB
2018-04-20 23:01:25 -04:00
Boris Zbarsky
f990f405b6 Bug 1453869 part 6. Remove nsIDOMParser::ParseFromStream. r=mrbkap
MozReview-Commit-ID: L2QKWgDE6UM
2018-04-20 23:01:25 -04:00
Boris Zbarsky
3ef6390e55 Bug 1453869 part 5. Remove nsIDOMParser::ParseFromBuffer. r=mrbkap
MozReview-Commit-ID: 4KuM0HRI2BC
2018-04-20 23:01:25 -04:00
Boris Zbarsky
ae660d8f09 Bug 1453869 part 4. Remove nsIDOMParser::ParseFromString. r=mrbkap
MozReview-Commit-ID: CoepOZNb0DU
2018-04-20 23:01:25 -04:00
Boris Zbarsky
b591c6f044 Bug 1453869 part 3. Remove the used-only-in-tests DOMParser.init method. r=mrbkap
Some DOM unit tests rely on being able to parse XUL via DOMParser.  That was allowed due to them calling init() with a system subject principal.  It can be more narrowly allowed by adding an explicit setter for being able to parse XUL/XBL.

MozReview-Commit-ID: 3h0WWGHmYOn
2018-04-20 23:01:24 -04:00
Boris Zbarsky
1c3691b3db Bug 1453869 part 2. Get rid of the unused nsIDOMParser::Init method. r=mrbkap
MozReview-Commit-ID: B3HVscqYE6G
2018-04-20 23:01:24 -04:00
Boris Zbarsky
83237b2dd3 Bug 1453869 part 1. Remove the unused 3-arg constructor from DOMParser. r=mrbkap
MozReview-Commit-ID: 1fWzq6rMWf1
2018-04-20 23:01:24 -04:00
Tom Ritter
d44ebbd80e Bug 1378552 - Reduce the liklihood of inadvertently misusing NullPrincipal::Create(). r=ckerschb
NullPrincipal::Create() (will null OA) may cause an OriginAttributes bypass.
We change Create() so OriginAttributes is no longer optional, and rename
Create() with no arguments to make it more explicit about what the caller is doing.

MozReview-Commit-ID: 7DQGlgh1tgJ
2018-03-22 13:36:20 -05:00
Emilio Cobos Álvarez
01aee7ccf1 Bug 1425759: Simplify the style backend type setup. r=bholley
Now that what we use to decide whether a document is styled by Servo are only
prefs and the doc principal, we don't need to inherit the style backend type,
since unless the pref has changed, the result will be the same.

MozReview-Commit-ID: KBmeBn1cRne
2018-02-27 12:39:20 +01:00
Chris Peterson
c5d0841695 Bug 1416164 - Replace NS_POSTCONDITION with MOZ_ASSERT. r=froydnj
MozReview-Commit-ID: 9K3Ksf36uxr
2017-11-04 22:48:48 -07:00
Andrea Marchesini
304820957d Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-19 11:39:30 +02:00
Xidorn Quan
3e169eefa6 Bug 1398619 - Correctly inherit backend for document created by DOMParser, and add test for it. r=bholley
The old code doesn't work because mScriptHandlingObject is a nsWeakPtr,
which cannot be casted to nsPIDOMWindowInner directly.

Since scriptHandlingObject is a strong reference to the same object, we
can just try casting that.

MozReview-Commit-ID: JRBs5N6xxc0
2017-09-12 14:28:27 +10:00
Bobby Holley
5cb2bf9049 Bug 1389300 - Inherit style backend into NS_NewDOMDocument. r=smaug,r=heycam
Our current machinery for enabling stylo requires a docshell - if there isn't
one, we default to the Gecko style system.

When getComputedStyle operates on an element without a presshell, it uses the
caller's presshell instead. If the element has previously been styled with
one style system (but no longer has a presshell), and the caller uses a
different style backend, using the caller's style system can cause crashes when
we pull bits of cached data off the DOM (like cached style attributes).

So we want to throw when window.getComputedStyle(element) is called for a
(window, element) pair with different style backends (which is what the next
patch in this bug does).

However, that causes a few failures where stylo-backed documents try to do
getComputedStyle on an XHR document (which, without a docshell, will use the
gecko style system).

So this patch does some work to propagate the creator's style backend into
various docshell-less documents. This should allow both chrome (which uses gecko)
and content (which uses stylo) to use getComputedStyle on the response document
for XHRs they create.

Note that the second patch in this bug will make
chromeWin.getComputedStyle(contentObj) throw. If we discover code that does
that, we can just make it invoke the content's getComputedStyle method over Xrays.

MozReview-Commit-ID: 5OsmHJKq5Ui
2017-08-15 19:10:43 -07:00