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

602805 Коммитов

Автор SHA1 Сообщение Дата
Aaron Klotz 6ed3d9c74f Bug 1460022: Part 5 - Update launcher process to work with new DLL interceptor interface; r=mhowell 2018-06-27 11:49:30 -06:00
Aaron Klotz 349c64cd00 Bug 1460022: Part 4 - Update a11y code to reflect new interface for DLL interceptor; r=Jamie 2018-06-27 11:49:17 -06:00
Aaron Klotz ef8970296d Bug 1460022: Part 3 - Update TestDllInterceptorCrossProcess to reflect new interceptor interface; r=handyman 2018-06-27 11:48:45 -06:00
Aaron Klotz 1c39ff82df Bug 1460022: Part 2 - Update TestDllInterceptor to use new DLL interceptor interface; r=handyman
In addition to updating the interface, this patch also significantly alters the
structure of this test. In particular, it removes the Test* functions in favour
of using template magic.

I did this because I noticed that, in the majority of cases, the stub function
was being called with all zero arguments, and then we check for the expected
error code. I thought that maybe we could replace that repetition with some
templates that instantiate a blank tuple that may then be applied to a callable
object.

See the (MAYBE_)TEST_HOOK* and TEST_DETOUR* macro definitions for detailed
information about how to use these things.

The test successfully completes with both 32-bit and 64-bit builds.
2018-06-27 11:48:28 -06:00
Aaron Klotz 984eed3371 Bug 1460022: Part 1 - Modify DLL interceptor to use one-time initialization when setting hooks; r=handyman
This patch makes the interceptor's AddHook functions private, and converts
the stubs from simple function pointers into objects containing both the stub
function pointer, plus a INIT_ONCE sentinel.

Setting a hook now requires calling Set or SetDetour on the stub, which ensures
that the hook attempt happens once and only once.

The constructor for the new object is constexpr, so it should not generate
static initializers if it is declared statically.

Note that, as a corollary of the new behaviour, we no longer need to set guards
around any hook setting code. I have removed those when present.
2018-06-27 11:48:05 -06:00
shindli dcc88f33f9 Backed out 13 changesets (bug 1460022) for bustages in builds/worker/workspace/build/src/dom/plugins/ipc/FunctionHook.h💯24 on a CLOSED TREE
Backed out changeset 0734142a3f35 (bug 1460022)
Backed out changeset 18fbfa7ca685 (bug 1460022)
Backed out changeset 2df129bd5692 (bug 1460022)
Backed out changeset 02a7ed68933f (bug 1460022)
Backed out changeset 221137d1c2de (bug 1460022)
Backed out changeset 9cb0b7a15402 (bug 1460022)
Backed out changeset 18f8f85c0307 (bug 1460022)
Backed out changeset 867a1351efff (bug 1460022)
Backed out changeset 933e0b698f8e (bug 1460022)
Backed out changeset 09da660071e1 (bug 1460022)
Backed out changeset 8bb5142d3f53 (bug 1460022)
Backed out changeset 0ddf581bdaac (bug 1460022)
Backed out changeset 1cd5f9b4a6af (bug 1460022)
2018-07-04 02:49:24 +03:00
Aaron Klotz 9bd593b66d Bug 1460022: Part 13 - Update profiler to use revised DLL interceptor interface; r=njn
--HG--
extra : rebase_source : de4708af590df72ce53196712dbb15b57f57dd2e
2018-06-27 14:23:29 -06:00
Aaron Klotz b46c6289f6 Bug 1460022: Part 12 - Update XPCOM to use revised DLL interceptor interface; r=froydnj
--HG--
extra : rebase_source : ab4c0b267175365b6f33b23f0f67185738e471ae
2018-06-27 11:52:18 -06:00
Aaron Klotz 2a9cc69e85 Bug 1460022: Part 11 - Update Win32 nsWindow to work with revised DLL interceptor interface; r=mhowell
--HG--
extra : rebase_source : 273ea15e8379a8ff51ab6d37d210c86a9d72b78c
2018-06-27 11:52:01 -06:00
Aaron Klotz 991d4389a0 Bug 1460022: Part 10 - Update crash reporter to work with revised DLL interceptor interface; r=dmajor
--HG--
extra : rebase_source : 58d231679430ee151f9adf9f6aec59f7e0be3019
2018-06-27 11:51:40 -06:00
Aaron Klotz ca2a5b7f5d Bug 1460022: Part 9 - Update sandboxing code to work with revised DLL interceptor interface; r=bobowen
--HG--
extra : rebase_source : 03daf9a71dbeb6e27699dad0030a8baf831cbb56
2018-06-27 11:51:29 -06:00
Aaron Klotz ecd4916dce Bug 1460022: Part 8 - Update DLL blocklist to work with revised DLL interceptor interface; r=mhowell
--HG--
extra : rebase_source : 04e2f3c3ea6916f43e54a7f8c992f6cbb4fb3286
2018-06-27 11:51:10 -06:00
Aaron Klotz cc80cb14e0 Bug 1460022: Part 7 - Update plugin code to work with revised DLL interceptor interface; r=handyman
--HG--
extra : rebase_source : 277e237e80b513b055b55ef7fb5cace7f240ea95
2018-06-27 11:50:50 -06:00
Aaron Klotz ee74c34ce2 Bug 1460022: Part 6 - Update GMP code to work with new DLL interceptor interface; r=cpearce
--HG--
extra : rebase_source : 17d7f30e7fc971fd8d2d3729c7d262cdc6a4c343
2018-06-27 11:49:49 -06:00
Aaron Klotz b90ed7ab5d Bug 1460022: Part 5 - Update launcher process to work with new DLL interceptor interface; r=mhowell
--HG--
extra : rebase_source : 6b0f7abb908993afb77f3c90b57cb870e630f778
2018-06-27 11:49:30 -06:00
Aaron Klotz 63e70eee76 Bug 1460022: Part 4 - Update a11y code to reflect new interface for DLL interceptor; r=Jamie
--HG--
extra : rebase_source : ada28438a506edcd4a122ec2c99a742503baa945
2018-06-27 11:49:17 -06:00
Aaron Klotz 0ff30867ea Bug 1460022: Part 3 - Update TestDllInterceptorCrossProcess to reflect new interceptor interface; r=handyman
--HG--
extra : rebase_source : 208380bdaaf2c394c5d93cf2f0f8cb2a117b3e66
2018-06-27 11:48:45 -06:00
Aaron Klotz 9c86a6adcd Bug 1460022: Part 2 - Update TestDllInterceptor to use new DLL interceptor interface; r=handyman
In addition to updating the interface, this patch also significantly alters the
structure of this test. In particular, it removes the Test* functions in favour
of using template magic.

