This parameter isn't used by any implementation of onDispatchedEvent,
and keeping the parameter makes later refactorings in this bug more difficult.
MozReview-Commit-ID: 90VY2vYtwCW
This patch replaces four functions of the name AssignWithConversion which
are essentially wrappers around CopyASCIItoUTF16 and LossyCopyUTF16toASCII
with direct calls to the latter two functions. The replaced functions are:
void nsCString::AssignWithConversion( const nsAString& aData )
void nsString::AssignWithConversion( const nsACString& aData )
void nsTString_CharT::AssignWithConversion(
const incompatible_char_type* aData,
int32_t aLength = -1);
The last of the three exists inside the double-included nsTString* world and
so describes two functions, giving four in total.
This has two advantages:
* it removes code
* at the call points, it makes clear (from the replacement name) which
conversion is being carried out. The generic name "AssignWithConversion"
doesn't make that obvious -- one had to infer it from the types.
The patch also removes two commented out lines from
editor/composer/nsComposerCommands.cpp, that appear to be related. They are
at top level, where they would never have compiled. They look like
leftovers from some previous change.
--HG--
extra : rebase_source : fb47bf450771c3c9ee3341dd14520f5da69ec4f5
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.
MozReview-Commit-ID: 6s78RvPFMzv
--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
As well as the obvious #ifdef stuff, the patch removes
TCPSocket::SetAppIdAndBrowser(), which means
{TCPSocketParent,TCPServerSocketParent}::{GetAppId,GetInIsolatedMozBrowser}()
can also be removed.
This patch makes the following changes to the macros.
- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
mostly misused.
- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
universally available now anyway.
- Combines the first two string literal arguments of PROFILER_LABEL and
PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
them to be separate, and it forced a '::' in the label, which isn't always
appropriate. Also, the meaning of the "name_space" argument was interpreted
in an interesting variety of ways.
- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
it clearer they construct RAII objects rather than just being function calls.
(I myself have screwed up the scoping because of this in the past.)
- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
the caller doesn't need to. This makes a *lot* more of the uses fit onto a
single line.
The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).
- Fixes a bunch of labels that had gotten out of sync with the name of the
class and/or function that encloses them.
- Removes a useless PROFILER_LABEL use within a trivial scope in
EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
a good idea.
- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
done within them, instead of at their callsites, because that's a more
standard way of doing things.
--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
The UpgradeSchemaFrom17_0To18_0Helper class is never instantiated, so its constructor and destructor don't need to be define.
dom/base/nsContentUtils.cpp:529:21 [-Wunused-member-function] unused member function 'GetResult'
dom/indexedDB/ActorsParent.cpp:2715:3 [-Wunused-member-function] unused member function 'UpgradeSchemaFrom17_0To18_0Helper'
dom/indexedDB/ActorsParent.cpp:2720:3 [-Wunused-member-function] unused member function '~UpgradeSchemaFrom17_0To18_0Helper'
dom/indexedDB/ActorsParent.cpp:6464:3 [-Wunused-member-function] unused member function 'GetPrincipalInfo'
dom/indexedDB/ActorsParent.cpp:6545:3 [-Wunused-member-function] unused member function 'ReleaseTransactionThreadObjects'
dom/indexedDB/ActorsParent.cpp:6548:3 [-Wunused-member-function] unused member function 'ReleaseBackgroundThreadObjects'
dom/indexedDB/ActorsParent.cpp:7710:3 [-Wunused-member-function] unused member function 'operator<'
dom/indexedDB/ActorsParent.cpp:7753:3 [-Wunused-member-function] unused member function 'IsOtherProcessActor'
dom/quota/ActorsParent.cpp:809:3 [-Wunused-member-function] unused member function 'GetState'
dom/quota/StorageManager.cpp:76:3 [-Wunused-member-function] unused member function 'GetType'
MozReview-Commit-ID: FbfMj2YJ4Fx
--HG--
extra : source : a38727295681d5368ed05a1b2758599f4debc424
extra : intermediate-source : 2010739762c276b15d8431d2df4725fb8281d549
extra : histedit_source : e9e4eb1c7d7813c6dda7ded023de4bd6e7b4b52a
For the Quatum DOM project, it's better to work in terms of event targets than
threads. This patch converts DOM code to operate on event targets rather than
threads, when possible.
MozReview-Commit-ID: 5FgvpKadUA2
Remove now useless self reference in OpenDatabaseOp::SendResults(). Add comments for how to call
FactoryOp::Run() safely and also add comments to all the call sites. This prevents a self destruction
while Run() (or a method that is called by Run()) is still being executed. Also fix
TransactionDatabaseOperationBase which also calls Run() directly in NoteContinueReceived().
--HG--
extra : rebase_source : dcc5f6e7e2974e8e0730687dd0dedac9d3e60060
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
To run JS in separate cooperative threads, we need to split up per-thread state
from per-runtime state. This patch does that for XPConnect.
MozReview-Commit-ID: 407SlJ7nR6v
KeyGenerator in [1] has been updated to cover the corner case of the
explicit key is not in the range of 1 ~ 2^53.
WPT of keygenerator-explicit.html improve the test coverage of these
corner cases.
[1] http://w3c.github.io/IndexedDB/#possibly-update-the-key-generator
IndexedDB database operations are written such that they must execute
synchronously. For this reason, the add/put operation reads/writes its
Blobs to disk in a synchronous fashion. However, with the introduction
of SendStream-backed Blobs for large (>1 MiB) blobs whose contents are
streamed to the parent replacing nsStringInputStream-backed Blobs
(whose contents were sent up in a single IPC message that might exceed
the size limit and cause a crash), this has no longer been a safe
assumption. However, the problems weren't immediately obvious because
most pre-WASM Blobs are smaller than the 1MiB threshold and even when
they exceeded the size, their memory-backed contents could rapidly be
sent to the parent via IPC, making NS_BASE_STREAM_WOULD_BLOCK errors
rare/hard to reproduce. (rr and its enforced single-threading is a
good way to reproduce, however. Also, see the testing patch on the
bug that introduces artificial delays into SendStream.)
Included SpecialPowersObserver.jsm minor changes to "CreateFiles":
- appendRelativePath is used instead of appendPath because appendPath
only allows a single path component to be appended. In other words,
file creation is limited to files at the root of the profile
directory using appendPath, which is needlessly limiting.
- outStream is now closed even if no data is provided. This is
essential on windows where file deletion only occurs when all handles
are closed. Without this fix, "RemoveFiles" side-effect of deleting
the created files might not take effect until garbage collection runs
and collects the outStream.