| // Copyright 2017 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #import "ios/web/navigation/navigation_item_impl_list.h" | 
 |  | 
 | #import "ios/web/navigation/navigation_item_impl.h" | 
 |  | 
 | #if !defined(__has_feature) || !__has_feature(objc_arc) | 
 | #error "This file requires ARC support." | 
 | #endif | 
 |  | 
 | namespace web { | 
 |  | 
 | ScopedNavigationItemImplList CreateScopedNavigationItemImplList( | 
 |     ScopedNavigationItemList scoped_item_list) { | 
 |   ScopedNavigationItemImplList list(scoped_item_list.size()); | 
 |   for (size_t index = 0; index < scoped_item_list.size(); ++index) { | 
 |     std::unique_ptr<NavigationItemImpl> scoped_item_impl( | 
 |         static_cast<NavigationItemImpl*>(scoped_item_list[index].release())); | 
 |     list[index] = std::move(scoped_item_impl); | 
 |   } | 
 |   return list; | 
 | } | 
 |  | 
 | NavigationItemList CreateNavigationItemList( | 
 |     const ScopedNavigationItemImplList& scoped_item_list) { | 
 |   NavigationItemList list(scoped_item_list.size()); | 
 |   for (size_t index = 0; index < scoped_item_list.size(); ++index) { | 
 |     list[index] = scoped_item_list[index].get(); | 
 |   } | 
 |   return list; | 
 | } | 
 |  | 
 | }  // namespace web |