Avoid transient std::string construction when deserializing GURL from database

GURL lacks a single-argument constructor accepting a std::string;
rather, it accepts a std::string_view, so there is no need to create a
temporary string; sql::Statement::ColumnStringView can be used instead.

Bug: 403218784
Change-Id: I899cee54e4eb35ff6efaedb18152cdacf9d308a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6351720
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Andrew Paseltiner <apaseltiner@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1432241}
diff --git a/chrome/browser/predictors/autocomplete_action_predictor_table.cc b/chrome/browser/predictors/autocomplete_action_predictor_table.cc
index 78bea80..bc58e1c2 100644
--- a/chrome/browser/predictors/autocomplete_action_predictor_table.cc
+++ b/chrome/browser/predictors/autocomplete_action_predictor_table.cc
@@ -44,7 +44,7 @@
 
   row->id = statement->ColumnString(0);
   row->user_text = statement->ColumnString16(1);
-  row->url = GURL(statement->ColumnString(2));
+  row->url = GURL(statement->ColumnStringView(2));
   row->number_of_hits = statement->ColumnInt(3);
   row->number_of_misses = statement->ColumnInt(4);
   return true;
diff --git a/chrome/utility/importer/firefox_importer.cc b/chrome/utility/importer/firefox_importer.cc
index f0c8d00..a56b4f3e 100644
--- a/chrome/utility/importer/firefox_importer.cc
+++ b/chrome/utility/importer/firefox_importer.cc
@@ -202,7 +202,7 @@
 
   std::vector<ImporterURLRow> rows;
   while (s.Step() && !cancelled()) {
-    GURL url(s.ColumnString(0));
+    GURL url(s.ColumnStringView(0));
 
     // Filter out unwanted URLs.
     if (!CanImportURL(url))
@@ -539,7 +539,7 @@
     std::unique_ptr<BookmarkItem> item = std::make_unique<BookmarkItem>();
     item->parent = static_cast<int>(position);
     item->id = s.ColumnInt(0);
-    item->url = GURL(s.ColumnString(1));
+    item->url = GURL(s.ColumnStringView(1));
     item->title = s.ColumnString16(2);
     item->type = static_cast<BookmarkItemType>(s.ColumnInt(3));
     item->keyword = s.ColumnString(4);
diff --git a/components/affiliations/core/browser/affiliation_database.cc b/components/affiliations/core/browser/affiliation_database.cc
index 319d5aab..063960a 100644
--- a/components/affiliations/core/browser/affiliation_database.cc
+++ b/components/affiliations/core/browser/affiliation_database.cc
@@ -218,7 +218,7 @@
         FacetURI::FromCanonicalSpec(statement.ColumnString(0)),
         FacetBrandingInfo{
             statement.ColumnString(1),
-            GURL(statement.ColumnString(2)),
+            GURL(statement.ColumnStringView(2)),
         });
     result->last_update_time = statement.ColumnTime(3);
   }
@@ -250,7 +250,7 @@
         FacetURI::FromCanonicalSpec(statement.ColumnString(0)),
         FacetBrandingInfo{
             statement.ColumnString(1),
-            GURL(statement.ColumnString(2)),
+            GURL(statement.ColumnStringView(2)),
         });
     results->back().last_update_time =
         base::Time::FromInternalValue(statement.ColumnInt64(3));
@@ -275,7 +275,7 @@
       GroupedFacets group;
       group.branding_info = FacetBrandingInfo{
           statement.ColumnString(3),
-          GURL(statement.ColumnString(4)),
+          GURL(statement.ColumnStringView(4)),
       };
       results.push_back(std::move(group));
       last_eq_class_id = eq_class_id;
@@ -309,7 +309,7 @@
 
   // Add branding info for a group as it's the same for all steps.
   result.branding_info.name = statement.ColumnString(2);
