Replace all crbug.com/pdfium/bug IDs with crbug.com/ids.

This CL uses a Python script to replace all old crbug.com/pdfium bug IDs
with the currently used crbug.com/ bug IDs. This was done to prevent
confusion in the codebase about specific bug IDs or what ID to submit
when resolving them, making the codebase more consistent.

Change-Id: I8970d5abe3ebd1f14f3cadd52ef8ffdb578d23f3
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/141790
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/constants/stream_dict_common.h b/constants/stream_dict_common.h
index 87c7ad1..3852881 100644
--- a/constants/stream_dict_common.h
+++ b/constants/stream_dict_common.h
@@ -11,7 +11,7 @@
 // PDF 1.7 spec, table 3.4.
 // Entries common to all stream dictionaries.
 //
-// TODO(https://crbug.com/pdfium/1049): Examine all usages of "Length",
+// TODO(https://crbug.com/42270045): Examine all usages of "Length",
 // "Filter", and "F".
 inline constexpr char kLength[] = "Length";
 inline constexpr char kFilter[] = "Filter";
diff --git a/core/fpdfapi/font/cpdf_tounicodemap.cpp b/core/fpdfapi/font/cpdf_tounicodemap.cpp
index 8968dae..66af3e5 100644
--- a/core/fpdfapi/font/cpdf_tounicodemap.cpp
+++ b/core/fpdfapi/font/cpdf_tounicodemap.cpp
@@ -95,7 +95,7 @@
 
   FX_SAFE_UINT32 code = 0;
   for (char c : str.Substr(1, len - 2)) {
-    // Ignore whitespace https://crbug.com/pdfium/2065
+    // Ignore whitespace https://crbug.com/42271078
     if (PDFCharIsWhitespace(c)) {
       continue;
     }
@@ -122,7 +122,7 @@
   int byte_pos = 0;
   wchar_t ch = 0;
   for (char c : str.Substr(1, len - 2)) {
-    // Ignore whitespace https://crbug.com/pdfium/1022
+    // Ignore whitespace https://crbug.com/42270019
     if (PDFCharIsWhitespace(c)) {
       continue;
     }
diff --git a/core/fpdfapi/page/cpdf_colorspace.cpp b/core/fpdfapi/page/cpdf_colorspace.cpp
index f777155..e49d7af 100644
--- a/core/fpdfapi/page/cpdf_colorspace.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace.cpp
@@ -967,7 +967,7 @@
     base_cs_ = GetStockAlternateProfile(nComponents);
   }
 
-  // TODO(crbug.com/pdfium/2136): Use this data to clamp color components.
+  // TODO(crbug.com/42271155): Use this data to clamp color components.
   ranges_ = GetRanges(dict.Get(), nComponents);
   return nComponents;
 }
diff --git a/core/fpdfapi/page/cpdf_dib.cpp b/core/fpdfapi/page/cpdf_dib.cpp
index 931ab92..274808f 100644
--- a/core/fpdfapi/page/cpdf_dib.cpp
+++ b/core/fpdfapi/page/cpdf_dib.cpp
@@ -660,7 +660,7 @@
     }
   }
 
-  // TODO(crbug.com/pdfium/1747): Handle SMaskInData entries for different
+  // TODO(crbug.com/42270756): Handle SMaskInData entries for different
   // color space types.
 
   bpc_ = 8;
diff --git a/core/fpdfapi/page/cpdf_pageimagecache.cpp b/core/fpdfapi/page/cpdf_pageimagecache.cpp
index 6aafc07..01b010c 100644
--- a/core/fpdfapi/page/cpdf_pageimagecache.cpp
+++ b/core/fpdfapi/page/cpdf_pageimagecache.cpp
@@ -63,7 +63,7 @@
   }
 
   pdfium::span<const uint8_t> GetScanline(int line) const override {
-    // TODO(crbug.com/pdfium/2050): Still needed for `Realize()` call in
+    // TODO(crbug.com/40096192): Still needed for `Realize()` call in
     // `CPDF_ImageRenderer`.
     return image_->GetScanline(line);
   }
diff --git a/core/fpdfapi/page/cpdf_psengine_unittest.cpp b/core/fpdfapi/page/cpdf_psengine_unittest.cpp
index 79da3c3..36e5770 100644
--- a/core/fpdfapi/page/cpdf_psengine_unittest.cpp
+++ b/core/fpdfapi/page/cpdf_psengine_unittest.cpp
@@ -211,7 +211,7 @@
 
   // Truncate does not behave according to the PostScript Language Reference for
   // values beyond the range of integers. This seems to match Acrobat's
-  // behavior. See https://crbug.com/pdfium/1314.
+  // behavior. See https://crbug.com/42270316.
   float max_int = static_cast<float>(std::numeric_limits<int>::max());
   EXPECT_FLOAT_EQ(-max_int,
                   DoOperator1(&engine, max_int * -1.5f, PSOP_TRUNCATE));