I did this because I noticed that, in the majority of cases, the stub function
was being called with all zero arguments, and then we check for the expected
error code. I thought that maybe we could replace that repetition with some
templates that instantiate a blank tuple that may then be applied to a callable
object.

See the (MAYBE_)TEST_HOOK* and TEST_DETOUR* macro definitions for detailed
information about how to use these things.

The test successfully completes with both 32-bit and 64-bit builds.

--HG--
extra : rebase_source : 95e9a3386c0a6c5f9f78b1e8fa5a88c1c30e9b51
2018-06-27 11:48:28 -06:00
Aaron Klotz 4cb1d86ef0 Bug 1460022: Part 1 - Modify DLL interceptor to use one-time initialization when setting hooks; r=handyman
This patch makes the interceptor's AddHook functions private, and converts
the stubs from simple function pointers into objects containing both the stub
function pointer, plus a INIT_ONCE sentinel.

Setting a hook now requires calling Set or SetDetour on the stub, which ensures
that the hook attempt happens once and only once.

The constructor for the new object is constexpr, so it should not generate
static initializers if it is declared statically.

Note that, as a corollary of the new behaviour, we no longer need to set guards
around any hook setting code. I have removed those when present.

--HG--
extra : rebase_source : 260ec9f99839468d9994186fddd7cf2b33e6c87d
2018-06-27 11:48:05 -06:00
Bas Schouten a95db7c11a Bug 1473136: Cache mNeedsActiveLayer once for nsDisplayOpacity. r=mattwoodrow 2018-07-03 23:07:44 +00:00
Rok Garbas 2a544047c6 Bug 1471541 - switch to new tooltool url, r=jlund
--HG--
extra : rebase_source : 85cd6f1e78ec293d5c9fba8d41b31b5ca8bc521e
2018-07-03 15:35:58 -07:00
shindli 1384968ccc Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : devtools/shared/gcli/commands/screenshot.js => devtools/server/actors/webconsole/screenshot.js
rename : devtools/shared/gcli/commands/screenshot.js => devtools/shared/webconsole/screenshot-helper.js
2018-07-04 01:35:17 +03:00
shindli 3d917e5382 Merge inbound to mozilla-central. a=merge
--HG--
rename : devtools/shared/gcli/commands/screenshot.js => devtools/server/actors/webconsole/screenshot.js
rename : devtools/shared/gcli/commands/screenshot.js => devtools/shared/webconsole/screenshot-helper.js
2018-07-04 00:56:24 +03:00
Boris Zbarsky 96d0b4cc2e Bug 1472829. Add use counters for document.open. r=smaug
The idea is to count non-no-op document.open and to count how many times that's
done with the replace argument set to "replace".
2018-07-03 17:48:53 -04:00
Narcis Beleuzu 04b4925170 Backed out 3 changesets (bug 1470528) for build bustages on WebRenderBridgeParent. CLOSED TREE
Backed out changeset 90513daef576 (bug 1470528)
Backed out changeset e438548991db (bug 1470528)
Backed out changeset f859daf8d8d9 (bug 1470528)
2018-07-04 00:41:14 +03:00
Ryan VanderMeulen 9e88581315 Bug 1473118 - Update pdf.js to version 2.0.661. r=bdahl 2018-07-03 15:15:46 -04:00
Marco Castelluccio 3ffc5f5666 Bug 1471573 - Support resetting/dumping coverage counters for mochitest. r=jmaher
--HG--
extra : rebase_source : e8f3a47f6b9abc0a9c8cc48e4683a8e5ed5cc605
2018-06-27 17:56:09 +01:00
Marco Castelluccio 193c9c5524 Bug 1471573 - Make SpecialPowers RequestDumpCoverageCounters and RequestResetCoverageCounters async messages that wait on the dumping/resetting to actually happen. r=jmaher
--HG--
extra : rebase_source : 4bc9d1823d3257b1a9f55df7b2e63487d5dd7f97
2018-06-28 09:40:32 +01:00
Bogdan Tara fe640d5acb Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-04 14:54:12 +03:00
Gabriel Luong c8f132a6bd Bug 1473061 - Provide an option to show flex basis in the flexbox highlighter. r=pbro 2018-07-04 07:20:16 -04:00
Paolo Amadini cd89e744c5 Bug 1472616 - Import all the static browser stylesheets from "browser-window.css". r=dao
This prevents a specific failure in the "browser_startup_flicker.js" test on Windows 10 only, surfaced by bug 1421433. The compact theme stylesheet is kept separate because it can be disabled independently.

