Commit graph

1046 commits

Author SHA1 Message Date
Simon Giesecke
971b645fe3 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
Noemi Erli
e52ab350ac Backed out changeset b21f364898eb (bug 1678389) for causing Android gv-unit failures CLOSED TREE 2020-11-22 04:24:23 +02:00
Emilio Cobos Álvarez
ec7eb5b86a Bug 1678389 - Use transient user activation for <input> file/color picker. r=edgar
This matches other browsers, see [1], and should fix this and other
similar bugs like bug 1610726.

[1]: https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/html/forms/file_input_type.cc;l=163;drc=8a5de62dd01360cfe3d150640d3ff4d974bbe842

Differential Revision: https://phabricator.services.mozilla.com/D97640
2020-11-22 00:20:03 +00:00
Steven MacLeod
6cd960cfb3 Bug 1585070 - move nsPIDOMWindowOuter::mIsActive to BrowsingContext. r=kmag
A new `BrowsingContext` field has been added to track the active
browser window for the `:-moz-window-inactive` pseudoclass. This
field takes the place of `nsPIDOMWindowOuter::mIsActive`.

With this change `:-moz-window-inactive` is now fission compatible.

Differential Revision: https://phabricator.services.mozilla.com/D86422
2020-11-20 15:16:58 +00:00
Dragana Damjanovic
0b60e1a125 Bug 1675503 - Add telemetry for the page load time and the time to first paint for sites that support HTTP3 r=smaug,bas
This will be collected for sites that have used HTTP3 and for sites that support HTTP3 but HTTP3 has not been used.

Differential Revision: https://phabricator.services.mozilla.com/D96787
2020-11-17 22:58:29 +00:00
Noemi Erli
60669a2ed8 Backed out changeset 18448a7ebf82 (bug 1585070) for causing failures in test_cocoa_window_focus.html CLOSED TREE 2020-11-17 06:09:50 +02:00
Steven MacLeod
2c4c433439 Bug 1585070 - move nsPIDOMWindowOuter::mIsActive to BrowsingContext. r=kmag
A new `BrowsingContext` field has been added to track the active
browser window for the `:-moz-window-inactive` pseudoclass. This
field takes the place of `nsPIDOMWindowOuter::mIsActive`.

With this change `:-moz-window-inactive` is now fission compatible.

Differential Revision: https://phabricator.services.mozilla.com/D86422
2020-11-16 22:37:51 +00:00
Steven MacLeod
971103bdd5 Bug 1606061 - move TouchEventsOverride to BrowsingContext. r=farre,devtools-backward-compat-reviewers
This change removes docshell's `mTouchEventsOverride` and replaces it
with a new `BrowsingContext` field `TouchEventsOverrideInternal`.
All uses of the old field have been replaced and an override should
now work under fission when there are cross-origin descendent frames.

Differential Revision: https://phabricator.services.mozilla.com/D96414
2020-11-10 15:57:30 +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
Johann Hofmann
3d58a1fbfb Bug 941354 - Use innerMostURI on about:{neterror,certerror}. r=prathiksha,baku
This is to prevent issues with parsing the correct hostname for displaying and adding
exceptions for urls like view-source:.

Differential Revision: https://phabricator.services.mozilla.com/D94421
2020-10-27 10:55:51 +00:00
Butkovits Atila
9817823a41 Backed out changeset 2edd2bd119ff (bug 941354) for browser-chrome related failures. CLOSED TREE 2020-10-26 23:31:58 +02:00
Johann Hofmann
a735fc4151 Bug 941354 - Use innerMostURI on about:{neterror,certerror}. r=prathiksha,baku
This is to prevent issues with parsing the correct hostname for displaying and adding
exceptions for urls like view-source:.

Differential Revision: https://phabricator.services.mozilla.com/D94421
2020-10-26 20:12:14 +00:00
Emilio Cobos Álvarez
548aa34165 Bug 1665796 - Make sure Document::IsScrollingElement and overflow propagation code agree. r=mats
They got out of sync in bug 1635473.

Differential Revision: https://phabricator.services.mozilla.com/D93117
2020-10-25 10:45:37 +00:00
Emilio Cobos Álvarez
077cdbdfc5 Bug 1672856 - Don't crash when printing with selections pointing to detached nodes. r=jfkthame
In some edge cases involving shadow dom the selection code may get
confused and keep references to inside the shadow root (of <audio> in
this case).

Avoid crashing due to that in the printing code for now, bug.

Bug 1590379 tracks issues with selection handling inside shadow DOM.

