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

149 Коммитов

Автор SHA1 Сообщение Дата
Boris Zbarsky 081fa29a04 Bug 1536719. Fix handling of member method calls in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
The old code for member method calls did the following:

 1) Find the member method calls.
 2) Look at their "this" expression.
 3) If the "this" is an operator call, check for any of the arguments of the
    operator call being invalid.
 4) Otherwise (if not an operator call) check for the "this" value being
    invalid.

This wasn't right, because the "is invalid" check checks the type and only
considers refcounted things.  So if the code looked something like
"foo[i]->call_method()", we would look at the types of "foo" and "i" and
determine that none of those are refcounted types so there is nothing invalid
here (since "foo" is some sort of array type and "i" is an integer).  The new
setup just checks whether the "this" value is invalid, which does the type
check on the "this" value itself; in the "foo[i]->call_method()" case on
"foo[i]".  We then adjust the exclusions in InvalidArg to consider operator->
on known-live things valid, to allow the thing that we were really trying to
accomplish with the "check for an operator call" bits:
"stackRefPtr->some_method()".

The test coverage being added for the made-up TArray type is meant to catch
things like the geolocation issue that was being hidden by the buggy behavior.
I'm not using nsTArray itself because some header included by nsTArray.h
tries to define operator new/delete bits inline and that triggers warnings that
then cause a clang-plugin test failure, because they're unexpected.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 11:48:33 +00:00
Brindusan Cristian 044c3936c7 Backed out 6 changesets (bug 1536736, bug 1536336, bug 1536719, bug 1536825, bug 1537537, bug 1536724) for build bustages at TestCanRunScript. CLOSED TREE
Backed out changeset f754116e738e (bug 1537537)
Backed out changeset f9df48cfea43 (bug 1536736)
Backed out changeset 7a9888e700cf (bug 1536825)
Backed out changeset e2551303c5cf (bug 1536724)
Backed out changeset f497ce3b7419 (bug 1536719)
Backed out changeset fd59264c47c1 (bug 1536336)
2019-03-21 07:33:33 +02:00
Boris Zbarsky 14f6385d4b Bug 1536719. Fix handling of member method calls in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
The old code for member method calls did the following:

 1) Find the member method calls.
 2) Look at their "this" expression.
 3) If the "this" is an operator call, check for any of the arguments of the
    operator call being invalid.
 4) Otherwise (if not an operator call) check for the "this" value being
    invalid.

This wasn't right, because the "is invalid" check checks the type and only
considers refcounted things.  So if the code looked something like
"foo[i]->call_method()", we would look at the types of "foo" and "i" and
determine that none of those are refcounted types so there is nothing invalid
here (since "foo" is some sort of array type and "i" is an integer).  The new
setup just checks whether the "this" value is invalid, which does the type
check on the "this" value itself; in the "foo[i]->call_method()" case on
"foo[i]".  We then adjust the exclusions in InvalidArg to consider operator->
on known-live things valid, to allow the thing that we were really trying to
accomplish with the "check for an operator call" bits:
"stackRefPtr->some_method()".

The test coverage being added for the made-up TArray type is meant to catch
things like the geolocation issue that was being hidden by the buggy behavior.
I'm not using nsTArray itself because some header included by nsTArray.h
tries to define operator new/delete bits inline and that triggers warnings that
then cause a clang-plugin test failure, because they're unexpected.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 18:08:16 +00:00
Boris Zbarsky 5539520106 Bug 1535124 part 3. Add MOZ_CAN_RUN_SCRIPT annotations to geolocation code as needed. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D23521

--HG--
extra : moz-landing-system : lando
2019-03-20 18:05:09 +00:00
Ehsan Akhgari faecb1030e Bug 1525054 - Make ContentPermissionRequestBase calculate the isHandlingUserInput flag itself instead of relying on callers who may or may not pass in the correct information; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D18571

--HG--
extra : moz-landing-system : lando
2019-02-04 19:56:48 +00: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
Ehsan Akhgari d8c3c5a17d Bug 1506014 - Refactor some of the common code in the implementations of nsIContentPermissionRequest into a common base class r=baku
Differential Revision: https://phabricator.services.mozilla.com/D11488

