Commit graph

114 commits

Author SHA1 Message Date
cybai
cf018a6114 Bug 1819323 - Avoid casting nsIURI to nsIURL in Link. r=emilio
`nsIURI` fails to cast to `nsIURL` so we used to get a nil url and
return empty string (e.g. for pathname). As we're able to get the
pathname information from URI, I wonder we can just use it directly
without casting to `nsIURL`. With doing so, we can fix the issue.

Differential Revision: https://phabricator.services.mozilla.com/D171233
2023-03-01 17:59:03 +00:00
Emilio Cobos Álvarez
255763ef57 Bug 1773070 - Unify Gecko and Servo EventState/ElementState bits. r=smaug
Add a dom/base/rust crate called just "dom" where we can share these.

Most of the changes are automatic:

  s/mozilla::EventStates/mozilla::dom::ElementState/
  s/EventStates/ElementState/
  s/NS_EVENT_STATE_/ElementState::/
  s/NS_DOCUMENT_STATE_/DocumentState::/

And so on. This requires a new cbindgen version to avoid ugly casts for
large shifts.

Differential Revision: https://phabricator.services.mozilla.com/D148537
2022-06-07 23:09:52 +00:00
Emilio Cobos Álvarez
881f8f938a Bug 1762109 - Make the XLink setup a bit saner. r=smaug
Make Link and SVGAElement agree on XLink handling, and make it more
explicit that SVGAElement needs to be a bit more special for SMIL.

Remove dead MathML XLink code.

Differential Revision: https://phabricator.services.mozilla.com/D142546
2022-03-31 14:33:57 +00:00
Emilio Cobos Álvarez
8885ef4b8d Bug 1760674. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D141958
2022-03-29 12:15:52 +00:00
Cristian Tuns
9bd0c3604e Backed out changeset ddf7a48e3bf1 (bug 1760674) for causing mochitest failures on Link.cpp CLOSED TREE 2022-03-29 07:39:21 -04:00
Emilio Cobos Álvarez
0d56184e9d Bug 1760674. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D141958
2022-03-29 10:56:50 +00:00
Valentin Gosu
6ce723f65a Bug 1497557 - <a> "protocol" should be ":" for data-relative paths, instead of "http:" r=baku
Differential Revision: https://phabricator.services.mozilla.com/D106260
2021-03-02 08:29:29 +00:00
Butkovits Atila
e22533b070 Backed out changeset af234fcd4e15 (bug 1497557) for causing failureS at a-element-xhtml.xhtml. CLOSED TREE 2021-03-01 10:40:15 +02:00
Valentin Gosu
3b548be29a Bug 1497557 - <a> "protocol" should be ":" for data-relative paths, instead of "http:" r=baku
Differential Revision: https://phabricator.services.mozilla.com/D106260
2021-03-01 07:53:35 +00:00
Alexis Beingessner
442e2d6fa1 Bug 1686616 - make History use Components instead of Services. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D105524
2021-02-18 13:26:30 +00:00
Emilio Cobos Álvarez
99a6a0db4f Bug 1687538 - Make HTMLLinkElement not inherit from Link. r=smaug
As per https://github.com/whatwg/html/pull/6269

Differential Revision: https://phabricator.services.mozilla.com/D103088
2021-01-28 05:35:05 +00:00
Butkovits Atila
66d2fa9c1e Backed out changeset 0927366150b7 (bug 1687538) for failures on link.html. CLOSED TREE 2021-01-28 07:01:27 +02:00
Emilio Cobos Álvarez
45e159fc05 Bug 1687538 - Make HTMLLinkElement not inherit from Link. r=smaug
As per https://github.com/whatwg/html/pull/6269

Differential Revision: https://phabricator.services.mozilla.com/D103088
2021-01-26 23:47:56 +00:00
Emilio Cobos Álvarez
601f952a28 Bug 1688925 - Move DNS prefetch state out of Link into its own super-class. r=smaug,edgar
I made sure that this didn't grow HTMLAnchorElement, though if we don't
care too much (sizeof(HTMLAnchorElement) is 176 right now) we might want
to remove ToSupportsDNSPrefetch and such.

This fixes a subtle bug where OnDNSPrefetchRequested wasn't being called
when IsNeckoChild was true.

