Use rvalue reference instead of extensions::ListBuilder::Pass()

C++ 11 enables rvalue reference with std::move() so that removing legacy ListBuilder::Pass() stuff.

TEST=unit_tests
BUG=563649
[email protected]

Review URL: https://codereview.chromium.org/1497753002

Cr-Commit-Position: refs/heads/master@{#363970}
diff --git a/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc b/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc
index 534d3af..9efaba6 100644
--- a/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc
+++ b/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc
@@ -464,50 +464,48 @@
 
   // Foo.app can handle "text/plain" and "text/html".
   extensions::ExtensionBuilder foo_app;
-  foo_app.SetManifest(extensions::DictionaryBuilder()
-                      .Set("name", "Foo")
-                      .Set("version", "1.0.0")
-                      .Set("manifest_version", 2)
-                      .Set("app",
-                           extensions::DictionaryBuilder()
-                           .Set("background",
-                                extensions::DictionaryBuilder()
-                                .Set("scripts",
-                                     extensions::ListBuilder()
-                                     .Append("background.js"))))
-                      .Set("file_handlers",
-                           extensions::DictionaryBuilder()
-                           .Set("text",
-                                extensions::DictionaryBuilder()
-                                .Set("title", "Text")
-                                .Set("types",
-                                     extensions::ListBuilder()
-                                     .Append("text/plain")
-                                     .Append("text/html")))));
+  foo_app.SetManifest(
+      extensions::DictionaryBuilder()
+          .Set("name", "Foo")
+          .Set("version", "1.0.0")
+          .Set("manifest_version", 2)
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
+          .Set("file_handlers",
+               extensions::DictionaryBuilder().Set(
+                   "text",
+                   extensions::DictionaryBuilder()
+                       .Set("title", "Text")
+                       .Set("types", std::move(extensions::ListBuilder()
+                                                   .Append("text/plain")
+                                                   .Append("text/html"))))));
   foo_app.SetID(kFooId);
   extension_service_->AddExtension(foo_app.Build().get());
 
   // Bar.app can only handle "text/plain".
   extensions::ExtensionBuilder bar_app;
-  bar_app.SetManifest(extensions::DictionaryBuilder()
-                      .Set("name", "Bar")
-                      .Set("version", "1.0.0")
-                      .Set("manifest_version", 2)
-                      .Set("app",
-                           extensions::DictionaryBuilder()
-                           .Set("background",
-                                extensions::DictionaryBuilder()
-                                .Set("scripts",
-                                     extensions::ListBuilder()
-                                     .Append("background.js"))))
-                      .Set("file_handlers",
-                           extensions::DictionaryBuilder()
-                           .Set("text",
-                                extensions::DictionaryBuilder()
-                                .Set("title", "Text")
-                                .Set("types",
-                                     extensions::ListBuilder()
-                                     .Append("text/plain")))));
+  bar_app.SetManifest(
+      extensions::DictionaryBuilder()
+          .Set("name", "Bar")
+          .Set("version", "1.0.0")
+          .Set("manifest_version", 2)
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
+          .Set("file_handlers",
+               extensions::DictionaryBuilder().Set(
+                   "text",
+                   extensions::DictionaryBuilder()
+                       .Set("title", "Text")
+                       .Set("types", std::move(extensions::ListBuilder().Append(
+                                         "text/plain"))))));
   bar_app.SetID(kBarId);
   extension_service_->AddExtension(bar_app.Build().get());
 
@@ -574,17 +572,17 @@
           .Set("name", "Foo")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("permissions",
-               extensions::ListBuilder().Append("fileBrowserHandler"))
-          .Set(
-              "file_browser_handlers",
-              extensions::ListBuilder().Append(
-                  extensions::DictionaryBuilder()
-                      .Set("id", "open")
-                      .Set("default_title", "open")
-                      .Set("file_filters", extensions::ListBuilder()
-                                               .Append("filesystem:*.txt")
-                                               .Append("filesystem:*.html")))));
+          .Set("permissions", std::move(extensions::ListBuilder().Append(
+                                  "fileBrowserHandler")))
+          .Set("file_browser_handlers",
+               std::move(extensions::ListBuilder().Append(
+                   extensions::DictionaryBuilder()
+                       .Set("id", "open")
+                       .Set("default_title", "open")
+                       .Set("file_filters",
+                            std::move(extensions::ListBuilder()
+                                          .Append("filesystem:*.txt")
+                                          .Append("filesystem:*.html")))))));
   foo_app.SetID(kFooId);
   extension_service_->AddExtension(foo_app.Build().get());
 
@@ -595,15 +593,16 @@
           .Set("name", "Bar")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("permissions",
-               extensions::ListBuilder().Append("fileBrowserHandler"))
+          .Set("permissions", std::move(extensions::ListBuilder().Append(
+                                  "fileBrowserHandler")))
           .Set("file_browser_handlers",
-               extensions::ListBuilder().Append(
+               std::move(extensions::ListBuilder().Append(
                    extensions::DictionaryBuilder()
                        .Set("id", "open")
                        .Set("default_title", "open")
-                       .Set("file_filters", extensions::ListBuilder().Append(
-                                                "filesystem:*.txt")))));
+                       .Set("file_filters",
+                            std::move(extensions::ListBuilder().Append(
+                                "filesystem:*.txt")))))));
   bar_app.SetID(kBarId);
   extension_service_->AddExtension(bar_app.Build().get());
 
@@ -652,25 +651,24 @@
   // Foo.app can handle "text/plain".
   // This is a packaged app (file handler).
   extensions::ExtensionBuilder foo_app;
-  foo_app.SetManifest(extensions::DictionaryBuilder()
-                      .Set("name", "Foo")
-                      .Set("version", "1.0.0")
-                      .Set("manifest_version", 2)
-                      .Set("app",
-                           extensions::DictionaryBuilder()
-                           .Set("background",
-                                extensions::DictionaryBuilder()
-                                .Set("scripts",
-                                     extensions::ListBuilder()
-                                     .Append("background.js"))))
-                      .Set("file_handlers",
-                           extensions::DictionaryBuilder()
-                           .Set("text",
-                                extensions::DictionaryBuilder()
-                                .Set("title", "Text")
-                                .Set("types",
-                                     extensions::ListBuilder()
-                                     .Append("text/plain")))));
+  foo_app.SetManifest(
+      extensions::DictionaryBuilder()
+          .Set("name", "Foo")
+          .Set("version", "1.0.0")
+          .Set("manifest_version", 2)
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
+          .Set("file_handlers",
+               extensions::DictionaryBuilder().Set(
+                   "text",
+                   extensions::DictionaryBuilder()
+                       .Set("title", "Text")
+                       .Set("types", std::move(extensions::ListBuilder().Append(
+                                         "text/plain"))))));
   foo_app.SetID(kFooId);
   extension_service_->AddExtension(foo_app.Build().get());
 
@@ -682,15 +680,16 @@
           .Set("name", "Bar")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("permissions",
-               extensions::ListBuilder().Append("fileBrowserHandler"))
+          .Set("permissions", std::move(extensions::ListBuilder().Append(
+                                  "fileBrowserHandler")))
           .Set("file_browser_handlers",
-               extensions::ListBuilder().Append(
+               std::move(extensions::ListBuilder().Append(
                    extensions::DictionaryBuilder()
                        .Set("id", "open")
                        .Set("default_title", "open")
-                       .Set("file_filters", extensions::ListBuilder().Append(
-                                                "filesystem:*.txt")))));
+                       .Set("file_filters",
+                            std::move(extensions::ListBuilder().Append(
+                                "filesystem:*.txt")))))));
   bar_app.SetID(kBarId);
   extension_service_->AddExtension(bar_app.Build().get());
 
@@ -773,15 +772,16 @@
           .Set("name", "Bar")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("permissions",
-               extensions::ListBuilder().Append("fileBrowserHandler"))
+          .Set("permissions", std::move(extensions::ListBuilder().Append(
+                                  "fileBrowserHandler")))
           .Set("file_browser_handlers",
-               extensions::ListBuilder().Append(
+               std::move(extensions::ListBuilder().Append(
                    extensions::DictionaryBuilder()
                        .Set("id", "open")
                        .Set("default_title", "open")
-                       .Set("file_filters", extensions::ListBuilder().Append(
-                                                "filesystem:*.gdoc")))));
+                       .Set("file_filters",
+                            std::move(extensions::ListBuilder().Append(
+                                "filesystem:*.gdoc")))))));
   bar_app.SetID(kBarId);
   extension_service_->AddExtension(bar_app.Build().get());
 
@@ -794,15 +794,16 @@
           .Set("name", "Files")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("permissions",
-               extensions::ListBuilder().Append("fileBrowserHandler"))
+          .Set("permissions", std::move(extensions::ListBuilder().Append(
+                                  "fileBrowserHandler")))
           .Set("file_browser_handlers",
-               extensions::ListBuilder().Append(
+               std::move(extensions::ListBuilder().Append(
                    extensions::DictionaryBuilder()
                        .Set("id", "open")
                        .Set("default_title", "open")
-                       .Set("file_filters", extensions::ListBuilder().Append(
-                                                "filesystem:*.gdoc")))));
+                       .Set("file_filters",
+                            std::move(extensions::ListBuilder().Append(
+                                "filesystem:*.gdoc")))))));
   files_app.SetID(kFileManagerAppId);
   extension_service_->AddExtension(files_app.Build().get());
 
@@ -837,87 +838,99 @@
 
   // Foo app provides file handler for text/plain and all file types.
   extensions::ExtensionBuilder foo_app;
-  foo_app.SetManifest(extensions::DictionaryBuilder()
-                      .Set("name", "Foo")
-                      .Set("version", "1.0.0")
-                      .Set("manifest_version", 2)
-                      .Set("app", extensions::DictionaryBuilder()
-                           .Set("background", extensions::DictionaryBuilder()
-                                .Set("scripts", extensions::ListBuilder()
-                                    .Append("background.js"))))
-                      .Set("file_handlers",
-                           extensions::DictionaryBuilder()
-                           .Set("any",
-                                extensions::DictionaryBuilder()
-                                .Set("types", extensions::ListBuilder()
-                                     .Append("*/*")))
-                           .Set("text",
-                                extensions::DictionaryBuilder()
-                                .Set("types", extensions::ListBuilder()
-                                     .Append("text/plain")))));
+  foo_app.SetManifest(
+      extensions::DictionaryBuilder()
+          .Set("name", "Foo")
+          .Set("version", "1.0.0")
+          .Set("manifest_version", 2)
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
+          .Set("file_handlers",
+               extensions::DictionaryBuilder()
+                   .Set("any",
+                        extensions::DictionaryBuilder().Set(
+                            "types",
+                            std::move(extensions::ListBuilder().Append("*/*"))))
+                   .Set("text",
+                        extensions::DictionaryBuilder().Set(
+                            "types", std::move(extensions::ListBuilder().Append(
+                                         "text/plain"))))));
   foo_app.SetID(kFooId);
   extension_service_->AddExtension(foo_app.Build().get());
 
   // Bar app provides file handler for .txt and not provide generic file
   // handler.
   extensions::ExtensionBuilder bar_app;
