Import cobalt 25.master.0.1034729
diff --git a/ui/gfx/bidi_line_iterator.cc b/ui/gfx/bidi_line_iterator.cc
index cda076a..231392a 100644
--- a/ui/gfx/bidi_line_iterator.cc
+++ b/ui/gfx/bidi_line_iterator.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright 2011 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -28,24 +28,18 @@
 
 }  // namespace
 
-BiDiLineIterator::BiDiLineIterator() : bidi_(nullptr) {}
-
-BiDiLineIterator::~BiDiLineIterator() {
-  if (bidi_) {
-    ubidi_close(bidi_);
-    bidi_ = nullptr;
-  }
-}
+BiDiLineIterator::BiDiLineIterator() = default;
+BiDiLineIterator::~BiDiLineIterator() = default;
 
 bool BiDiLineIterator::Open(const std::u16string& text,
                             base::i18n::TextDirection direction) {
   DCHECK(!bidi_);
   UErrorCode error = U_ZERO_ERROR;
-  bidi_ = ubidi_openSized(static_cast<int>(text.length()), 0, &error);
+  bidi_.reset(ubidi_openSized(static_cast<int>(text.length()), 0, &error));
   if (U_FAILURE(error))
     return false;
 
-  ubidi_setPara(bidi_, text.data(), static_cast<int>(text.length()),
+  ubidi_setPara(bidi_.get(), text.data(), static_cast<int>(text.length()),
                 GetParagraphLevelForDirection(direction), nullptr, &error);
   return (U_SUCCESS(error));
 }
@@ -53,7 +47,7 @@
 int BiDiLineIterator::CountRuns() const {
   DCHECK(bidi_ != nullptr);
   UErrorCode error = U_ZERO_ERROR;
-  const int runs = ubidi_countRuns(bidi_, &error);
+  const int runs = ubidi_countRuns(bidi_.get(), &error);
   return U_SUCCESS(error) ? runs : 0;
 }
 
@@ -61,14 +55,14 @@
                                               int* start,
                                               int* length) const {
   DCHECK(bidi_ != nullptr);
-  return ubidi_getVisualRun(bidi_, index, start, length);
+  return ubidi_getVisualRun(bidi_.get(), index, start, length);
 }
 
 void BiDiLineIterator::GetLogicalRun(int start,
                                      int* end,
                                      UBiDiLevel* level) const {
   DCHECK(bidi_ != nullptr);
-  ubidi_getLogicalRun(bidi_, start, end, level);
+  ubidi_getLogicalRun(bidi_.get(), start, end, level);
 }
 
 }  // namespace gfx