Differential Revision: https://phabricator.services.mozilla.com/D103062
2021-01-27 22:38:13 +00:00
Emilio Cobos Álvarez
27e5bcae00 Bug 1688925 - Make nsLinkState an enum class, and make it smaller. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D103061
2021-01-27 04:48:51 +00:00
Emilio Cobos Álvarez
20752f9efd Bug 1688925 - Move nsHTMLDNSPrefetch to the mozilla::dom namespace. r=smaug,edgar
Differential Revision: https://phabricator.services.mozilla.com/D103060
2021-01-27 04:37:58 +00:00
Emilio Cobos Álvarez
a70873c588 Bug 1687587 - Cleanup a bit the nsHTMLDNSPrefetch code. r=smaug
Introduce a Priority parameter that we use rather than duplicating functions.

Depends on D102366

Differential Revision: https://phabricator.services.mozilla.com/D102367
2021-01-20 09:34:27 +00:00
Sylvestre Ledru
fde06f6d21 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
964cca3198 Backed out changeset c0adbf7522dc (bug 1674637) for bustage on GMPParent.cpp. CLOSED TREE 2020-11-04 10:54:36 +02:00
Sylvestre Ledru
5f29324f60 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
Nicholas Nethercote
a8f5f49b8a Bug 1645982 - Rename some service getters in Services.py to better match the types. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79791
2020-06-16 23:32:21 +00:00
Emilio Cobos Álvarez
c3b7227771 Bug 1639392 - Merge nsIStyleSheetLinkingElement and nsStyleLinkElement, and call it LinkStyle. r=jwatt
Which is the spec term. nsIStyleSheetLinkingElement is even more
confusing since it may not be an element at all (see: processing
instructions).

Differential Revision: https://phabricator.services.mozilla.com/D76071
2020-05-21 03:07:16 +00:00
Emilio Cobos Álvarez
f9bd47e44b Bug 1626586 - Make history notifications do a bit less work. r=mak,lina,agi,snorp
And batch them when notifying child processes.

This makes RegisterVisitedQuery potentially notify synchronously, but changes
the code to deal with it properly.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 21:19:41 +00:00
Gabriele Svelto
ace6d1063f 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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Dorel Luca
a381d5c96d Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
bc9290f767 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

--HG--
extra : moz-landing-system : lando
2019-12-04 15:01:19 +00:00
Emilio Cobos Álvarez
a57fd16889 Bug 1506842 - Always restyle / repaint when a visited query finishes. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D50810

--HG--
extra : moz-landing-system : lando
2019-11-04 16:55:33 +00:00
Emilio Cobos Álvarez
5949af2c3b Bug 1591717 - Add a pref to notify of unvisited uris in the history service. r=mak,lina
Behind a pref to ensure that we can turn this off pretty easily if it has perf
impact.

I want to leave the repainting stuff to another bug to land separately, to track
potential (though I hope not!) perf regressions more easily.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 13:28:58 +00:00
Emilio Cobos Álvarez
f8863b0c94 Bug 1590816 - Cleanup some link coloring APIs to make them infallible when appropriate. r=mak
GeckoView does this link clearing stuff (which is somewhat dubious), but always
used to return NS_OK.

The error handling case in Link.cpp was pretty broken anyway (it'd leave the
link marked as registered), so make that infallible, given we fatally assert in
the non-android case.

NotifyVisited is also infallible so make that infallible too.

There's no need to use NS_IMETHOD gunk when not using scriptable XPCOM, and
these functions are not called from script, so make them regular pure-virtual
functions.

Depends on D50478.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 13:02:25 +00:00
Emilio Cobos Álvarez
8d9a210045 Bug 1590816 - Simplify a rather weird ifdef set. r=mak
GetHistoryService should work everywhere.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 13:02:06 +00:00
Emilio Cobos Álvarez
d47ef2a1b7 Bug 1572526 - Move a bunch of code that's only called by HTMLLinkElement out of Link.cpp. r=bzbarsky
Seems like a more logical place for it to live.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 14:10:08 +00:00
Emilio Cobos Álvarez
66c0a4fa9b Bug 1572246 - Make <link> always unvisited. r=bzbarsky
Intent email: https://groups.google.com/d/msg/mozilla.dev.platform/1NP6oJzK6zg/ftAz_TajAAAJ

For now do the obvious check rather than bigger refactorings, since we keep them
matching :link or not depending on whether they have an href.

I'll file an HTML spec issue about not making them traversable, and a MathML
issue about the craziness that it is that almost all MathML elements can be
links.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 14:10:07 +00:00
Thomas Nguyen
20e4651f5b Bug 1566417 - Update to use ReferrerInfo in prefetch and preload URI r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D38323