--HG--
extra : moz-landing-system : lando
2018-11-14 05:33:25 +00:00
Gabriele Svelto 266ef73c96 Bug 1503207 - Remove nsWeakPtr.h and cleanup all files including weak reference-related headers r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D10251

--HG--
extra : moz-landing-system : lando
2018-10-31 20:39:03 +00:00
Ehsan Akhgari 54b2e44577 Bug 1502747 - Remove nsIContentPermissionType.access and all of its supporting code r=snorp,baku
This field was originally added for the b2g-only DeviceStorage API,
and isn't used for anything else right now.

This reverts the remaining parts of bug 1043136 and bug 1043136
as well as some support code for mobile.

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

--HG--
extra : moz-landing-system : lando
2018-10-30 07:48:55 +00:00
Andrea Marchesini 42109ceb33 Bug 1495364 - FeaturePolicy: geolocation, r=smaug 2018-10-06 13:10:30 +02:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Yuan Lyu c9aa7cedfd Bug 1441295 - Reverted the changes in bug 1372069 and modified test; r=baku
MozReview-Commit-ID: KG0H9UPa6Di

--HG--
extra : rebase_source : 15691aaec69374b612ff32afd408395dbf42d447
2018-06-15 23:23:40 -04:00
Chris Peterson 6fd3242f63 Bug 645325 - Part 3: Remove nsGeoPosition's unused `long long aTimestamp` constructor. r=garvank r=jdm
And change nsGeoPosition to store DOMTimeStamp instead of long long because it is a more descriptive type. DOMTimeStamp is a typedef for uint64_t, so we're not losing any precision using DOMTimeStamp instead of long long.

MozReview-Commit-ID: hjXnw959yC

--HG--
extra : rebase_source : 7061953cc62d116487ca2fa75d89f65cf725b573
extra : source : 014089341e5443fe0b42c98141c846bfa8ca6728
2018-02-25 16:32:16 -08:00
Chris Peterson 201ee6decf Bug 645325 - Part 2: Remove the two-second startup delay for the MLS fallback provider on Windows and macOS. r=garvank r=jdm
The Windows and macOS location providers used to start the MLS provider (with a two-second delay) and then call the operating system's location provider, letting them race. Currently, however, we only start the MLS fallback provider after the system provider returns an error, so the two-second startup delay is just wasted time.

I left the starup delay option in MLSFallback because the Linux gpsd provider still uses it to race MLS with the system's GPS provider.

MozReview-Commit-ID: 3ZFeF1g6PoG

--HG--
extra : rebase_source : ae7032fb86b9015686c160dd990dcb264fff742a
extra : source : 90473706de0fc0af9866b05768b7700de0fd552f
2018-02-28 23:59:03 -08:00
Chris Peterson 9294aea52b Bug 645325 - Part 1: Use NaN to indicate unset optional coordinate values returned from the location providers. r=garvank r=jdm
nsGeoPositionCoords will convert NaNs returned from the location providers to null properties of the JavaScript Coordinates object.

MozReview-Commit-ID: Cmuf2aO0ClD

--HG--
extra : rebase_source : cbccead609ff53a3e5f1bcf7698eba7382220ce5
extra : source : b4ced6e2bab2d17cf642f5850bda5998f635fccb
2018-02-25 23:35:16 -08:00
Karl Tomlinson 9e0c1c7c2b bug 1442776 make CycleCollectedJSContext accessible from JSContext private r=peterv
Inheriting PerThreadAtomCache on CycleCollectedJSContext permits use of
static_cast, avoiding one level of indirection compared to adding a
CycleCollectedJSContext* to PerThreadAtomCache.

PerThreadAtomCache is over 18kB, and so WorkerJSContext and WorkletJSContext
are moved from the stack to the heap.

MozReview-Commit-ID: 6jdJeZcviK4