diff --git a/core/fpdfapi/page/cpdf_textobject.cpp b/core/fpdfapi/page/cpdf_textobject.cpp
index 624b21e..6004013 100644
--- a/core/fpdfapi/page/cpdf_textobject.cpp
+++ b/core/fpdfapi/page/cpdf_textobject.cpp
@@ -346,7 +346,7 @@
   SetOriginalRect(CFX_FloatRect(min_x, min_y, max_x, max_y));
   CFX_FloatRect rect = GetTextMatrix().TransformRect(GetOriginalRect());
   if (TextRenderingModeIsStrokeMode(text_state().GetTextMode())) {
-    // TODO(crbug.com/pdfium/1840): Does the original rect need a similar
+    // TODO(crbug.com/42270854): Does the original rect need a similar
     // adjustment?
     const float half_width = graph_state().GetLineWidth() / 2;
     rect.Inflate(half_width, half_width);
diff --git a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
index 2ca4017..cf26805 100644
--- a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
+++ b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
@@ -217,13 +217,13 @@
   EXPECT_EQ(0xFFFFFFFC, FPDF_GetDocPermissions(document()));
 }
 
-// Should not crash. https://crbug.com/pdfium/1436
+// Should not crash. https://crbug.com/42270437
 TEST_F(CPDFSecurityHandlerEmbedderTest, BadOkeyVersion2) {
   EXPECT_FALSE(
       OpenDocumentWithPassword("encrypted_hello_world_r2_bad_okey.pdf", "a"));
 }
 
-// Should not crash. https://crbug.com/pdfium/1436
+// Should not crash. https://crbug.com/42270437
 TEST_F(CPDFSecurityHandlerEmbedderTest, BadOkeyVersion3) {
   EXPECT_FALSE(
       OpenDocumentWithPassword("encrypted_hello_world_r3_bad_okey.pdf", "a"));
diff --git a/core/fpdfapi/parser/fpdf_parser_decode_unittest.cpp b/core/fpdfapi/parser/fpdf_parser_decode_unittest.cpp
index aafc357..ee7ec3b 100644
--- a/core/fpdfapi/parser/fpdf_parser_decode_unittest.cpp
+++ b/core/fpdfapi/parser/fpdf_parser_decode_unittest.cpp
@@ -351,7 +351,7 @@
   EXPECT_EQ(L"🎨", PDF_DecodeText(ToSpan("\xFE\xFF\xD8\x3C\xDF\xA8")));
 }
 
