Граф коммитов

92629 Коммитов

Автор SHA1 Сообщение Дата
Ricky Stewart 0daacc12c3 Bug 1599658 - Delete previous definition of py_action in Makefiles. Now py_action calls into Python 3 and py3_action doesn't exist. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72487
2020-04-30 15:27:13 +00:00
Magnus Melin 3175ad44ed Bug 1634665 - nullcheck mDocumentL10n in Document::InitialTranslationCompleted. r=zbraniecki,emilio
Differential Revision: https://phabricator.services.mozilla.com/D73449
2020-05-01 17:22:37 +00:00
Erik Nordin 2060006fba Bug 1632686 - Retain GlobalObject in StyleSheets r=emilio
- Add new data member StyleSheet::mParentObject
- Clone Sheets before adding them to nsXULPrototypeCache
- Return mParentObject from GetParentObject if non-null

Differential Revision: https://phabricator.services.mozilla.com/D72725
2020-05-01 17:08:54 +00:00
Bryce Seager van Dyk 797d383722 Bug 1632717 - r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D72476
2020-04-29 20:11:25 +00:00
Imanol Fernandez d5b80b872a Bug 1633725 - Improve WebXR Garbage Collection. Respect XRRigidTransform.inverse and XRView.transform [SameObject] requirements. r=kip,daoshengmu,jgilbert
- Lazily create XRRigidTransform DOMPoints
- Reuse XRRigidTransform inverse (SameObject in the spec)
- Reuse XRView transform (SameObject in the spec)
- Reuse XRWebGLLayer viewport instances
- Pool XRViewerPose instances
- Pool XRFrame instances

Differential Revision: https://phabricator.services.mozilla.com/D73071
2020-05-01 01:42:39 +00:00
David Parks 710d6e1015 Bug 1627305: Remove non-trivial macros from WebGL CommandQueue code r=jgilbert
Replaces DECLARE_METHOD_DISPATCHER and DEFINE_METHOD_DISPATCHER with generic classes.

Differential Revision: https://phabricator.services.mozilla.com/D69676
2020-04-30 22:25:09 +00:00
Steve Fink 685bd6c5b0 Backed out incremental weakmap marking (bug 1167452 and bug 1633176) to postpone until after Fx77
Differential Revision: https://phabricator.services.mozilla.com/D73394
2020-05-01 00:53:15 +00:00
Csoregi Natalia 83cd8858fc Backed out changeset e1be97ce43d1 (bug 1622451) for failures on browser_download_canceled.js. CLOSED TREE 2020-05-01 03:58:25 +03:00
Perry Jiang 1ad4e039d4 Bug 1622451 - minimize stream copying across IPC boundaries r=asuth,baku
Initially, IPCInternal{Request,Response} had contained IPCStreams which would
result in unecessary copying when sending the objects over IPC. The patch
makes these streams either:

1) ParentToParentStream (just a UUID)
2) ParentToChildStream (a PIPCBlobInputStream actor, acting as a handle)
3) ChildToParentStream (a real IPCStream)

These three types are union-ed together by the BodyStreamVariant IPDL structure.
This structure replaces the IPCStream members in IPCInternal{Request,Response}
so that, depending on the particular IPDL protocol, we can avoid cloning streams
and just pass handles/IDs instead.

As a side effect, this makes file-backed Response objects cloneable. Initially,
these Responses would be backed by an nsFileInputStream, which is not cloneable
outside the parent process. They are now backed by IPCBlobInputStreams, which
are cloneable.

One thing that's not really satisfactory (IMO), is the manual management of
IPCBlobInputStreamStorage so that no streams are leaked, e.g. if we store a
stream in the IPCBlobInputStreamStorage but fail to send an IPC message and
therefore fail to remove the stream from storage on the other side of the IPC
boundary (only parent-to-parent in this case).

Differential Revision: https://phabricator.services.mozilla.com/D73173
2020-04-30 23:52:54 +00:00
Brad Werth fb1e4b36af Bug 1598145 Part 1: For user-scalable=no, force min and max zoom to match initial zoom, add WPT. r=hiro
This provides web compatability with Chrome's interpretation of the spec at
https://drafts.csswg.org/css-device-adapt/#user-zoom-desc. This changes makes
us treat "the user cannot interactively change the zoom factor" as inclusive
of ANY method of the user agent changing zoom levels, regardless of whether or
not the user initiated an action.

So, in addition to preventing things like double-tap-to-zoom and pinch-zoom,
this change prevents zoom changes to fit all content into the viewport, or to
maintain visible content proportionality if the viewport is resized dynamically.