-  bar_app.SetManifest(extensions::DictionaryBuilder()
-                      .Set("name", "Bar")
-                      .Set("version", "1.0.0")
-                      .Set("manifest_version", 2)
-                      .Set("app", extensions::DictionaryBuilder()
-                           .Set("background", extensions::DictionaryBuilder()
-                                .Set("scripts", extensions::ListBuilder()
-                                    .Append("background.js"))))
-                      .Set("file_handlers",
-                           extensions::DictionaryBuilder()
-                           .Set("text",
-                                extensions::DictionaryBuilder()
-                                .Set("extensions", extensions::ListBuilder()
-                                     .Append("txt")))));
+  bar_app.SetManifest(
+      extensions::DictionaryBuilder()
+          .Set("name", "Bar")
+          .Set("version", "1.0.0")
+          .Set("manifest_version", 2)
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
+          .Set("file_handlers",
+               extensions::DictionaryBuilder().Set(
+                   "text",
+                   extensions::DictionaryBuilder().Set(
+                       "extensions",
+                       std::move(extensions::ListBuilder().Append("txt"))))));
   bar_app.SetID(kBarId);
   extension_service_->AddExtension(bar_app.Build().get());
 
   // Baz app provides file handler for all extensions and images.
   extensions::ExtensionBuilder baz_app;
-  baz_app.SetManifest(extensions::DictionaryBuilder()
-                      .Set("name", "Baz")
-                      .Set("version", "1.0.0")
-                      .Set("manifest_version", 2)
-                      .Set("app", extensions::DictionaryBuilder()
-                           .Set("background", extensions::DictionaryBuilder()
-                                .Set("scripts", extensions::ListBuilder()
-                                    .Append("background.js"))))
-                      .Set("file_handlers",
-                           extensions::DictionaryBuilder()
-                           .Set("any",
-                                extensions::DictionaryBuilder()
-                                .Set("extensions", extensions::ListBuilder()
-                                     .Append("*")
-                                     .Append("bar")))
-                           .Set("image",
-                                extensions::DictionaryBuilder()
-                                .Set("types", extensions::ListBuilder()
-                                     .Append("image/*")))));
+  baz_app.SetManifest(
+      extensions::DictionaryBuilder()
+          .Set("name", "Baz")
+          .Set("version", "1.0.0")
+          .Set("manifest_version", 2)
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
+          .Set("file_handlers",
+               extensions::DictionaryBuilder()
+                   .Set("any",
+                        extensions::DictionaryBuilder().Set(
+                            "extensions", std::move(extensions::ListBuilder()
+                                                        .Append("*")
+                                                        .Append("bar"))))
+                   .Set("image",
+                        extensions::DictionaryBuilder().Set(
+                            "types", std::move(extensions::ListBuilder().Append(
+                                         "image/*"))))));
   baz_app.SetID(kBazId);
   extension_service_->AddExtension(baz_app.Build().get());
 
   // Qux app provides file handler for all types.
   extensions::ExtensionBuilder qux_app;
-  qux_app.SetManifest(extensions::DictionaryBuilder()
-                      .Set("name", "Qux")
-                      .Set("version", "1.0.0")
-                      .Set("manifest_version", 2)
-                      .Set("app", extensions::DictionaryBuilder()
-                           .Set("background", extensions::DictionaryBuilder()
-                                .Set("scripts", extensions::ListBuilder()
-                                    .Append("background.js"))))
-                      .Set("file_handlers",
-                           extensions::DictionaryBuilder()
-                           .Set("any",
-                                extensions::DictionaryBuilder()
-                                .Set("types", extensions::ListBuilder()
-                                     .Append("*")))));
+  qux_app.SetManifest(
+      extensions::DictionaryBuilder()
+          .Set("name", "Qux")
+          .Set("version", "1.0.0")
+          .Set("manifest_version", 2)
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
+          .Set("file_handlers",
+               extensions::DictionaryBuilder().Set(
+                   "any",
+                   extensions::DictionaryBuilder().Set(
+                       "types",
+                       std::move(extensions::ListBuilder().Append("*"))))));
   qux_app.SetID(kQuxId);
   extension_service_->AddExtension(qux_app.Build().get());
 
diff --git a/chrome/browser/chromeos/power/extension_event_observer_unittest.cc b/chrome/browser/chromeos/power/extension_event_observer_unittest.cc
index 06fff499..5858c5d 100644
--- a/chrome/browser/chromeos/power/extension_event_observer_unittest.cc
+++ b/chrome/browser/chromeos/power/extension_event_observer_unittest.cc
@@ -89,18 +89,20 @@
     scoped_refptr<extensions::Extension> app =
         extensions::ExtensionBuilder()
             .SetManifest(
-                 extensions::DictionaryBuilder()
-                     .Set("name", name)
-                     .Set("version", "1.0.0")
-                     .Set("manifest_version", 2)
-                     .Set("app",
-                          extensions::DictionaryBuilder().Set(
-                              "background",
-                              extensions::DictionaryBuilder().Set(
-                                  "scripts", extensions::ListBuilder().Append(
-                                                 "background.js"))))
-                     .Set("permissions", extensions::ListBuilder().Append(
-                                             uses_gcm ? "gcm" : "")))
+                extensions::DictionaryBuilder()
+                    .Set("name", name)
+                    .Set("version", "1.0.0")
+                    .Set("manifest_version", 2)
+                    .Set("app",
+                         extensions::DictionaryBuilder().Set(
+                             "background",
+                             extensions::DictionaryBuilder().Set(
+                                 "scripts",
+                                 std::move(extensions::ListBuilder().Append(
+                                     "background.js")))))
+                    .Set("permissions",
+                         std::move(extensions::ListBuilder().Append(
+                             uses_gcm ? "gcm" : ""))))
             .Build();
 
     created_apps_.push_back(app);
diff --git a/chrome/browser/chromeos/power/renderer_freezer_unittest.cc b/chrome/browser/chromeos/power/renderer_freezer_unittest.cc
index 953f8af..0d937c1 100644
--- a/chrome/browser/chromeos/power/renderer_freezer_unittest.cc
+++ b/chrome/browser/chromeos/power/renderer_freezer_unittest.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/chromeos/power/renderer_freezer.h"
 
 #include <string>
+#include <utility>
 
 #include "base/command_line.h"
 #include "base/memory/ref_counted.h"
@@ -310,20 +311,20 @@
   // First build the GCM extension.
   scoped_refptr<extensions::Extension> gcm_app =
       extensions::ExtensionBuilder()
-          .SetManifest(extensions::DictionaryBuilder()
-                       .Set("name", "GCM App")
-                       .Set("version", "1.0.0")
-                       .Set("manifest_version", 2)
-                       .Set("app",
-                            extensions::DictionaryBuilder()
-                            .Set("background",
-                                 extensions::DictionaryBuilder()
-                                 .Set("scripts",
-                                      extensions::ListBuilder()
-                                      .Append("background.js"))))
-                       .Set("permissions",
-                            extensions::ListBuilder()
-                            .Append("gcm")))
+          .SetManifest(
+              extensions::DictionaryBuilder()
+                  .Set("name", "GCM App")
+                  .Set("version", "1.0.0")
+                  .Set("manifest_version", 2)
+                  .Set("app",
+                       extensions::DictionaryBuilder().Set(
+                           "background",
+                           extensions::DictionaryBuilder().Set(
+                               "scripts",
+                               std::move(extensions::ListBuilder().Append(
+                                   "background.js")))))
+                  .Set("permissions",
+                       std::move(extensions::ListBuilder().Append("gcm"))))
           .Build();
 
   // Now install it and give it a renderer.
@@ -343,17 +344,18 @@
   // First build the extension.
   scoped_refptr<extensions::Extension> background_app =
       extensions::ExtensionBuilder()
-          .SetManifest(extensions::DictionaryBuilder()
-                       .Set("name", "Background App")
-                       .Set("version", "1.0.0")
-                       .Set("manifest_version", 2)
-                       .Set("app",
-                            extensions::DictionaryBuilder()
-                            .Set("background",
-                                 extensions::DictionaryBuilder()
-                                 .Set("scripts",
-                                      extensions::ListBuilder()
-                                      .Append("background.js")))))
+          .SetManifest(
+              extensions::DictionaryBuilder()
+                  .Set("name", "Background App")
+                  .Set("version", "1.0.0")
+                  .Set("manifest_version", 2)
+                  .Set("app",
+                       extensions::DictionaryBuilder().Set(
+                           "background",
+                           extensions::DictionaryBuilder().Set(
+                               "scripts",
+                               std::move(extensions::ListBuilder().Append(
+                                   "background.js"))))))
           .Build();
 
   // Now install it and give it a renderer.
diff --git a/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc b/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc
index 2aa8e424..792ad86 100644
--- a/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc
+++ b/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/chromeos/printer_detector/printer_detector.h"
 
+#include <utility>
+
 #include "base/memory/scoped_ptr.h"
 #include "base/run_loop.h"
 #include "base/strings/stringprintf.h"
@@ -127,22 +129,23 @@
 
   // Creates a test extension with the provided permissions.
   scoped_refptr<extensions::Extension> CreateTestExtension(
-      ListBuilder& permissions_builder,
+      ListBuilder permissions_builder,
       DictionaryBuilder& usb_printers_builder) {
     return extensions::ExtensionBuilder()
         .SetID("fake_extension_id")
         .SetManifest(
-             DictionaryBuilder()
-                 .Set("name", "Printer provider extension")
-                 .Set("manifest_version", 2)
-                 .Set("version", "1.0")
-                 // Needed to enable usb API.
-                 .Set("app", DictionaryBuilder().Set(
-                                 "background",
-                                 DictionaryBuilder().Set(
-                                     "scripts", ListBuilder().Append("bg.js"))))
-                 .Set("permissions", permissions_builder)
-                 .Set("usb_printers", usb_printers_builder))
+            DictionaryBuilder()
+                .Set("name", "Printer provider extension")
+                .Set("manifest_version", 2)
+                .Set("version", "1.0")
+                // Needed to enable usb API.
+                .Set("app", DictionaryBuilder().Set(
+                                "background",
+                                DictionaryBuilder().Set(
+                                    "scripts",
+                                    std::move(ListBuilder().Append("bg.js")))))
+                .Set("permissions", std::move(permissions_builder))
+                .Set("usb_printers", usb_printers_builder))
         .Build();
   }
 
@@ -171,15 +174,15 @@
 
 TEST_F(PrinterDetectorAppSearchEnabledTest, ShowAppFoundNotification) {
   scoped_refptr<extensions::Extension> extension = CreateTestExtension(
-      ListBuilder()
-          .Append("usb")
-          .Append("printerProvider")
-          .Append(DictionaryBuilder().Set(
-              "usbDevices", ListBuilder().Append(DictionaryBuilder()
-                                                     .Set("vendorId", 123)
-                                                     .Set("productId", 456))))
-          .Pass(),
-      DictionaryBuilder().Set("filters", ListBuilder().Pass()).Pass());
+      std::move(ListBuilder()
+                    .Append("usb")
+                    .Append("printerProvider")
+                    .Append(DictionaryBuilder().Set(
+                        "usbDevices", std::move(ListBuilder().Append(
+                                          DictionaryBuilder()
+                                              .Set("vendorId", 123)
+                                              .Set("productId", 456)))))),
+      DictionaryBuilder().Set("filters", ListBuilder()).Pass());
   ASSERT_TRUE(extensions::ExtensionRegistry::Get(profile_.get())
                   ->AddEnabled(extension));
 
