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

613048 Коммитов

Автор SHA1 Сообщение Дата
Andrea Marchesini fda9223d0e Bug 1489844 - Port DOMPrefs to StaticPrefs - part 17 - dom.fetchObserver.enabled, r=ehsan 2018-09-10 20:36:17 +02:00
Andrea Marchesini 82b6a8da30 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 16 - dom.netinfo.enabled, r=ehsan 2018-09-10 20:36:17 +02:00
Andrea Marchesini c47168b4b7 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 15 - dom.webkitBlink.dirPicker.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Andrea Marchesini 7a7da121dc Bug 1489844 - Port DOMPrefs to StaticPrefs - part 14 - gfx.offscreencanvas.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Andrea Marchesini 54cc64fa25 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 13 - dom.streams.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Andrea Marchesini 50429ea3ae Bug 1489844 - Port DOMPrefs to StaticPrefs - part 12 - dom.push.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Andrea Marchesini eb04a59fb8 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 11 - dom.promise_rejection_events.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Andrea Marchesini deaf03b28e Bug 1489844 - Port DOMPrefs to StaticPrefs - part 10 - dom.storageManager.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Andrea Marchesini 7cef10ddb5 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 9 - dom.serviceWorkers.testing.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Andrea Marchesini 70d8e635cf Bug 1489844 - Port DOMPrefs to StaticPrefs - part 8 - dom.serviceWorkers.enabled, r=ehsan 2018-09-10 20:36:15 +02:00
Andrea Marchesini ddda8d451e Bug 1489844 - Port DOMPrefs to StaticPrefs - part 7 - dom.webnotifications.requireinteraction.enabled, r=ehsan 2018-09-10 20:36:15 +02:00
Andrea Marchesini e3c7a44eb3 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 6 - dom.webnotifications.serviceworker.enabled, r=ehsan 2018-09-10 20:36:15 +02:00
Andrea Marchesini 857ed47a4a Bug 1489844 - Port DOMPrefs to StaticPrefs - part 5 - dom.webnotifications.enabled, r=ehsan 2018-09-10 20:36:15 +02:00
Andrea Marchesini 74d358af13 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 4 - dom.performance.enable_user_timing_logging, r=ehsan 2018-09-10 20:36:15 +02:00
Andrea Marchesini 8288bddafb Bug 1489844 - Port DOMPrefs to StaticPrefs - part 3 - dom.caches.testing.enabled, r=ehsan 2018-09-10 20:36:15 +02:00
Andrea Marchesini d26d5425d9 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 2 - dom.caches.enabled, r=ehsan 2018-09-10 20:36:15 +02:00
Andrea Marchesini 84efbc6ccd Bug 1489844 - Port DOMPrefs to StaticPrefs - part 1 - canvas_imagebitmap_extensions_enabled, r=ehsan 2018-09-10 20:36:14 +02:00
Robert Longson 63cb9a2572 Bug 1482196 - Increase minimum clang version to 3.9 r=froydnj 2018-09-10 18:59:07 +01:00
Jim Chen 4801fffa0d Bug 1489569 - 2. Don't blur window on temporary focus loss; r=droeh
When the window temporarily loses focus (e.g. due to auto-fill popups),
don't call setFocus(false). Otherwise, we can end up disrupting user
interaction (e.g. causing the auto-fill popup to flicker). Only call
setFocus(false) when we are reasonably sure the focus loss is not
temporary.

Differential Revision: https://phabricator.services.mozilla.com/D5329
2018-09-10 12:42:35 -04:00
Jim Chen b5db081f11 Bug 1489569 - 1. Avoid unnecessary setActive calls; r=droeh
To avoid unnecessary setActive calls, only call it when we have a
display and when the display acquires or releases a surface. In other
cases, we can delay the setActive call until later.

Differential Revision: https://phabricator.services.mozilla.com/D5328
2018-09-10 12:42:34 -04:00
Daniel Varga 67945694c1 Merge mozilla-central to mozilla-inbound 2018-09-10 19:23:14 +03:00
Daniel Varga 9e7995b3c3 Merge mozilla-inbound to mozilla-central. a=merge 2018-09-10 19:14:55 +03:00
Johann Hofmann bf36bd3839 Bug 1438402 - Fix intermittent browser_csp_block_all_mixedcontent.js. r=nhnt11
Differential Revision: https://phabricator.services.mozilla.com/D5406