This also adds an assert to cases where Document::GetViewportInfo returns a
viewport with a non-positive scale factor that it also sets the auto scale
flag.

This also adds a tentative web-platform test.

Differential Revision: https://phabricator.services.mozilla.com/D72004
2020-04-30 23:25:53 +00:00
David Parks cbf4e1a5cc Bug 1621762: Part 7 - Add IpdlQueue actor traits to WebGLParent/WebGLChild r=jgilbert,jld
Adds IpdlQueue capability to PWebGL actors.  The WebGLChild, used in content processes, implements SyncProducerActor and AsyncConsumerActor because it sends (sync and async) messages and receives responses to them that it reads as async messages.  The WebGLParent, used in the compositor process, is a SyncConsumerActor and AsyncProducerActor for dual reasons.

Differential Revision: https://phabricator.services.mozilla.com/D68264
2020-04-30 22:24:44 +00:00
David Parks 180f310d81 Bug 1621762: Part 6 - Add and define IpdlQueue for WebGL IPC r=jgilbert
The IpdlQueue (de)serializes types into arrays that are then passed to another process via IPDL messages.  This means much less bloat than generating IPDL routines for each of the commands we send with WebGL.  This IPDL queue is fairly basic -- it simply sends "async" commands through an async IPDL message and sync commands through a sync message.  Future extensions, such as a facility for buffering async messages to be sent in bulk, are planned.
The IpdlQueue uses an existing actor to send messages.  That actor should derive from one of the provided base classes and implement any needed IPDL message.  For example, if the actor is used as the comsumer for sync messages then it should subclass SyncConsumerActor and should Recv (via IPDL) the ExchangeIpdlQueueData message -- the handler method for which is defined in the SyncProducerActor base class.

Differential Revision: https://phabricator.services.mozilla.com/D68263
2020-04-30 22:24:00 +00:00
David Parks b18b3bfd97 Bug 1621762: Part 5 - Change PWebGL alloc+constructor to Initialize message r=jgilbert,jld
We need to separate WebGL actor construction and initialization since IpdlQueue initialization needs the actor to already exist.

Differential Revision: https://phabricator.services.mozilla.com/D68262
2020-04-30 22:23:48 +00:00
David Parks 7ac7bc9be6 Bug 1621762: Part 4 - Move some code from ProducerConsumerQueue.h to QueueParamTraits.h r=jgilbert
Move QueueParamTraits, which are common between PCQ and IpdlQueue, to a file they both include.  This also changes the namespace of a handful of the classes, like the Marshaller.

Differential Revision: https://phabricator.services.mozilla.com/D68260
2020-04-30 22:23:10 +00:00
David Parks 8bd91e6a36 Bug 1621762: Part 3 - Make some classes generic to support multiple remote WebGL implementations r=jgilbert
* Templatize ProducerView/ConsumerView/(Sync)CommandSource/(Sync)CommandSink to allow both Pcq and Ipdl versions, as the client code is identical.
* Rename Producer/Consumer -> PcqProducer/PcqConsumer.

Differential Revision: https://phabricator.services.mozilla.com/D68259
2020-04-30 22:23:02 +00:00
David Parks fa401253a4 Bug 1621762 - Part 2: Refactor WebGL MethodDispatcher code used in remoting r=jgilbert
* Remove CommandSink from WebGLMethodDispatcher.  The parameter is unneeded.
* Make MethodDispatcher code simpler.  This removes a layer of complexity (CommandDispatchDriver) involved in finding the correct method for a given ID number.
* Require WebGL methods whose signatures don't allow them to be remoted to directly call on the host object.  They are: ReadPixels, GetVRFrame, GetInternalFormatParameter, GetBufferSubData, GetLinkResult and TexImage.
* Fix a bunch of compilation issues with busted PcqParamTraits.
* implement PcqParamTraits for some missing types

Differential Revision: https://phabricator.services.mozilla.com/D68257
2020-04-30 22:22:52 +00:00
David Parks ac84c81927 Bug 1621762 - Part 1: Basic refactoring of ProducerConsumerQueue & CommandQueue r=jgilbert
A lot of simple changes to prepare for later patches in the series:

* PcqCommand -> QueueCommand, PcqStatus -> QueueStatus, PcqParamTraits -> QueueParamTraits
* Consolidate BasicSink/Source into CommandSink/Source
* SyncCommandSource::mConsumer -> mResponseSink, SyncCommandSink::mProducer -> mResponseSource, CommandSource::mProducer -> mSource, CommandSink::mConsumer -> mSink
* Rename WebGLPcqParamTraits.h to WebGLQueueParamTraits.h
* ProducerConsumerQueue struct -> class.
* ProducerConsumerQueue::mProducer/mConsumer access -> ProducerConsumerQueue::TakeProducer/TakeConsumer
* Rename QueueStatus enum elements to follow style convention.
* Rename Status() to GetStatus() in ProducerView and ConsumerView to appease Linux.
* Rename CommandResult enum values to fit convention (and avoid Linux conflict with Success).

