From 472a014c696c2c141a482ae21e3cb8b7e6f4e279 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Wed, 7 Mar 2018 11:00:44 -0500 Subject: [PATCH] Bug 1443587 - part 1 - make EventInfo string getters return dependent strings; r=chutten These methods are returning nsCString wrappers for static char arrays; we only need to return nsDependentCStrings, rather than allocating and copying entirely new nsCString objects. --- toolkit/components/telemetry/EventInfo.h | 10 +++++----- .../components/telemetry/TelemetryEvent.cpp | 20 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/toolkit/components/telemetry/EventInfo.h b/toolkit/components/telemetry/EventInfo.h index af173d942975..96a10d15ae50 100644 --- a/toolkit/components/telemetry/EventInfo.h +++ b/toolkit/components/telemetry/EventInfo.h @@ -32,9 +32,9 @@ struct CommonEventInfo { mozilla::Telemetry::Common::RecordedProcessType record_in_processes; // Convenience functions for accessing event strings. - const nsCString expiration_version() const; - const nsCString category() const; - const nsCString extra_key(uint32_t index) const; + const nsDependentCString expiration_version() const; + const nsDependentCString category() const; + const nsDependentCString extra_key(uint32_t index) const; }; struct EventInfo { @@ -45,8 +45,8 @@ struct EventInfo { uint32_t method_offset; uint32_t object_offset; - const nsCString method() const; - const nsCString object() const; + const nsDependentCString method() const; + const nsDependentCString object() const; }; } // namespace diff --git a/toolkit/components/telemetry/TelemetryEvent.cpp b/toolkit/components/telemetry/TelemetryEvent.cpp index 81880a5e4a13..7b701e3c83ad 100644 --- a/toolkit/components/telemetry/TelemetryEvent.cpp +++ b/toolkit/components/telemetry/TelemetryEvent.cpp @@ -199,37 +199,37 @@ private: }; // Implements the methods for EventInfo. -const nsCString +const nsDependentCString EventInfo::method() const { - return nsCString(&gEventsStringTable[this->method_offset]); + return nsDependentCString(&gEventsStringTable[this->method_offset]); } -const nsCString +const nsDependentCString EventInfo::object() const { - return nsCString(&gEventsStringTable[this->object_offset]); + return nsDependentCString(&gEventsStringTable[this->object_offset]); } // Implements the methods for CommonEventInfo. -const nsCString +const nsDependentCString CommonEventInfo::category() const { - return nsCString(&gEventsStringTable[this->category_offset]); + return nsDependentCString(&gEventsStringTable[this->category_offset]); } -const nsCString +const nsDependentCString CommonEventInfo::expiration_version() const { - return nsCString(&gEventsStringTable[this->expiration_version_offset]); + return nsDependentCString(&gEventsStringTable[this->expiration_version_offset]); } -const nsCString +const nsDependentCString CommonEventInfo::extra_key(uint32_t index) const { MOZ_ASSERT(index < this->extra_count); uint32_t key_index = gExtraKeysTable[this->extra_index + index]; - return nsCString(&gEventsStringTable[key_index]); + return nsDependentCString(&gEventsStringTable[key_index]); } // Implementation for the EventRecord class.