MozReview-Commit-ID: 3WDkrYqZtqN

--HG--
extra : rebase_source : d4c98fb5c5f2f5ce7170ddf0592b99ca18254058
2018-07-02 08:44:54 +01:00
Gurzau Raul 7842ca58ca Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-04 13:02:19 +03:00
Jon Coppeard 169c0ced40 Bug 1472124 - Fix memory leak in GC incremental marking validator r=anba 2018-07-04 09:48:02 +01:00
Ryan Hunt f8b04d075b Bug 1470528 - Implement CONTENT_FRAME_TIME for the webrender codepath. r=sotaro
This commit implements the CONTENT_FRAME_TIME metric for the webrender code
path. It follows the same structure as the previous commit implementing it for
the non-webrender code path.

MozReview-Commit-ID: 6aI5uISjgge

--HG--
extra : rebase_source : 973253589d6c27138bd49f4d81b3e74c3fcf5022
extra : histedit_source : 5b126b0285b674d59d8bd4b7bda09a01804dc043
2018-06-26 13:43:14 -05:00
Ryan Hunt c284332e41 Bug 1470528 - Implement CONTENT_FRAME_TIME for the webrender codepath. r=sotaro
This commit implements the CONTENT_FRAME_TIME metric for the webrender code
path. It follows the same structure as the previous commit implementing it for
the non-webrender code path.

MozReview-Commit-ID: 6aI5uISjgge

--HG--
extra : rebase_source : acbf83d0071e8932b5e96016e6e39e27a7b4da8c
extra : histedit_source : a0f93f80441e5f45c0113244d15400d0f53d9c92
2018-06-26 13:43:14 -05:00
Ryan Hunt 73970a1f68 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro, data-review=francois
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : 29ebd6a85dd49ee263d50e3674eec4957ac5f12a
extra : histedit_source : 1aa9f4f31b5bff6736e0c0e576a5611880d0ab33
2018-06-26 13:40:10 -05:00
Ryan Hunt d34e6c84a0 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : cecb7149f50b2abe7a827dc20f1e8b8ade199258
extra : histedit_source : 581f8f38fc8335575d7275b903a8e1d6a9e5a369
2018-06-26 13:40:10 -05:00
Ryan Hunt 36ba7ed8eb Bug 1470528 - Add IsRootWebrenderBridgeParent method. r=kats
This commit adds a helper function for determining if the WebRenderBridgeParent
is for a content process and replaces uses with it appropriately.