Differential Revision: https://phabricator.services.mozilla.com/D68256
2020-04-30 22:21:45 +00:00
Tom Schuster 16e34d88a9 Bug 1633145 - Replace NON_INTEGER_ATOM_TO_JSID. r=jandem
This also allows us to remove JSID_FROM_BITS and gives us stronger assertions everywhere for the whack integer-string case.

Differential Revision: https://phabricator.services.mozilla.com/D72564
2020-04-30 18:18:35 +00:00
Tom Schuster bd161088e3 Bug 1633145 - Replace INTERNED_STRING_TO_JSID. r=jandem
I am honstely still not convinced that this function should actually exists.
It seems like a convulted way of saying AtomToId, while also asserting that the atom is pinned.

Differential Revision: https://phabricator.services.mozilla.com/D72563
2020-04-30 18:18:12 +00:00
Zibi Braniecki 816c29ddb0 Bug 1627809 - Make the DocumentL10n translate the document when initialized lazily. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D71224
2020-04-30 17:57:06 +00:00
Zibi Braniecki ff33f89421 Bug 1627809 - Make DocumentL10n translate all roots and add ConnectRoot with initial translation. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D70981
2020-04-30 17:56:54 +00:00
Zibi Braniecki 4084d5c48b Bug 1627809 - Move DocumentL10n construction earlier. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D70976
2020-04-30 17:56:41 +00:00
Zibi Braniecki fe12cd1036 Bug 1627809 - Add Localization::AddResourceId and Localization::RemoveResourceId for DOM to use. r=stas
Differential Revision: https://phabricator.services.mozilla.com/D70975
2020-04-30 17:56:24 +00:00
Zibi Braniecki 9a24b61c50 Bug 1627809 - Rename Document::TriggerInitialTranslation to Document::OnParsingCompleted. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D70974
2020-04-30 17:56:11 +00:00
Zibi Braniecki 1427870732 Bug 1627809 - Move Localization.jsm construction to Localization constructor. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D70973
2020-04-30 18:22:38 +00:00
Zibi Braniecki 9211c5cc8a Bug 1627809 - Remove unncessary eager attribute from Localization API. r=stas
Differential Revision: https://phabricator.services.mozilla.com/D70972
2020-04-30 17:55:38 +00:00
Zibi Braniecki 30bcee56da Bug 1627809 - Rename *DocumentTranslation to *Translation. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D70971
2020-04-30 17:55:26 +00:00
David Teller 1e228f42e9 Bug 1580448 - JSProcessActor{Child, Parent}::AfterDestroy;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73017
2020-04-30 16:20:21 +00:00
David Teller 24806e2f1b Bug 1580448 - Add NS_DECL_NSICONTENTPARENT to ContentParent;r=nika
This is a fixup to Bug 1580447, which landed some time ago.

Differential Revision: https://phabricator.services.mozilla.com/D72758
2020-04-30 16:19:55 +00:00
David Teller ded0c0d4ee Bug 1580448 - JSProcessActor tests;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69819
2020-04-30 16:45:14 +00:00
David Teller 8317b02f61 Bug 1580448 - Renaming Test{Child, Parent} => TestWindow{Child, Parent};r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69818
2020-04-30 16:19:14 +00:00
David Teller 038fcc44b3 Bug 1580448 - ChromeUtils.{register, unregister}ProcessActor;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69786
2020-04-30 16:43:31 +00:00
David Teller 47e9954cc6 Bug 1580448 - nsIContent{Child, Parent}::getActor;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69784
2020-04-30 16:43:48 +00:00
David Teller 3da6e17db2 Bug 1580448 - JSProcessActor API;r=nika
This patch introduces the bulk of JSProcessActor{Child, Parent}.

Differential Revision: https://phabricator.services.mozilla.com/D64595
2020-04-30 16:49:50 +00:00
David Teller cd067d3c2e Bug 1580448 - Rename JSWindowActor into JSActor;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70038
2020-04-30 16:42:53 +00:00
David Teller cdd42f26d4 Bug 1580448 - Trivial unified build fixups;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70036
2020-04-30 16:15:27 +00:00
Emilio Cobos Álvarez 164acdc0b9 Bug 1634218 - Remove the zoom actors. r=nika
After the recent simplifications to the zoom code, they only take care
of forwarding the enlarge / decrease zoom messages.

