Fix compilation error when doing const iteration on SerialStorage

This patch fixes the compilation error when doing const iteration
on SerialStorage by explicitly calling the constructor of
SerialStorage::ConstBeginEnd() as the constructor is declared as
`explicit`.

Bug: 42241516
Change-Id: I4370a88d4a0ce44783159b9d1de60fa32a621d6d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/221874
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn/common/SerialStorage.h b/src/dawn/common/SerialStorage.h
index f7dc526..c6d75cf 100644
--- a/src/dawn/common/SerialStorage.h
+++ b/src/dawn/common/SerialStorage.h
@@ -276,12 +276,12 @@
 template <typename Derived>
 typename SerialStorage<Derived>::ConstIterator SerialStorage<Derived>::ConstBeginEnd::begin()
     const {
-    return {mStartIt};
+    return SerialStorage::ConstIterator(mStartIt);
 }
 
 template <typename Derived>
 typename SerialStorage<Derived>::ConstIterator SerialStorage<Derived>::ConstBeginEnd::end() const {
-    return {mEndIt};
+    return SerialStorage::ConstIterator(mEndIt);
 }
 
 // SerialStorage::ConstIterator
diff --git a/src/dawn/native/DynamicUploader.cpp b/src/dawn/native/DynamicUploader.cpp
index 7c3693a..f44af4a 100644
--- a/src/dawn/native/DynamicUploader.cpp
+++ b/src/dawn/native/DynamicUploader.cpp
@@ -150,14 +150,14 @@
     return AllocateInternal(allocationSize, serial, offsetAlignment);
 }
 
-bool DynamicUploader::ShouldFlush() {
+bool DynamicUploader::ShouldFlush() const {
     uint64_t kTotalAllocatedSizeThreshold = 64 * 1024 * 1024;
     // We use total allocated size instead of pending-upload size to prevent Dawn from allocating
     // too much GPU memory so that the risk of OOM can be minimized.
     return GetTotalAllocatedSize() > kTotalAllocatedSizeThreshold;
 }
 
-uint64_t DynamicUploader::GetTotalAllocatedSize() {
+uint64_t DynamicUploader::GetTotalAllocatedSize() const {
     uint64_t size = 0;
     for (const auto& buffer : mReleasedStagingBuffers.IterateAll()) {
         size += buffer->GetSize();
diff --git a/src/dawn/native/DynamicUploader.h b/src/dawn/native/DynamicUploader.h
index c3adbe3..ac73941 100644
--- a/src/dawn/native/DynamicUploader.h
+++ b/src/dawn/native/DynamicUploader.h
@@ -66,11 +66,11 @@
                                          uint64_t offsetAlignment);
     void Deallocate(ExecutionSerial lastCompletedSerial, bool freeAll = false);
 
-    bool ShouldFlush();
+    bool ShouldFlush() const;
 
   private:
     static constexpr uint64_t kRingBufferSize = 4 * 1024 * 1024;
-    uint64_t GetTotalAllocatedSize();
+    uint64_t GetTotalAllocatedSize() const;
 
     struct RingBuffer {
         Ref<BufferBase> mStagingBuffer;