@@ -197,14 +200,12 @@
 TEST_F(PrinterDetectorAppSearchEnabledTest,
        UsbHandlerExists_NotPrinterProvider) {
   scoped_refptr<extensions::Extension> extension = CreateTestExtension(
-      ListBuilder()
-          .Append("usb")
-          .Append(DictionaryBuilder().Set(
-              "usbDevices", ListBuilder().Append(DictionaryBuilder()
-                                                     .Set("vendorId", 123)
-                                                     .Set("productId", 756))))
-          .Pass(),
-      DictionaryBuilder().Set("filters", ListBuilder().Pass()).Pass());
+      std::move(ListBuilder().Append("usb").Append(DictionaryBuilder().Set(
+          "usbDevices",
+          std::move(ListBuilder().Append(DictionaryBuilder()
+                                             .Set("vendorId", 123)
+                                             .Set("productId", 756)))))),
+      DictionaryBuilder().Set("filters", ListBuilder()).Pass());
   ASSERT_TRUE(extensions::ExtensionRegistry::Get(profile_.get())
                   ->AddEnabled(extension));
 
@@ -222,15 +223,15 @@
 TEST_F(PrinterDetectorAppSearchEnabledTest,
        PrinterProvider_DifferentUsbProductId) {
   scoped_refptr<extensions::Extension> extension = CreateTestExtension(
-      ListBuilder()
-          .Append("usb")
-          .Append("printerProvider")
-          .Append(DictionaryBuilder().Set(
-              "usbDevices", ListBuilder().Append(DictionaryBuilder()
-                                                     .Set("vendorId", 123)
-                                                     .Set("productId", 001))))
-          .Pass(),
-      DictionaryBuilder().Set("filters", ListBuilder().Pass()).Pass());
+      std::move(ListBuilder()
+                    .Append("usb")
+                    .Append("printerProvider")
+                    .Append(DictionaryBuilder().Set(
+                        "usbDevices", std::move(ListBuilder().Append(
+                                          DictionaryBuilder()
+                                              .Set("vendorId", 123)
+                                              .Set("productId", 001)))))),
+      DictionaryBuilder().Set("filters", ListBuilder()).Pass());
   ASSERT_TRUE(extensions::ExtensionRegistry::Get(profile_.get())
                   ->AddEnabled(extension));
 
@@ -248,11 +249,11 @@
 TEST_F(PrinterDetectorAppSearchEnabledTest,
        PrinterProvider_UsbPrinters_NotFound) {
   scoped_refptr<extensions::Extension> extension = CreateTestExtension(
-      ListBuilder().Append("usb").Append("printerProvider").Pass(),
-      DictionaryBuilder().Set(
-          "filters",
-          ListBuilder().Append(
-              DictionaryBuilder().Set("vendorId", 123).Set("productId", 001))));
+      std::move(ListBuilder().Append("usb").Append("printerProvider")),
+      DictionaryBuilder().Set("filters", std::move(ListBuilder().Append(
+                                             DictionaryBuilder()
+                                                 .Set("vendorId", 123)
+                                                 .Set("productId", 001)))));
   ASSERT_TRUE(extensions::ExtensionRegistry::Get(profile_.get())
                   ->AddEnabled(extension));
 
@@ -270,11 +271,11 @@
 TEST_F(PrinterDetectorAppSearchEnabledTest,
        PrinterProvider_UsbPrinters_WithProductId) {
   scoped_refptr<extensions::Extension> extension = CreateTestExtension(
-      ListBuilder().Append("usb").Append("printerProvider").Pass(),
-      DictionaryBuilder().Set(
-          "filters",
-          ListBuilder().Append(
-              DictionaryBuilder().Set("vendorId", 123).Set("productId", 456))));
+      std::move(ListBuilder().Append("usb").Append("printerProvider")),
+      DictionaryBuilder().Set("filters", std::move(ListBuilder().Append(
+                                             DictionaryBuilder()
+                                                 .Set("vendorId", 123)
+                                                 .Set("productId", 456)))));
   ASSERT_TRUE(extensions::ExtensionRegistry::Get(profile_.get())
                   ->AddEnabled(extension));
 
@@ -292,12 +293,12 @@
 TEST_F(PrinterDetectorAppSearchEnabledTest,
        PrinterProvider_UsbPrinters_WithInterfaceClass) {
   scoped_refptr<extensions::Extension> extension = CreateTestExtension(
-      ListBuilder().Append("usb").Append("printerProvider").Pass(),
+      std::move(ListBuilder().Append("usb").Append("printerProvider")),
       DictionaryBuilder().Set(
-          "filters", ListBuilder().Append(
+          "filters", std::move(ListBuilder().Append(
                          DictionaryBuilder()
                              .Set("vendorId", 123)
-                             .Set("interfaceClass", kPrinterInterfaceClass))));
+                             .Set("interfaceClass", kPrinterInterfaceClass)))));
   ASSERT_TRUE(extensions::ExtensionRegistry::Get(profile_.get())
                   ->AddEnabled(extension));
 
@@ -314,12 +315,12 @@
 
 TEST_F(PrinterDetectorAppSearchEnabledTest, IgnoreNonPrinters) {
   scoped_refptr<extensions::Extension> extension = CreateTestExtension(
-      ListBuilder().Append("usb").Append("printerProvider").Pass(),
+      std::move(ListBuilder().Append("usb").Append("printerProvider")),
       DictionaryBuilder().Set(
-          "filters", ListBuilder().Append(
+          "filters", std::move(ListBuilder().Append(
                          DictionaryBuilder()
                              .Set("vendorId", 123)
-                             .Set("interfaceClass", kPrinterInterfaceClass))));
+                             .Set("interfaceClass", kPrinterInterfaceClass)))));
   ASSERT_TRUE(extensions::ExtensionRegistry::Get(profile_.get())
                   ->AddEnabled(extension));
 
diff --git a/chrome/browser/extensions/active_script_controller_unittest.cc b/chrome/browser/extensions/active_script_controller_unittest.cc
index 3d21d5c..4c16930 100644
--- a/chrome/browser/extensions/active_script_controller_unittest.cc
+++ b/chrome/browser/extensions/active_script_controller_unittest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <map>
+#include <utility>
 
 #include "base/values.h"
 #include "chrome/browser/extensions/active_script_controller.h"
@@ -99,18 +100,18 @@
 
 const Extension* ActiveScriptControllerUnitTest::AddExtension() {
   const std::string kId = crx_file::id_util::GenerateId("all_hosts_extension");
-  extension_ = ExtensionBuilder()
-                   .SetManifest(
-                       DictionaryBuilder()
+  extension_ =
+      ExtensionBuilder()
+          .SetManifest(DictionaryBuilder()
                            .Set("name", "all_hosts_extension")
                            .Set("description", "an extension")
                            .Set("manifest_version", 2)
                            .Set("version", "1.0.0")
-                           .Set("permissions",
-                                ListBuilder().Append(kAllHostsPermission)))
-                   .SetLocation(Manifest::INTERNAL)
-                   .SetID(kId)
-                   .Build();
+                           .Set("permissions", std::move(ListBuilder().Append(
+                                                   kAllHostsPermission))))
+          .SetLocation(Manifest::INTERNAL)
+          .SetID(kId)
+          .Build();
 
   ExtensionRegistry::Get(profile())->AddEnabled(extension_);
   PermissionsUpdater(profile()).InitializePermissions(extension_.get());
diff --git a/chrome/browser/extensions/active_tab_unittest.cc b/chrome/browser/extensions/active_tab_unittest.cc
index be5668c0..45ae57c 100644
--- a/chrome/browser/extensions/active_tab_unittest.cc
+++ b/chrome/browser/extensions/active_tab_unittest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <string>
+#include <utility>
 
 #include "base/compiler_specific.h"
 #include "base/memory/scoped_ptr.h"
@@ -50,10 +51,10 @@
     permissions.Append("tabCapture");
   return ExtensionBuilder()
       .SetManifest(DictionaryBuilder()
-          .Set("name", "Extension with ID " + id)
-          .Set("version", "1.0")
-          .Set("manifest_version", 2)
-          .Set("permissions", permissions))
+                       .Set("name", "Extension with ID " + id)
+                       .Set("version", "1.0")
+                       .Set("manifest_version", 2)
+                       .Set("permissions", std::move(permissions)))
       .SetID(id)
       .Build();
 }
diff --git a/chrome/browser/extensions/activity_log/activity_log_policy_unittest.cc b/chrome/browser/extensions/activity_log/activity_log_policy_unittest.cc
index acc27e8..6501a46 100644
--- a/chrome/browser/extensions/activity_log/activity_log_policy_unittest.cc
+++ b/chrome/browser/extensions/activity_log/activity_log_policy_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/values.h"
 #include "chrome/browser/extensions/activity_log/activity_action_constants.h"
 #include "chrome/browser/extensions/activity_log/activity_actions.h"
@@ -47,8 +49,9 @@
           .Set(activity_log_web_request_constants::kNewUrlKey,
                "http://www.youtube.com/")
           .Set(activity_log_web_request_constants::kAddedRequestHeadersKey,
-               ListBuilder().Append("arg"))
-          .Build().release());
+               std::move(ListBuilder().Append("arg")))
+          .Build()
+          .release());
 
   ActivityLogPolicy::Util::StripPrivacySensitiveFields(action);
 
diff --git a/chrome/browser/extensions/api/debugger/debugger_apitest.cc b/chrome/browser/extensions/api/debugger/debugger_apitest.cc
index 1ca4e71f..ff1a67d 100644
--- a/chrome/browser/extensions/api/debugger/debugger_apitest.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_apitest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <string>
+#include <utility>
 
 #include "base/command_line.h"
 #include "base/memory/ref_counted.h"
@@ -65,12 +66,14 @@
 void DebuggerApiTest::SetUpOnMainThread() {
   ExtensionApiTest::SetUpOnMainThread();
   extension_ =
-      ExtensionBuilder().SetManifest(
-          DictionaryBuilder().Set("name", "debugger")
-                             .Set("version", "0.1")
-                             .Set("manifest_version", 2)
-                             .Set("permissions",
-                                  ListBuilder().Append("debugger"))).Build();
+      ExtensionBuilder()
+          .SetManifest(DictionaryBuilder()
+                           .Set("name", "debugger")
+                           .Set("version", "0.1")
+                           .Set("manifest_version", 2)
+                           .Set("permissions",
+                                std::move(ListBuilder().Append("debugger"))))
+          .Build();
 }
 
 testing::AssertionResult DebuggerApiTest::RunAttachFunction(
diff --git a/chrome/browser/extensions/api/declarative_content/declarative_content_is_bookmarked_condition_tracker_unittest.cc b/chrome/browser/extensions/api/declarative_content/declarative_content_is_bookmarked_condition_tracker_unittest.cc
index b114258..1c36c62 100644
--- a/chrome/browser/extensions/api/declarative_content/declarative_content_is_bookmarked_condition_tracker_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_content/declarative_content_is_bookmarked_condition_tracker_unittest.cc
@@ -39,10 +39,10 @@
     permissions.Append("bookmarks");
   return ExtensionBuilder()
       .SetManifest(DictionaryBuilder()
-                   .Set("name", "Test extension")
-                   .Set("version", "1.0")
-                   .Set("manifest_version", 2)
-                   .Set("permissions", permissions))
+                       .Set("name", "Test extension")
+                       .Set("version", "1.0")
+                       .Set("manifest_version", 2)
+                       .Set("permissions", std::move(permissions)))
       .Build();
 }
 
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc b/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc
index c64fc63a..60b34684 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/files/file_util.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/strings/utf_string_conversions.h"
@@ -529,7 +531,8 @@
   args = ListBuilder()
              .Append(DictionaryBuilder()
                          .Set("extensionId", extension->id())
-                         .Set("errorIds", ListBuilder().Append(error_id)))
+                         .Set("errorIds",
+                              std::move(ListBuilder().Append(error_id))))
              .Build();
   function = new api::DeveloperPrivateDeleteExtensionErrorsFunction();
   EXPECT_TRUE(RunFunction(function, *args)) << function->GetError();
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
index 94f1b0e7..6d38e516 100644
--- a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/json/json_file_value_serializer.h"
 #include "base/json/json_writer.h"
 #include "base/strings/string_util.h"
