Adding the Places* files into unified sources pushed the
unified sources into a situation that exposed a strangely
large number of errors. This seems to be the minimum set of
changes I could make to resolve all of the issues.
MozReview-Commit-ID: C2H9ce8FmE4
--HG--
extra : rebase_source : 4f8dd2996d820fdb5a07afe544be5e2d6ca6a5c7
Consuming the new 'page-visited' notification was fairly trivial,
since it was already brought over to onVisits. There's not much to
say about this other than that I'm a little bit uncertain about
all the hoops we have to jump through to get a JSContext and
GlobalObject from History.cpp (which is discussed in the earlier
commit in the series).
MozReview-Commit-ID: LHaBWSylyLI
--HG--
extra : rebase_source : fd064e53e8645c3914188c05e71c8800d6f2174b
See the design doc[1] for further info. We would like to redesign
the places observer system to be more performant and more friendly
to consume. WebIDL was recommended as it simplifies creating simple
dictionary payloads while allowing dynamic typing with `any`.
There were some difficulties with WebIDL though, most of which
revolved around allowing consumers to be weakly referenced, from
both C++ and JS. The simplest solution I could come up with was to
create a simple native interface for the C++ case, and a WebIDL
wrapper for a JS callback in the JS case. Suggestions for simpler
alternatives are very welcome though.
[1] https://docs.google.com/document/d/1G45vfd6RXFXwNz7i4FV40lDCU0ao-JX_bZdgJV4tLjk/edit?usp=sharing
MozReview-Commit-ID: ACnAEfa5WxO
--HG--
extra : rebase_source : 6b5101e05d2f0588e831c0a7d1239a3dcb65ddcb
We're well overdue for an upgrade of the rust compiler requirements.
Now that we're building with 1.28 (albeit a beta, due to be bumped when
it's released), we can bump the requirement away from 1.24 which is now
old. 1.27 is too new, though, so settle for the older 1.26.
--HG--
extra : rebase_source : c788ef4f7da9949b81df2f0577af6f6039ea63d8
The sStaticModules list is, practically speaking, a copy of the list
of components we already have in libxul, augmented at runtime with
a few other components for tests (for gtest and xpcshell). We don't
actually need to keep that copy in memory. We can instead just use the
pointers in libxul directly to register them to the component manager,
and use a separate list, only for those extra components when they need
to be registered.
--HG--
extra : rebase_source : 1a32c95312d8577c99823adea8dbc0b022c286b2
Overall, this makes the whole setup less fragile, and make it work with
LTO in more situations.
--HG--
extra : rebase_source : de968c61dc4ef337fdc28745c202334ac41763cd
We perform, on the binaries we build, a series of check, that are
implemented as half-baked make commands, invoked after linking them.
- check libstdc++ symbol versions to ensure binary compatibility with
a baseline.
- check glibc symbol versions to ensure binary compatibility with a
baseline.
- check that target binaries don't contain text relocations.
- check that libmozglue is linked before libc on android.
- on libxul, check that NSModules are laid out correctly.
- on libxul, check that there is more than one PT_LOAD segment.
Those checks happen to work where they matter, but their setup is
unreliable. For example, the checks for symbol versions are supposed to
work for libclang-plugin on cross osx builds, but in fact, don't,
because the readelf path doesn't exist, and the command doesn't fail in
that case.
So move them all to a standalone script, performing the checks more
thoroughly (especially the NSModules one, where we now also check that
they are all adjacent), and more verbosely.
--HG--
extra : rebase_source : 7072e622e95f363d4a6c3a8e272d3445d998b592
At some point, the matching call to reporter.uninit got removed from this test.
The result is that the reporter still exists and is still collecting errors
during the rest of the tasks in the file. In most tasks, this isn't an issue
since we use reporter.handleMessage to test message handling at a per-reporter
level.
But the telemetry measures are shared between multiple reporters, thus they are
susceptible to interference from other running reporter instances.
The error that is being logged when this test fails is from the test add-on
created in testAddonIDMangle. My best guess is that the error logged by the
add-on is being processed during an idle moment in another task, since we
schedule processing to be delayed until the browser is idle. It seems this
scheduling is pretty consistent on certain Linux platforms.
Differential Revision: https://phabricator.services.mozilla.com/D1836
Adding the Places* files into unified sources pushed the
unified sources into a situation that exposed a strangely
large number of errors. This seems to be the minimum set of
changes I could make to resolve all of the issues.
MozReview-Commit-ID: C2H9ce8FmE4
--HG--
extra : rebase_source : b01f47e439a61492ad999ae30677c48535e8cd4c
Consuming the new 'page-visited' notification was fairly trivial,
since it was already brought over to onVisits. There's not much to
say about this other than that I'm a little bit uncertain about
all the hoops we have to jump through to get a JSContext and
GlobalObject from History.cpp (which is discussed in the earlier
commit in the series).
MozReview-Commit-ID: LHaBWSylyLI
--HG--
extra : rebase_source : 1190d4f127453cdcb692deb5982e92a93e236b9e
See the design doc[1] for further info. We would like to redesign
the places observer system to be more performant and more friendly
to consume. WebIDL was recommended as it simplifies creating simple
dictionary payloads while allowing dynamic typing with `any`.
There were some difficulties with WebIDL though, most of which
revolved around allowing consumers to be weakly referenced, from
both C++ and JS. The simplest solution I could come up with was to
create a simple native interface for the C++ case, and a WebIDL
wrapper for a JS callback in the JS case. Suggestions for simpler
alternatives are very welcome though.
[1] https://docs.google.com/document/d/1G45vfd6RXFXwNz7i4FV40lDCU0ao-JX_bZdgJV4tLjk/edit?usp=sharing
MozReview-Commit-ID: ACnAEfa5WxO
--HG--
extra : rebase_source : cb13b24696ee97b611c318b407ea9c31215df3f6
Changing enterprise_only to machine_only will allow these policies outside of the ESR, but not in HKEY_CURRENT_USER.
MozReview-Commit-ID: UAT6CPFOWO
--HG--
extra : rebase_source : e3e49d347241803e6ecd48e037c496ab15b566d5
Portions of the patch contributed by Tim Nguyen (ntim.bugs@gmail.com)
MozReview-Commit-ID: DEBBjcgHIyH
--HG--
extra : rebase_source : 04283a360411699c23a6acee9027fb7750c8d6eb
In Python, assert only raises AssertException when __debug__
is true which it isn't for optimised code. There are some cases
in the WebDriver client where we genuinely want to stop the user
from performing certain actions, and this patch turns those into
raised exceptions.
MozReview-Commit-ID: GbEafJmAqu
--HG--
extra : rebase_source : b3d03744be3d36939821e27dd056b696ee91dfe9
This adds marshalling support for web frames and web windows to the
WPT WebDriver client. It can now receive and send complex objects
representing DOM frames and WindowProxies.
The support for these new objects is preliminary as they are not
used in practice yet.
MozReview-Commit-ID: IsEJTCiLEUo
--HG--
extra : rebase_source : 7cd4f4a495317b517e405e8a09fd7c67ff612219
This makes geckodriver support WebDriver web elements, web frames,
and web windows.
Marionette sends back JSON Objects such as
{<element key>: <uuid>}
where the element key is one of the unique strings this patch adds
to geckodriver::marionette.
MozReview-Commit-ID: HegkGFqxkms
--HG--
extra : rebase_source : 88d51ac29b429124e2e321c0cccda949397fd307
Basically this rolls back the changes made to the reps bundle
in Bug 1463415. This change will be backported in Github later
so the fix can ride the train.
A test is added to make sure we don't regress again.
MozReview-Commit-ID: Csak2pPyTOR
--HG--
extra : rebase_source : a3f24dab9e062f0743cdbc4e9cec9d1ce62c86d1
All the "New Session" tests have specific requirements in what is
getting passed as body to the "New Session" command as defined by
the WebDriver specification. This also includes all invalid cases
which are basically never used by the global session fixtures.
This also aligns these tests with the rest of the wdspec test suite
which all use a shared command function. Given the complexity of
this "new_session" function, it is implemented as fixture.
MozReview-Commit-ID: IkHdx4UtaBy
--HG--
extra : rebase_source : 949be2cb9c90dcdfc59bb03f4351e66426eeedeb
Some of the tests which currently fail on MacOS and Windows have not been
marked as expected fail. This went unnoticed so far because no wdspec
jobs are running on both platforms in CI.
MozReview-Commit-ID: Eo4WU2UdtN8
--HG--
extra : rebase_source : 515017813dda302ba68e5affb71e8de0a7d437f7
To allow sub-conftest.py files to define custom session fixtures,
the currently active session as created by the global "session"
or "new_session" fixtures has to be exposed as fixture too.
This will allow any other custom session fixture to delete the
currently active session.
MozReview-Commit-ID: E6yeCd587Kv
--HG--
extra : rebase_source : 795d49c82ae6e222072f9e63f35ec145bb371844