Differential Revision: https://phabricator.services.mozilla.com/D94578
2020-10-23 11:01:14 +00:00
Emilio Cobos Álvarez
49c488db1c Bug 1646222 - Don't invalidate vector images as a result of size/display mode changes. r=tnikkel
sizemode/displaymode media queries only affect a given browsing context
tree so there's no need to propagate the change to images in that case.

Differential Revision: https://phabricator.services.mozilla.com/D94422
2020-10-22 09:29:43 +00:00
Denis Palmeiro
3dbf528ce8 Bug 1671729 - Gather telemetry on page load and request animation frame callback time r=bas,smaug,Dexter
Current page load telemetry probes are insufficient in performance RUM testing.  FX_PAGE_LOAD_MS_2 will stop the timer when the user switches tabs or navigates off the page, while the current navigation probes include all content including about:blank, about:newtab, moz-extension, etc.  This patch adds support for the following probes which do not suffer from those limitations:

PERF_PAGE_LOAD_TIME_MS
PERF_PAGE_LOAD_TIME_FROM_RESPONSESTART_MS
PERF_DOM_CONTENT_LOADED_TIME_MS
PERF_DOM_CONTENT_LOADED_TIME_FROM_RESPONSESTART_MS
PERF_FIRST_CONTENTFUL_PAINT_MS
PERF_FIRST_CONTENTFUL_PAINT_FROM_RESPONSESTART_MS
PERF_REQUEST_ANIMATION_CALLBACK_PAGELOAD_MS
PERF_REQUEST_ANIMATION_CALLBACK_NON_PAGELOAD_MS

Differential Revision: https://phabricator.services.mozilla.com/D94004
2020-10-21 16:27:30 +00:00
Emilio Cobos Álvarez
9cad68877b Bug 1670876 - Add support for printing selection in shadow dom. r=nordzilla
Recursive the things all :^)

The fix to the "corresponding node" bits in Document.cpp should be
pretty straight-forward. The fix in nsPrintJob is a bit more subtle:

The way printing selection works is literally "select everything else,
then call Selection.deleteFromDocument on that". We need to do the same
with shadow DOM, which involves skipping over shadow trees, and dealing
with selecting bits in ancestor trees as needed.

Note that for multi-range-selection case this technically relies on the
order of the ranges being shadow-tree-inclusive. We don't support
multi-range selection in shadow dom well, afaict, but I've added a
comment to the code to that effect.

Differential Revision: https://phabricator.services.mozilla.com/D93357
2020-10-16 17:36:37 +00:00
Christoph Kerschbaumer
625aefc95b Bug 1671136: Assert to not use doc.write in system privileged contexts or about: pages. r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D93485
2020-10-15 17:02:53 +00:00
smolnar
ac9ded3781 Backed out changeset 2dff9d72e9ec (bug 1671136) for causing Document.cpp failures. CLOSED TREE 2020-10-15 14:42:40 +03:00
Christoph Kerschbaumer
b2d3948b7a Bug 1671136: Assert to not use doc.write in system privileged contexts or about: pages. r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D93485
2020-10-15 08:22:29 +00:00
Cameron McCormack
623306a175 Bug 1656114 - Part 5: Report use counters in documents that come out of the bfcache. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93046
2020-10-11 22:15:06 +00:00
Cameron McCormack
18ffe7c642 Bug 1656114 - Part 4: Accumulate page use counters in the parent process. r=emilio,nika
This changes the way we deal with page use counters so that we can
handle out of process iframes.

Currently, when a parent document is being destroyed, we poke into all
of the sub-documents to merge their use counters into the parent's page
use counters, which we then report via Telemetry.  With Fission enabled,
the sub-documents may be out of process.  We can't simply turn these
into async IPC calls, since the parent document will be destroyed
shortly, as might the content processes holding the sub-documents.

So instead, each document during its initialization identifies which
ancestor document it will contribute its page use counters to, and
stores its WindowContext id to identify that ancestor.  A message is
sent to the parent process to notify it that page use counter data will
be sent at some later point.  That later point is when the document
loses its window.  It doesn't matter if the ancestor document has
already been destroyed at this point, since all we need is its
WindowContext id to uniquely identify it.  Once the parent process has
received all of the use counters it expects to accumulate to a given
WindowContext Id, it reports them via Telemetry.

Reporting of document use counters remains unchanged and is done by each
document in their content process.

While we're here, we also:

* Limit use counters to be reported for a pre-defined set of document
  URL schemes, rather than be based on the document principal.

* Add proper MOZ_LOG logging for use counters instead of printfs.

