Bug 1037100 - Remove all use of ScopedDeleteArray from media/. r=ekr

--HG--
extra : rebase_source : 0f32325b868e5e07b0d2966aea7057a940004be9
This commit is contained in:
Jeff Walden 2014-07-10 20:03:12 -07:00
parent ac2327a8e3
commit 7760dae108
4 changed files with 29 additions and 25 deletions

View File

@ -9,7 +9,7 @@
#ifndef databuffer_h__
#define databuffer_h__
#include <algorithm>
#include <mozilla/Scoped.h>
#include <mozilla/UniquePtr.h>
#include <m_cpp_utils.h>
#include <nsISupportsImpl.h>
@ -23,18 +23,18 @@ class DataBuffer {
}
void Assign(const uint8_t *data, size_t len) {
data_ = new unsigned char[ len ? len : 1]; // Don't depend on new [0].
data_.reset(new uint8_t[len ? len : 1]); // Don't depend on new [0].
memcpy(static_cast<void *>(data_.get()),
static_cast<const void *>(data), len);
len_ = len;
}
const uint8_t *data() const { return data_; }
const uint8_t *data() const { return data_.get(); }
size_t len() const { return len_; }
const bool empty() const { return len_ != 0; }
private:
ScopedDeleteArray<uint8_t> data_;
UniquePtr<uint8_t[]> data_;
size_t len_;
DISALLOW_COPY_ASSIGN(DataBuffer);

View File