--HG--
extra : moz-landing-system : lando
2018-09-10 13:53:19 +00:00
Daniel Varga 2ddac974c2 Backed out changeset c80bc4f44b7f (bug 1489996) for bc failures in browser/extensions/pdfjs/test/browser_pdfjs_main.js 2018-09-10 16:43:52 +03:00
Julian Seward 4d15d8f78a Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 10 of 10. r=bbouvier.
Test cases for new instructions {mem,table}.{init,drop} and table.copy.

* New file passive-segs-nonboundary.js:
  This tests the new instructions for "normal" (non-boundary) cases enough to
  be reasonably convinced that the implementation works.  It does not test any
  exceptional/boundary cases, except for the case where we attempt to call
  through an empty table slot.

  This file also incorporates tests for memory.copy and memory.fill that were
  previously in memory-bulk.js, which, in turn, has been removed.

* New file passive-segs-boundary.js:
  This tests boundary / validation cases for the new instructions.  Almost all
  tests wind up throwing some kind of exception.

--HG--
extra : rebase_source : ec91c595c2f9af92ac440134cf965c736b90d03a
2018-09-10 15:09:33 +02:00
Julian Seward fe52931272 Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 9 of 10. r=bbouvier.
This patch adds support for: {memory,table}.{init,drop} and table.copy, in
the areas of code generation and implementation.  Code generation is trivial
and done simply by creating calls to the following new functions:

  Instance::memInit Instance::memDrop
  Instance::tableInit Instance::tableDrop Instance::tableCopy

For both Ion and Baseline, the actual code generation for memory- vs table-
cases is so similar that a single function is used for both cases, and given
only a bool to differentiate them (eg EmitMemOrTableDrop, etc).

The new Instance::{mem,table}::Init functions then pull out the relevant
segment data (via instance->code()) and initialisation data (directly
attached to the instance) [per patches 4 and 5 respectively] and perform the
required updates.

All of this is mechanical and in line with existing code.

--HG--
extra : rebase_source : 4cf3cc503fe7fe24b4995fe51383851e84bf99fa
2018-09-10 15:09:33 +02:00
Julian Seward 18589f31f3 Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 8 of 10. r=lth.
This patch adds a general mechanism that allows the Wasm compilers and
verifier to handle situations where the correctness of some constructions seen
in the byte stream cannot be determined until further along in the byte stream
-- in effect, forward references.  It then uses this mechanism to check data
segment indices that appear in the instruction section (resulting from
memory.{drop,init} instructions) as the number of data sections will not be
known until after the code section.

* new struct DeferredValidationState, which holds whatever state is required

* new type ExclusiveDeferredValidationState, needed because
  DeferredValidationState is shared between compilation threads and is mutable

* the new DeferredValidationState lives in class ModuleGenerator, since that
  is really the running state for the compilation of a given module.

* a reference to the DeferredValidationState is added to OpIter, so that the
  iterator can update the state as it visits instructions.

* consequently, there is a bunch of plumbing (extra parameters) to get a
  reference to the DeferredValidationState to places where an OpIter has to be
  created.

* also, CompileTask acquires a reference to the DeferredValidationState, as
  there is no other way to get hold of it in
  wasm::ExecuteCompileTaskFromHelperThread.

* when iteration is finished, we call
  DeferredValidation::performDeferredValidation so as to perform any final
  checks.  This takes a const ModuleEnvironment& parameter, so that it can
  crosscheck the deferred state against information collected in the
  environment.

* compilation runs use the DeferredValidationState in the ModuleGenerator. But
  pure validation runs (wasm::Validate) have no associated ModuleGenerator.
  So it simply creates its own DeferredValidationState on the stack and uses
  that.

Although at first it seems plausible to add this mutable shared state to
CompileTaskState, that is not so attractive because it means

* plumbing that into the core of the compilers.  It contains information about
  task management that has nothing to do with the details of compilation.

* there's no way to pull out the deferred validation state into its own type
  without using a different lock than for CompileTaskState.  In other words,
  there appears to be no way to go from an ExclusiveData<CompileTaskState> to
  an ExclusiveData<some field of CompileTaskState>.

In terms of the actual deferred checking added:

* data segment indices seen in memory.{drop,init} instructions are noted in
  the running state.  At least, the highest value is noted, along with its
  bytecode offset.  That way, if any index exceeds the number of data sections
  (discovered later), we can reject the module and issue a suitable error
  message.  The message will be for the highest offending value rather than
  the first appearance of an offending value, but that is presumably good
  enough.