-  result.branding_info.icon_url = GURL(statement.ColumnString(3));
+  result.branding_info.icon_url = GURL(statement.ColumnStringView(3));
 
   result.facets.emplace_back(
       FacetURI::FromCanonicalSpec(statement.ColumnString(0)),
diff --git a/components/autofill/core/browser/webdata/passes/passes_table.cc b/components/autofill/core/browser/webdata/passes/passes_table.cc
index e224228..40b8469 100644
--- a/components/autofill/core/browser/webdata/passes/passes_table.cc
+++ b/components/autofill/core/browser/webdata/passes/passes_table.cc
@@ -33,7 +33,7 @@
   LoyaltyCard card(/*loyalty_card_id=*/s.ColumnString(0),
                    /*merchant_name=*/s.ColumnString(1),
                    /*program_name=*/s.ColumnString(2),
-                   /*program_logo=*/GURL(s.ColumnString(3)),
+                   /*program_logo=*/GURL(s.ColumnStringView(3)),
                    /*unmasked_loyalty_card_suffix=*/s.ColumnString(4));
   // Ignore invalid loyalty cards, for more information see
   // `LoyaltyCard::IsValid()`. Loyalty cards coming from sync should be valid,
diff --git a/components/autofill/core/browser/webdata/payments/payments_autofill_table.cc b/components/autofill/core/browser/webdata/payments/payments_autofill_table.cc
index 0acac8d..8e98057 100644
--- a/components/autofill/core/browser/webdata/payments/payments_autofill_table.cc
+++ b/components/autofill/core/browser/webdata/payments/payments_autofill_table.cc
@@ -375,7 +375,7 @@
   int index = 0;
   std::string id = s.ColumnString(index++);
   int64_t instrument_id = s.ColumnInt64(index++);
-  std::string merchant_domain = s.ColumnString(index++);
+  std::string_view merchant_domain = s.ColumnStringView(index++);
   std::u16string last_four = s.ColumnString16(index++);
 
   return {VirtualCardUsageData::UsageDataId(id),
@@ -964,9 +964,9 @@
     card->set_virtual_card_enrollment_type(
         static_cast<CreditCard::VirtualCardEnrollmentType>(
             s.ColumnInt(index++)));
-    card->set_card_art_url(GURL(s.ColumnString(index++)));
+    card->set_card_art_url(GURL(s.ColumnStringView(index++)));
     card->set_product_description(s.ColumnString16(index++));
-    card->set_product_terms_url(GURL(s.ColumnString(index++)));
+    card->set_product_terms_url(GURL(s.ColumnStringView(index++)));
     if (base::FeatureList::IsEnabled(
             features::kAutofillEnableCardInfoRuntimeRetrieval)) {
       card->set_card_info_retrieval_enrollment_state(
@@ -1463,7 +1463,7 @@
     std::string offer_reward_amount = s.ColumnString(index++);
     base::Time expiry = base::Time::FromDeltaSinceWindowsEpoch(
         base::Milliseconds(s.ColumnInt64(index++)));
-    GURL offer_details_url = GURL(s.ColumnString(index++));
+    GURL offer_details_url = GURL(s.ColumnStringView(index++));
     std::string promo_code = s.ColumnString(index++);
     std::string value_prop_text = s.ColumnString(index++);
     std::string see_details_text = s.ColumnString(index++);
@@ -2221,7 +2221,7 @@
                 "WHERE benefit_id = ?");
   s.BindString(0, *benefit_id);
   while (s.Step()) {
-    merchant_domains.insert(url::Origin::Create(GURL(s.ColumnString(0))));
+    merchant_domains.insert(url::Origin::Create(GURL(s.ColumnStringView(0))));
   }
   return merchant_domains;
 }
diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/core/favicon_database.cc
index 69ac58cf..6f8d2f2 100644
--- a/components/favicon/core/favicon_database.cc
+++ b/components/favicon/core/favicon_database.cc
@@ -232,7 +232,8 @@
     IconMapping* icon_mapping) {
   if (!statement_.Step())
     return false;
-  FillIconMapping(GURL(statement_.ColumnString(4)), statement_, icon_mapping);
+  FillIconMapping(GURL(statement_.ColumnStringView(4)), statement_,
+                  icon_mapping);
   return true;
 }
 
@@ -323,8 +324,8 @@
 
   while (old_icons.Step()) {
     favicon_base::FaviconID id = old_icons.ColumnInt64(0);
-    icon_mappings[id].icon_url = GURL(old_icons.ColumnString(1));
-    icon_mappings[id].page_urls.push_back(GURL(old_icons.ColumnString(2)));
+    icon_mappings[id].icon_url = GURL(old_icons.ColumnStringView(1));
+    icon_mappings[id].page_urls.push_back(GURL(old_icons.ColumnStringView(2)));
   }
 
   return icon_mappings;
@@ -600,7 +601,7 @@
   statement.BindInt64(0, icon_id);
   while (statement.Step()) {
     const auto candidate_origin =
-        url::Origin::Create(GURL(statement.ColumnString(0)));
+        url::Origin::Create(GURL(statement.ColumnStringView(0)));
     if (candidate_origin == page_origin) {
       return icon_id;
     }
@@ -637,7 +638,7 @@
     return false;  // No entry for the id.
 
   if (icon_url)
-    *icon_url = GURL(statement.ColumnString(0));
+    *icon_url = GURL(statement.ColumnStringView(0));
   if (icon_type)
     *icon_type = FromPersistedIconType(statement.ColumnInt(1));
 
@@ -771,7 +772,7 @@
         FaviconDatabase::FromPersistedIconType(statement.ColumnInt(1));
 
     if (required_icon_types.count(icon_type) != 0)
-      return std::make_optional(GURL(statement.ColumnString(0)));
+      return std::make_optional(GURL(statement.ColumnStringView(0)));
   }
   return std::nullopt;
 }