-// https://crbug.com/pdfium/182
+// https://crbug.com/42270832
 TEST(ParserDecodeTest, DecodeTextWithUnicodeEscapes) {
   EXPECT_EQ(L"\x0020\x5370\x5237",
             PDF_DecodeText(ToSpan(
diff --git a/core/fpdfdoc/cpdf_annotlist.cpp b/core/fpdfdoc/cpdf_annotlist.cpp
index 00d7249..db8be16 100644
--- a/core/fpdfdoc/cpdf_annotlist.cpp
+++ b/core/fpdfdoc/cpdf_annotlist.cpp
@@ -82,7 +82,7 @@
     return nullptr;
   }
 
-  // TODO(crbug.com/pdfium/1098): Determine if we really need to check if
+  // TODO(crbug.com/40643646): Determine if we really need to check if
   // /Contents is empty or not. If so, optimize decoding for empty check.
   ByteString contents =
       pParentDict->GetByteStringFor(pdfium::annotation::kContents);
diff --git a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
index 69684a0..aaef99a 100644
--- a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
+++ b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
@@ -460,7 +460,7 @@
       }
       case 24:
       case 32:
-        // TODO(crbug.com/pdfium/1901): Apply bitfields.
+        // TODO(crbug.com/42270916): Apply bitfields.
         fxcrt::Copy(pdfium::span(dest_buf).first(src_row_bytes_),
                     out_row_buffer_);
         idx += src_row_bytes_;
diff --git a/core/fxcodec/gif/cfx_gifcontext.cpp b/core/fxcodec/gif/cfx_gifcontext.cpp
index 9a0ae91..18fcd1c 100644
--- a/core/fxcodec/gif/cfx_gifcontext.cpp
+++ b/core/fxcodec/gif/cfx_gifcontext.cpp
@@ -214,7 +214,7 @@
   DataVector<uint8_t> img_data;
   size_t read_marker = input_buffer_->GetPosition();
 
-  // TODO(crbug.com/pdfium/1793): This logic can be simplified a lot, but it
+  // TODO(crbug.com/42270805): This logic can be simplified a lot, but it
   // probably makes more sense to switch to a different GIF decoder altogether.
   if (decode_status_ == GIF_D_STATUS_IMG_DATA) {
     if (!ReadAllOrNone(pdfium::byte_span_from_ref(img_data_size))) {
diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp
index fb14811..9400331 100644
--- a/core/fxcodec/jpx/cjpx_decoder.cpp
+++ b/core/fxcodec/jpx/cjpx_decoder.cpp
@@ -589,7 +589,7 @@
   // the channels of the JPX image. They will contain more information besides
   // the color component data if `image_->numcomps` > `component_count`.
   // Currently only the color component data is used for rendering.
-  // TODO(crbug.com/pdfium/1747): Make full use of the component information.
+  // TODO(crbug.com/42270756): Make full use of the component information.
   std::ranges::fill(dest_buf.first(image_->comps[0].h * pitch), 0xff);
   std::vector<uint8_t*> channel_bufs(image_->numcomps);
   std::vector<int> adjust_comps(image_->numcomps);
diff --git a/core/fxcodec/progressive_decoder.cpp b/core/fxcodec/progressive_decoder.cpp
index ce81f0f..fb9677c 100644
--- a/core/fxcodec/progressive_decoder.cpp
+++ b/core/fxcodec/progressive_decoder.cpp
@@ -772,7 +772,7 @@
       return false;
     }
   } else {
-    // TODO(crbug.com/pdfium/1904): Simplify the `CFX_CodecMemory` API so we
+    // TODO(crbug.com/42270919): Simplify the `CFX_CodecMemory` API so we
     // don't need to do this awkward dance to free up exactly enough buffer
     // space for the next read.
     size_t already_read_bytes = codec_memory_->GetSize() - unconsumed_bytes;
diff --git a/core/fxcrt/compiler_specific.h b/core/fxcrt/compiler_specific.h
index c4bbd17..dca466c 100644
--- a/core/fxcrt/compiler_specific.h
+++ b/core/fxcrt/compiler_specific.h
@@ -140,7 +140,7 @@
 
 // Like UNSAFE_BUFFERS(), but indicates there is a TODO() task to
 // investigate safety,
-// TODO(crbug.com/pdfium/2155): remove all usage.
+// TODO(crbug.com/42271176): remove all usage.
 #define UNSAFE_TODO(...) UNSAFE_BUFFERS(__VA_ARGS__)
 
 // Annotates a function restricting its availability based on compile-time
diff --git a/core/fxcrt/fx_extension_unittest.cpp b/core/fxcrt/fx_extension_unittest.cpp
index 15e0879..24a30c0 100644
--- a/core/fxcrt/fx_extension_unittest.cpp
+++ b/core/fxcrt/fx_extension_unittest.cpp
@@ -205,7 +205,7 @@
                   FXSYS_wcstof(L"99999999999999999", &used_len));
   EXPECT_EQ(17u, used_len);
 
-  // For https://crbug.com/pdfium/1217
+  // For https://crbug.com/40643648
   EXPECT_FLOAT_EQ(0.0f, FXSYS_wcstof(L"e76", nullptr));
 
   // Overflow to infinity.
diff --git a/core/fxcrt/fx_string.cpp b/core/fxcrt/fx_string.cpp
index e8dcbf2..4d1d6bd 100644
--- a/core/fxcrt/fx_string.cpp
+++ b/core/fxcrt/fx_string.cpp
@@ -33,7 +33,7 @@
 
 // Appends a Unicode code point to a `ByteString` using UTF-8.
 //
-// TODO(crbug.com/pdfium/2041): Migrate to `ByteString`.
+// TODO(crbug.com/42271053): Migrate to `ByteString`.
 void AppendCodePointToByteString(char32_t code_point, ByteString& buffer) {
   if (code_point > pdfium::kMaximumSupplementaryCodePoint) {
     // Invalid code point above U+10FFFF.
diff --git a/core/fxcrt/widestring.cpp b/core/fxcrt/widestring.cpp
index 2d8a9b8..571ca53 100644
--- a/core/fxcrt/widestring.cpp
+++ b/core/fxcrt/widestring.cpp
@@ -42,7 +42,7 @@
 size_t FuseSurrogates(pdfium::span<wchar_t> s) {
   size_t dest_pos = 0;
   for (size_t i = 0; i < s.size(); ++i) {
-    // TODO(crbug.com/pdfium/2031): Always use UTF-16.
+    // TODO(crbug.com/42271042): Always use UTF-16.
     if (pdfium::IsHighSurrogate(s[i]) && i + 1 < s.size() &&
         pdfium::IsLowSurrogate(s[i + 1])) {
       s[dest_pos++] = pdfium::SurrogatePair(s[i], s[i + 1]).ToCodePoint();
@@ -295,8 +295,8 @@
 // Appends a Unicode code point to a `WideString` using either UTF-16 or UTF-32,
 // depending on the platform's definition of `wchar_t`.
 //
-// TODO(crbug.com/pdfium/2031): Always use UTF-16.
-// TODO(crbug.com/pdfium/2041): Migrate to `WideString`.
+// TODO(crbug.com/42271042): Always use UTF-16.
+// TODO(crbug.com/42271053): Migrate to `WideString`.
 void AppendCodePointToWideString(char32_t code_point, WideString& buffer) {
   if (code_point > pdfium::kMaximumSupplementaryCodePoint) {
     // Invalid code point above U+10FFFF.
diff --git a/core/fxcrt/widestring.h b/core/fxcrt/widestring.h
index a5f203e..2cd3f8c 100644
--- a/core/fxcrt/widestring.h
+++ b/core/fxcrt/widestring.h
@@ -24,7 +24,7 @@
 
 // A mutable string with shared buffers using copy-on-write semantics that
 // avoids the cost of std::string's iterator stability guarantees.
-// TODO(crbug.com/pdfium/2031): Consider switching to `char16_t` instead.
+// TODO(crbug.com/42271042): Consider switching to `char16_t` instead.
 class WideString : public StringTemplate<wchar_t> {
  public:
   [[nodiscard]] static WideString FormatInteger(int i);
diff --git a/core/fxge/cfx_face.h b/core/fxge/cfx_face.h
index 1b301a6..07df274 100644
--- a/core/fxge/cfx_face.h
+++ b/core/fxge/cfx_face.h
@@ -94,7 +94,7 @@
   size_t GetSfntTable(uint32_t table, pdfium::span<uint8_t> buffer);
 
   int GetGlyphCount() const;
-  // TODO(crbug.com/pdfium/2037): Can this method be private?
+  // TODO(crbug.com/42271048): Can this method be private?
   FX_RECT GetGlyphBBox() const;
   std::optional<FX_RECT> GetFontGlyphBBox(uint32_t glyph_index);
   std::unique_ptr<CFX_GlyphBitmap> RenderGlyph(const CFX_Font* font,
diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp
index e96bf8f..f63f27e 100644
--- a/core/fxge/dib/cfx_dibitmap.cpp
+++ b/core/fxge/dib/cfx_dibitmap.cpp
@@ -182,7 +182,7 @@
     }
     case FXDIB_Format::kBgrx:
       if (CFX_DefaultRenderDevice::UseSkiaRenderer()) {
-        // TODO(crbug.com/pdfium/2016): This is not reliable because alpha may
+        // TODO(crbug.com/42271025): This is not reliable because alpha may
         // be modified outside of this operation.
         color |= 0xFF000000;
       }
diff --git a/core/fxge/dib/cfx_dibitmap.h b/core/fxge/dib/cfx_dibitmap.h
index 45bec53..1fa48d9 100644
--- a/core/fxge/dib/cfx_dibitmap.h
+++ b/core/fxge/dib/cfx_dibitmap.h
@@ -104,7 +104,7 @@
   // Requires `this` to be of format `FXDIB_Format::kBgra`.
   void SetUniformOpaqueAlpha();
 
-  // TODO(crbug.com/pdfium/2007): Migrate callers to `CFX_RenderDevice`.
+  // TODO(crbug.com/42271015): Migrate callers to `CFX_RenderDevice`.
   bool MultiplyAlpha(float alpha);
   bool MultiplyAlphaMask(RetainPtr<const CFX_DIBitmap> mask);
 
diff --git a/core/fxge/skia/cfx_dibbase_skia.cpp b/core/fxge/skia/cfx_dibbase_skia.cpp
index 9065d3a..d1d3861 100644
--- a/core/fxge/skia/cfx_dibbase_skia.cpp
+++ b/core/fxge/skia/cfx_dibbase_skia.cpp
@@ -137,7 +137,7 @@
 // Creates an `SkImage` from a `CFX_DIBBase`, transforming the source pixels
 // using `pixel_transform`.
 //
-// TODO(crbug.com/pdfium/2048): Consolidate with `CFX_DIBBase::ConvertBuffer()`.
+// TODO(crbug.com/42271060): Consolidate with `CFX_DIBBase::ConvertBuffer()`.
 template <size_t source_bits_per_pixel, typename PixelTransform>
 sk_sp<SkImage> CreateSkiaImageFromTransformedDib(
     const CFX_DIBBase& source,
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 55030cd..491c158 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -886,7 +886,7 @@
 
 // TODO(crbug.com/42271005): Merge with `DrawDeviceText()` and refactor
 // common logic.
-// TODO(crbug.com/pdfium/1774): Sometimes the thickness of the glyphs is not
+// TODO(crbug.com/42270786): Sometimes the thickness of the glyphs is not
 // ideal. Improve text rendering results regarding different font weight.
 bool CFX_SkiaDeviceDriver::TryDrawText(pdfium::span<const TextCharPos> char_pos,
                                        const CFX_Font* pFont,
diff --git a/core/fxge/skia/fx_skia_device_embeddertest.cpp b/core/fxge/skia/fx_skia_device_embeddertest.cpp
index 832bfe3..831dc32 100644
--- a/core/fxge/skia/fx_skia_device_embeddertest.cpp
+++ b/core/fxge/skia/fx_skia_device_embeddertest.cpp
@@ -279,7 +279,7 @@
         ASSERT_TRUE(image);
         image_ids.insert(image->uniqueID());
 
-        // TODO(crbug.com/pdfium/2026): Image dimensions should be clipped to
+        // TODO(crbug.com/42271036): Image dimensions should be clipped to
         // 5100x3320. The extra `kPageToImageFactor` accounts for anti-aliasing.
         EXPECT_EQ(SkISize::Make(kImageWidth, kImageHeight), image->dimensions())
             << "Actual image dimensions: " << image->width() << "x"
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
index 4ea9a32..bf887c5 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
@@ -877,7 +877,7 @@
     return;
   }
 
-  // TODO(crbug.com/pdfium/1482): Handle XFA case.
+  // TODO(crbug.com/42270486): Handle XFA case.
   if (pAnnot->AsXFAWidget()) {
     return;
   }
diff --git a/fpdfsdk/cpdfsdk_renderpage.cpp b/fpdfsdk/cpdfsdk_renderpage.cpp
index e4a4381..4def06a 100644
--- a/fpdfsdk/cpdfsdk_renderpage.cpp
+++ b/fpdfsdk/cpdfsdk_renderpage.cpp
@@ -76,7 +76,7 @@
     is_printing |= context->device_->GetDeviceType() == DeviceType::kPrinter;
 #endif
 
-    // TODO(https://crbug.com/pdfium/993) - maybe pass true here.
+    // TODO(https://crbug.com/42271964) - maybe pass true here.
     const bool bShowWidget = false;
     pList->DisplayAnnots(context->context_.get(), is_printing, matrix,
                          bShowWidget);
diff --git a/fpdfsdk/fpdf_annot_embeddertest.cpp b/fpdfsdk/fpdf_annot_embeddertest.cpp
index c3c9191..0db002a 100644
--- a/fpdfsdk/fpdf_annot_embeddertest.cpp
+++ b/fpdfsdk/fpdf_annot_embeddertest.cpp
@@ -2070,7 +2070,7 @@
     CompareBitmap(bitmap.get(), 612, 792, expected_bitmap);
 
     ASSERT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
-    // TODO(https://crbug.com/pdfium/1206): This is wrong. The size should be
+    // TODO(https://crbug.com/42270200): This is wrong. The size should be
     // equal, not bigger.
     EXPECT_GT(GetString().size(), original_size);
     ClearString();
@@ -3687,7 +3687,7 @@
   }
 }
 
-// Due to https://crbug.com/pdfium/570, the AnnotationBorder test above cannot
+// Due to https://crbug.com/41480220, the AnnotationBorder test above cannot
 // actually render the line annotations inside line_annot.pdf. For now, use a
 // square annotation in annots.pdf for testing.
 TEST_F(FPDFAnnotEmbedderTest, AnnotationBorderRendering) {
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index f8e6c0a..67f40ba 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -811,7 +811,7 @@
 
   ASSERT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
 
-  // TODO(crbug.com/pdfium/1549): Should be `kRemovedChecksum`.
+  // TODO(crbug.com/42270554): Should be `kRemovedChecksum`.
   VerifySavedDocument(100, 150, "4f9889cd5993db20f1ab37d677ac8d26");
 }
 
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
index 229d966..06ed956 100644
--- a/fpdfsdk/fpdf_editpage.cpp
+++ b/fpdfsdk/fpdf_editpage.cpp
@@ -963,7 +963,7 @@
       matrix = cpage_object->AsImage()->matrix();
       break;
     default:
-      // TODO(crbug.com/pdfium/1840): Support more object types.
+      // TODO(crbug.com/42270854): Support more object types.
       return false;
   }
 
diff --git a/fpdfsdk/fpdf_formfill.cpp b/fpdfsdk/fpdf_formfill.cpp
index 234ef8d..d6d7655 100644
--- a/fpdfsdk/fpdf_formfill.cpp
+++ b/fpdfsdk/fpdf_formfill.cpp
@@ -693,7 +693,7 @@
     return true;
   }
 
-  // TODO(crbug.com/pdfium/1482): Handle XFA case.
+  // TODO(crbug.com/42270486): Handle XFA case.
   if (cpdfsdk_annot->AsXFAWidget()) {
     return true;
   }
diff --git a/fpdfsdk/fpdf_structtree_embeddertest.cpp b/fpdfsdk/fpdf_structtree_embeddertest.cpp
index a0080a5..6d335fd 100644
--- a/fpdfsdk/fpdf_structtree_embeddertest.cpp
+++ b/fpdfsdk/fpdf_structtree_embeddertest.cpp
@@ -851,7 +851,7 @@
   ASSERT_TRUE(page);
 
   {
-    // This call should not crash. https://crbug.com/pdfium/1480
+    // This call should not crash. https://crbug.com/42270484
     ScopedFPDFStructTree struct_tree(FPDF_StructTree_GetForPage(page.get()));
     ASSERT_TRUE(struct_tree);
   }
@@ -903,7 +903,7 @@
     EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(object13));
     ASSERT_EQ(1, FPDF_StructElement_CountChildren(object13));
 
-    // TODO(crbug.com/pdfium/672): Fetch this child element.
+    // TODO(crbug.com/42271637): Fetch this child element.
     EXPECT_FALSE(FPDF_StructElement_GetChildAtIndex(object13, 0));
 
     // Second branch. 11 -> 14 -> Inline dict.
@@ -925,7 +925,7 @@
     EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(object14));
     ASSERT_EQ(2, FPDF_StructElement_CountChildren(object14));
 
-    // TODO(crbug.com/pdfium/672): Object 15 should be at index 1.
+    // TODO(crbug.com/42271637): Object 15 should be at index 1.
     EXPECT_FALSE(FPDF_StructElement_GetChildAtIndex(object14, 1));
     FPDF_STRUCTELEMENT object15 =
         FPDF_StructElement_GetChildAtIndex(object14, 0);
@@ -936,7 +936,7 @@
     EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(object15));
     ASSERT_EQ(1, FPDF_StructElement_CountChildren(object15));
 
-    // TODO(crbug.com/pdfium/672): Fetch this child element.
+    // TODO(crbug.com/42271637): Fetch this child element.
     EXPECT_FALSE(FPDF_StructElement_GetChildAtIndex(object15, 0));
   }
 }
@@ -951,7 +951,7 @@
     ASSERT_TRUE(struct_tree);
     ASSERT_EQ(1, FPDF_StructTree_CountChildren(struct_tree.get()));
 
-    // TODO(crbug.com/pdfium/1768): Fetch this child element. Then consider
+    // TODO(crbug.com/42270779): Fetch this child element. Then consider
     // writing more of the test to make sure other elements in the tree can be
     // fetched correctly as well.
     EXPECT_FALSE(FPDF_StructTree_GetChildAtIndex(struct_tree.get(), 0));
diff --git a/fpdfsdk/fpdf_text_embeddertest.cpp b/fpdfsdk/fpdf_text_embeddertest.cpp
index e64f84a..702b174 100644
--- a/fpdfsdk/fpdf_text_embeddertest.cpp
+++ b/fpdfsdk/fpdf_text_embeddertest.cpp
@@ -664,7 +664,7 @@
   EXPECT_FALSE(FPDFText_FindNext(search.get()));
 }
 
-// Fails on Windows. https://crbug.com/pdfium/1370
+// Fails on Windows. https://crbug.com/42270374
 #if BUILDFLAG(IS_WIN)
 #define MAYBE_TextSearchLatinExtended DISABLED_TextSearchLatinExtended
 #else
@@ -1616,7 +1616,7 @@
 
   // Using a /StemV value of 82, the estimate comes out to 410, even though
   // /FontWeight is 400.
-  // TODO(crbug.com/pdfium/1420): Fix this the return value here.
+  // TODO(crbug.com/42270423): Fix this the return value here.
   EXPECT_EQ(410, FPDFText_GetFontWeight(text_page.get(), 1));
 }
 