We can do that via PBrowser instead, and get rid of the actors. We can
also remove ZoomChangeUsingMouseWheel. Zooming with the mouse wheel will
end up in a *ZoomChange event anyways, and the only consumer already
listened for them.

Differential Revision: https://phabricator.services.mozilla.com/D73175
2020-04-30 16:35:35 +00:00
Denis Palmeiro 792169d380 Bug 1501608 - Remove the ELEMENT_SLOT in the ScriptSourceObject and instead use a callback function to return the script element based on the value of the privateValue in the SSO. r=jonco,smaug
We can reduce the size of the SSO by removing the element slot entirely, and instead retrieve the element through a callback function.  The callback will take in the value in the private slot of the SSO, which is either a LoadedScript* (from the browser) or a JSObject* (from the shell).  In addition, this removes the requirement of having a script dom element ready when parsing a JS script which can open up new opportunities for performance.

Differential Revision: https://phabricator.services.mozilla.com/D70417
2020-04-30 16:21:23 +00:00
Stefan Hindli 9d278a82c2 Backed out changeset 8a194fc3bf96 (bug 1634411) for causing perma bc2 failure in browser/components/originattributes/test/browser/browser_postMessage.js CLOSED TREE 2020-04-30 19:08:34 +03:00
Andrea Marchesini 51cf3a80ab Bug 1634411 - Relax principal checks in PostMessageEvent, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D73268
2020-04-30 14:22:25 +00:00
Andrea Marchesini 6881d7ef4e Bug 1634395 - BroadcastChannel should not expose originAttributes in the MessageEvent/MessageEventError, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D73264
2020-04-30 14:05:10 +00:00
Emilio Cobos Álvarez 18aa21e2ae Bug 1634153 - Rename and devirtualize nsITextControlFrame::ScrollSelectionIntoView. r=masayuki
To make clear it happens async.

Depends on D73181

Differential Revision: https://phabricator.services.mozilla.com/D73185
2020-04-30 04:04:40 +00:00
Benjamin Bouvier 675cdfa277 Bug 1618595: Disable Cranelift on aarch64 when reftypes are enabled; r=lth,perftest-reviewers,sparky
This requires adding a new JSOptions field (for internal use within the shell),
as well as a new browser pref (to support possible Cranelift benchmarking on
aarch64).

Differential Revision: https://phabricator.services.mozilla.com/D72907
2020-04-30 11:55:13 +00:00
Cameron McCormack 653ae3db54 Bug 1582293 - Part 4: Initialize worker prefs correctly. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D70593
2020-04-30 09:18:34 +00:00
Cameron McCormack a773404183 Bug 1582293 - Part 3: Support zero values for worker GC prefs. r=asuth
And while we're touching JSSettings, make it use an nsTArray to store
the JS GC settings intead of a C array.

Differential Revision: https://phabricator.services.mozilla.com/D70592
2020-04-30 09:18:27 +00:00
Cameron McCormack 5147d7defc Bug 1582293 - Part 2: Fix interpretation of boolean worker GC prefs. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D70591
2020-04-30 09:18:25 +00:00
Cameron McCormack 3645d7dba0 Bug 1582293 - Part 1: Fix pref observation code formatting. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D70590
2020-04-30 09:18:23 +00:00
Masayuki Nakano 11af44e544 Bug 1632726 - part 2: Remove some unused `nsISelectionController` methods r=smaug
Even in comm-central and BlueGriffon, `nsISelectionController::*ForDelete()`
are not used.  Therefore, we can remove them safely.

Differential Revision: https://phabricator.services.mozilla.com/D72296
2020-04-27 06:20:31 +00:00
Tim Huang 12244573a1 Bug 1633401 - Make Document.HasStorageAccess fission compatible. r=baku
In Document::HasStorageAccess(), we try to get the top-level document.
To check if the document is first-party to the top-level document. But,
this won't work for Fission since the top-level document could be
out-of-process.

In this patch, we use broswing context to get the top-level principal to
test if the document is thrid-party. If we cannot get the top-level
outer window, the top-level document should be cross-origin. So, we know
the answer. If the top-level document is available, we check the
principal to see if the document is first-party.

Differential Revision: https://phabricator.services.mozilla.com/D72664
2020-04-30 09:54:15 +00:00
Paul Adenot 3f634118d6 Bug 1634098 - Fix a few clang-tidy warnings in AudioNodeEngine.cpp and vector sibling files. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D73087
2020-04-29 22:39:15 +00:00