MozReview-Commit-ID: 6YZhjYEYS3P

--HG--
extra : rebase_source : 97b0a86c4a2905d098ab199d6d1a1fd00c58a46d
2018-06-26 13:37:31 -05:00
Ryan Hunt 0412e688a8 Bug 1473301 - Remove BorderLayer. r=mattwoodrow
MozReview-Commit-ID: KGXW2lYBZ3c

--HG--
extra : rebase_source : a782ec3fb1c87d1d034219cbd7fd1b8d9d751559
extra : amend_source : ec7c8f7b4080c53a851117cfb1c7611c3606c562
2018-07-03 16:15:58 -05:00
Lee Salzman e251ecb952 Bug 1460259 - Send synthetic oblique angle to WR. r=jfkthame 2018-07-04 10:56:40 -04:00
Kartikaya Gupta 3ca8423283 Bug 1471874 - Update webrender to commit 34a498f7e46c385a189299e7369e204e1cb2060c. r=Gankro 2018-07-04 10:56:35 -04:00
Ryan Hunt 0401ad902b Bug 1414389 - Add thread safety assertions in capture command list. r=bas
--HG--
extra : rebase_source : 0def858a2cce7ac6ef73fd8caa1e0e0b64b03ef6
2018-06-29 15:45:17 -05:00
Florian Quèze 3c68ddcf79 Bug 962528 - Update the UI resolution synchronously to avoid painting the UI once at the wrong resolution when moving a window across screens of different resolutions, r=mstange. 2018-07-04 16:31:03 +02:00
Florian Quèze f930291f34 Bug 1473142 - Set browser.startup.blankWindow to true on Windows (ie. backout bug 1465583), r=mconley. 2018-07-04 16:30:06 +02:00
Yura Zenevich d367361429 Bug 1349223 - update marionette a11y test based on the new handling of aria-hidden. r=ato
MozReview-Commit-ID: EsPY9n3vhHL
2018-07-04 10:21:01 -04:00
Alexander Surkov 32562a67f0 Bug 1349223 - cut aria-hidden tree, r=yzen 2018-07-04 10:20:49 -04:00
Ryan Hunt 5ca70b4c61 Bug 1470528 - Add IsRootWebrenderBridgeParent method. r=kats
This commit adds a helper function for determining if the WebRenderBridgeParent
is for a content process and replaces uses with it appropriately.

MozReview-Commit-ID: 6YZhjYEYS3P

--HG--
extra : rebase_source : 8ecb1f9146376ac84b84680a5a3454200c940d6a
2018-06-26 13:37:31 -05:00
Nathan Froyd b07d6639b8 Bug 1472806 - fix missing typename warning in COMPtrHolder.h; r=aklotz
MSVC permits the missing `typename` as an extension, whereas clang-cl warns.
This is easy to fix, so let's fix the warning noise.
2018-07-03 17:04:26 -04:00
Nathan Froyd 00e534b498 Bug 1472806 - fix microsoft template lookup extensions in interceptor code; r=aklotz
clang-cl complains about things like:

z:/build/build/src/obj-firefox/dist/include/mozilla/interceptor/VMSharingPolicies.h(53,50):  warning: use of identifier 'GetLocalView' found via unqualified lookup into dependent bases of class templates is a Microsoft extension [-Wmicrosoft-template]
      return TrampolineCollection<MMPolicy>(*this, GetLocalView(), GetRemoteView(),
                                                   ^

in various files in interceptor/, and since the warnings are in headers,
rather than in sources, they're rather annoying.  Let's fix this to be
standards-complaint and make clang-cl stop complaining.
2018-07-03 17:04:26 -04:00
Nathan Froyd 0b0f08aedb Bug 1472806 - fix -Wpessimizing-move warnings in Interceptor.cpp; r=aklotz
There's no need to invoke std::move here, because Get() is already
returning a temporary that can be moved into the RefPtr.
2018-07-03 17:04:27 -04:00