--HG--
extra : rebase_source : dd60f21edc124361109e7b8d1ebe5faec4e9b058
2018-09-10 15:09:33 +02:00
Julian Seward 2af9e38dfb Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 7 of 10. r=bbouvier.
This patch adds support for: {memory,table}.{init,drop} and table.copy, in
the areas of parsing, AST representation, binary reading/iteration and
validation (pipeline stages up to but not including code generation).  This
is mechanical and in line with existing code.

--HG--
extra : rebase_source : de483c851dce723bb6618d24ac35ba1c05de0721
2018-09-10 15:09:32 +02:00
Julian Seward 4c79286011 Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 6 of 10. r=bbouvier.
This changes classes ElemSegment and DataSegment so that passive segments
can be represented.  The basic change is to change the type of the |offset|
field from InitExpr to Maybe<InitExpr>, with Nothing denoting a passive
segment, and rename it to |offsetIfActive|.

The relevant AST types are changed similarly, along with the parsing and
validation code.

There's a new enum class InitializerKind to encapsulate the binary encoding
changes, per the bulk-memory/lazy-initialiser proposal.

Module::initSegments, when processing segments, is changed so as to skip
passive segments (since those must be deferred till run time).  It also uses
the new helper ComputeWasmCallee from the previous patch in the series, to
compute initialisation values for active element segments.

This patch also adds code to create the {Elem,Data}SegmentInitVectors for
passive data and element segments at instantiation time.  This is done in
Instance::init.  For memory.init, that means copying initialising bytes from
the bytecode image.  For table.init, a new helper function ComputeWasmCallee
computes the (entry point, instance pointer) pairs.

ComputeWasmCallee is not new code.  It merely encapsulates existing logic that
would otherwise have to be duplicated for active and passive table
initialisers.  It is called from Instance::initSegments, where it processes
active element segments, and Instance::init, where it processes passive
element segments.

--HG--
extra : rebase_source : 4c2c271a412d2a1051987ba0eee72bf66b0d7123
2018-09-10 15:09:32 +02:00
Julian Seward 86b79103eb Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 5 of 10. r=bbouvier.
At run time, the implementation of {memory,table}.init needs to know the
actual bytes to be copied to complete the required initialisations, for
passive initialisers.  It seems simplest to compute them exactly at
instantiation time, and have the computed data owned by the instance.

This also means it is possible for that data to be released by
{memory,table}.drop, independently of all other instances.

This patch adds new types DataSegmentInit, ElemSegmentInit,
DataSegmentInitVector, and ElemSegmentInitVector to hold this data.  They are
explained in detail in a comment in WasmTypes.h.

For a data segment, the initialising values for a memory are merely bytes, but
for a table it is more complex -- a pair of (entry point, instance pointer).
This patch also adds a type WasmCallee to encapsulate that.

--HG--
extra : rebase_source : adaee69ee3662432bd2fc6e9924b8ce8093a7a46
2018-09-10 15:09:32 +02:00
Julian Seward 84c591be8c Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 4 of 10. r=bbouvier.
This patch moves |const DataSegmentVector dataSegments_| and |const
ElemSegmentVector elemSegments_| from class Module to class Code, so as to
make their lifetimes at least as long as that of any instance derived from the
originating module.  That is because they need to be reachable from an
Instance, in turn because they need to be consulted at runtime by the
implementation of {memory,table}.{init,drop}.

The change is mostly mechanical.  Functions that had to change include:

* "sizeOf" memory reporting functions

* serialisation/deserialisation functions

The only complication is in Module::instantiate.  In the case where
debugging is active, the resulting instantiation cannot share code with
other instantiations of the same module, and many structures are cloned.
This patch accordingly adds cloning of the data segments (easy) and the
element segments (not so easy) since ElemSegment has no copy constructor.

--HG--
extra : rebase_source : 3e3c74eefc04a742eed1606161ac2c7088870b3e
2018-09-10 15:09:32 +02:00
Julian Seward 7de5bc3b8e Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 3 of 10. r=bbouvier.
Some small changes to class Table:

* Table::set no longer takes an |Instance&| but rather a |const Instance*|.
  This because we now need to call Table::set at run time, from
  Instance::tableInit, at which point we only have an Instance* available, not
  an Instance&.

* There's a new method Table::copy, which copies elements.  Used to
  implement Instance::tableCopy.

--HG--
extra : rebase_source : 0e3ad6c6a2605b34d16742da4cb9177f0eeba1e0
2018-09-10 15:09:32 +02:00
Julian Seward 4070b0e41a Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 2 of 10. r=bbouvier.
No functional change.  Contains layout, naming and removal-of-duplicate-
expression changes to Instance::{memCopy,Fill} so as to be consistent with new
Instance:: functions added in patch 8 of this series.

