IMPL_IUNKNOWN_QUERY_HEAD defines HRESULT as hr. However, if its user uses
IMPL_IUNKNOWN_QUERY_TAIL_AGGREGATED, it's never used. Therefore, it causes
unused variable warning. hr is defined with ATTRIBUTE_UNUSED. However,
this is empty when built with clang.
IUnknownImpl.h already defines ATTRIBUTE_UNUSED as __attribute__((unused)) when
built with gcc. So, same warnings should be prevented when built with clang
too.
Differential Revision: https://phabricator.services.mozilla.com/D8510
--HG--
extra : moz-landing-system : lando
That is, don't put it off until Debugger::getFrame() is called. The effect is
subtle, as indicated by the test changes: the onEnterFrame hooks in those tests
were causing getFrame to be called very early during generator resumption,
which made the tests pass.
With this patch, we no longer adjust the step mode count when suspending or
resuming. This change is necessary to make the frame->isDebuggee() call in
Debugger::onResumeFrame the right criterion for calling slowPathOnResumeFrame.
It's true if the step mode count on the script is nonzero. (This approach also
simplifies error handling, as resuming a Debugger.Frame is now idempotent: we
don't have to worry about adjusting the step mode count too much or not enough
on error.)
Depends on D6986
Differential Revision: https://phabricator.services.mozilla.com/D6988
--HG--
extra : moz-landing-system : lando
Since the argument is not used yet, this too is a pure refactoring, with no
change in behavior yet.
Depends on D6985
Differential Revision: https://phabricator.services.mozilla.com/D6986
--HG--
extra : moz-landing-system : lando
Pure refactoring, no change in behavior. This is in anticipation of doing
additional work in onResumeFrame.
Depends on D6984
Differential Revision: https://phabricator.services.mozilla.com/D6985
--HG--
extra : moz-landing-system : lando
This proves handy in several places, later in the stack.
Depends on D6983
Differential Revision: https://phabricator.services.mozilla.com/D6984
--HG--
extra : moz-landing-system : lando
This is the minimal patch, but it leaves two bugs:
1. When a generator or async function is resumed, stepping is reenabled in
Debugger::getFrame, which isn't necessarily called. The onStep tests in
this patch work because they all use an onEnterFrame hook, which causes
getFrame to be called as soon as the generator is resumed.
2. .onStep and .onPop hooks on suspended Frames do not survive GC if there are
no other references to the Frame or the Debugger object. The behavior is safe,
but the hooks can just mysteriously stop firing when GC happens.
The next three patches in this stack lay the groundwork for fixing these bugs,
without changing behavior; part 6 fixes the first bug; and part 7 fixes the second.
Depends on D6982
Differential Revision: https://phabricator.services.mozilla.com/D6983
--HG--
extra : moz-landing-system : lando
The previous code failed to close the generator in the case where
JSOP_GENERATOR had run but JSOP_INITIAL_YIELD had not, a bit of sloppiness that
created yet another special case. Things will get more complicated when we
start keeping frames live while suspended; it's better to not have this special
case.
Differential Revision: https://phabricator.services.mozilla.com/D6982
--HG--
extra : moz-landing-system : lando
JSONWriter currently calls new and delete indirectly through mozilla::MakeUnique to allocate a buffer. Becuase of this, the methods of this class cannot be invoked within Spidermonkey due to https://searchfox.org/mozilla-central/source/config/check_vanilla_allocations.py#6-14. Therefore, JSONWriter needs an AllocPolicy template parameter so that the allocation and deallocation routines can be changed to match the JS AllocPolicy when invoked within SpiderMonkey.
Differential Revision: https://phabricator.services.mozilla.com/D7279
--HG--
extra : moz-landing-system : lando
This change applies to Windows only.
Firefox will need to migrate the directory from the old location to the new location. This will be done only once by setting the pref `app.update.migrated.updateDir2.<install path hash>` to `true` once migration has completed.
Note: The pref name app.update.migrated.updateDir has already been used, thus the '2' suffix. It can be found in ESR24.
This also removes the old handling fallback for generating the update directory path. Since xulrunner is no longer supported, this should no longer be needed. If neither the vendor nor app name are defined, it falls back to the literal string "Mozilla".
The code to generate the update directory path and the installation hash have been moved to the updatecommon library. This will allow those functions to be used in Firefox, the Mozilla Maintenance Service, the Mozilla Maintenance Service Installer, and TestAUSHelper.
Additionally, the function that generates the update directory path now has extra functionality. It creates the update directory, sets the permissions on it and, optionally, recursively sets the permissions on everything within.
This patch adds functionality that allows Firefox to set permissions on the new update directory on write failure. It attempts to set the permissions itself and, if that fails and the maintenance service is enabled, it calls into the maintenance service to try from there. If a write fails and the permissions cannot be fixed, the user is prompted to reinstall.
Differential Revision: https://phabricator.services.mozilla.com/D4249
--HG--
rename : toolkit/mozapps/update/updater/win_dirent.cpp => toolkit/mozapps/update/common/win_dirent.cpp
rename : toolkit/mozapps/update/tests/unit_aus_update/cleanupSuccessLogMove.js => toolkit/mozapps/update/tests/unit_aus_update/updateDirectoryMigrate.js
extra : moz-landing-system : lando
Change to using an event listener to follow when the selection changes more accurately. Also switch to using GUIDs as they are better defined than indexes.
Differential Revision: https://phabricator.services.mozilla.com/D7537
--HG--
extra : moz-landing-system : lando