@ -44,6 +44,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <string>
#include <vector>
#include "mozilla/UniquePtr.h"
#include "logging.h"
#include "nspr.h"
#include "nss.h"
@ -530,8 +532,7 @@ nsresult NrIceCtx::SetStunServers(const std::vector<NrIceStunServer>&
if (stun_servers.empty())
return NS_OK;
ScopedDeleteArray<nr_ice_stun_server> servers(
new nr_ice_stun_server[stun_servers.size()]);
auto servers = MakeUnique<nr_ice_stun_server[]>(stun_servers.size());
for (size_t i=0; i < stun_servers.size(); ++i) {
nsresult rv = stun_servers[i].ToNicerStunStruct(&servers[i]);
@ -541,7 +542,7 @@ nsresult NrIceCtx::SetStunServers(const std::vector<NrIceStunServer>&
}
}
int r = nr_ice_ctx_set_stun_servers(ctx_, servers, stun_servers.size());
int r = nr_ice_ctx_set_stun_servers(ctx_, servers.get(), stun_servers.size());
if (r) {
MOZ_MTLOG(ML_ERROR, "Couldn't set STUN server for '" << name_ << "'");
return NS_ERROR_FAILURE;
@ -557,8 +558,7 @@ nsresult NrIceCtx::SetTurnServers(const std::vector<NrIceTurnServer>&
if (turn_servers.empty())
return NS_OK;
ScopedDeleteArray<nr_ice_turn_server> servers(
new nr_ice_turn_server[turn_servers.size()]);
auto servers = MakeUnique<nr_ice_turn_server[]>(turn_servers.size());
for (size_t i=0; i < turn_servers.size(); ++i) {
nsresult rv = turn_servers[i].ToNicerTurnStruct(&servers[i]);
@ -568,7 +568,7 @@ nsresult NrIceCtx::SetTurnServers(const std::vector<NrIceTurnServer>&
}
}
int r = nr_ice_ctx_set_turn_servers(ctx_, servers, turn_servers.size());
int r = nr_ice_ctx_set_turn_servers(ctx_, servers.get(), turn_servers.size());
if (r) {
MOZ_MTLOG(ML_ERROR, "Couldn't set TURN server for '" << name_ << "'");
return NS_ERROR_FAILURE;

View File

@ -10,6 +10,8 @@
#include <string>
#include <map>
#include "mozilla/UniquePtr.h"
#include "sigslot.h"
#include "logging.h"
@ -123,8 +125,8 @@ class TransportLayerLossy : public TransportLayer {
loss_mask_ |= (1 << (packet & 32));
}
void SetInspector(Inspector* inspector) {
inspector_ = inspector;
void SetInspector(UniquePtr<Inspector> inspector) {
inspector_ = Move(inspector);
}
void StateChange(TransportLayer *layer, State state) {
@ -153,7 +155,7 @@ class TransportLayerLossy : public TransportLayer {
private:
uint32_t loss_mask_;
uint32_t packet_;
ScopedDeletePtr<Inspector> inspector_;
UniquePtr<Inspector> inspector_;
};
// Process DTLS Records
@ -231,8 +233,8 @@ class DtlsInspectorInjector : public DtlsRecordInspector {
packet_type_(packet_type),
handshake_type_(handshake_type),
injected_(false) {
data_ = new unsigned char[len];
memcpy(data_, data, len);
data_.reset(new unsigned char[len]);
memcpy(data_.get(), data, len);
len_ = len;
}
@ -261,14 +263,14 @@ class DtlsInspectorInjector : public DtlsRecordInspector {
}
}
layer->SendPacket(data_, len_);
layer->SendPacket(data_.get(), len_);
}
private:
uint8_t packet_type_;
uint8_t handshake_type_;
bool injected_;
ScopedDeleteArray<unsigned char> data_;
UniquePtr<unsigned char[]> data_;
size_t len_;
};
@ -292,7 +294,7 @@ class TransportTestPeer : public sigslot::has_slots<> {
gathering_complete_(false)
{
std::vector<NrIceStunServer> stun_servers;
ScopedDeletePtr<NrIceStunServer> server(NrIceStunServer::Create(
UniquePtr<NrIceStunServer> server(NrIceStunServer::Create(
std::string((char *)"stun.services.mozilla.com"), 3478));
stun_servers.push_back(*server);
EXPECT_TRUE(NS_SUCCEEDED(ice_ctx_->SetStunServers(stun_servers)));
@ -511,8 +513,8 @@ class TransportTestPeer : public sigslot::has_slots<> {
lossy_->SetLoss(loss);
}
void SetInspector(Inspector* inspector) {
lossy_->SetInspector(inspector);
void SetInspector(UniquePtr<Inspector> inspector) {
lossy_->SetInspector(Move(inspector));
}
TransportLayer::State state() {
@ -705,7 +707,7 @@ TEST_F(TransportTest, TestConnectTwoDigestsBothBad) {
TEST_F(TransportTest, TestConnectInjectCCS) {
SetDtlsPeer();
p2_->SetInspector(new DtlsInspectorInjector(
p2_->SetInspector(MakeUnique<DtlsInspectorInjector>(
kTlsHandshakeType,
kTlsHandshakeCertificate,
kTlsFakeChangeCipherSpec,

View File

@ -9,6 +9,8 @@
#include <queue>
#include <algorithm>
#include "mozilla/UniquePtr.h"
#include "logging.h"
#include "ssl.h"
#include "sslerr.h"
@ -61,12 +63,12 @@ struct Packet {
Packet() : data_(nullptr), len_(0), offset_(0) {}
void Assign(const void *data, int32_t len) {
data_ = new uint8_t[len];
memcpy(data_, data, len);
data_.reset(new uint8_t[len]);
memcpy(data_.get(), data, len);
len_ = len;
}
ScopedDeleteArray<uint8_t> data_;
UniquePtr<uint8_t[]> data_;
int32_t len_;
int32_t offset_;
};
@ -84,7 +86,7 @@ int32_t TransportLayerNSPRAdapter::Read(void *data, int32_t len) {
Packet* front = input_.front();
int32_t to_read = std::min(len, front->len_ - front->offset_);
memcpy(data, front->data_, to_read);
memcpy(data, front->data_.get(), to_read);
front->offset_ += to_read;
if (front->offset_ == front->len_) {