@@ -80,19 +82,19 @@
 
   const scoped_refptr<const Extension> CreateExtension(
       const std::string& name,
-      ListBuilder& permissions) {
+      ListBuilder permissions) {
     const std::string kId = crx_file::id_util::GenerateId(name);
     scoped_refptr<const Extension> extension =
-        ExtensionBuilder().SetManifest(
-                               DictionaryBuilder()
-                                   .Set("name", name)
-                                   .Set("description", "an extension")
-                                   .Set("manifest_version", 2)
-                                   .Set("version", "1.0.0")
-                                   .Set("permissions", permissions))
-                          .SetLocation(Manifest::INTERNAL)
-                          .SetID(kId)
-                          .Build();
+        ExtensionBuilder()
+            .SetManifest(DictionaryBuilder()
+                             .Set("name", name)
+                             .Set("description", "an extension")
+                             .Set("manifest_version", 2)
+                             .Set("version", "1.0.0")
+                             .Set("permissions", std::move(permissions)))
+            .SetLocation(Manifest::INTERNAL)
+            .SetID(kId)
+            .Build();
 
     ExtensionRegistry::Get(profile())->AddEnabled(extension);
     PermissionsUpdater(profile()).InitializePermissions(extension.get());
@@ -177,12 +179,13 @@
   const char kVersion[] = "1.0.0.1";
   std::string id = crx_file::id_util::GenerateId("alpha");
   scoped_ptr<base::DictionaryValue> manifest =
-      DictionaryBuilder().Set("name", kName)
-                         .Set("version", kVersion)
-                         .Set("manifest_version", 2)
-                         .Set("description", "an extension")
-                         .Set("permissions",
-                              ListBuilder().Append("file://*/*")).Build();
+      DictionaryBuilder()
+          .Set("name", kName)
+          .Set("version", kVersion)
+          .Set("manifest_version", 2)
+          .Set("description", "an extension")
+          .Set("permissions", std::move(ListBuilder().Append("file://*/*")))
+          .Build();
   scoped_ptr<base::DictionaryValue> manifest_copy(manifest->DeepCopy());
   scoped_refptr<const Extension> extension =
       ExtensionBuilder().SetManifest(manifest.Pass())
@@ -345,9 +348,9 @@
           FeatureSwitch::scripts_require_action(), true));
   // Two extensions - one with all urls, one without.
   scoped_refptr<const Extension> all_urls_extension = CreateExtension(
-      "all_urls", ListBuilder().Append(kAllHostsPermission).Pass());
+      "all_urls", std::move(ListBuilder().Append(kAllHostsPermission)));
   scoped_refptr<const Extension> no_urls_extension =
-      CreateExtension("no urls", ListBuilder().Pass());
+      CreateExtension("no urls", ListBuilder());
 
   scoped_ptr<developer::ExtensionInfo> info =
       GenerateExtensionInfo(all_urls_extension->id());
@@ -392,7 +395,7 @@
 
   // Load another extension with all urls (so permissions get re-init'd).
   all_urls_extension = CreateExtension(
-      "all_urls_II", ListBuilder().Append(kAllHostsPermission).Pass());
+      "all_urls_II", std::move(ListBuilder().Append(kAllHostsPermission)));
 
   // Even though the extension has all_urls permission, the checkbox shouldn't
   // show up without the switch.
diff --git a/chrome/browser/extensions/api/identity/identity_apitest.cc b/chrome/browser/extensions/api/identity/identity_apitest.cc
index fceefe9..1475a57 100644
--- a/chrome/browser/extensions/api/identity/identity_apitest.cc
+++ b/chrome/browser/extensions/api/identity/identity_apitest.cc
@@ -1657,17 +1657,14 @@
 
   scoped_refptr<Extension> CreateTestExtension(const std::string& id) {
     return ExtensionBuilder()
-        .SetManifest(
-             DictionaryBuilder()
-                 .Set("name", "Test")
-                 .Set("version", "1.0")
-                 .Set(
-                     "oauth2",
-                     DictionaryBuilder()
-                         .Set("client_id", "clientId")
-                         .Set(
-                             "scopes",
-                             ListBuilder().Append("scope1"))))
+        .SetManifest(DictionaryBuilder()
+                         .Set("name", "Test")
+                         .Set("version", "1.0")
+                         .Set("oauth2",
+                              DictionaryBuilder()
+                                  .Set("client_id", "clientId")
+                                  .Set("scopes", std::move(ListBuilder().Append(
+                                                     "scope1")))))
         .SetLocation(Manifest::UNPACKED)
         .SetID(id)
         .Build();
diff --git a/chrome/browser/extensions/api/omnibox/omnibox_unittest.cc b/chrome/browser/extensions/api/omnibox/omnibox_unittest.cc
index db224035..51006e0 100644
--- a/chrome/browser/extensions/api/omnibox/omnibox_unittest.cc
+++ b/chrome/browser/extensions/api/omnibox/omnibox_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/values.h"
 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h"
 #include "chrome/common/extensions/api/omnibox.h"
@@ -41,21 +43,24 @@
 // +       ddd
 // = nmmmmndddn
 TEST(ExtensionOmniboxTest, DescriptionStylesSimple) {
-  scoped_ptr<base::ListValue> list = ListBuilder()
-      .Append(42)
-      .Append(ListBuilder()
-        .Append(DictionaryBuilder()
-          .Set("content", "content")
-          .Set("description", "description")
-          .Set("descriptionStyles", ListBuilder()
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 1)
-              .Set("length", 4))
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 6)
-              .Set("length", 3))))).Build();
+  scoped_ptr<base::ListValue> list =
+      ListBuilder()
+          .Append(42)
+          .Append(std::move(ListBuilder().Append(
+              DictionaryBuilder()
+                  .Set("content", "content")
+                  .Set("description", "description")
+                  .Set("descriptionStyles",
+                       std::move(ListBuilder()
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 1)
+                                                 .Set("length", 4))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 6)
+                                                 .Set("length", 3)))))))
+          .Build();
 
   ACMatchClassifications styles_expected;
   styles_expected.push_back(ACMatchClassification(0, kNone));
@@ -72,21 +77,24 @@
       *params->suggest_results[0]));
 
   // Same input, but swap the order. Ensure it still works.
-  scoped_ptr<base::ListValue> swap_list = ListBuilder()
-      .Append(42)
-      .Append(ListBuilder()
-        .Append(DictionaryBuilder()
-          .Set("content", "content")
-          .Set("description", "description")
-          .Set("descriptionStyles", ListBuilder()
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 6)
-              .Set("length", 3))
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 1)
-              .Set("length", 4))))).Build();
+  scoped_ptr<base::ListValue> swap_list =
+      ListBuilder()
+          .Append(42)
+          .Append(std::move(ListBuilder().Append(
+              DictionaryBuilder()
+                  .Set("content", "content")
+                  .Set("description", "description")
+                  .Set("descriptionStyles",
+                       std::move(ListBuilder()
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 6)
+                                                 .Set("length", 3))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 1)
+                                                 .Set("length", 4)))))))
+          .Build();
 
   scoped_ptr<SendSuggestions::Params> swapped_params(
       SendSuggestions::Params::Create(*swap_list));
@@ -104,33 +112,36 @@
 // +  dd
 // = 3773unnnn66
 TEST(ExtensionOmniboxTest, DescriptionStylesCombine) {
-  scoped_ptr<base::ListValue> list = ListBuilder()
-      .Append(42)
-      .Append(ListBuilder()
-        .Append(DictionaryBuilder()
-          .Set("content", "content")
-          .Set("description", "description")
-          .Set("descriptionStyles", ListBuilder()
-            .Append(DictionaryBuilder()
-              .Set("type", "url")
-              .Set("offset", 0)
-              .Set("length", 5))
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 9)
-              .Set("length", 2))
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 9)
-              .Set("length", 2))
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 0)
-              .Set("length", 4))
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 1)
-              .Set("length", 2))))).Build();
+  scoped_ptr<base::ListValue> list =
+      ListBuilder()
+          .Append(42)
+          .Append(std::move(ListBuilder().Append(
+              DictionaryBuilder()
+                  .Set("content", "content")
+                  .Set("description", "description")
+                  .Set("descriptionStyles",
+                       std::move(ListBuilder()
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "url")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 5))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 9)
+                                                 .Set("length", 2))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 9)
+                                                 .Set("length", 2))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 4))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 1)
+                                                 .Set("length", 2)))))))
+          .Build();
 
   ACMatchClassifications styles_expected;
   styles_expected.push_back(ACMatchClassification(0, kUrl | kMatch));
@@ -149,33 +160,36 @@
 
   // Try moving the "dim/match" style pair at offset 9. Output should be the
   // same.
-  scoped_ptr<base::ListValue> moved_list = ListBuilder()
-      .Append(42)
-      .Append(ListBuilder()
-        .Append(DictionaryBuilder()
-          .Set("content", "content")
-          .Set("description", "description")
-          .Set("descriptionStyles", ListBuilder()
-            .Append(DictionaryBuilder()
-              .Set("type", "url")
-              .Set("offset", 0)
-              .Set("length", 5))
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 0)
-              .Set("length", 4))
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 9)
-              .Set("length", 2))
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 9)
-              .Set("length", 2))
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 1)
-              .Set("length", 2))))).Build();
+  scoped_ptr<base::ListValue> moved_list =
+      ListBuilder()
+          .Append(42)
+          .Append(std::move(ListBuilder().Append(
+              DictionaryBuilder()
+                  .Set("content", "content")
+                  .Set("description", "description")
+                  .Set("descriptionStyles",
+                       std::move(ListBuilder()
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "url")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 5))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 4))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 9)
+                                                 .Set("length", 2))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 9)
+                                                 .Set("length", 2))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 1)
+                                                 .Set("length", 2)))))))
+          .Build();
 
   scoped_ptr<SendSuggestions::Params> moved_params(
       SendSuggestions::Params::Create(*moved_list));
