Just realized that there is a bit of chaos (I might have inadvertently been the major contributor, but realized too late) right now as:
The C++ API have:
RequestGlobalDumpAndAppendToTraceCallback in memory_instrumentation.h has (bool success, uint64_t dump_id)
The mojo API instead have:
memory_instrumentation.mojom
RequestGlobalMemoryDump(RequestArgs args) => (uint64 dump_guid, bool success,...)
and
RequestProcessMemoryDump(RequestArgs args) => (uint64 dump_guid, bool success, ...)
IMHO we should just switch them to be bool (success, uint64 dump_guid). This can lead to very subtle bugs as there are sitution where base::Bind will happily bind the callback even if the arguments are swapped because of integer promotion.
Will get to this soon, but filing a bug in case I forget to do this.
Comment 1 by bugdroid1@chromium.org
, Jun 28 2017