@@ -2187,7 +2187,7 @@
   ASSERT_TRUE(textpage);
 
   unsigned short buffer[128] = {};
-  // TODO(crbug.com/pdfium/1769): Improve text extraction.
+  // TODO(crbug.com/42270780): Improve text extraction.
   // The first instance of "world" is visible to the human eye and should be
   // extracted as is. The second instance is not, so how it should be
   // extracted is debatable.
diff --git a/fpdfsdk/fpdf_transformpage_embeddertest.cpp b/fpdfsdk/fpdf_transformpage_embeddertest.cpp
index e587f05..cc27a7e 100644
--- a/fpdfsdk/fpdf_transformpage_embeddertest.cpp
+++ b/fpdfsdk/fpdf_transformpage_embeddertest.cpp
@@ -408,7 +408,7 @@
       // Render the page after transforming.
       // Note that the change should affect the rendering, but does not.
       // It should behaves just like the case below, rather than the case above.
-      // TODO(crbug.com/pdfium/1328): The checksum after invoking
+      // TODO(crbug.com/42270329): The checksum after invoking
       // `FPDFPage_TransFormWithClip()` below should match `ShrunkChecksum()`.
       const FS_MATRIX half_matrix{0.5, 0, 0, 0.5, 0, 0};
       EXPECT_TRUE(
@@ -467,7 +467,7 @@
       // Render the page after transforming.
       // Note that the change should affect the rendering, but does not.
       // It should behaves just like the case below, rather than the case above.
-      // TODO(crbug.com/pdfium/1328): The checksum after invoking
+      // TODO(crbug.com/42270329): The checksum after invoking
       // `FPDFPage_TransFormWithClip()` below should match `ShrunkChecksum()`.
       const FS_MATRIX half_matrix{0.5, 0, 0, 0.5, 0, 0};
       EXPECT_TRUE(
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index b61cc70..51c1978 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -565,7 +565,7 @@
   ASSERT_EQ(2, FPDF_GetPageCount(document()));
 }
 
-// See https://crbug.com/pdfium/465
+// See https://crbug.com/42271445
 TEST_F(FPDFViewEmbedderTest, EmptyDocument) {
   CreateEmptyDocument();
   {
@@ -630,7 +630,7 @@
   EXPECT_FALSE(FPDF_LoadCustomDocument(nullptr, ""));
 }
 
-// See https://crbug.com/pdfium/1261
+// See https://crbug.com/42270260
 TEST_F(FPDFViewEmbedderTest, LoadCustomDocumentWithShortLivedFileAccess) {
   std::string file_contents_string;  // Must outlive |doc|.
   ScopedFPDFDocument doc;
@@ -1422,7 +1422,7 @@
   EXPECT_FALSE(FPDF_DocumentHasValidCrossReferenceTable(document()));
 }
 
-// Related to https://crbug.com/pdfium/1197
+// Related to https://crbug.com/42270189
 TEST_F(FPDFViewEmbedderTest, LoadDocumentWithEmptyXRefConsistently) {
   ASSERT_TRUE(OpenDocument("empty_xref.pdf"));
   EXPECT_TRUE(FPDF_DocumentHasValidCrossReferenceTable(document()));
@@ -1483,7 +1483,7 @@
                                 kPrintingFilename);
 }
 
-// TODO(crbug.com/pdfium/1955): Remove this test once pixel tests can pass with
+// TODO(crbug.com/41480203): Remove this test once pixel tests can pass with
 // `reverse-byte-order` option.
 TEST_F(FPDFViewEmbedderTest, RenderBlueAndRedImagesWithReverByteOrderFlag) {
   // When rendering with `FPDF_REVERSE_BYTE_ORDER` flag, the blue and red
diff --git a/fxbarcode/cfx_barcode_unittest.cpp b/fxbarcode/cfx_barcode_unittest.cpp
index 7cf7f1d..9cc089a 100644
--- a/fxbarcode/cfx_barcode_unittest.cpp
+++ b/fxbarcode/cfx_barcode_unittest.cpp
@@ -65,7 +65,7 @@
   RetainPtr<CFX_DIBitmap> bitmap_;
 };
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Code39 DISABLED_Code39
 #else
@@ -78,7 +78,7 @@
   EXPECT_EQ("cd4cd3f36da38ff58d9f621827018903", BitmapChecksum());
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_CodaBar DISABLED_CodaBar
 #else
@@ -96,7 +96,7 @@
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Code128 DISABLED_Code128
 #else
@@ -109,7 +109,7 @@
   EXPECT_EQ("6351f0f6e997050e4658bbb4777aef74", BitmapChecksum());
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Code128B DISABLED_Code128B
 #else
@@ -122,7 +122,7 @@
   EXPECT_EQ("6351f0f6e997050e4658bbb4777aef74", BitmapChecksum());
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Code128C DISABLED_Code128C
 #else
@@ -135,7 +135,7 @@
   EXPECT_EQ("fba730a807ba6363f9bd2bc7f8c56d1f", BitmapChecksum());
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Code128CLetters DISABLED_Code128CLetters
 #else
@@ -148,7 +148,7 @@
   EXPECT_EQ("6284ec8503d5a948c9518108da33cdd3", BitmapChecksum());
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Ean8 DISABLED_Ean8
 #else
@@ -166,7 +166,7 @@
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_UPCA DISABLED_UPCA
 #else
@@ -184,7 +184,7 @@
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Ean13 DISABLED_Ean13
 #else
@@ -202,7 +202,7 @@
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_Pdf417 DISABLED_Pdf417
 #else
@@ -215,7 +215,7 @@
   EXPECT_EQ("191e35d11613901b7d5d51033689aa89", BitmapChecksum());
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_DataMatrix DISABLED_DataMatrix
 #else
@@ -228,7 +228,7 @@
   EXPECT_EQ("5e5cd9a680b86fcd4ffd53ed36e3c980", BitmapChecksum());
 }
 