@@ -193,33 +207,36 @@
 // + ddd
 // = 77777nnnnn
 TEST(ExtensionOmniboxTest, DescriptionStylesCombine2) {
-  scoped_ptr<base::ListValue> list = ListBuilder()
-      .Append(42)
-      .Append(ListBuilder()
-        .Append(DictionaryBuilder()
-          .Set("content", "content")
-          .Set("description", "description")
-          .Set("descriptionStyles", ListBuilder()
-            .Append(DictionaryBuilder()
-              .Set("type", "url")
-              .Set("offset", 0)
-              .Set("length", 5))
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 0)
-              .Set("length", 5))
-            .Append(DictionaryBuilder()
-              .Set("type", "match")
-              .Set("offset", 0)
-              .Set("length", 3))
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 2)
-              .Set("length", 3))
-            .Append(DictionaryBuilder()
-              .Set("type", "dim")
-              .Set("offset", 0)
-              .Set("length", 3))))).Build();
+  scoped_ptr<base::ListValue> list =
+      ListBuilder()
+          .Append(42)
+          .Append(std::move(ListBuilder().Append(
+              DictionaryBuilder()
+                  .Set("content", "content")
+                  .Set("description", "description")
+                  .Set("descriptionStyles",
+                       std::move(ListBuilder()
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "url")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 5))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 5))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "match")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 3))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 2)
+                                                 .Set("length", 3))
+                                     .Append(DictionaryBuilder()
+                                                 .Set("type", "dim")
+                                                 .Set("offset", 0)
+                                                 .Set("length", 3)))))))
+          .Build();
 
   ACMatchClassifications styles_expected;
   styles_expected.push_back(ACMatchClassification(0, kUrl | kMatch | kDim));
@@ -242,30 +259,33 @@
 // = 77777nnnnn
 TEST(ExtensionOmniboxTest, DefaultSuggestResult) {
   // Default suggestions should not have a content parameter.
-  scoped_ptr<base::ListValue> list = ListBuilder()
-      .Append(DictionaryBuilder()
-        .Set("description", "description")
-        .Set("descriptionStyles", ListBuilder()
+  scoped_ptr<base::ListValue> list =
+      ListBuilder()
           .Append(DictionaryBuilder()
-            .Set("type", "url")
-            .Set("offset", 0)
-            .Set("length", 5))
-          .Append(DictionaryBuilder()
-            .Set("type", "match")
-            .Set("offset", 0)
-            .Set("length", 5))
-          .Append(DictionaryBuilder()
-            .Set("type", "match")
-            .Set("offset", 0)
-            .Set("length", 3))
-          .Append(DictionaryBuilder()
-            .Set("type", "dim")
-            .Set("offset", 2)
-            .Set("length", 3))
-          .Append(DictionaryBuilder()
-            .Set("type", "dim")
-            .Set("offset", 0)
-            .Set("length", 3)))).Build();
+                      .Set("description", "description")
+                      .Set("descriptionStyles",
+                           std::move(ListBuilder()
+                                         .Append(DictionaryBuilder()
+                                                     .Set("type", "url")
+                                                     .Set("offset", 0)
+                                                     .Set("length", 5))
+                                         .Append(DictionaryBuilder()
+                                                     .Set("type", "match")
+                                                     .Set("offset", 0)
+                                                     .Set("length", 5))
+                                         .Append(DictionaryBuilder()
+                                                     .Set("type", "match")
+                                                     .Set("offset", 0)
+                                                     .Set("length", 3))
+                                         .Append(DictionaryBuilder()
+                                                     .Set("type", "dim")
+                                                     .Set("offset", 2)
+                                                     .Set("length", 3))
+                                         .Append(DictionaryBuilder()
+                                                     .Set("type", "dim")
+                                                     .Set("offset", 0)
+                                                     .Set("length", 3)))))
+          .Build();
 
   scoped_ptr<SetDefaultSuggestion::Params> params(
       SetDefaultSuggestion::Params::Create(*list));
diff --git a/chrome/browser/extensions/api/storage/settings_apitest.cc b/chrome/browser/extensions/api/storage/settings_apitest.cc
index 9ac951e..1fd45507 100644
--- a/chrome/browser/extensions/api/storage/settings_apitest.cc
+++ b/chrome/browser/extensions/api/storage/settings_apitest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/json/json_writer.h"
 #include "base/memory/ref_counted.h"
@@ -491,23 +493,26 @@
 
 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, ManagedStorage) {
   // Set policies for the test extension.
-  scoped_ptr<base::DictionaryValue> policy = extensions::DictionaryBuilder()
-      .Set("string-policy", "value")
-      .Set("int-policy", -123)
-      .Set("double-policy", 456e7)
-      .SetBoolean("boolean-policy", true)
-      .Set("list-policy", extensions::ListBuilder()
-          .Append("one")
-          .Append("two")
-          .Append("three"))
-      .Set("dict-policy", extensions::DictionaryBuilder()
-          .Set("list", extensions::ListBuilder()
-              .Append(extensions::DictionaryBuilder()
-                  .Set("one", 1)
-                  .Set("two", 2))
-              .Append(extensions::DictionaryBuilder()
-                  .Set("three", 3))))
-      .Build();
+  scoped_ptr<base::DictionaryValue> policy =
+      extensions::DictionaryBuilder()
+          .Set("string-policy", "value")
+          .Set("int-policy", -123)
+          .Set("double-policy", 456e7)
+          .SetBoolean("boolean-policy", true)
+          .Set("list-policy",
+               std::move(
+                   extensions::ListBuilder().Append("one").Append("two").Append(
+                       "three")))
+          .Set("dict-policy",
+               extensions::DictionaryBuilder().Set(
+                   "list",
+                   std::move(extensions::ListBuilder()
+                                 .Append(extensions::DictionaryBuilder()
+                                             .Set("one", 1)
+                                             .Set("two", 2))
+                                 .Append(extensions::DictionaryBuilder().Set(
+                                     "three", 3)))))
+          .Build();
   SetPolicies(*policy);
   // Now run the extension.
   ASSERT_TRUE(RunExtensionTest("settings/managed_storage")) << message_;
diff --git a/chrome/browser/extensions/api/streams_private/streams_private_manifest_unittest.cc b/chrome/browser/extensions/api/streams_private/streams_private_manifest_unittest.cc
index c30947c..77c9667 100644
--- a/chrome/browser/extensions/api/streams_private/streams_private_manifest_unittest.cc
+++ b/chrome/browser/extensions/api/streams_private/streams_private_manifest_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/strings/string_number_conversions.h"
 #include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h"
 #include "extensions/common/constants.h"
@@ -29,12 +31,12 @@
   scoped_refptr<const Extension> extension =
       ExtensionBuilder()
           .SetID(extension_misc::kQuickOfficeExtensionId)
-          .SetManifest(
-               DictionaryBuilder()
-                   .Set("name", "MIME type handler test")
-                   .Set("version", "1.0.0")
-                   .Set("manifest_version", 2)
-                   .Set("mime_types", ListBuilder().Append("text/plain")))
+          .SetManifest(DictionaryBuilder()
+                           .Set("name", "MIME type handler test")
+                           .Set("version", "1.0.0")
+                           .Set("manifest_version", 2)
+                           .Set("mime_types",
+                                std::move(ListBuilder().Append("text/plain"))))
           .Build();
 
   ASSERT_TRUE(extension.get());
@@ -49,12 +51,12 @@
        MimeTypesHandlerMIMETypesNotWhitelisted) {
   scoped_refptr<const Extension> extension =
       ExtensionBuilder()
-          .SetManifest(
-               DictionaryBuilder()
-                   .Set("name", "MIME types test")
-                   .Set("version", "1.0.0")
-                   .Set("manifest_version", 2)
-                   .Set("mime_types", ListBuilder().Append("text/plain")))
+          .SetManifest(DictionaryBuilder()
+                           .Set("name", "MIME types test")
+                           .Set("version", "1.0.0")
+                           .Set("manifest_version", 2)
+                           .Set("mime_types",
+                                std::move(ListBuilder().Append("text/plain"))))
           .Build();
 
   ASSERT_TRUE(extension.get());
diff --git a/chrome/browser/extensions/app_data_migrator_unittest.cc b/chrome/browser/extensions/app_data_migrator_unittest.cc
index a9d1e32..ba7d4a9 100644
--- a/chrome/browser/extensions/app_data_migrator_unittest.cc
+++ b/chrome/browser/extensions/app_data_migrator_unittest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <string>
+#include <utility>
 
 #include "base/callback_forward.h"
 #include "base/threading/sequenced_worker_pool.h"
@@ -74,29 +75,31 @@
   if (platform_app) {
     app = ExtensionBuilder()
               .SetManifest(
-                   DictionaryBuilder()
-                       .Set("name", "test app")
-                       .Set("version", "1")
-                       .Set("app", DictionaryBuilder().Set(
-                                       "background",
-                                       DictionaryBuilder().Set(
-                                           "scripts", ListBuilder().Append(
-                                                          "background.js"))))
-                       .Set("permissions",
-                            ListBuilder().Append("unlimitedStorage")))
+                  DictionaryBuilder()
+                      .Set("name", "test app")
+                      .Set("version", "1")
+                      .Set("app",
+                           DictionaryBuilder().Set(
+                               "background",
+                               DictionaryBuilder().Set(
+                                   "scripts", std::move(ListBuilder().Append(
+                                                  "background.js")))))
+                      .Set("permissions",
+                           std::move(ListBuilder().Append("unlimitedStorage"))))
               .Build();
   } else {
-    app = ExtensionBuilder()
-              .SetManifest(DictionaryBuilder()
-                               .Set("name", "test app")
-                               .Set("version", "1")
-                               .Set("app", DictionaryBuilder().Set(
-                                               "launch",
-                                               DictionaryBuilder().Set(
-                                                   "local_path", "index.html")))
-                               .Set("permissions",
-                                    ListBuilder().Append("unlimitedStorage")))
-              .Build();
+    app =
+        ExtensionBuilder()
+            .SetManifest(
+                DictionaryBuilder()
+                    .Set("name", "test app")
+                    .Set("version", "1")
+                    .Set("app", DictionaryBuilder().Set(
+                                    "launch", DictionaryBuilder().Set(
+                                                  "local_path", "index.html")))
+                    .Set("permissions",
+                         std::move(ListBuilder().Append("unlimitedStorage"))))
+            .Build();
   }
   return app;
 }
diff --git a/chrome/browser/extensions/extension_context_menu_model_unittest.cc b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
index c1469db..8f25568 100644
--- a/chrome/browser/extensions/extension_context_menu_model_unittest.cc
+++ b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_context_menu_model.h"
 
+#include <utility>
+
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/extensions/active_script_controller.h"
@@ -159,7 +161,8 @@
       .Set("manifest_version", 2)
       .Set(action_key, DictionaryBuilder().Pass());
   if (!host_permission.empty())
-    manifest.Set("permissions", ListBuilder().Append(host_permission));
+    manifest.Set("permissions",
+                 std::move(ListBuilder().Append(host_permission)));
   scoped_refptr<const Extension> extension =
       ExtensionBuilder()
           .SetManifest(manifest.Pass())
diff --git a/chrome/browser/extensions/extension_install_prompt_unittest.cc b/chrome/browser/extensions/extension_install_prompt_unittest.cc
index 82c723f1..8eb35c1a 100644
--- a/chrome/browser/extensions/extension_install_prompt_unittest.cc
+++ b/chrome/browser/extensions/extension_install_prompt_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
@@ -98,15 +100,18 @@
       FeatureSwitch::scripts_require_action(), true);
 
   scoped_refptr<const Extension> extension =