--HG--
extra : moz-landing-system : lando
2019-07-19 11:42:09 +00:00
Brindusan Cristian
7b5bfee772 Backed out changeset 1cf52744c859 (bug 1566417) for wpt failures at Element.h:2006. 2019-07-19 03:37:49 +03:00
Thomas Nguyen
9db3c041cf Bug 1566417 - Update to use ReferrerInfo in prefetch and preload URI r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D38323

--HG--
extra : moz-landing-system : lando
2019-07-18 20:36:46 +00:00
Sylvestre Ledru
e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Ryan Hunt
00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Kris Maglione
eb14dd1d2c Bug 1478124: Part 8b - Update DocShell module to use a static component manifest. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D15040

--HG--
extra : rebase_source : d89ac470241cb6f6a43c29c6e90b1c0e4fc78028
extra : source : b0444e0bc801f828b49f9953a73498cf5ff5024b
2018-12-16 17:27:58 -08:00
arthur.iakab
c1fae83952 Backed out 16 changesets (bug 1478124) for failing android geckoview-junit CLOSED TREE
Backed out changeset fce62c77a56b (bug 1478124)
Backed out changeset eb2fa3b5edf7 (bug 1478124)
Backed out changeset 8dacce59fcc0 (bug 1478124)
Backed out changeset 012fd0107204 (bug 1478124)
Backed out changeset 496aaf774697 (bug 1478124)
Backed out changeset 21f4fda03159 (bug 1478124)
Backed out changeset b0444e0bc801 (bug 1478124)
Backed out changeset d94039b19943 (bug 1478124)
Backed out changeset 5d85deac61c2 (bug 1478124)
Backed out changeset 929fd654c9df (bug 1478124)
Backed out changeset 1ddd80d9e91a (bug 1478124)
Backed out changeset b8d2dfdfc324 (bug 1478124)
Backed out changeset f500020a273a (bug 1478124)
Backed out changeset dd00365ebb55 (bug 1478124)
Backed out changeset 538e40c5ee13 (bug 1478124)
Backed out changeset bedaa9c437ad (bug 1478124)
2019-01-29 10:03:06 +02:00
Kris Maglione
586d1722ec Bug 1478124: Part 8b - Update DocShell module to use a static component manifest. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D15040

--HG--
extra : rebase_source : 4de6207229742168f534f618fe4881f19e3135c9
extra : absorb_source : 63106bea2b2a9c9a90e2d8cd08429b5de0f2cd09
extra : histedit_source : 02a263131b092b1d1ac4901f1a37a1b842b3103f
2018-12-16 17:27:58 -08:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Emilio Cobos Álvarez
d2ed260822 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
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
Sylvestre Ledru
aa37bde79b Bug 1489454 - Remove all trailing whitespaces (again) r=Ehsan
This also includes moving some files to the regular format.

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

--HG--
extra : moz-landing-system : lando
2018-09-07 14:47:51 +00:00
Fabrice Desré
945900da3d Bug 1487850 - Link.cpp doesn't build if MOZ_PLACES is not defined on non-ANDROID platforms r=Ehsan 2018-09-04 10:07:38 -04:00
Tiberius Oros
f45e3bae18 Backed out changeset 8e012f9ed34a (bug 1487850) for build bustages on a CLOSED TREE 2018-09-01 01:36:35 +03:00
Fabrice Desré
746936fcad Bug 1487850 - Link.cpp doesn't build if MOZ_PLACES is not defined on non-ANDROID platforms r=Ehsan
The current code only compiles with ANDROID defined when MOZ_PLACES is undefined. This patch sets
the history service to nullptr in the remaining case. The value was already null-checked.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 22:04:26 +00:00
Valentin Gosu
a8e3a8c349 Bug 1448330 - Make nsIURI.clone a private method r=mayhemer
MozReview-Commit-ID: 1efpeaEPaXP

--HG--
extra : rebase_source : e660f1e5bcae9b7119bc5b37713691069272b375
2018-06-14 13:05:43 +02:00
Boris Zbarsky
317d43647c Bug 1455676 part 4. Remove nsIDOMNode usage from uriloader/. r=qdot 2018-05-29 22:58:48 -04:00
Dragana Damjanovic
d9148a8a51 Bug 1441246 - Move preload cod from nsStyleLinkElement to HTMLLinkElement. r=smaug
--HG--
extra : rebase_source : 01cb8b69aa1187abb83b36098d81df1d96c7d79c
2018-04-20 12:47:00 +03:00