The duplicated expression |CheckedU32(len - 1)| is lifted out into its own definition.

--HG--
extra : rebase_source : 5fcaccc472f7f9645221687441ebffef12e9acee
2018-09-10 15:09:32 +02:00
Julian Seward 8ab050214b Bug 1471500 - Complete initial implementation of the bulk-memory proposal. Part 1 of 10. r=bbouvier.
Fixes a couple of bugs in existing code:

* module.js: one of the tests checks the result of parsing a prefix without
  any opcode following.  This test is wrong because funcBody(), used to
  build the body, adds End (0x0B) to the block.  But MiscPrefix:EndCode
  (0xFC:0x0B) is actually "memory.fill", so the test tests the wrong thing.
  I added a new optional parameter to funcBody() to allow omission of the
  automatic End value.

* AstMemCopy::AstMemCopy and AstMemFill::AstMemFill state the wrong result
  type, ExprType::I32, for the instruction.  It should be ExprType::Void.

--HG--
extra : rebase_source : 08898f2027f35414f4356140aab254f93fa72a62
2018-09-10 15:09:22 +02:00
Ehsan Akhgari f1fe1e77c9 Bug 1489917 - Remove the XPCOM component registration for nsOfflineCacheUpdate; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D5391
2018-09-10 11:24:32 -04:00
Margareta Eliza Balazs 32c9003295 Backed out changeset f8a7ea258709 (bug 1479421) for ES lint failure in /builds/worker/checkouts/gecko/devtools/client/netmonitor/test/browser_net_json-long.js CLOSED TREE 2018-09-10 16:09:16 +03:00
Ryan VanderMeulen 9368462357 Bug 1489996 - Update pdf.js to version 2.0.841. r=bdahl 2018-09-10 09:02:45 -04:00
ffxbld 61242498b1 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D5411

--HG--
extra : moz-landing-system : lando
2018-09-10 12:53:41 +00:00
Ehsan Akhgari 9fcc4e5b9a Bug 1489812 - Part 2: Remove @mozilla.org/editor-utils;1; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D5374
2018-09-10 08:42:27 -04:00
Ehsan Akhgari d19f79f590 Bug 1489812 - Part 1: Port nsIEditorUtils.slurpBlob() to C++; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D5373
2018-09-10 08:42:26 -04:00
Marcos Cáceres ef9e5ae876 Bug 1487295 - Add defaults to PaymentMethodChangeEventInit's members. r=baku
--HG--
extra : rebase_source : d5f1590effbec2085672aa4a1552cbb798b4530b
2018-09-10 04:44:00 +03:00
Ehsan Akhgari 7a9998cefe Bug 1489787 - Part 3: Decomtaminate nsComposeTxtSrvFilter; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D5355
2018-09-10 08:15:00 -04:00
Ehsan Akhgari 72c28b2f81 Bug 1489787 - Part 2: Remove the XPCOM component registration for nsComposeTxtSrvFilter; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D5354
2018-09-10 08:15:00 -04:00
Ehsan Akhgari d212ff2809 Bug 1489787 - Part 1: Remove nsITextServicesFilter and replace nsIEditorSpellCheck.setFilter() with nsIEditorSpellCheck.setFilterType(); r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D5353
2018-09-10 08:14:59 -04:00
Anushi Maheshwari 4baf931da4 Bug 1473603 - Changed "Version History" sections in Data Documentation into secondary-level headings. r=janerik
Signed-off-by: Anushi Maheshwari <anushimaheshwari95@gmail.com>

--HG--
extra : rebase_source : 70593c8397ac2f020a5126082d5872527c756426
2018-09-10 11:42:18 +05:30
James Graham 9851ac101a Bug 1489457 - Restart after another test that's leaking state, a=testonly 2018-09-10 13:11:25 +01:00
Randell Jesup 8a5b70c6c2 Bug 1418545: Don't fire OnDataAvailable for 0 bytes r=mayhemer 2018-09-10 08:03:12 -04:00
Ehsan Akhgari 645a5d3db1 Bug 1489916 - Remove the XPCOM component registration for nsHttpChannelAuthProvider; r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D5390
2018-09-10 08:01:37 -04:00
Ehsan Akhgari 2dc43a81ad Bug 1489915 - Remove the XPCOM component registration for nsFileStream; r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D5389
2018-09-10 08:00:44 -04:00
Ehsan Akhgari 38e3c284c9 Bug 1488659 - Part 2: Remove some dead code and mark the remaining detector classes as final; r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D5393
2018-09-10 07:59:42 -04:00