-      ExtensionBuilder().SetManifest(
-          DictionaryBuilder().Set("name", "foo")
-                             .Set("version", "1.0")
-                             .Set("manifest_version", 2)
-                             .Set("description", "Random Ext")
-                             .Set("permissions",
-                                  ListBuilder().Append("http://*/*")
-                                               .Append("http://www.google.com/")
-                                               .Append("tabs"))).Build();
+      ExtensionBuilder()
+          .SetManifest(DictionaryBuilder()
+                           .Set("name", "foo")
+                           .Set("version", "1.0")
+                           .Set("manifest_version", 2)
+                           .Set("description", "Random Ext")
+                           .Set("permissions",
+                                std::move(ListBuilder()
+                                              .Append("http://*/*")
+                                              .Append("http://www.google.com/")
+                                              .Append("tabs"))))
+          .Build();
 
   content::TestWebContentsFactory factory;
   ExtensionInstallPrompt prompt(factory.CreateWebContents(profile()));
@@ -127,15 +132,17 @@
 TEST_F(ExtensionInstallPromptUnitTest,
        DelegatedPromptShowsOptionalPermissions) {
   scoped_refptr<const Extension> extension =
-      ExtensionBuilder().SetManifest(
-          DictionaryBuilder().Set("name", "foo")
-                             .Set("version", "1.0")
-                             .Set("manifest_version", 2)
-                             .Set("description", "Random Ext")
-                             .Set("permissions",
-                                  ListBuilder().Append("clipboardRead"))
-                             .Set("optional_permissions",
-                                  ListBuilder().Append("tabs"))).Build();
+      ExtensionBuilder()
+          .SetManifest(DictionaryBuilder()
+                           .Set("name", "foo")
+                           .Set("version", "1.0")
+                           .Set("manifest_version", 2)
+                           .Set("description", "Random Ext")
+                           .Set("permissions", std::move(ListBuilder().Append(
+                                                   "clipboardRead")))
+                           .Set("optional_permissions",
+                                std::move(ListBuilder().Append("tabs"))))
+          .Build();
 
   content::TestWebContentsFactory factory;
   ExtensionInstallPrompt prompt(factory.CreateWebContents(profile()));
diff --git a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
index 4af1301aa..54b732e 100644
--- a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
+++ b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
 #include "base/strings/string_number_conversions.h"
@@ -197,15 +199,15 @@
       const std::string& id,
       Manifest::Location location) {
     ExtensionBuilder builder;
-    builder.SetManifest(DictionaryBuilder()
-                            .Set("name", std::string("Extension " + index))
-                            .Set("version", "1.0")
-                            .Set("manifest_version", 2)
-                            .Set("chrome_settings_overrides",
-                                 DictionaryBuilder().Set(
-                                     "startup_pages",
-                                     ListBuilder().Append(
-                                         "http://www.google.com"))));
+    builder.SetManifest(
+        DictionaryBuilder()
+            .Set("name", std::string("Extension " + index))
+            .Set("version", "1.0")
+            .Set("manifest_version", 2)
+            .Set("chrome_settings_overrides",
+                 DictionaryBuilder().Set("startup_pages",
+                                         std::move(ListBuilder().Append(
+                                             "http://www.google.com")))));
     builder.SetLocation(location);
     builder.SetID(id);
     service_->AddExtension(builder.Build().get());
@@ -242,12 +244,12 @@
       const std::string& id,
       Manifest::Location location) {
     ExtensionBuilder builder;
-    builder.SetManifest(DictionaryBuilder()
-                            .Set("name", std::string("Extension " + index))
-                            .Set("version", "1.0")
-                            .Set("manifest_version", 2)
-                            .Set("permissions",
-                                 ListBuilder().Append("proxy")));
+    builder.SetManifest(
+        DictionaryBuilder()
+            .Set("name", std::string("Extension " + index))
+            .Set("version", "1.0")
+            .Set("manifest_version", 2)
+            .Set("permissions", std::move(ListBuilder().Append("proxy"))));
 
     builder.SetLocation(location);
     builder.SetID(id);
diff --git a/chrome/browser/extensions/extension_service_sync_unittest.cc b/chrome/browser/extensions/extension_service_sync_unittest.cc
index b41fe0c6..1a50b17 100644
--- a/chrome/browser/extensions/extension_service_sync_unittest.cc
+++ b/chrome/browser/extensions/extension_service_sync_unittest.cc
@@ -4,6 +4,7 @@
 
 #include <map>
 #include <string>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/command_line.h"
@@ -1800,16 +1801,17 @@
   const std::string kName("extension");
   scoped_refptr<const Extension> extension =
       extensions::ExtensionBuilder()
-      .SetLocation(Manifest::INTERNAL)
-      .SetManifest(
-          extensions::DictionaryBuilder()
-              .Set("name", kName)
-              .Set("description", "foo")
-              .Set("manifest_version", 2)
-              .Set("version", "1.0")
-              .Set("permissions", extensions::ListBuilder().Append("*://*/*")))
-      .SetID(crx_file::id_util::GenerateId(kName))
-      .Build();
+          .SetLocation(Manifest::INTERNAL)
+          .SetManifest(
+              extensions::DictionaryBuilder()
+                  .Set("name", kName)
+                  .Set("description", "foo")
+                  .Set("manifest_version", 2)
+                  .Set("version", "1.0")
+                  .Set("permissions",
+                       std::move(extensions::ListBuilder().Append("*://*/*"))))
+          .SetID(crx_file::id_util::GenerateId(kName))
+          .Build();
 
   // Install and enable it.
   service()->AddExtension(extension.get());
diff --git a/chrome/browser/extensions/location_bar_controller_unittest.cc b/chrome/browser/extensions/location_bar_controller_unittest.cc
index dfc4c439..e89db7b 100644
--- a/chrome/browser/extensions/location_bar_controller_unittest.cc
+++ b/chrome/browser/extensions/location_bar_controller_unittest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <string>
+#include <utility>
 
 #include "base/command_line.h"
 #include "base/memory/scoped_ptr.h"
@@ -69,9 +70,9 @@
                                 const std::string& name) {
     DictionaryBuilder manifest;
     manifest.Set("name", name)
-            .Set("version", "1.0.0")
-            .Set("manifest_version", 2)
-            .Set("permissions", ListBuilder().Append("tabs"));
+        .Set("version", "1.0.0")
+        .Set("manifest_version", 2)
+        .Set("permissions", std::move(ListBuilder().Append("tabs")));
     if (has_page_actions) {
       manifest.Set("page_action", DictionaryBuilder()
               .Set("default_title", "Hello"));
diff --git a/chrome/browser/extensions/permission_messages_unittest.cc b/chrome/browser/extensions/permission_messages_unittest.cc
index 895bc2d..c2a9530 100644
--- a/chrome/browser/extensions/permission_messages_unittest.cc
+++ b/chrome/browser/extensions/permission_messages_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/memory/scoped_ptr.h"
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/extensions/extension_service.h"
@@ -48,13 +50,14 @@
   ~PermissionMessagesUnittest() override {}
 
  protected:
-  void CreateAndInstallAppWithPermissions(ListBuilder& required_permissions,
-                                          ListBuilder& optional_permissions) {
+  void CreateAndInstallAppWithPermissions(ListBuilder required_permissions,
+                                          ListBuilder optional_permissions) {
     app_ = test_util::BuildApp(ExtensionBuilder().Pass())
                .MergeManifest(
-                    DictionaryBuilder()
-                        .Set("permissions", required_permissions)
-                        .Set("optional_permissions", optional_permissions))
+                   DictionaryBuilder()
+                       .Set("permissions", std::move(required_permissions))
+                       .Set("optional_permissions",
+                            std::move(optional_permissions)))
                .SetID(crx_file::id_util::GenerateId("app"))
                .SetLocation(Manifest::INTERNAL)
                .Build();
@@ -62,13 +65,14 @@
   }
 
   void CreateAndInstallExtensionWithPermissions(
-      ListBuilder& required_permissions,
-      ListBuilder& optional_permissions) {
+      ListBuilder required_permissions,
+      ListBuilder optional_permissions) {
     app_ = test_util::BuildExtension(ExtensionBuilder().Pass())
                .MergeManifest(
-                    DictionaryBuilder()
-                        .Set("permissions", required_permissions)
-                        .Set("optional_permissions", optional_permissions))
+                   DictionaryBuilder()
+                       .Set("permissions", std::move(required_permissions))
+                       .Set("optional_permissions",
+                            std::move(optional_permissions)))
                .SetID(crx_file::id_util::GenerateId("extension"))
                .SetLocation(Manifest::INTERNAL)
                .Build();
@@ -129,8 +133,7 @@
 // other (the 'history' permission has superset permissions).
 TEST_F(PermissionMessagesUnittest, HistoryHidesTabsMessage) {
   CreateAndInstallExtensionWithPermissions(
-      ListBuilder().Append("tabs").Append("history").Pass(),
-      ListBuilder().Pass());
+      std::move(ListBuilder().Append("tabs").Append("history")), ListBuilder());
 
   ASSERT_EQ(1U, required_permissions().size());
   EXPECT_EQ(
@@ -144,8 +147,8 @@
 // permission, only the new coalesced message is displayed.
 TEST_F(PermissionMessagesUnittest, MixedPermissionMessagesCoalesceOnceGranted) {
   CreateAndInstallExtensionWithPermissions(
-      ListBuilder().Append("tabs").Pass(),
-      ListBuilder().Append("history").Pass());
+      std::move(ListBuilder().Append("tabs")),
+      std::move(ListBuilder().Append("history")));
 
   ASSERT_EQ(1U, required_permissions().size());
   EXPECT_EQ(
@@ -183,8 +186,8 @@
 TEST_F(PermissionMessagesUnittest,
        AntiTest_PromptCanRequestSubsetOfAlreadyGrantedPermissions) {
   CreateAndInstallExtensionWithPermissions(
-      ListBuilder().Append("history").Pass(),
-      ListBuilder().Append("tabs").Pass());
+      std::move(ListBuilder().Append("history")),
+      std::move(ListBuilder().Append("tabs")));
 
   ASSERT_EQ(1U, required_permissions().size());
   EXPECT_EQ(
@@ -224,8 +227,8 @@
 TEST_F(PermissionMessagesUnittest,
        AntiTest_PromptCanBeEmptyButCausesChangeInPermissions) {
   CreateAndInstallExtensionWithPermissions(
-      ListBuilder().Append("tabs").Pass(),
-      ListBuilder().Append("sessions").Pass());
+      std::move(ListBuilder().Append("tabs")),
+      std::move(ListBuilder().Append("sessions")));
 
   ASSERT_EQ(1U, required_permissions().size());
   EXPECT_EQ(
diff --git a/chrome/browser/extensions/process_manager_browsertest.cc b/chrome/browser/extensions/process_manager_browsertest.cc
index d1e3013..ea8626c4 100644
--- a/chrome/browser/extensions/process_manager_browsertest.cc
+++ b/chrome/browser/extensions/process_manager_browsertest.cc
@@ -102,9 +102,10 @@
         // To allow ExecuteScript* to work.
         .Set("content_security_policy",
              "script-src 'self' 'unsafe-eval'; object-src 'self'")
-        .Set("sandbox", DictionaryBuilder().Set(
-                            "pages", ListBuilder().Append("sandboxed.html")))
-        .Set("web_accessible_resources", ListBuilder().Append("*"));
+        .Set("sandbox",
+             DictionaryBuilder().Set(
+                 "pages", std::move(ListBuilder().Append("sandboxed.html"))))
+        .Set("web_accessible_resources", std::move(ListBuilder().Append("*")));
 
     if (has_background_process) {
       manifest.Set("background", DictionaryBuilder().Set("page", "bg.html"));
diff --git a/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc b/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc
index 1b1a71da..6b37a5d 100644
--- a/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc
+++ b/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/strings/stringprintf.h"
 #include "chrome/browser/extensions/extension_service_test_base.h"
 #include "chrome/browser/extensions/extension_util.h"
@@ -40,19 +42,19 @@
   }
 
   DictionaryBuilder script;
-  script.Set("matches", scriptable_host_list.Pass())
-      .Set("js", ListBuilder().Append("foo.js"));
+  script.Set("matches", std::move(scriptable_host_list))
+      .Set("js", std::move(ListBuilder().Append("foo.js")));
 
   return ExtensionBuilder()
       .SetLocation(location)
-      .SetManifest(
-          DictionaryBuilder()
-              .Set("name", name)
-              .Set("description", "foo")
-              .Set("manifest_version", 2)
-              .Set("version", "0.1.2.3")
-              .Set("content_scripts", ListBuilder().Append(script.Pass()))
-              .Set("permissions", explicit_host_list.Pass()))
+      .SetManifest(DictionaryBuilder()
+                       .Set("name", name)
+                       .Set("description", "foo")
+                       .Set("manifest_version", 2)
+                       .Set("version", "0.1.2.3")
+                       .Set("content_scripts",
+                            std::move(ListBuilder().Append(script.Pass())))
+                       .Set("permissions", std::move(explicit_host_list)))
       .SetID(crx_file::id_util::GenerateId(name))
       .Build();
 }
diff --git a/chrome/browser/extensions/shared_module_service_unittest.cc b/chrome/browser/extensions/shared_module_service_unittest.cc
index 79baa35efa..0f1d1e3 100644
--- a/chrome/browser/extensions/shared_module_service_unittest.cc
+++ b/chrome/browser/extensions/shared_module_service_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/shared_module_service.h"
 
+#include <utility>
+
 #include "base/memory/ref_counted.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/strings/string16.h"
@@ -36,8 +38,8 @@
          .Set("version", version)
          .Set("manifest_version", 2);
   if (!import_id.empty()) {
-    builder.Set("import",
-                ListBuilder().Append(DictionaryBuilder().Set("id", import_id)));
+    builder.Set("import", std::move(ListBuilder().Append(
+                              DictionaryBuilder().Set("id", import_id))));
   }
   scoped_ptr<base::DictionaryValue> manifest = builder.Build();
 
@@ -128,8 +130,9 @@
           .Set("version", "1.0")
           .Set("manifest_version", 2)
           .Set("export",
-               DictionaryBuilder().Set("resources",
-                                       ListBuilder().Append("foo.js"))).Build();
+               DictionaryBuilder().Set(
+                   "resources", std::move(ListBuilder().Append("foo.js"))))
+          .Build();
   scoped_refptr<Extension> shared_module =
       ExtensionBuilder()
           .SetManifest(manifest.Pass())
@@ -168,8 +171,9 @@
           .Set("version", "1.0")
           .Set("manifest_version", 2)
           .Set("export",
-               DictionaryBuilder().Set("resources",
-                                       ListBuilder().Append("foo.js"))).Build();
+               DictionaryBuilder().Set(
+                   "resources", std::move(ListBuilder().Append("foo.js"))))
+          .Build();
   scoped_refptr<Extension> shared_module_1 =
       ExtensionBuilder()
           .SetManifest(manifest_1.Pass())
@@ -184,8 +188,9 @@
           .Set("version", "1.0")
           .Set("manifest_version", 2)
           .Set("export",
-               DictionaryBuilder().Set("resources",
-                                       ListBuilder().Append("foo.js"))).Build();
+               DictionaryBuilder().Set(
+                   "resources", std::move(ListBuilder().Append("foo.js"))))
+          .Build();
   scoped_refptr<Extension> shared_module_2 =
       ExtensionBuilder()
           .SetManifest(manifest_2.Pass())
@@ -244,11 +249,11 @@
           .Set("version", "1.0")
           .Set("manifest_version", 2)
           .Set("export",
-               DictionaryBuilder().Set("whitelist",
-                                       ListBuilder()
-                                           .Append(whitelisted_id))
-                                  .Set("resources",
-                                       ListBuilder().Append("*"))).Build();
+               DictionaryBuilder()
+                   .Set("whitelist",
+                        std::move(ListBuilder().Append(whitelisted_id)))
+                   .Set("resources", std::move(ListBuilder().Append("*"))))
+          .Build();
   scoped_refptr<Extension> shared_module =
       ExtensionBuilder()
           .SetManifest(manifest.Pass())
diff --git a/chrome/browser/extensions/test_extension_environment.cc b/chrome/browser/extensions/test_extension_environment.cc
index 7044795e2..b9c80bc 100644
--- a/chrome/browser/extensions/test_extension_environment.cc
+++ b/chrome/browser/extensions/test_extension_environment.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/test_extension_environment.h"
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/json/json_writer.h"
 #include "base/run_loop.h"
@@ -59,8 +61,8 @@
       .Set("app", extensions::DictionaryBuilder().Set(
                       "background",
                       extensions::DictionaryBuilder().Set(
-                          "scripts",
-                          extensions::ListBuilder().Append("background.js"))))
+                          "scripts", std::move(extensions::ListBuilder().Append(
+                                         "background.js")))))
       .Build();
 }
 