--HG--
extra : rebase_source : 3c2accb71faf3f017a44c405ae0484e57aaf039c
2018-05-10 17:04:12 +12:00
Boris Zbarsky 0f159c9528 Bug 1466298 part 3. Remove nsIDOMGeoGeolocation. r=mccr8 2018-06-04 12:41:09 -04:00
Boris Zbarsky f550c5b2d0 Bug 1466298 part 1. Switch the geolocation service to using a singleton constructor. r=mccr8 2018-06-04 12:41:01 -04:00
Boris Zbarsky c53f7f15b1 Bug 1466213 part 2. Remove nsIDOMGeoPositionError. r=qdot 2018-06-01 22:35:44 -04:00
Boris Zbarsky 01f73b98d9 Bug 1466213 part 1. Move PositionError out into a separate file. r=qdot
--HG--
rename : dom/geolocation/nsGeolocation.cpp => dom/geolocation/PositionError.cpp
rename : dom/geolocation/nsGeolocation.h => dom/geolocation/PositionError.h
2018-06-01 22:35:42 -04:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Boris Zbarsky 914f11a6d2 Bug 1455674 part 10. Remove nsIDOMElement use from remaining dom/ xpidl files. r=qdot 2018-04-26 23:36:10 -04:00
Nika Layzell 952f6a915a Bug 1443954 - Part 3: Add support for RefCounted types to IPDL, r=bz,froydnj,baku
This patch was reviewed in parts, however the intermediate states would not build:

Bug 1443954 - Part 3A: Strip pointers from the argument to WriteParam and WriteIPDLParam before selecting the ParamTraits impl, r=froydnj

Bug 1443954 - Part 3B: Move nsIAlertNotification serialization to the refcounted system, r=bz

Bug 1443954 - Part 3C: Move geolocation serialization to the refcounted system, r=bz

Bug 1443954 - Part 3D: Move nsIInputStream serialization to the refcounted system, r=baku

Bug 1443954 - Part 3E: Move BlobImpl serialization to the refcounted system, r=baku

Bug 1443954 - Part 3F: Correctly implement ParamTraits for actors after the ParamTraits changes, r=froydnj
2018-04-10 17:49:48 -04:00
Boris Zbarsky df6c05a122 Bug 1442039 part 14. Remove nsDOMClassInfoID.h. r=peterv
MozReview-Commit-ID: 6pZs1XI1oSd
2018-03-21 23:13:30 -04:00
Josh Matthews 91522ab384 Bug 1437140 - Replace some uses of NS_DispatchToMainThread/NS_DispatchToCurrentThread with more specific event targets. r=mystor 2018-02-20 09:52:32 -05:00
Sylvestre Ledru f8b1d9ab46 Bug 1278282 - update of the moz.build files to remove gtk2 references r=lsalzman
MozReview-Commit-ID: FO1wEHzOkuN

--HG--
extra : rebase_source : ac7e61cf47d013de882048740c889735a0a7cad8
2018-01-10 10:04:59 +01:00
Kate McKinley f9f14d6f64 Bug 1410364 - Don't consider opener when calculating IsSecureContext. r=bz, r=dveditz
Per https://github.com/w3c/webappsec-secure-contexts/issues/42, the
section considering the window opener when calculating secure context is
to be dropped. Firefox already uses "isSecureContextIfOpenerIgnored" in
most places as this is the actual behavior we want. This patch aligns
with the upcoming spec changes by ignoring the window opener. We also no
longer have to keep information about whether our opener was secure as
that no longer factors in our calculations.
2017-11-29 10:40:00 -05:00
Johann Hofmann 6a1c57c446 Bug 1345424 - Add an isHandlingUserInput attribute to permission requests. r=baku,smaug
MozReview-Commit-ID: 80TXjnxLMuT

--HG--
extra : rebase_source : 42a54afe6cebe9e7c36a7575000fa9c270a63db6
2017-02-20 20:46:39 +01:00
Nika Layzell 3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Kris Maglione 60d080b412 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu

--HG--
extra : rebase_source : 31c583c699790cbcf302064146d313ee8126ef0c
2017-10-15 23:15:40 -07:00
Bevis Tseng 95b18d794e Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm
--HG--
extra : rebase_source : 84de1abfcc30a6964144c2e6718a508c71027b65
2017-07-27 02:18:20 +08:00
Nicholas Nethercote 6e6ae2ea9b Bug 1382099 - Remove MOZ_WIDGET_GONK from several dom/ subdirectories. r=mccr8,jdm.
As well as the obvious #ifdef stuff, the patch removes
TCPSocket::SetAppIdAndBrowser(), which means
{TCPSocketParent,TCPServerSocketParent}::{GetAppId,GetInIsolatedMozBrowser}()
can also be removed.
2017-07-21 10:52:44 +10:00
Tim Huang 1ec953e612 Bug 1372069 - Part 1: Disable Geolocation when 'privacy.resistFingerprinting' is true. r=arthuredelstein,smaug
This patch disables Geolocation API when fingerprinting resistance is enabled.
The way we disable it is the same as how we disable this API for non-secure
origins that we will reject the request from this API and still keep this API
around.

MozReview-Commit-ID: 5D7Bf6Rplm8

--HG--
extra : rebase_source : b28f33f70a59dc670089dcbbb82f2720a059c341
2017-07-13 14:11:08 +08:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Mike Hommey 34e619d1c1 Bug 1357323 - Remove support for gonk in the build system. r=gps
Everything depending on the widget being gonk can go away, as well as
everything depending on MOZ_AUDIO_CHANNEL_MANAGER, which was only
defined on gonk builds under b2g/ (which goes away in bug 1357326).

--HG--
extra : rebase_source : 9f0aeeb7eea8417fa4e06d662d566d67ecaf2a24
2017-04-18 16:56:09 +09:00
Michelangelo De Simone 22a7c10b2c Bug 1072859 - Disable Geolocation on non-secure origins. r=jdm
MozReview-Commit-ID: KnHOb0aN4nE

--HG--
extra : source : 07ead25d0bdae2e62c116da16f70f5599513d00f
extra : histedit_source : 19e33405ac6e7b228179e397a80bd39a44651f4a%2C04a0bb8d5aaa06b8780f1937cc836b404bd8d1f7
2017-03-08 16:45:44 -08:00
Sebastian Hengst dd5376d924 Backed out changeset 8b1c50cdb50c (bug 1072859) for failing devtools/client/responsive.html/test/browser/browser_permission_doorhanger.js. r=backout a=merge
MozReview-Commit-ID: LaknhYl9fEw

--HG--
extra : source : 6263649f857f55b11a6060d4a8735bdc8dbb0971
2017-03-09 00:46:17 +01:00
Michelangelo De Simone 1cd6de26c9 Bug 1072859 - Disable Geolocation on non-secure origins. r=jdm
MozReview-Commit-ID: KnHOb0aN4nE

--HG--
extra : rebase_source : a04cb5f52614889e83d8bcf5d8345f2559878b94
2017-03-06 14:10:13 -08:00
Michelangelo De Simone bdc7703a03 Bug 1341897 - Harmonize Geolocation providers. r=jdm
MozReview-Commit-ID: DZbFDsklbq0

--HG--
extra : rebase_source : 94dbf472c9201baba9c78f01c9fbe0443a24992b
2017-02-22 15:09:02 -08:00
deepsrijit1105 c71314494e Bug 1334794 - nsGeolocation.cpp: redundant return statement at the end of a function with a void return type. r=jdm
--HG--
extra : rebase_source : 5c971470c7c9d74d67f64f7606057867a1e000bc
2017-02-01 22:22:51 +05:30
Joel Maher c203f27827 Bug 1335099 - add BUG_COMPONENT to many dom/* subdir files. r=overholt
MozReview-Commit-ID: CyIIs98hnUI
2017-02-06 09:45:55 -05:00
Sebastian Hengst 7225ec6170 Backed out changeset 9a332af74af5 (bug 1335099) for build bustage (moz.build rule matches no files). r=backout on a CLOSED TREE 2017-02-06 16:21:20 +01:00
Joel Maher 60e61eed48 Bug 1335099 - add BUG_COMPONENT to many dom/* subdir files. r=overholt
MozReview-Commit-ID: CyIIs98hnUI
2017-02-06 09:45:55 -05:00