Differential Revision: https://phabricator.services.mozilla.com/D87188
2020-10-11 22:03:43 +00:00
Cameron McCormack
c3051dc160 Bug 1656114 - Part 3: Switch use counter storage to mozilla::BitSet. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D87187
2020-10-11 22:03:41 +00:00
Cameron McCormack
e21cf9c52a Bug 1656114 - Part 1: Don't null check Document::mStyleUseCounters. r=emilio
We always have one.

Differential Revision: https://phabricator.services.mozilla.com/D87185
2020-10-11 22:03:31 +00:00
Emilio Cobos Álvarez
af03e40b26 Bug 1665792 - Null-check mTiming before clone. r=jwatt
There's no guarantee that mTiming is non-null. This can happen for a
variety of reasons.

Differential Revision: https://phabricator.services.mozilla.com/D92894
2020-10-08 14:26:26 +00:00
Denis Palmeiro
71434198b6 Bug 1664475: Add telemetry probes to collect data for script delazification, xdr encoding time, bytecode caching time, and baseline compilation time. r=nbp,Dexter,sefeng,smaug
Differential Revision: https://phabricator.services.mozilla.com/D90798
2020-10-08 13:46:29 +00:00
Narcis Beleuzu
b4021531e8 Backed out changeset 43d2e0a07c33 (bug 1665792) for crashtests failre on 1665792.html CLOSED TREE 2020-10-08 16:02:35 +03:00
Emilio Cobos Álvarez
e1c71fbfcc Bug 1665792 - Null-check mTiming before clone. r=jwatt
There's no guarantee that mTiming is non-null. This can happen for a
variety of reasons.

Differential Revision: https://phabricator.services.mozilla.com/D92894
2020-10-08 11:05:28 +00:00
julianwels
341416588c Bug 1653026 - Added HTTPS-Only Mode upgrade info to browser UI state. r=mattwoodrow,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D86566
2020-10-06 00:34:55 +00:00
Marcos Cáceres
a9ea25e663 Bug 1665252 - remove allowpaymentrequest attribute from HTMLIFrameElement r=dom-workers-and-storage-reviewers,smaug,asuth
Differential Revision: https://phabricator.services.mozilla.com/D90505
2020-10-05 05:45:38 +00:00
Cameron McCormack
4352fb7b0d Bug 1662839 - Set author style disabled state correctly on newly created iframes. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D90953
2020-10-04 03:25:16 +00:00
Brindusan Cristian
2a9b39efce Backed out 2 changesets (bug 1653026) for mochitest failures at WindowGlobalParent.cpp. CLOSED TREE
Backed out changeset 54c69c99b241 (bug 1653026)
Backed out changeset e70649f78910 (bug 1653026)
2020-10-03 10:49:04 +03:00
julianwels
30a6225652 Bug 1653026 - Added HTTPS-Only Mode upgrade info to browser UI state. r=mattwoodrow,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D86566
2020-10-03 01:22:19 +00:00
Kagami Sascha Rosylight
47694b3690 Bug 1667911 - Return OwningNonNull from ResolveWithBaseURI() r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D91741
2020-09-29 21:50:21 +00:00
Edgar Chen
3af8ce6d7a Bug 1667081 - Part 1: Replace usage of nsIFocusManager with nsFocusManager; r=hsivonen
This patch is bascially done by:
perl -p -i -e "s/nsIFocusManager\* /nsFocusManager* /g;" $( find . -name *.cpp )
perl -p -i -e "s/nsCOMPtr<nsIFocusManager>/RefPtr<nsFocusManager>/g;" $( find . -name *.cpp )

Differential Revision: https://phabricator.services.mozilla.com/D91287
2020-09-29 07:21:09 +00:00
Bogdan Tara
8f6c53bdf5 Backed out 9 changesets (bug 1667081) for assertion failure on nsFocusManager CLOSED TREE
Backed out changeset 156ab3eba505 (bug 1667081)
Backed out changeset 2e37f347082c (bug 1667081)
Backed out changeset 8f59cef879ae (bug 1667081)
Backed out changeset 1298ff140218 (bug 1667081)
Backed out changeset 91342c822425 (bug 1667081)
Backed out changeset aafb1878c590 (bug 1667081)
Backed out changeset 2252e975f0d7 (bug 1667081)
Backed out changeset c3bac5f407d2 (bug 1667081)
Backed out changeset b1e6e81396ae (bug 1667081)
2020-09-28 20:02:52 +03:00
Edgar Chen
6abd74544d Bug 1667081 - Part 1: Replace usage of nsIFocusManager with nsFocusManager; r=hsivonen
This patch is bascially done by:
perl -p -i -e "s/nsIFocusManager\* /nsFocusManager* /g;" $( find . -name *.cpp )
perl -p -i -e "s/nsCOMPtr<nsIFocusManager>/RefPtr<nsFocusManager>/g;" $( find . -name *.cpp )