diff --git a/chrome/browser/extensions/webstore_installer_browsertest.cc b/chrome/browser/extensions/webstore_installer_browsertest.cc
index a4cfca8..3a77e3c 100644
--- a/chrome/browser/extensions/webstore_installer_browsertest.cc
+++ b/chrome/browser/extensions/webstore_installer_browsertest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/webstore_installer.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/run_loop.h"
 #include "chrome/browser/extensions/extension_service.h"
@@ -112,13 +114,13 @@
 
 IN_PROC_BROWSER_TEST_F(WebstoreInstallerBrowserTest, WebstoreInstall) {
   scoped_ptr<base::DictionaryValue> manifest(
-      DictionaryBuilder().Set("name", kExtensionName)
-                         .Set("description", "Foo")
-                         .Set("manifest_version", 2)
-                         .Set("version", "1.0")
-                         .Set("permissions",
-                              ListBuilder().Append("tabs"))
-                         .Build());
+      DictionaryBuilder()
+          .Set("name", kExtensionName)
+          .Set("description", "Foo")
+          .Set("manifest_version", 2)
+          .Set("version", "1.0")
+          .Set("permissions", std::move(ListBuilder().Append("tabs")))
+          .Build());
 
   content::WebContents* active_web_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
@@ -153,13 +155,13 @@
 
 IN_PROC_BROWSER_TEST_F(WebstoreInstallerBrowserTest, SimultaneousInstall) {
   scoped_ptr<base::DictionaryValue> manifest(
-      DictionaryBuilder().Set("name", kExtensionName)
-                         .Set("description", "Foo")
-                         .Set("manifest_version", 2)
-                         .Set("version", "1.0")
-                         .Set("permissions",
-                              ListBuilder().Append("tabs"))
-                         .Build());
+      DictionaryBuilder()
+          .Set("name", kExtensionName)
+          .Set("description", "Foo")
+          .Set("manifest_version", 2)
+          .Set("version", "1.0")
+          .Set("permissions", std::move(ListBuilder().Append("tabs")))
+          .Build());
 
   content::WebContents* active_web_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
diff --git a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
index e87138e..badcddc 100644
--- a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
+++ b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/scoped_observer.h"
 #include "chrome/browser/extensions/extension_service.h"
@@ -136,16 +138,20 @@
 
   // We're forced to construct a hosted app dynamically because we need the
   // app to run on a declared URL, but we don't know the port ahead of time.
-  scoped_refptr<const Extension> hosted_app = ExtensionBuilder()
-      .SetManifest(DictionaryBuilder()
-          .Set("name", "hosted app")
-          .Set("version", "1")
-          .Set("app", DictionaryBuilder()
-              .Set("urls", ListBuilder().Append(kInstallUrl.spec()))
-              .Set("launch", DictionaryBuilder()
-                  .Set("web_url", kInstallUrl.spec())))
-          .Set("manifest_version", 2))
-      .Build();
+  scoped_refptr<const Extension> hosted_app =
+      ExtensionBuilder()
+          .SetManifest(
+              DictionaryBuilder()
+                  .Set("name", "hosted app")
+                  .Set("version", "1")
+                  .Set("app",
+                       DictionaryBuilder()
+                           .Set("urls", std::move(ListBuilder().Append(
+                                            kInstallUrl.spec())))
+                           .Set("launch", DictionaryBuilder().Set(
+                                              "web_url", kInstallUrl.spec())))
+                  .Set("manifest_version", 2))
+          .Build();
   ASSERT_TRUE(hosted_app.get());
 
   ExtensionService* extension_service =
diff --git a/chrome/browser/notifications/message_center_settings_controller_unittest.cc b/chrome/browser/notifications/message_center_settings_controller_unittest.cc
index cb5dc53..225c7d9 100644
--- a/chrome/browser/notifications/message_center_settings_controller_unittest.cc
+++ b/chrome/browser/notifications/message_center_settings_controller_unittest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <string>
+#include <utility>
 
 #include "base/command_line.h"
 #include "base/strings/utf_string_conversions.h"
@@ -205,13 +206,14 @@
           .Set("name", "Foo")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("app", extensions::DictionaryBuilder().Set(
-                          "background",
-                          extensions::DictionaryBuilder().Set(
-                              "scripts", extensions::ListBuilder().Append(
-                                             "background.js"))))
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
           .Set("permissions",
-               extensions::ListBuilder().Append("notifications")));
+               std::move(extensions::ListBuilder().Append("notifications"))));
   foo_app.SetID(kFooId);
   extension_service->AddExtension(foo_app.Build().get());
 
@@ -221,13 +223,14 @@
           .Set("name", "Bar")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("app", extensions::DictionaryBuilder().Set(
-                          "background",
-                          extensions::DictionaryBuilder().Set(
-                              "scripts", extensions::ListBuilder().Append(
-                                             "background.js"))))
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js")))))
           .Set("permissions",
-               extensions::ListBuilder().Append("notifications")));
+               std::move(extensions::ListBuilder().Append("notifications"))));
   bar_app.SetID(kBarId);
   extension_service->AddExtension(bar_app.Build().get());
 
@@ -237,11 +240,12 @@
           .Set("name", "baz")
           .Set("version", "1.0.0")
           .Set("manifest_version", 2)
-          .Set("app", extensions::DictionaryBuilder().Set(
-                          "background",
-                          extensions::DictionaryBuilder().Set(
-                              "scripts", extensions::ListBuilder().Append(
-                                             "background.js")))));
+          .Set("app",
+               extensions::DictionaryBuilder().Set(
+                   "background",
+                   extensions::DictionaryBuilder().Set(
+                       "scripts", std::move(extensions::ListBuilder().Append(
+                                      "background.js"))))));
   baz_app.SetID(kBazId);
   extension_service->AddExtension(baz_app.Build().get());
 