-// https://crbug.com/pdfium/738
+// https://crbug.com/42271707
 #if defined(PDF_USE_SKIA)
 #define MAYBE_QrCode DISABLED_QrCode
 #else
diff --git a/fxjs/cjs_global.h b/fxjs/cjs_global.h
index 3a7d231..44a545a 100644
--- a/fxjs/cjs_global.h
+++ b/fxjs/cjs_global.h
@@ -71,7 +71,7 @@
   static const JSMethodSpec MethodSpecs[];
 
   void UpdateGlobalPersistentVariables();
-  // TODO(crbug.com/pdfium/926): This method is never called.
+  // TODO(crbug.com/42271902): This method is never called.
   void CommitGlobalPersisitentVariables();
   void DestroyGlobalPersisitentVariables();
   CJS_Result SetGlobalVariables(const ByteString& propname,
diff --git a/fxjs/xfa/cfxjse_formcalc_context.cpp b/fxjs/xfa/cfxjse_formcalc_context.cpp
index 96f64d5..cb7a6dc 100644
--- a/fxjs/xfa/cfxjse_formcalc_context.cpp
+++ b/fxjs/xfa/cfxjse_formcalc_context.cpp
@@ -5174,7 +5174,7 @@
       return;
     }
 
-    // TODO(crbug.com/pdfium/2090) - doublecheck use of std::vector
+    // TODO(crbug.com/42271105) - doublecheck use of std::vector
     std::vector<v8::LocalVector<v8::Value>> resolveValues(
         iLength - 2, v8::LocalVector<v8::Value>(info.GetIsolate()));
 