@@ -1025,7 +1026,7 @@
   icon_mapping->mapping_id = statement.ColumnInt64(0);
   icon_mapping->icon_id = statement.ColumnInt64(1);
   icon_mapping->icon_type = FromPersistedIconType(statement.ColumnInt(2));
-  icon_mapping->icon_url = GURL(statement.ColumnString(3));
+  icon_mapping->icon_url = GURL(statement.ColumnStringView(3));
   icon_mapping->page_url = page_url;
   icon_mapping->page_url_type =
       FromPersistedPageUrlType(statement.ColumnInt64(4));
diff --git a/components/history/core/browser/download_database.cc b/components/history/core/browser/download_database.cc
index f646931..2b59f3f 100644
--- a/components/history/core/browser/download_database.cc
+++ b/components/history/core/browser/download_database.cc
@@ -476,11 +476,11 @@
     info->last_access_time =
         base::Time::FromInternalValue(statement_main.ColumnInt64(column++));
     info->transient = statement_main.ColumnInt(column++) != 0;
-    info->referrer_url = GURL(statement_main.ColumnString(column++));
-    info->site_url = GURL(statement_main.ColumnString(column++));
+    info->referrer_url = GURL(statement_main.ColumnStringView(column++));
+    info->site_url = GURL(statement_main.ColumnStringView(column++));
     info->embedder_download_data = statement_main.ColumnString(column++);
-    info->tab_url = GURL(statement_main.ColumnString(column++));
-    info->tab_referrer_url = GURL(statement_main.ColumnString(column++));
+    info->tab_url = GURL(statement_main.ColumnStringView(column++));
+    info->tab_referrer_url = GURL(statement_main.ColumnStringView(column++));
     info->http_method = statement_main.ColumnString(column++);
     info->by_ext_id = statement_main.ColumnString(column++);
     info->by_ext_name = statement_main.ColumnString(column++);
@@ -546,7 +546,7 @@
       continue;
 
     // Save the record.
-    url_chain->push_back(GURL(statement_chain.ColumnString(2)));
+    url_chain->push_back(GURL(statement_chain.ColumnStringView(2)));
   }
 
   QueryDownloadSlices(&info_map);