@@ -254,13 +258,13 @@
           .Set("app",
                extensions::DictionaryBuilder().Set(
                    "urls",
-                   extensions::ListBuilder().Append(
-                       "http://localhost/extensions/hosted_app/main.html")))
+                   std::move(extensions::ListBuilder().Append(
+                       "http://localhost/extensions/hosted_app/main.html"))))
           .Set("launch",
                extensions::DictionaryBuilder().Set(
                    "urls",
-                   extensions::ListBuilder().Append(
-                       "http://localhost/extensions/hosted_app/main.html"))));
+                   std::move(extensions::ListBuilder().Append(
+                       "http://localhost/extensions/hosted_app/main.html")))));
 
   baf_app.SetID(kBafId);
   extension_service->AddExtension(baf_app.Build().get());
diff --git a/chrome/browser/notifications/platform_notification_service_unittest.cc b/chrome/browser/notifications/platform_notification_service_unittest.cc
index 1429d6d..06c9066 100644
--- a/chrome/browser/notifications/platform_notification_service_unittest.cc
+++ b/chrome/browser/notifications/platform_notification_service_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/platform_thread.h"
 #include "base/time/time.h"
@@ -331,8 +333,9 @@
                            .Set("version", "1.0")
                            .Set("manifest_version", 2)
                            .Set("description", "Test Extension")
-                           .Set("permissions", extensions::ListBuilder().Append(
-                                                   "notifications")))
+                           .Set("permissions",
+                                std::move(extensions::ListBuilder().Append(
+                                    "notifications"))))
           .Build();
 
   // Install the extension on the faked extension service, and verify that it
diff --git a/chrome/browser/policy/managed_bookmarks_policy_handler_unittest.cc b/chrome/browser/policy/managed_bookmarks_policy_handler_unittest.cc
index 50097313..1105262 100644
--- a/chrome/browser/policy/managed_bookmarks_policy_handler_unittest.cc
+++ b/chrome/browser/policy/managed_bookmarks_policy_handler_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/json/json_reader.h"
 #include "chrome/browser/policy/managed_bookmarks_policy_handler.h"
 #include "components/bookmarks/common/bookmark_pref_names.h"
@@ -79,31 +81,39 @@
   scoped_ptr<base::Value> expected(
       extensions::ListBuilder()
           .Append(extensions::DictionaryBuilder()
-              .Set("name", "Google")
-              .Set("url", "http://google.com/"))
+                      .Set("name", "Google")
+                      .Set("url", "http://google.com/"))
           .Append(extensions::DictionaryBuilder()
-              .Set("name", "Empty Folder")
-              .Set("children", extensions::ListBuilder().Pass()))
-          .Append(extensions::DictionaryBuilder()
-              .Set("name", "Big Folder")
-              .Set("children", extensions::ListBuilder()
-                  .Append(extensions::DictionaryBuilder()
-                      .Set("name", "Youtube")
-                      .Set("url", "http://youtube.com/"))
-                  .Append(extensions::DictionaryBuilder()
-                      .Set("name", "Chromium")
-                      .Set("url", "http://chromium.org/"))
-                  .Append(extensions::DictionaryBuilder()
-                      .Set("name", "More Stuff")
-                      .Set("children", extensions::ListBuilder()
-                          .Append(extensions::DictionaryBuilder()
-                              .Set("name", "Bugs")
-                              .Set("url", "http://crbug.com/")
-                              .Pass())
-                          .Pass())
-                      .Pass())
+                      .Set("name", "Empty Folder")
+                      .Set("children", extensions::ListBuilder()))
+          .Append(
+              extensions::DictionaryBuilder()
+                  .Set("name", "Big Folder")
+                  .Set(
+                      "children",
+                      std::move(
+                          extensions::ListBuilder()
+                              .Append(extensions::DictionaryBuilder()
+                                          .Set("name", "Youtube")
+                                          .Set("url", "http://youtube.com/"))
+                              .Append(extensions::DictionaryBuilder()
+                                          .Set("name", "Chromium")
+                                          .Set("url", "http://chromium.org/"))
+                              .Append(
+                                  extensions::DictionaryBuilder()
+                                      .Set("name", "More Stuff")
+                                      .Set("children",
+                                           std::move(
+                                               extensions::ListBuilder().Append(
+                                                   extensions::
+                                                       DictionaryBuilder()
+                                                           .Set("name", "Bugs")
+                                                           .Set("url",
+                                                                "http://"
+                                                                "crbug.com/")
+                                                           .Pass())))
+                                      .Pass())))
                   .Pass())
-              .Pass())
           .Build());
   EXPECT_TRUE(pref_value->Equals(expected.get()));
 }
diff --git a/chrome/browser/site_details_browsertest.cc b/chrome/browser/site_details_browsertest.cc
index 7c24045..c871e1e 100644
--- a/chrome/browser/site_details_browsertest.cc
+++ b/chrome/browser/site_details_browsertest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/site_details.h"
 
+#include <utility>
+
 #include "base/bind_helpers.h"
 #include "base/files/file_path.h"
 #include "base/message_loop/message_loop.h"
@@ -119,15 +121,17 @@
     manifest.Set("name", name)
         .Set("version", "1.0")
         .Set("manifest_version", 2)
-        .Set("web_accessible_resources", ListBuilder()
-                                             .Append("blank_iframe.html")
-                                             .Append("http_iframe.html")
-                                             .Append("two_http_iframes.html"));
+        .Set("web_accessible_resources",
+             std::move(ListBuilder()
+                           .Append("blank_iframe.html")
+                           .Append("http_iframe.html")
+                           .Append("two_http_iframes.html")));
 
     if (has_background_process) {
-      manifest.Set("background",
-                   DictionaryBuilder().Set("scripts",
-                                           ListBuilder().Append("script.js")));
+      manifest.Set(
+          "background",
+          DictionaryBuilder().Set(
+              "scripts", std::move(ListBuilder().Append("script.js"))));
       dir->WriteFile(FILE_PATH_LITERAL("script.js"),
                      "console.log('" + name + " running');");
     }
@@ -174,10 +178,11 @@
     manifest.Set("name", name)
         .Set("version", "1.0")
         .Set("manifest_version", 2)
-        .Set("app", DictionaryBuilder()
-                        .Set("urls", ListBuilder().Append(app_url.spec()))
-                        .Set("launch", DictionaryBuilder().Set(
-                                           "web_url", app_url.spec())));
+        .Set("app",
+             DictionaryBuilder()
+                 .Set("urls", std::move(ListBuilder().Append(app_url.spec())))
+                 .Set("launch",
+                      DictionaryBuilder().Set("web_url", app_url.spec())));
     dir->WriteManifest(manifest.ToJSON());
 
     const Extension* extension = LoadExtension(dir->unpacked_path());
diff --git a/chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_panel_unittest.cc b/chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_panel_unittest.cc
index cbf5b820..439ce7d 100644
--- a/chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_panel_unittest.cc
+++ b/chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_panel_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_panel.h"
 
+#include <utility>
+
 #include "apps/saved_files_service.h"
 #include "base/callback.h"
 #include "base/memory/scoped_ptr.h"
@@ -46,8 +48,8 @@
              extensions::DictionaryBuilder().Set(
                  "background",
                  extensions::DictionaryBuilder().Set(
-                     "scripts",
-                     extensions::ListBuilder().Append("background.js"))))
+                     "scripts", std::move(extensions::ListBuilder().Append(
+                                    "background.js")))))
         .Build();
   }
 
@@ -77,14 +79,15 @@
           .SetManifest(ValidAppManifest())
           .MergeManifest(extensions::DictionaryBuilder().Set(
               "permissions",
-              extensions::ListBuilder()
-                  .Append("desktopCapture")  // A valid permission with a
-                                             // message
-                  .Append("bad_perm")        // An invalid permission
-                  .Append("notifications")   // An valid permission with
-                                             // no message
-                  .Append("serial")))        // Another valid permission with
-                                             // a message
+              std::move(
+                  extensions::ListBuilder()
+                      .Append("desktopCapture")  // A valid permission with a
+                                                 // message
+                      .Append("bad_perm")        // An invalid permission
+                      .Append("notifications")   // An valid permission with
+                                                 // no message
+                      .Append("serial"))))  // Another valid permission with
+                                            // a message
           .SetID(kTestExtensionId)
           .Build();
   AppInfoPermissionsPanel panel(&profile_, app.get());
@@ -104,14 +107,15 @@
           .SetManifest(ValidAppManifest())
           .MergeManifest(extensions::DictionaryBuilder().Set(
               "optional_permissions",
-              extensions::ListBuilder()
-                  .Append("clipboardRead")  // A valid permission with a
-                                            // message
-                  .Append("bad_perm")       // An invalid permission
-                  .Append("idle")           // A valid permission with
-                                            // no message
-                  .Append("serial")))       // Another valid permission with
-                                            // a message
+              std::move(
+                  extensions::ListBuilder()
+                      .Append("clipboardRead")  // A valid permission with a
+                                                // message
+                      .Append("bad_perm")       // An invalid permission
+                      .Append("idle")           // A valid permission with
+                                                // no message
+                      .Append("serial"))))      // Another valid permission with
+                                                // a message
           .SetID(kTestExtensionId)
           .Build();
   AppInfoPermissionsPanel panel(&profile_, app.get());
@@ -131,10 +135,10 @@
           .SetManifest(ValidAppManifest())
           .MergeManifest(extensions::DictionaryBuilder().Set(
               "permissions",
-              extensions::ListBuilder().Append(
+              std::move(extensions::ListBuilder().Append(
                   extensions::DictionaryBuilder().Set(
-                      "fileSystem",
-                      extensions::ListBuilder().Append("retainEntries")))))
+                      "fileSystem", std::move(extensions::ListBuilder().Append(
+                                        "retainEntries")))))))
           .SetID(kTestExtensionId)
           .Build();
   AppInfoPermissionsPanel panel(&profile_, app.get());
diff --git a/chrome/browser/ui/webui/uber/uber_ui_browsertest.cc b/chrome/browser/ui/webui/uber/uber_ui_browsertest.cc
index 12d065c6..05c2e1a 100644
--- a/chrome/browser/ui/webui/uber/uber_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/uber/uber_ui_browsertest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <string>
+#include <utility>
 
 #include "base/command_line.h"
 #include "base/macros.h"
@@ -63,12 +64,13 @@
 
   scoped_refptr<const extensions::Extension> extension =
       extensions::ExtensionBuilder()
-          .SetManifest(extensions::DictionaryBuilder()
-                           .Set("name", "History Override")
-                           .Set("version", "1")
-                           .Set("manifest_version", 2)
-                           .Set("permission",
-                                extensions::ListBuilder().Append("history")))
+          .SetManifest(
+              extensions::DictionaryBuilder()
+                  .Set("name", "History Override")
+                  .Set("version", "1")
+                  .Set("manifest_version", 2)
+                  .Set("permission",
+                       std::move(extensions::ListBuilder().Append("history"))))
           .Build();
 
   ExtensionService* service = extensions::ExtensionSystem::Get(