Differential Revision: https://phabricator.services.mozilla.com/D91287
2020-09-28 14:04:12 +00:00
alwu
06a43c8cd0 Bug 1659060 - part1 : treat lock visible if corresponding document has in use picture-in-picture element. r=bryce,smaug
When a tab is in the background, its document visibility would become invisible even if a tab owns a video which is visible because of being used in picture in picture mode.

When a document changes its visibility, the wakelock would change its lockstate from `lock-foreground` to `lock-background`. For `video-playing` wakelock topic, we would only request a real platform lock for `lock-foreground` because we don't want to prevent screen from sleeping if the video is invisible.

Therefore, considering if video is being used in picture in picture mode, when determining the wakelock's visible state. If video is still being used in picture in picture mode, then we would treat wakelock as if it's in foreground in order to keep a screen lock.

Differential Revision: https://phabricator.services.mozilla.com/D90781
2020-09-23 23:34:12 +00:00
alwu
37f127c8f3 Bug 1652108 - part2 : modify page_had_media_count to in_page_count r=nika,bryce
We would like to remove `page_had_media_count` and use a new probe `in_page_count` to record the total number of top level content documents using media.

Therefore, we would rename WindowContext's `DocTreeHadAudibleMedia` to `DocTreeHadMedia` in order to support the new usage.

In the future, if we want to know something like "the percentage of media element is being used for MSE/EME?", then this scalar can be the base and used to calculate the answser.

Differential Revision: https://phabricator.services.mozilla.com/D83225
2020-09-24 21:41:10 +00:00
Dorel Luca
eb27bbe130 Backed out changeset a06cc26fbb60 (bug 1665252) for WPT failures in feature-policy/payment-allowed-by-feature-policy-attribute.https.sub.html. CLOSED TREE 2020-09-24 15:06:19 +03:00
Marcos Cáceres
41461b2487 Bug 1665252 - remove allowpaymentrequest attribute from HTMLIFrameElement r=dom-workers-and-storage-reviewers,smaug,asuth
Differential Revision: https://phabricator.services.mozilla.com/D90505
2020-09-24 03:41:26 +00:00
Simon Giesecke
de7bab0f06 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
Edgar Chen
8eda55142f Bug 1662587 - Make pointer lock fission compatible; r=smaug
Now requesting/releasing pointer lock in content process will send IPC to let
parent process know which content process request a lock, so parent process
could dispatch mouse event to the right content process. And if there is already
a content proess had a lock, parent process will reject lock request from other
content proesses.

Differential Revision: https://phabricator.services.mozilla.com/D90313
2020-09-21 11:01:27 +00:00
Narcis Beleuzu
1a447211aa Backed out changeset 12856303559f (bug 1662587) for mochitest crashes on test_pointerlock_xorigin_iframe.html 2020-09-21 04:07:59 +03:00
Edgar Chen
de6c51cfb3 Bug 1662587 - Make pointer lock fission compatible; r=smaug
Now requesting/releasing pointer lock in content process will send IPC to let
parent process know which content process request a lock, so parent process
could dispatch mouse event to the right content process. And if there is already
a content proess had a lock, parent process will reject lock request from other
content proesses.

Differential Revision: https://phabricator.services.mozilla.com/D90313
2020-09-19 00:01:51 +00:00
Emilio Cobos Álvarez
567d300760 Bug 1663826 - Keep freezing navigation during window.print() for compat. r=smaug
This broke in bug 1636728 because we started setting the bit in the
cloned docshell rather than the original one.

Behavior in other browsers seems to be a bit all over the place, but for
now keeping our behavior during window.print() seems sane.

Differential Revision: https://phabricator.services.mozilla.com/D90456
2020-09-16 22:55:19 +00:00
Emilio Cobos Álvarez
3464071d3d Bug 1557645 - Unify in-process document cloning a bit more. r=jwatt
By passing the content viewer to CreateStaticClone we can do this fairly
easily. I'm going to add another entry-point to the clone process and
it'd be good if we avoid repeating the SetDocument dance and so on.

Differential Revision: https://phabricator.services.mozilla.com/D90315
2020-09-15 23:03:23 +00:00
Emilio Cobos Álvarez
ad97bae11d Bug 1557645 - Document::CreateStaticClone shouldn't be virtual. r=jwatt
Just minor preliminar cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D90314
2020-09-15 21:39:00 +00:00