diff --git a/components/history/core/browser/top_sites_database.cc b/components/history/core/browser/top_sites_database.cc
index e60e950..e479b1a 100644
--- a/components/history/core/browser/top_sites_database.cc
+++ b/components/history/core/browser/top_sites_database.cc
@@ -303,7 +303,7 @@
 
   while (statement.Step()) {
     // Results are sorted by url_rank.
-    urls.emplace_back(GURL(statement.ColumnString(0)),
+    urls.emplace_back(GURL(statement.ColumnStringView(0)),
                       /*title=*/statement.ColumnString16(1));
   }
 
diff --git a/components/history/core/browser/visit_annotations_database.cc b/components/history/core/browser/visit_annotations_database.cc
index 4c085ed..a4a2e35 100644
--- a/components/history/core/browser/visit_annotations_database.cc
+++ b/components/history/core/browser/visit_annotations_database.cc
@@ -491,7 +491,7 @@
   out_content_annotations->related_searches =
       DeserializeFromStringColumn(statement.ColumnString(6));
   out_content_annotations->search_normalized_url =
-      GURL(statement.ColumnString(7));
+      GURL(statement.ColumnStringView(7));
   out_content_annotations->search_terms = statement.ColumnString16(8);
   out_content_annotations->alternative_title = statement.ColumnString(9);
   out_content_annotations->page_language = statement.ColumnString(10);
@@ -941,8 +941,8 @@
   cluster_visit.score = static_cast<float>(statement.ColumnDouble(2));
   cluster_visit.engagement_score =
       static_cast<float>(statement.ColumnDouble(3));
-  cluster_visit.url_for_deduping = GURL(statement.ColumnString(4));
-  cluster_visit.normalized_url = GURL(statement.ColumnString(5));
+  cluster_visit.url_for_deduping = GURL(statement.ColumnStringView(4));
+  cluster_visit.normalized_url = GURL(statement.ColumnStringView(5));
   cluster_visit.url_for_display = statement.ColumnString16(6);
   cluster_visit.interaction_state =
       InteractionStateFromInt(statement.ColumnInt(7));
diff --git a/components/history/core/browser/visit_database.cc b/components/history/core/browser/visit_database.cc
index d0390e88..14a4497 100644
--- a/components/history/core/browser/visit_database.cc
+++ b/components/history/core/browser/visit_database.cc
@@ -262,7 +262,7 @@
   visit->url_id = statement.ColumnInt64(1);
   visit->visit_time = statement.ColumnTime(2);
   visit->referring_visit = statement.ColumnInt64(3);
-  visit->external_referrer_url = GURL(statement.ColumnString(4));
+  visit->external_referrer_url = GURL(statement.ColumnStringView(4));
   visit->transition = PageTransitionFromIntWithFallback(statement.ColumnInt(5));
   visit->segment_id = statement.ColumnInt64(6);
   visit->visit_duration = statement.ColumnTimeDelta(7);
@@ -816,7 +816,7 @@
   if (to_visit)
     *to_visit = statement.ColumnInt64(0);
   if (to_url)
-    *to_url = GURL(statement.ColumnString(1));
+    *to_url = GURL(statement.ColumnStringView(1));
   return true;
 }
 
@@ -843,7 +843,7 @@
     if (!statement.Step())
       return false;
 
-    *from_url = GURL(statement.ColumnString(0));
+    *from_url = GURL(statement.ColumnStringView(0));
   }
   return true;
 }
@@ -1155,7 +1155,7 @@
   statement.BindTime(1, end_time);
   std::vector<DomainVisit> domain_visits;
   while (statement.Step()) {
-    const GURL url(statement.ColumnString(1));
+    const GURL url(statement.ColumnStringView(1));
     if (google_util::IsGoogleSearchUrl(url)) {
       domain_visits.emplace_back(url.host(), statement.ColumnTime(0));
     }
diff --git a/components/history/core/browser/visited_link_database.cc b/components/history/core/browser/visited_link_database.cc
index 5c44079e..132cc00 100644
--- a/components/history/core/browser/visited_link_database.cc
+++ b/components/history/core/browser/visited_link_database.cc
@@ -58,8 +58,8 @@
                                              VisitedLinkRow& i) {
   i.id = s.ColumnInt64(0);
   i.link_url_id = s.ColumnInt64(1);
-  i.top_level_url = GURL(s.ColumnString(2));
-  i.frame_url = GURL(s.ColumnString(3));
+  i.top_level_url = GURL(s.ColumnStringView(2));
+  i.frame_url = GURL(s.ColumnStringView(3));
   i.visit_count = s.ColumnInt(4);
 }
 
