Skip to content

Commit 0992acc

Browse files
author
ssummar
committed
Bug 1603127 - Replaced mozilla::Tuple with std::tuple and applied structured bindings in mozilla/Encoding.h. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D129920
1 parent b57daab commit 0992acc

26 files changed

+94
-111
lines changed

dom/base/EventSource.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
66

7-
#include "mozilla/dom/EventSource.h"
8-
97
#include "mozilla/ArrayUtils.h"
108
#include "mozilla/Components.h"
119
#include "mozilla/DataMutex.h"
1210
#include "mozilla/DebugOnly.h"
1311
#include "mozilla/LoadInfo.h"
1412
#include "mozilla/DOMEventTargetHelper.h"
13+
#include "mozilla/dom/EventSource.h"
1514
#include "mozilla/dom/EventSourceBinding.h"
1615
#include "mozilla/dom/MessageEvent.h"
1716
#include "mozilla/dom/MessageEventBinding.h"
@@ -793,7 +792,7 @@ void EventSourceImpl::ParseSegment(const char* aBuffer, uint32_t aLength) {
793792
uint32_t result;
794793
size_t read;
795794
size_t written;
796-
Tie(result, read, written, Ignore) =
795+
std::tie(result, read, written, std::ignore) =
797796
mUnicodeDecoder->DecodeToUTF16(src, dst, false);
798797
for (auto c : dst.To(written)) {
799798
nsresult rv = ParseCharacter(c);

dom/encoding/TextDecoder.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "mozilla/Encoding.h"
1010
#include "mozilla/UniquePtrExtensions.h"
1111
#include "nsContentUtils.h"
12+
1213
#include <stdint.h>
1314

1415
namespace mozilla::dom {
@@ -64,14 +65,14 @@ void TextDecoder::Decode(Span<const uint8_t> aInput, const bool aStream,
6465
size_t read;
6566
size_t written;
6667
if (mFatal) {
67-
Tie(result, read, written) =
68+
std::tie(result, read, written) =
6869
mDecoder->DecodeToUTF16WithoutReplacement(aInput, *output, !aStream);
6970
if (result != kInputEmpty) {
7071
aRv.ThrowTypeError<MSG_DOM_DECODING_FAILED>();
7172
return;
7273
}
7374
} else {
74-
Tie(result, read, written, Ignore) =
75+
std::tie(result, read, written, std::ignore) =
7576
mDecoder->DecodeToUTF16(aInput, *output, !aStream);
7677
}
7778
MOZ_ASSERT(result == kInputEmpty);

dom/file/FileReader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ nsresult FileReader::GetAsText(Blob* aBlob, const nsACString& aCharset,
474474

475475
auto data = Span(reinterpret_cast<const uint8_t*>(aFileData), aDataLen);
476476
nsresult rv;
477-
Tie(rv, Ignore) = encoding->Decode(data, aResult);
477+
std::tie(rv, std::ignore) = encoding->Decode(data, aResult);
478478
return NS_FAILED(rv) ? rv : NS_OK;
479479
}
480480

dom/html/HTMLFormSubmission.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
66

77
#include "HTMLFormSubmission.h"
8-
98
#include "HTMLFormElement.h"
109
#include "HTMLFormSubmissionConstants.h"
1110
#include "nsCOMPtr.h"
12-
#include "mozilla/dom/Document.h"
1311
#include "nsComponentManagerUtils.h"
1412
#include "nsGkAtoms.h"
1513
#include "nsIFormControl.h"
@@ -31,12 +29,15 @@
3129
#include "nsCExternalHandlerService.h"
3230
#include "nsContentUtils.h"
3331

32+
#include "mozilla/dom/Document.h"
3433
#include "mozilla/dom/AncestorIterator.h"
3534
#include "mozilla/dom/Directory.h"
3635
#include "mozilla/dom/File.h"
3736
#include "mozilla/StaticPrefs_dom.h"
3837
#include "mozilla/RandomNum.h"
3938

39+
#include <tuple>
40+
4041
namespace mozilla::dom {
4142

4243
namespace {
@@ -716,7 +717,7 @@ nsresult EncodingFormSubmission::EncodeVal(const nsAString& aStr,
716717
nsCString& aOut,
717718
EncodeType aEncodeType) {
718719
nsresult rv;
719-
Tie(rv, Ignore) = mEncoding->Encode(aStr, aOut);
720+
std::tie(rv, std::ignore) = mEncoding->Encode(aStr, aOut);
720721
if (NS_FAILED(rv)) {
721722
return rv;
722723
}

dom/indexedDB/ActorsChild.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
55
* You can obtain one at http://mozilla.org/MPL/2.0/. */
66

7-
#include "ActorsChild.h"
8-
97
#include <type_traits>
108

9+
#include "ActorsChild.h"
1110
#include "BackgroundChildImpl.h"
1211
#include "IDBDatabase.h"
1312
#include "IDBEvents.h"
@@ -901,7 +900,7 @@ nsresult GetFileHandleResult(const RefPtr<IDBFileRequest>& aFileRequest,
901900
}
902901

903902
nsString tmpString;
904-
Tie(rv, Ignore) = encoding->Decode(data, tmpString);
903+
std::tie(rv, std::ignore) = encoding->Decode(data, tmpString);
905904
if (NS_WARN_IF(NS_FAILED(rv))) {
906905
return NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR;
907906
}

dom/script/ScriptDecoding.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
#include "mozilla/CheckedInt.h" // mozilla::CheckedInt
1414
#include "mozilla/Encoding.h" // mozilla::Decoder
1515
#include "mozilla/Span.h" // mozilla::Span
16-
#include "mozilla/Tuple.h" // mozilla::Tie
1716
#include "mozilla/UniquePtr.h" // mozilla::UniquePtr
18-
#include "mozilla/Unused.h" // mozilla::Unused
1917

2018
#include <stddef.h> // size_t
2119
#include <stdint.h> // uint8_t, uint32_t
@@ -44,7 +42,7 @@ struct ScriptDecoding<char16_t> {
4442
uint32_t result;
4543
size_t read;
4644
size_t written;
47-
Tie(result, read, written, Ignore) =
45+
std::tie(result, read, written, std::ignore) =
4846
aDecoder->DecodeToUTF16(aSrc, aDest, aEndOfSource);
4947
MOZ_ASSERT(result == kInputEmpty);
5048
MOZ_ASSERT(read == aSrc.Length());
@@ -76,7 +74,7 @@ struct ScriptDecoding<Utf8Unit> {
7674
// twos-complement is mandated, we have to play fast and loose and *hope*
7775
// interpreting memory storing |uint8_t| as |char| will pick up the desired
7876
// wrapped-around value. ¯\_(ツ)_/¯
79-
Tie(result, read, written, Ignore) =
77+
std::tie(result, read, written, std::ignore) =
8078
aDecoder->DecodeToUTF8(aSrc, AsWritableBytes(aDest), aEndOfSource);
8179
MOZ_ASSERT(result == kInputEmpty);
8280
MOZ_ASSERT(read == aSrc.Length());

dom/script/ScriptLoadHandler.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include "mozilla/NotNull.h"
2020
#include "mozilla/ScopeExit.h"
2121
#include "mozilla/StaticPrefs_dom.h"
22-
#include "mozilla/Tuple.h"
2322
#include "mozilla/Utf8.h"
2423
#include "mozilla/Vector.h"
2524
#include "mozilla/dom/Document.h"
@@ -197,7 +196,7 @@ bool ScriptLoadHandler::TrySetDecoder(nsIIncrementalStreamLoader* aLoader,
197196

198197
// Do BOM detection.
199198
const Encoding* encoding;
200-
Tie(encoding, Ignore) = Encoding::ForBOM(Span(aData, aDataLength));
199+
std::tie(encoding, std::ignore) = Encoding::ForBOM(Span(aData, aDataLength));
201200
if (encoding) {
202201
mDecoder = encoding->NewDecoderWithBOMRemoval();
203202
return true;

dom/script/ScriptLoader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3724,7 +3724,7 @@ static nsresult ConvertToUnicode(nsIChannel* aChannel, const uint8_t* aData,
37243724
UniquePtr<Decoder> unicodeDecoder;
37253725

37263726
const Encoding* encoding;
3727-
Tie(encoding, Ignore) = Encoding::ForBOM(data);
3727+
std::tie(encoding, std::ignore) = Encoding::ForBOM(data);
37283728
if (encoding) {
37293729
unicodeDecoder = encoding->NewDecoderWithBOMRemoval();
37303730
}

dom/serializers/nsDocumentEncoder.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,14 @@
99
* to strings in a gazillion different ways.
1010
*/
1111

12-
#include "nsIDocumentEncoder.h"
13-
1412
#include <utility>
1513

1614
#include "nscore.h"
1715
#include "nsISupports.h"
18-
#include "mozilla/dom/Document.h"
1916
#include "nsCOMPtr.h"
2017
#include "nsCRT.h"
2118
#include "nsIContentSerializer.h"
22-
#include "mozilla/Encoding.h"
19+
#include "nsIDocumentEncoder.h"
2320
#include "nsComponentManagerUtils.h"
2421
#include "nsIOutputStream.h"
2522
#include "nsRange.h"
@@ -36,15 +33,17 @@
3633
#include "nsReadableUtils.h"
3734
#include "nsTArray.h"
3835
#include "nsIFrame.h"
36+
#include "nsLayoutUtils.h"
3937
#include "nsStringBuffer.h"
4038
#include "mozilla/dom/Comment.h"
39+
#include "mozilla/dom/Document.h"
4140
#include "mozilla/dom/DocumentType.h"
4241
#include "mozilla/dom/Element.h"
4342
#include "mozilla/dom/HTMLBRElement.h"
4443
#include "mozilla/dom/ProcessingInstruction.h"
4544
#include "mozilla/dom/ShadowRoot.h"
4645
#include "mozilla/dom/Text.h"
47-
#include "nsLayoutUtils.h"
46+
#include "mozilla/Encoding.h"
4847
#include "mozilla/Maybe.h"
4948
#include "mozilla/ScopeExit.h"
5049
#include "mozilla/UniquePtr.h"
@@ -125,7 +124,7 @@ nsresult TextStreamer::EncodeAndWrite() {
125124
size_t read;
126125
size_t written;
127126
if (mIsPlainText) {
128-
Tie(result, read, written) =
127+
std::tie(result, read, written) =
129128
mUnicodeEncoder->EncodeFromUTF16WithoutReplacement(src, dst, false);
130129
if (result != kInputEmpty && result != kOutputFull) {
131130
// There's always room for one byte in the case of
@@ -134,7 +133,7 @@ nsresult TextStreamer::EncodeAndWrite() {
134133
dst[written++] = '?';
135134
}
136135
} else {
137-
Tie(result, read, written, Ignore) =
136+
std::tie(result, read, written, std::ignore) =
138137
mUnicodeEncoder->EncodeFromUTF16(src, dst, false);
139138
}
140139
src = src.From(read);

dom/serviceworkers/ServiceWorkerEvents.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,8 @@ nsresult ExtractBytesFromUSVString(const nsAString& aStr,
10181018
uint32_t result;
10191019
size_t read;
10201020
size_t written;
1021-
Tie(result, read, written) =
1021+
// Do not use structured binding lest deal with [-Werror=unused-variable]
1022+
std::tie(result, read, written) =
10221023
encoder->EncodeFromUTF16WithoutReplacement(aStr, aBytes, true);
10231024
MOZ_ASSERT(result == kInputEmpty);
10241025
MOZ_ASSERT(read == aStr.Length());

0 commit comments

Comments
 (0)