diff --git a/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp b/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
index 5b26bb0..41b3d6e 100644
--- a/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
+++ b/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
@@ -415,7 +415,7 @@
   ExecuteExpectInt32("Time2Num(\"00:01:00 GMT\", \"HH:MM:SS Z\")", 60001);
   ExecuteExpectInt32("Time2Num(\"01:00:00 GMT\", \"HH:MM:SS Z\")", 3600001);
   ExecuteExpectInt32("Time2Num(\"23:59:59 GMT\", \"HH:MM:SS Z\")", 86399001);
-  // https://crbug.com/pdfium/1257
+  // https://crbug.com/42270255
   ExecuteExpectInt32("Time2Num(\"\", \"\", 1)", 0);
   ExecuteExpectInt32("Time2Num(\"13:13:13 GMT\", \"HH:MM:SS Z\", \"fr_FR\")",
                      47593001);
diff --git a/testing/pdfium_test.cc b/testing/pdfium_test.cc
index 46923d2..1547bb3 100644
--- a/testing/pdfium_test.cc
+++ b/testing/pdfium_test.cc
@@ -1517,13 +1517,13 @@
       break;
 
     case OutputFormat::kEmf:
-      // TODO(crbug.com/pdfium/2054): Render directly to DC.
+      // TODO(crbug.com/42271066): Render directly to DC.
       writer = BitmapPageRenderer::WrapPageWriter(WriteEmf);
       break;
 
     case OutputFormat::kPs2:
     case OutputFormat::kPs3:
-      // TODO(crbug.com/pdfium/2054): Render directly to DC.
+      // TODO(crbug.com/42271066): Render directly to DC.
       writer = BitmapPageRenderer::WrapPageWriter(WritePS);
       break;
 #endif  // _WIN32
diff --git a/testing/tools/pngdiffer.py b/testing/tools/pngdiffer.py
index 7411a82..f88d644 100755
--- a/testing/tools/pngdiffer.py
+++ b/testing/tools/pngdiffer.py
@@ -107,7 +107,7 @@
     return self._RunCommand(cmd)
 
   def _RunImageDiffCommand(self, image_diff):
-    # TODO(crbug.com/pdfium/1925): Diff mode ignores --reverse-byte-order.
+    # TODO(crbug.com/42270934): Diff mode ignores --reverse-byte-order.
     return self._RunCommand([
         self.pdfium_diff_path,
         '--subtract',
@@ -142,7 +142,7 @@
         if compare_error:
           page_diff.reason = str(compare_error)
 
-          # TODO(crbug.com/pdfium/1925): Compare and diff simultaneously.
+          # TODO(crbug.com/42270934): Compare and diff simultaneously.
           page_diff.diff_path = path_templates.GetDiffPath(page)
           if not self._RunImageDiffCommand(page_diff):
             print(f'WARNING: No diff for {page_diff.actual_path}')
@@ -201,7 +201,7 @@
 
       # Try to reuse expectations by removing intervening non-matches.
       #
-      # TODO(crbug.com/pdfium/1988): This can make mistakes due to a lack of
+      # TODO(crbug.com/42270995): This can make mistakes due to a lack of
       # global knowledge about other test configurations, which is why it just
       # creates backup files rather than immediately removing files.
       if last_match is not None:
diff --git a/testing/tools/test_runner.py b/testing/tools/test_runner.py
index 1fede56..c3e8e55 100644
--- a/testing/tools/test_runner.py
+++ b/testing/tools/test_runner.py
@@ -36,7 +36,7 @@
 TEXT_TESTS = ['javascript']
 
 # Timeout (in seconds) for individual test commands.
-# TODO(crbug.com/pdfium/1967): array_buffer.in is slow under MSan, so need a
+# TODO(crbug.com/42270974): array_buffer.in is slow under MSan, so need a
 # very generous 5 minute timeout for now.
 TEST_TIMEOUT = timedelta(minutes=5).total_seconds()
 
@@ -715,7 +715,7 @@
 
     return self.test_case.NewResult(result_types.PASS)
 
-  # TODO(crbug.com/pdfium/1656): Remove when ready to fully switch over to
+  # TODO(crbug.com/42270661): Remove when ready to fully switch over to
   # Skia Gold
   def TestPixel(self):
     # Remove any existing generated images from previous runs.
diff --git a/xfa/fde/cfde_texteditengine.cpp b/xfa/fde/cfde_texteditengine.cpp
index f9ba51c..7b65cab 100644
--- a/xfa/fde/cfde_texteditengine.cpp
+++ b/xfa/fde/cfde_texteditengine.cpp
@@ -282,7 +282,7 @@
   // we're skipping notify. This means we're setting the formatted text into the
   // engine. Otherwise, if you enter 123456789 for an SSN into a field
   // with a 9 character limit and we reformat to 123-45-6789 we'll truncate
-  // the 89 when inserting into the text edit. See https://crbug.com/pdfium/1089
+  // the 89 when inserting into the text edit. See https://crbug.com/41480151
   if (has_character_limit_ && text_length_ + length > character_limit_) {
     if (add_operation == RecordOperation::kSkipNotify) {
       // Raise the limit to allow subsequent changes to expanded text.
diff --git a/xfa/fgas/crt/cfgas_stringformatter_unittest.cpp b/xfa/fgas/crt/cfgas_stringformatter_unittest.cpp
index 8694960..bf47669 100644
--- a/xfa/fgas/crt/cfgas_stringformatter_unittest.cpp
+++ b/xfa/fgas/crt/cfgas_stringformatter_unittest.cpp
@@ -452,7 +452,7 @@
   };
 
   static const TestCase failures[] = {
-      // https://crbug.com/pdfium/1260
+      // https://crbug.com/42270259
       {L"en", L"..", L"VC", L"."},
 
       // https://crbug.com/938626
@@ -569,7 +569,7 @@
       // {L"en", L"-123.5", L"zzz.z)", L"123.5)"},
       {L"en", L"123.5", L"zzz.z)", L"123.5 "},
       {L"en", L"123.5", L"zzz.z(", L"123.5 "},
-      // https://crbug.com/pdfium/1233
+      // https://crbug.com/42270229
       {L"en", L"1", L"r9", L"r1"},
       {L"en", L"1", L"R9", L"R1"},
       {L"en", L"1", L"b9", L"b1"},
@@ -578,7 +578,7 @@
       {L"en", L"1", L"9.C", L"1"},
       {L"en", L"1", L"9.d", L"1"},
       {L"en", L"1", L"9.D", L"1"},
-      // https://crbug.com/pdfium/1244
+      // https://crbug.com/42270241
       {L"en", L"1", L"E", L"1"},
       {L"en", L"0", L"E", L"0"},
       {L"en", L"-1", L"E", L"-1"},
@@ -592,7 +592,7 @@
   };
 
   static const TestCase failures[] = {
-      // https://crbug.com/pdfium/1271
+      // https://crbug.com/42270271
       {L"en", L"1", L"num.{E", L""},
   };