diff --git a/components/offline_pages/core/model/get_pages_task.cc b/components/offline_pages/core/model/get_pages_task.cc
index f40deae..0d83bc3 100644
--- a/components/offline_pages/core/model/get_pages_task.cc
+++ b/components/offline_pages/core/model/get_pages_task.cc
@@ -50,11 +50,11 @@
   item.system_download_id = statement.ColumnInt64(5);
   item.file_missing_time = statement.ColumnTime(6);
   item.client_id = OfflinePageClientId(statement);
-  item.url = GURL(statement.ColumnString(9));
+  item.url = GURL(statement.ColumnStringView(9));
   item.file_path = base::FilePath(
       store_utils::FromDatabaseFilePath(statement.ColumnString(10)));
   item.title = statement.ColumnString16(11);
-  item.original_url_if_different = GURL(statement.ColumnString(12));
+  item.original_url_if_different = GURL(statement.ColumnStringView(12));
   item.request_origin = statement.ColumnString(13);
   item.digest = statement.ColumnString(14);
   item.snippet = statement.ColumnString(15);
diff --git a/components/omnibox/browser/shortcuts_database.cc b/components/omnibox/browser/shortcuts_database.cc
index 579578db..0b99c05f 100644
--- a/components/omnibox/browser/shortcuts_database.cc
+++ b/components/omnibox/browser/shortcuts_database.cc
@@ -269,16 +269,16 @@
         ui::PageTransitionFromInt(page_transition_integer);
 
     Shortcut::MatchCore match_core =
-        Shortcut::MatchCore(s.ColumnString16(2),      // fill_into_edit
-                            GURL(s.ColumnString(3)),  // destination_url
-                            document_type,            // document_type
-                            s.ColumnString16(5),      // contents
-                            s.ColumnString(6),        // contents_class
-                            s.ColumnString16(7),      // description
-                            s.ColumnString(8),        // description_class
-                            transition,               // transition
-                            type,                     // type
-                            s.ColumnString16(11));    // keyword
+        Shortcut::MatchCore(s.ColumnString16(2),          // fill_into_edit
+                            GURL(s.ColumnStringView(3)),  // destination_url
+                            document_type,                // document_type
+                            s.ColumnString16(5),          // contents
+                            s.ColumnString(6),            // contents_class
+                            s.ColumnString16(7),          // description
+                            s.ColumnString(8),            // description_class
+                            transition,                   // transition
+                            type,                         // type
+                            s.ColumnString16(11));        // keyword
 
     std::stringstream debug_stream;
     debug_stream << "Contents: " << match_core.contents;
diff --git a/components/password_manager/core/browser/password_store/login_database.cc b/components/password_manager/core/browser/password_store/login_database.cc
index ba6266d..d84db886 100644
--- a/components/password_manager/core/browser/password_store/login_database.cc
+++ b/components/password_manager/core/browser/password_store/login_database.cc
@@ -967,7 +967,7 @@
 // and returns it.
 PasswordForm GetFormForRemoval(sql::Statement& statement) {
   PasswordForm form;
-  form.url = GURL(statement.ColumnString(COLUMN_ORIGIN_URL));
+  form.url = GURL(statement.ColumnStringView(COLUMN_ORIGIN_URL));
   form.username_element = statement.ColumnString16(COLUMN_USERNAME_ELEMENT);
   form.username_value = statement.ColumnString16(COLUMN_USERNAME_VALUE);
   form.password_element = statement.ColumnString16(COLUMN_PASSWORD_ELEMENT);
@@ -1764,9 +1764,9 @@
     autofill::DeserializeFormData(&form_data_iter, &form.form_data);
   }
   form.display_name = s.ColumnString16(COLUMN_DISPLAY_NAME);
-  form.icon_url = GURL(s.ColumnString(COLUMN_ICON_URL));
+  form.icon_url = GURL(s.ColumnStringView(COLUMN_ICON_URL));
   form.federation_origin =
-      url::SchemeHostPort(GURL(s.ColumnString(COLUMN_FEDERATION_URL)));
+      url::SchemeHostPort(GURL(s.ColumnStringView(COLUMN_FEDERATION_URL)));
   form.skip_zero_click = (s.ColumnInt(COLUMN_SKIP_ZERO_CLICK) > 0);
   form.generation_upload_status =
       static_cast<PasswordForm::GenerationUploadStatus>(
@@ -1783,7 +1783,7 @@
   form.sender_email = s.ColumnString16(COLUMN_SENDER_EMAIL);
   form.sender_name = s.ColumnString16(COLUMN_SENDER_NAME);
   form.sender_profile_image_url =
-      GURL(s.ColumnString(COLUMN_SENDER_PROFILE_IMAGE_URL));
+      GURL(s.ColumnStringView(COLUMN_SENDER_PROFILE_IMAGE_URL));
   form.date_received = s.ColumnTime(COLUMN_DATE_RECEIVED);
   form.sharing_notification_displayed =
       s.ColumnBool(COLUMN_SHARING_NOTIFICATION_DISPLAYED);
diff --git a/components/password_manager/core/browser/password_store/statistics_table.cc b/components/password_manager/core/browser/password_store/statistics_table.cc
index c54787f..6751806 100644
--- a/components/password_manager/core/browser/password_store/statistics_table.cc
+++ b/components/password_manager/core/browser/password_store/statistics_table.cc
@@ -29,7 +29,8 @@
   std::vector<InteractionsStats> results;
   while (s->Step()) {
     results.emplace_back();
-    results.back().origin_domain = GURL(s->ColumnString(COLUMN_ORIGIN_DOMAIN));
+    results.back().origin_domain =
+        GURL(s->ColumnStringView(COLUMN_ORIGIN_DOMAIN));
     results.back().username_value = s->ColumnString16(COLUMN_USERNAME);
     results.back().dismissal_count = s->ColumnInt(COLUMN_DISMISSALS);
     results.back().update_time = s->ColumnTime(COLUMN_DATE);
@@ -146,7 +147,7 @@
 
   std::set<std::string> origins;
   while (select_statement.Step()) {
-    if (!origin_filter.Run(GURL(select_statement.ColumnString(0)))) {
+    if (!origin_filter.Run(GURL(select_statement.ColumnStringView(0)))) {
       continue;
     }
 
diff --git a/components/search_engines/keyword_table.cc b/components/search_engines/keyword_table.cc
index 6386d4ba..5cdd8e3 100644
--- a/components/search_engines/keyword_table.cc
+++ b/components/search_engines/keyword_table.cc
@@ -592,8 +592,8 @@
   data.search_url_post_params = s.ColumnString(17);
   data.suggestions_url_post_params = s.ColumnString(18);
   data.image_url_post_params = s.ColumnString(19);
-  data.favicon_url = GURL(s.ColumnString(3));
-  data.originating_url = GURL(s.ColumnString(6));
+  data.favicon_url = GURL(s.ColumnStringView(3));
+  data.originating_url = GURL(s.ColumnStringView(6));
   data.safe_for_autoreplace = s.ColumnBool(5);
   data.input_encodings = base::SplitString(
       s.ColumnString(9), ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
diff --git a/components/segmentation_platform/internal/database/ukm_database_test_utils.cc b/components/segmentation_platform/internal/database/ukm_database_test_utils.cc
index 5f2f625b..8d47d74 100644
--- a/components/segmentation_platform/internal/database/ukm_database_test_utils.cc
+++ b/components/segmentation_platform/internal/database/ukm_database_test_utils.cc
@@ -103,7 +103,7 @@
   while (statement.Step()) {
     actual_rows.emplace_back(
         UrlMatcher{.url_id = static_cast<UrlId>(statement.ColumnInt64(0)),
-                   .url = GURL(statement.ColumnString(1))});
+                   .url = GURL(statement.ColumnStringView(1))});
   }
 
   EXPECT_THAT(actual_rows, UnorderedElementsAreArray(urls));
diff --git a/components/services/storage/shared_storage/shared_storage_database.cc b/components/services/storage/shared_storage/shared_storage_database.cc
index 9fd2f7f..31852f5d 100644
--- a/components/services/storage/shared_storage/shared_storage_database.cc
+++ b/components/services/storage/shared_storage/shared_storage_database.cc
@@ -911,7 +911,7 @@
   while (statement.Step()) {
     fetched_origin_infos.emplace_back(mojom::StorageUsageInfo::New(
         blink::StorageKey::CreateFirstParty(
-            url::Origin::Create(GURL(statement.ColumnString(0)))),
+            url::Origin::Create(GURL(statement.ColumnStringView(0)))),
         statement.ColumnInt64(2), statement.ColumnTime(1)));
   }
 
diff --git a/components/services/storage/shared_storage/shared_storage_database_migrations_unittest.cc b/components/services/storage/shared_storage/shared_storage_database_migrations_unittest.cc
index f176e4e8..dcd126c 100644
--- a/components/services/storage/shared_storage/shared_storage_database_migrations_unittest.cc
+++ b/components/services/storage/shared_storage/shared_storage_database_migrations_unittest.cc
@@ -446,7 +446,7 @@
 
     while (select_statement.Step()) {
       premigration_values[select_statement.ColumnInt64(0)] = std::make_tuple(
-          url::Origin::Create(GURL(select_statement.ColumnString(1))),
+          url::Origin::Create(GURL(select_statement.ColumnStringView(1))),
           select_statement.ColumnTime(2), select_statement.ColumnDouble(3));
     }
   }
diff --git a/content/browser/aggregation_service/aggregation_service_storage_sql.cc b/content/browser/aggregation_service/aggregation_service_storage_sql.cc
index f03b505..ea1b67f 100644
--- a/content/browser/aggregation_service/aggregation_service_storage_sql.cc
+++ b/content/browser/aggregation_service/aggregation_service_storage_sql.cc
@@ -760,7 +760,7 @@
 
   while (statement.Step()) {
     url::Origin reporting_origin =
-        url::Origin::Create(GURL(statement.ColumnString(0)));
+        url::Origin::Create(GURL(statement.ColumnStringView(0)));
     if (reporting_origin.opaque()) {
       continue;
     }
@@ -823,7 +823,7 @@
 
   while (select_requests_to_delete_statement.Step()) {
     url::Origin reporting_origin = url::Origin::Create(
-        GURL(select_requests_to_delete_statement.ColumnString(1)));
+        GURL(select_requests_to_delete_statement.ColumnStringView(1)));
     if (filter.is_null() ||
         filter.Run(blink::StorageKey::CreateFirstParty(reporting_origin))) {
       if (!DeleteRequestImpl(
diff --git a/net/extras/sqlite/sqlite_persistent_reporting_and_nel_store.cc b/net/extras/sqlite/sqlite_persistent_reporting_and_nel_store.cc
index c88838c20..9e56279 100644
--- a/net/extras/sqlite/sqlite_persistent_reporting_and_nel_store.cc
+++ b/net/extras/sqlite/sqlite_persistent_reporting_and_nel_store.cc
@@ -1403,7 +1403,7 @@
         /* group_name = */ endpoints_statement.ColumnString(4),
         ReportingTargetType::kDeveloper);
     ReportingEndpoint::EndpointInfo endpoint_info;
-    endpoint_info.url = GURL(endpoints_statement.ColumnString(5));
+    endpoint_info.url = GURL(endpoints_statement.ColumnStringView(5));
     endpoint_info.priority = endpoints_statement.ColumnInt(6);
     endpoint_info.weight = endpoints_statement.ColumnInt(7);