diff --git a/DEPS b/DEPS
index 96d5aef..b0c93f5 100644
--- a/DEPS
+++ b/DEPS
@@ -76,7 +76,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling BoringSSL
   # and whatever else without interference from each other.
-  'boringssl_revision': '817ec3462e246b8301a73e44854e2bb3df90d5e6',
+  'boringssl_revision': '54e455157a6e1899eb6fef9440d2410cb7fedeff',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling nss
   # and whatever else without interference from each other.
diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc
index 0cc4f90..b2eaf9e 100644
--- a/ash/display/display_controller.cc
+++ b/ash/display/display_controller.cc
@@ -134,6 +134,10 @@
         base::TimeDelta::FromMicroseconds(
             base::Time::kMicrosecondsPerSecond / mode.refresh_rate));
   }
+
+  // Just movnig the display requires the full redraw.
+  // chrome-os-partner:33558.
+  host->compositor()->ScheduleFullRedraw();
 }
 
 aura::Window* GetWindow(AshWindowTreeHost* ash_host) {
@@ -602,8 +606,9 @@
       primary_tree_host_for_replace_ = host_to_delete;
       return;
     }
-    DCHECK_EQ(1U, window_tree_hosts_.size());
-    primary_display_id = ScreenUtil::GetSecondaryDisplay().id();
+    primary_display_id = window_tree_hosts_.begin()->first;
+    CHECK_NE(gfx::Display::kInvalidDisplayID, primary_display_id);
+
     AshWindowTreeHost* primary_host = host_to_delete;
 
     // Delete the other host instead.
diff --git a/ash/display/display_controller_unittest.cc b/ash/display/display_controller_unittest.cc
index e9dd69f..ed8dd6d 100644
--- a/ash/display/display_controller_unittest.cc
+++ b/ash/display/display_controller_unittest.cc
@@ -531,10 +531,17 @@
 namespace {
 
 DisplayInfo CreateDisplayInfo(int64 id,
-                              const gfx::Rect& bounds,
-                              float device_scale_factor) {
+                              int y,
+                              gfx::Display::Rotation rotation) {
   DisplayInfo info(id, "", false);
-  info.SetBounds(bounds);
+  info.SetBounds(gfx::Rect(0, y, 500, 500));
+  info.set_rotation(rotation);
+  return info;
+}
+
+DisplayInfo CreateMirroredDisplayInfo(int64 id,
+                                      float device_scale_factor) {
+  DisplayInfo info = CreateDisplayInfo(id, 0, gfx::Display::ROTATE_0);
   info.set_device_scale_factor(device_scale_factor);
   return info;
 }
@@ -553,9 +560,9 @@
   DisplayManager* display_manager = Shell::GetInstance()->display_manager();
 
   const DisplayInfo internal_display_info =
-      CreateDisplayInfo(1, gfx::Rect(0, 0, 500, 500), 2.0f);
+      CreateMirroredDisplayInfo(1, 2.0f);
   const DisplayInfo external_display_info =
-      CreateDisplayInfo(2, gfx::Rect(0, 0, 500, 500), 1.0f);
+      CreateMirroredDisplayInfo(2, 1.0f);
 
   std::vector<DisplayInfo> display_info_list;
   // Mirror.
@@ -1251,19 +1258,6 @@
   Shell::GetInstance()->RemovePreTargetHandler(&event_handler);
 }
 
-namespace {
-
-DisplayInfo CreateDisplayInfo(int64 id,
-                              int y,
-                              gfx::Display::Rotation rotation) {
-  DisplayInfo info(id, "", false);
-  info.SetBounds(gfx::Rect(0, y, 500, 500));
-  info.set_rotation(rotation);
-  return info;
-}
-
-}  // namespace
-
 // Make sure that the compositor based mirroring can switch
 // from/to dock mode.
 TEST_F(DisplayControllerTest, DockToSingle) {
@@ -1307,6 +1301,40 @@
               GetRootTransform().IsIdentityOrIntegerTranslation());
 }
 
+// Tests if switching two displays at the same time while the primary display
+// is swapped should not cause a crash. (crbug.com/426292)
+TEST_F(DisplayControllerTest, ReplaceSwappedPrimary) {
+  if (!SupportsMultipleDisplays())
+    return;
+  DisplayManager* display_manager = Shell::GetInstance()->display_manager();
+
+  const DisplayInfo first_display_info =
+      CreateDisplayInfo(10, 0, gfx::Display::ROTATE_0);
+  const DisplayInfo second_display_info =
+      CreateDisplayInfo(11, 1, gfx::Display::ROTATE_0);
+
+  std::vector<DisplayInfo> display_info_list;
+  // Extended
+  display_info_list.push_back(first_display_info);
+  display_info_list.push_back(second_display_info);
+  display_manager->OnNativeDisplaysChanged(display_info_list);
+
+  Shell::GetInstance()->display_controller()->SwapPrimaryDisplay();
+
+  EXPECT_EQ(11, Shell::GetScreen()->GetPrimaryDisplay().id());
+
+  display_info_list.clear();
+  const DisplayInfo new_first_display_info =
+      CreateDisplayInfo(20, 0, gfx::Display::ROTATE_0);
+  const DisplayInfo new_second_display_info =
+      CreateDisplayInfo(21, 1, gfx::Display::ROTATE_0);
+  display_info_list.push_back(new_first_display_info);
+  display_info_list.push_back(new_second_display_info);
+  display_manager->OnNativeDisplaysChanged(display_info_list);
+
+  EXPECT_EQ(20, Shell::GetScreen()->GetPrimaryDisplay().id());
+}
+
 #if defined(USE_X11)
 TEST_F(DisplayControllerTest, XWidowNameForRootWindow) {
   EXPECT_EQ("aura_root_0", GetXWindowName(
diff --git a/ash/shell.cc b/ash/shell.cc
index 9de2e15..7640d26 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -695,6 +695,12 @@
   // TooltipController is deleted with the Shell so removing its references.
   RemovePreTargetHandler(tooltip_controller_.get());
 
+// Destroy the virtual keyboard controller before the maximize mode controller
+// since the latters destructor triggers events that the former is listening
+// to but no longer cares about.
+#if defined(OS_CHROMEOS)
+  virtual_keyboard_controller_.reset();
+#endif
   // Destroy maximize mode controller early on since it has some observers which
   // need to be removed.
   maximize_mode_controller_->Shutdown();
@@ -794,9 +800,6 @@
   display_manager_->CreateScreenForShutdown();
   display_controller_->Shutdown();
   display_controller_.reset();
-#if defined(OS_CHROMEOS)
-  virtual_keyboard_controller_.reset();
-#endif
   screen_position_controller_.reset();
   accessibility_delegate_.reset();
   new_window_delegate_.reset();
diff --git a/ash/virtual_keyboard_controller_unittest.cc b/ash/virtual_keyboard_controller_unittest.cc
index dc45cc1..df04ae4 100644
--- a/ash/virtual_keyboard_controller_unittest.cc
+++ b/ash/virtual_keyboard_controller_unittest.cc
@@ -4,10 +4,13 @@
 
 #include "ash/virtual_keyboard_controller.h"
 
+#include <vector>
+
 #include "ash/shell.h"
 #include "ash/system/chromeos/virtual_keyboard/virtual_keyboard_observer.h"
 #include "ash/test/ash_test_base.h"
 #include "ash/wm/maximize_mode/maximize_mode_controller.h"
+#include "ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard.h"
 #include "base/command_line.h"
 #include "ui/events/devices/device_data_manager.h"
 #include "ui/events/devices/device_hotplug_event_observer.h"
@@ -39,6 +42,14 @@
     manager->OnKeyboardDevicesUpdated(keyboard_devices);
   }
 
+  // Sets the event blocker on the maximized window controller.
+  void SetEventBlocker(
+      scoped_ptr<ScopedDisableInternalMouseAndKeyboard> blocker) {
+    Shell::GetInstance()
+        ->maximize_mode_controller()
+        ->event_blocker_ = blocker.Pass();
+  }
+
   void SetUp() override {
     AshTestBase::SetUp();
     UpdateKeyboardDevices(std::vector<ui::KeyboardDevice>());
@@ -63,6 +74,36 @@
   EXPECT_FALSE(keyboard::IsKeyboardEnabled());
 }
 
+// Mock event blocker that enables the internal keyboard when it's destructor
+// is called.
+class MockEventBlocker : public ScopedDisableInternalMouseAndKeyboard {
+ public:
+  MockEventBlocker() {}
+  ~MockEventBlocker() override {
+    std::vector<ui::KeyboardDevice> keyboards;
+    keyboards.push_back(ui::KeyboardDevice(
+        1, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "keyboard"));
+    ui::DeviceHotplugEventObserver* manager =
+        ui::DeviceDataManager::GetInstance();
+    manager->OnKeyboardDevicesUpdated(keyboards);
+  }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockEventBlocker);
+};
+
+// Tests that reenabling keyboard devices while shutting down does not
+// cause the Virtual Keyboard Controller to crash. See crbug.com/446204.
+TEST_F(VirtualKeyboardControllerTest, RestoreKeyboardDevices) {
+  // Toggle maximized mode on.
+  Shell::GetInstance()
+      ->maximize_mode_controller()
+      ->EnableMaximizeModeWindowManager(true);
+  scoped_ptr<ScopedDisableInternalMouseAndKeyboard>
+      blocker(new MockEventBlocker);
+  SetEventBlocker(blocker.Pass());
+}
+
 class VirtualKeyboardControllerAutoTest : public VirtualKeyboardControllerTest,
                                           public VirtualKeyboardObserver {
  public:
diff --git a/ash/wm/lock_state_controller.cc b/ash/wm/lock_state_controller.cc
index a03a958..4610313 100644
--- a/ash/wm/lock_state_controller.cc
+++ b/ash/wm/lock_state_controller.cc
@@ -235,8 +235,7 @@
 
 void LockStateController::OnLockFailTimeout() {
   DCHECK(!system_is_locked_);
-  CHECK(false) << "We can not be sure about the lock state. Crash and let the "
-               << "SessionManager end the session";
+  LOG(FATAL) << "Screen lock took too long; crashing intentionally";
 }
 
 void LockStateController::StartLockToShutdownTimer() {
@@ -491,7 +490,8 @@
   const std::string board = base::SysInfo::GetLsbReleaseBoard();
   if (board == "x86-mario" ||
       StartsWithASCII(board, "x86-alex", true /* case_sensitive */) ||
-      StartsWithASCII(board, "x86-zgb", true /* case_sensitive */)) {
+      StartsWithASCII(board, "x86-zgb", true /* case_sensitive */) ||
+      StartsWithASCII(board, "daisy", true /* case_sensitive */)) {
     timeout *= 2;
   }
 #endif
diff --git a/ash/wm/maximize_mode/maximize_mode_controller.h b/ash/wm/maximize_mode/maximize_mode_controller.h
index 4210f27..29c58fa 100644
--- a/ash/wm/maximize_mode/maximize_mode_controller.h
+++ b/ash/wm/maximize_mode/maximize_mode_controller.h
@@ -35,6 +35,7 @@
 class MaximizeModeWindowManagerTest;
 namespace test {
 class MultiUserWindowManagerChromeOSTest;
+class VirtualKeyboardControllerTest;
 }
 
 // MaximizeModeController listens to accelerometer events and automatically
@@ -131,6 +132,7 @@
   friend class MaximizeModeControllerTest;
   friend class MaximizeModeWindowManagerTest;
   friend class test::MultiUserWindowManagerChromeOSTest;
+  friend class test::VirtualKeyboardControllerTest;
 
   // Set the TickClock. This is only to be used by tests that need to
   // artificially and deterministically control the current time.
diff --git a/build/ios/grit_whitelist.txt b/build/ios/grit_whitelist.txt
index aa579ce..0d6e48b 100644
--- a/build/ios/grit_whitelist.txt
+++ b/build/ios/grit_whitelist.txt
@@ -616,10 +616,6 @@
 IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT
 IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED
 IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED
-IDS_GOOGLE_URL_TRACKER_INFOBAR_DONT_SWITCH
-IDS_GOOGLE_URL_TRACKER_INFOBAR_LEARN_MORE
-IDS_GOOGLE_URL_TRACKER_INFOBAR_MESSAGE
-IDS_GOOGLE_URL_TRACKER_INFOBAR_SWITCH
 IDS_GROUP_BY_DOMAIN_LABEL
 IDS_GUEST_PROFILE_NAME
 IDS_HARMFUL_V3_EXPLANATION_PARAGRAPH
diff --git a/build/util/LASTCHANGE b/build/util/LASTCHANGE
index 2039349..da4f812 100644
--- a/build/util/LASTCHANGE
+++ b/build/util/LASTCHANGE
@@ -1 +1 @@
-LASTCHANGE=cada861900be
+LASTCHANGE=f7ea06d7fca4
diff --git a/build/util/LASTCHANGE.blink b/build/util/LASTCHANGE.blink
index dce6657..90859f4 100644
--- a/build/util/LASTCHANGE.blink
+++ b/build/util/LASTCHANGE.blink
@@ -1 +1 @@
-LASTCHANGE=187938
+LASTCHANGE=188344
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
index 023a1cd..6665c89 100644
--- a/cc/resources/resource_provider.cc
+++ b/cc/resources/resource_provider.cc
@@ -1058,6 +1058,13 @@
     GLES2Interface* gl = resource_provider_->ContextGL();
     DCHECK(gl);
 
+#if defined(OS_CHROMEOS)
+    // TODO(reveman): GL_COMMANDS_ISSUED_CHROMIUM is used for synchronization
+    // on ChromeOS to avoid some performance issues. This only works with
+    // shared memory backed buffers. crbug.com/436314
+    DCHECK_EQ(gpu_memory_buffer_->GetHandle().type, gfx::SHARED_MEMORY_BUFFER);
+#endif
+
     resource_->image_id =
         gl->CreateImageCHROMIUM(gpu_memory_buffer_->AsClientBuffer(),
                                 size_.width(),
@@ -2061,8 +2068,16 @@
   if (use_sync_query_) {
     if (!source_resource->gl_read_lock_query_id)
       gl->GenQueriesEXT(1, &source_resource->gl_read_lock_query_id);
+#if defined(OS_CHROMEOS)
+    // TODO(reveman): This avoids a performance problem on some ChromeOS
+    // devices. This needs to be removed to support native GpuMemoryBuffer
+    // implementations. crbug.com/436314
+    gl->BeginQueryEXT(GL_COMMANDS_ISSUED_CHROMIUM,
+                      source_resource->gl_read_lock_query_id);
+#else
     gl->BeginQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM,
                       source_resource->gl_read_lock_query_id);
+#endif
   }
   DCHECK(!dest_resource->image_id);
   dest_resource->allocated = true;
@@ -2075,7 +2090,11 @@
   if (source_resource->gl_read_lock_query_id) {
     // End query and create a read lock fence that will prevent access to
     // source resource until CopyTextureCHROMIUM command has completed.
+#if defined(OS_CHROMEOS)
+    gl->EndQueryEXT(GL_COMMANDS_ISSUED_CHROMIUM);
+#else
     gl->EndQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM);
+#endif
     source_resource->read_lock_fence = make_scoped_refptr(
         new QueryFence(gl, source_resource->gl_read_lock_query_id));
   } else {
diff --git a/chrome/VERSION b/chrome/VERSION
index 145cfc7..f9f622d 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=40
 MINOR=0
 BUILD=2214
-PATCH=69
+PATCH=87
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/Tab.java
index c81d98b..e8b4781 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/Tab.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/Tab.java
@@ -10,6 +10,7 @@
 import android.graphics.Color;
 import android.view.ContextMenu;
 import android.view.View;
+import android.widget.FrameLayout;
 
 import org.chromium.base.CalledByNative;
 import org.chromium.base.ObserverList;
@@ -114,6 +115,9 @@
      */
     private ContentViewCore mContentViewCore;
 
+    /** The parent view of the ContentView and the InfoBarContainer. */
+    private FrameLayout mContentViewParent;
+
     /**
      * A list of Tab observers.  These are used to broadcast Tab events to listeners.
      */
@@ -502,8 +506,7 @@
      *         This can be {@code null}, if the tab is frozen or being initialized or destroyed.
      */
     public View getView() {
-        return mNativePage != null ? mNativePage.getView() :
-                (mContentViewCore != null ? mContentViewCore.getContainerView() : null);
+        return mNativePage != null ? mNativePage.getView() : mContentViewParent;
     }
 
     /**
@@ -835,6 +838,18 @@
 
         mContentViewCore = cvc;
 
+        // Wrap the ContentView in a FrameLayout, which will contain both the ContentView and the
+        // InfoBarContainer. The alternative -- placing the InfoBarContainer inside the ContentView
+        // -- causes problems since then the ContentView would contain both real views (the
+        // infobars) and virtual views (the web page elements), which breaks Android accessibility.
+        // http://crbug.com/416663
+        if (mContentViewParent != null) {
+            assert false;
+            mContentViewParent.removeAllViews();
+        }
+        mContentViewParent = new FrameLayout(mContext);
+        mContentViewParent.addView(cvc.getContainerView());
+
         mWebContentsDelegate = createWebContentsDelegate();
         mWebContentsObserver = new TabWebContentsObserver(mContentViewCore.getWebContents());
         mVoiceSearchTabHelper = new VoiceSearchTabHelper(mContentViewCore.getWebContents());
@@ -854,9 +869,9 @@
             WebContents webContents = mContentViewCore.getWebContents();
             mInfoBarContainer = new InfoBarContainer(
                     (Activity) mContext, createAutoLoginProcessor(), getId(),
-                    mContentViewCore.getContainerView(), webContents);
+                    mContentViewParent, webContents);
         } else {
-            mInfoBarContainer.onParentViewChanged(getId(), mContentViewCore.getContainerView());
+            mInfoBarContainer.onParentViewChanged(getId(), mContentViewParent);
         }
 
         if (AppBannerManager.isEnabled() && mAppBannerManager == null) {
@@ -937,13 +952,12 @@
         // If we have no content or a native page, return null.
         if (getContentViewCore() == null) return null;
 
-        if (mFavicon != null) return mFavicon;
+        // Use the cached favicon only if the page wasn't changed.
+        if (mFavicon != null && mFaviconUrl != null && mFaviconUrl.equals(getUrl())) {
+            return mFavicon;
+        }
 
-        // Cache the result so we don't keep querying it.
-        mFavicon = nativeGetFavicon(mNativeTabAndroid);
-        // Invalidate the favicon URL so that if we do get a favicon for this page we don't drop it.
-        mFaviconUrl = null;
-        return mFavicon;
+        return nativeGetFavicon(mNativeTabAndroid);
     }
 
     /**
@@ -1009,9 +1023,8 @@
 
         destroyContentViewCoreInternal(mContentViewCore);
 
-        if (mInfoBarContainer != null && mInfoBarContainer.getParent() != null) {
-            mInfoBarContainer.removeFromParentView();
-        }
+        mContentViewParent.removeAllViews();
+        mContentViewParent = null;
         mContentViewCore.destroy();
 
         mContentViewCore = null;
@@ -1088,7 +1101,6 @@
         if (url == null) return;
 
         boolean pageUrlChanged = !url.equals(mFaviconUrl);
-
         // This method will be called multiple times if the page has more than one favicon.
         // we are trying to use the 16x16 DP icon here, Bitmap.createScaledBitmap will return
         // the origin bitmap if it is already 16x16 DP.
diff --git a/chrome/browser/android/logo_service.cc b/chrome/browser/android/logo_service.cc
index 141b09f..f9d3252 100644
--- a/chrome/browser/android/logo_service.cc
+++ b/chrome/browser/android/logo_service.cc
@@ -9,7 +9,6 @@
 #include "chrome/browser/image_decoder.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/search_engines/template_url_service_factory.h"
-#include "components/google/core/browser/google_url_tracker.h"
 #include "components/google/core/browser/google_util.h"
 #include "components/keyed_service/content/browser_context_dependency_manager.h"
 #include "components/search_engines/template_url_service.h"
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
index abb5269..eff5cc8 100644
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
@@ -13,7 +13,6 @@
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
 #include "chrome/browser/favicon/favicon_tab_helper.h"
-#include "chrome/browser/google/google_url_tracker_factory.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/browser/prerender/prerender_contents.h"
 #include "chrome/browser/prerender/prerender_manager.h"
@@ -40,8 +39,6 @@
 #include "chrome/browser/ui/tab_helpers.h"
 #include "chrome/common/instant_types.h"
 #include "chrome/common/url_constants.h"
-#include "components/google/core/browser/google_url_tracker.h"
-#include "components/google/core/browser/google_util.h"
 #include "components/infobars/core/infobar_container.h"
 #include "components/url_fixer/url_fixer.h"
 #include "content/public/browser/android/content_view_core.h"
@@ -552,20 +549,6 @@
     return PAGE_LOAD_FAILED;
 
   if (!HandleNonNavigationAboutURL(fixed_url)) {
-    // Notify the GoogleURLTracker of searches, it might want to change the
-    // actual Google site used (for instance when in the UK, google.co.uk, when
-    // in the US google.com).
-    // Note that this needs to happen before we initiate the navigation as the
-    // GoogleURLTracker uses the navigation pending notification to trigger the
-    // infobar.
-    if (google_util::IsGoogleSearchUrl(fixed_url) &&
-        (page_transition & ui::PAGE_TRANSITION_GENERATED)) {
-      GoogleURLTracker* tracker =
-          GoogleURLTrackerFactory::GetForProfile(GetProfile());
-      if (tracker)
-        tracker->SearchCommitted();
-    }
-
     // Record UMA "ShowHistory" here. That way it'll pick up both user
     // typing chrome://history as well as selecting from the drop down menu.
     if (fixed_url.spec() == chrome::kChromeUIHistoryURL) {
diff --git a/chrome/browser/chromeos/login/saml/saml_browsertest.cc b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
index 44e8402..523b555 100644
--- a/chrome/browser/chromeos/login/saml/saml_browsertest.cc
+++ b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
@@ -2,13 +2,17 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <cstring>
+
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/callback.h"
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
+#include "base/files/scoped_temp_dir.h"
 #include "base/location.h"
+#include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/path_service.h"
@@ -31,6 +35,7 @@
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/chromeos/settings/cros_settings.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
+#include "chrome/browser/policy/test/local_policy_test_server.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/webui/signin/inline_login_ui.h"
 #include "chrome/common/chrome_paths.h"
@@ -45,15 +50,20 @@
 #include "components/policy/core/browser/browser_policy_connector.h"
 #include "components/policy/core/common/mock_configuration_policy_provider.h"
 #include "components/policy/core/common/policy_map.h"
+#include "components/policy/core/common/policy_switches.h"
 #include "components/policy/core/common/policy_types.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
+#include "content/public/browser/web_contents_observer.h"
 #include "content/public/test/browser_test_utils.h"
 #include "content/public/test/test_utils.h"
 #include "google_apis/gaia/fake_gaia.h"
+#include "google_apis/gaia/gaia_constants.h"
 #include "google_apis/gaia/gaia_switches.h"
+#include "google_apis/gaia/gaia_urls.h"
 #include "net/base/url_util.h"
 #include "net/cookies/canonical_cookie.h"
 #include "net/cookies/cookie_monster.h"
@@ -103,6 +113,10 @@
 
 const char kRelayState[] = "RelayState";
 
+const char kTestUserinfoToken[] = "fake-userinfo-token";
+const char kTestRefreshToken[] = "fake-refresh-token";
+const char kPolicy[] = "{\"managed_users\": [\"*\"]}";
+
 // FakeSamlIdp serves IdP auth form and the form submission. The form is
 // served with the template's RelayState placeholder expanded to the real
 // RelayState parameter from request. The form submission redirects back to
@@ -242,7 +256,7 @@
 
 class SamlTest : public InProcessBrowserTest {
  public:
-  SamlTest() : saml_load_injected_(false) {}
+  SamlTest() : gaia_frame_parent_("signin-frame"), saml_load_injected_(false) {}
   virtual ~SamlTest() {}
 
   virtual void SetUp() override {
@@ -340,7 +354,7 @@
     login_screen_load_observer_->Wait();
   }
 
-  void StartSamlAndWaitForIdpPageLoad(const std::string& gaia_email) {
+  virtual void StartSamlAndWaitForIdpPageLoad(const std::string& gaia_email) {
     WaitForSigninScreen();
 
     if (!saml_load_injected_) {
@@ -415,7 +429,7 @@
   // Executes JavaScript code in the auth iframe hosted by gaia_auth extension.
   void ExecuteJsInSigninFrame(const std::string& js) {
     content::RenderFrameHost* frame = InlineLoginUI::GetAuthIframe(
-        GetLoginUI()->GetWebContents(), GURL(), "signin-frame");
+        GetLoginUI()->GetWebContents(), GURL(), gaia_frame_parent_);
     ASSERT_TRUE(content::ExecuteScript(frame, js));
   }
 
@@ -425,11 +439,14 @@
   scoped_ptr<content::WindowedNotificationObserver> login_screen_load_observer_;
   FakeGaia fake_gaia_;
 
- private:
-  FakeSamlIdp fake_saml_idp_;
+  std::string gaia_frame_parent_;
+
   scoped_ptr<HTTPSForwarder> gaia_https_forwarder_;
   scoped_ptr<HTTPSForwarder> saml_https_forwarder_;
 
+ private:
+  FakeSamlIdp fake_saml_idp_;
+
   bool saml_load_injected_;
 
   DISALLOW_COPY_AND_ASSIGN(SamlTest);
@@ -639,6 +656,170 @@
             WaitForAndGetFatalErrorMessage());
 }
 
+class SAMLEnrollmentTest : public SamlTest,
+                           public content::WebContentsObserver {
+ public:
+  SAMLEnrollmentTest();
+  ~SAMLEnrollmentTest() override;
+
+  // SamlTest:
+  void SetUp() override;
+  void SetUpCommandLine(CommandLine* command_line) override;
+  void SetUpOnMainThread() override;
+  void StartSamlAndWaitForIdpPageLoad(const std::string& gaia_email) override;
+
+  // content::WebContentsObserver:
+  void RenderFrameCreated(content::RenderFrameHost* render_frame_host) override;
+  void DidFinishLoad(content::RenderFrameHost* render_frame_host,
+                     const GURL& validated_url) override;
+
+  void WaitForEnrollmentSuccess();
+
+ private:
+  scoped_ptr<policy::LocalPolicyTestServer> test_server_;
+  base::ScopedTempDir temp_dir_;
+
+  scoped_ptr<base::RunLoop> run_loop_;
+  content::RenderFrameHost* auth_frame_;
+
+  DISALLOW_COPY_AND_ASSIGN(SAMLEnrollmentTest);
+};
+
+SAMLEnrollmentTest::SAMLEnrollmentTest() : auth_frame_(nullptr) {
+  gaia_frame_parent_ = "oauth-enroll-signin-frame";
+}
+
+SAMLEnrollmentTest::~SAMLEnrollmentTest() {
+}
+
+void SAMLEnrollmentTest::SetUp() {
+  ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
+  const base::FilePath policy_file =
+      temp_dir_.path().AppendASCII("policy.json");
+  ASSERT_EQ(static_cast<int>(strlen(kPolicy)),
+            base::WriteFile(policy_file, kPolicy, strlen(kPolicy)));
+
+  test_server_.reset(new policy::LocalPolicyTestServer(policy_file));
+  ASSERT_TRUE(test_server_->Start());
+
+  SamlTest::SetUp();
+}
+
+void SAMLEnrollmentTest::SetUpCommandLine(CommandLine* command_line) {
+  command_line->AppendSwitchASCII(policy::switches::kDeviceManagementUrl,
+                                  test_server_->GetServiceURL().spec());
+  command_line->AppendSwitch(policy::switches::kDisablePolicyKeyVerification);
+  command_line->AppendSwitch(switches::kEnterpriseEnrollmentSkipRobotAuth);
+
+  SamlTest::SetUpCommandLine(command_line);
+}
+
+void SAMLEnrollmentTest::SetUpOnMainThread() {
+  Observe(GetLoginUI()->GetWebContents());
+
+  FakeGaia::AccessTokenInfo token_info;
+  token_info.token = kTestUserinfoToken;
+  token_info.scopes.insert(GaiaConstants::kDeviceManagementServiceOAuth);
+  token_info.scopes.insert(GaiaConstants::kOAuthWrapBridgeUserInfoScope);
+  token_info.audience = GaiaUrls::GetInstance()->oauth2_chrome_client_id();
+  token_info.email = kFirstSAMLUserEmail;
+  fake_gaia_.IssueOAuthToken(kTestRefreshToken, token_info);
+
+  SamlTest::SetUpOnMainThread();
+}
+
+void SAMLEnrollmentTest::StartSamlAndWaitForIdpPageLoad(
+    const std::string& gaia_email) {
+  WaitForSigninScreen();
+  run_loop_.reset(new base::RunLoop);
+  ExistingUserController::current_controller()->OnStartEnterpriseEnrollment();
+  run_loop_->Run();
+
+  SetSignFormField("Email", gaia_email);
+
+  run_loop_.reset(new base::RunLoop);
+  ExecuteJsInSigninFrame("document.getElementById('signIn').click();");
+  run_loop_->Run();
+}
+
+void SAMLEnrollmentTest::RenderFrameCreated(
+    content::RenderFrameHost* render_frame_host) {
+  content::RenderFrameHost* parent = render_frame_host->GetParent();
+  if (!parent || parent->GetFrameName() != gaia_frame_parent_)
+    return;
+
+  // The GAIA extension created the iframe in which the login form will be
+  // shown. Now wait for the login form to finish loading.
+  auth_frame_ = render_frame_host;
+  Observe(content::WebContents::FromRenderFrameHost(auth_frame_));
+}
+
+void SAMLEnrollmentTest::DidFinishLoad(
+    content::RenderFrameHost* render_frame_host,
+    const GURL& validated_url) {
+  if (render_frame_host != auth_frame_)
+    return;
+
+  const GURL origin = validated_url.GetOrigin();
+  if (origin != gaia_https_forwarder_->GetURL("") &&
+      origin != saml_https_forwarder_->GetURL("")) {
+    return;
+  }
+
+  // The GAIA or SAML IdP login form finished loading.
+  if (run_loop_)
+    run_loop_->Quit();
+}
+
+// Waits until the class |oauth-enroll-state-success| becomes set for the
+// enrollment screen, indicating enrollment success.
+void SAMLEnrollmentTest::WaitForEnrollmentSuccess() {
+  bool done = false;
+  ASSERT_TRUE(content::ExecuteScriptAndExtractBool(
+      GetLoginUI()->GetWebContents(),
+      "var enrollmentScreen = document.getElementById('oauth-enrollment');"
+      "function SendReplyIfEnrollmentDone() {"
+      "  if (!enrollmentScreen.classList.contains("
+      "           'oauth-enroll-state-success')) {"
+      "    return false;"
+      "  }"
+      "  domAutomationController.send(true);"
+      "  observer.disconnect();"
+      "  return true;"
+      "}"
+      "var observer = new MutationObserver(SendReplyIfEnrollmentDone);"
+      "if (!SendReplyIfEnrollmentDone()) {"
+      "  var options = { attributes: true, attributeFilter: [ 'class' ] };"
+      "  observer.observe(enrollmentScreen, options);"
+      "}",
+      &done));
+}
+
+IN_PROC_BROWSER_TEST_F(SAMLEnrollmentTest, WithoutCredentialsPassingAPI) {
+  fake_saml_idp()->SetLoginHTMLTemplate("saml_login.html");
+  StartSamlAndWaitForIdpPageLoad(kFirstSAMLUserEmail);
+
+  // Fill-in the SAML IdP form and submit.
+  SetSignFormField("Email", "fake_user");
+  SetSignFormField("Password", "fake_password");
+  ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
+
+  WaitForEnrollmentSuccess();
+}
+
+IN_PROC_BROWSER_TEST_F(SAMLEnrollmentTest, WithCredentialsPassingAPI) {
+  fake_saml_idp()->SetLoginHTMLTemplate("saml_api_login.html");
+  fake_saml_idp()->SetLoginAuthHTMLTemplate("saml_api_login_auth.html");
+  StartSamlAndWaitForIdpPageLoad(kFirstSAMLUserEmail);
+
+  // Fill-in the SAML IdP form and submit.
+  SetSignFormField("Email", "fake_user");
+  SetSignFormField("Password", "fake_password");
+  ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
+
+  WaitForEnrollmentSuccess();
+}
+
 class SAMLPolicyTest : public SamlTest {
  public:
   SAMLPolicyTest();
diff --git a/chrome/browser/google/DEPS b/chrome/browser/google/DEPS
deleted file mode 100644
index f40a6ca..0000000
--- a/chrome/browser/google/DEPS
+++ /dev/null
@@ -1,8 +0,0 @@
-specific_include_rules = {
-  # GoogleURLTracker can't use WebContents, since it is used by iOS.
-  # If WebContents functionality is needed, add it to
-  # GoogleURLTrackerNavigationHelperImpl.
-  'google_url_tracker\.': [
-    "-content/public/browser/web_contents.h",
-  ],
-}
diff --git a/chrome/browser/google/chrome_google_url_tracker_client.cc b/chrome/browser/google/chrome_google_url_tracker_client.cc
index d8bc86d..3b6ff8f 100644
--- a/chrome/browser/google/chrome_google_url_tracker_client.cc
+++ b/chrome/browser/google/chrome_google_url_tracker_client.cc
@@ -5,16 +5,8 @@
 #include "chrome/browser/google/chrome_google_url_tracker_client.h"
 
 #include "base/command_line.h"
-#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/google/google_url_tracker_navigation_helper_impl.h"
-#include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/chrome_switches.h"
-#include "components/google/core/browser/google_url_tracker.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/web_contents.h"
 
 ChromeGoogleURLTrackerClient::ChromeGoogleURLTrackerClient(Profile* profile)
     : profile_(profile) {
@@ -23,27 +15,6 @@
 ChromeGoogleURLTrackerClient::~ChromeGoogleURLTrackerClient() {
 }
 
-void ChromeGoogleURLTrackerClient::SetListeningForNavigationStart(bool listen) {
-  if (listen) {
-    registrar_.Add(
-        this,
-        content::NOTIFICATION_NAV_ENTRY_PENDING,
-        content::NotificationService::AllBrowserContextsAndSources());
-  } else {
-    registrar_.Remove(
-        this,
-        content::NOTIFICATION_NAV_ENTRY_PENDING,
-        content::NotificationService::AllBrowserContextsAndSources());
-  }
-}
-
-bool ChromeGoogleURLTrackerClient::IsListeningForNavigationStart() {
-  return registrar_.IsRegistered(
-      this,
-      content::NOTIFICATION_NAV_ENTRY_PENDING,
-      content::NotificationService::AllBrowserContextsAndSources());
-}
-
 bool ChromeGoogleURLTrackerClient::IsBackgroundNetworkingEnabled() {
   return !CommandLine::ForCurrentProcess()->HasSwitch(
       switches::kDisableBackgroundNetworking);
@@ -57,24 +28,3 @@
 ChromeGoogleURLTrackerClient::GetRequestContext() {
   return profile_->GetRequestContext();
 }
-
-void ChromeGoogleURLTrackerClient::Observe(
-    int type,
-    const content::NotificationSource& source,
-    const content::NotificationDetails& details) {
-  DCHECK_EQ(content::NOTIFICATION_NAV_ENTRY_PENDING, type);
-  content::NavigationController* controller =
-      content::Source<content::NavigationController>(source).ptr();
-  InfoBarService* infobar_service =
-      InfoBarService::FromWebContents(controller->GetWebContents());
-  // Because we're listening to all sources, there may be no InfoBarService for
-  // some notifications, e.g. navigations in bubbles/balloons etc.
-  if (infobar_service) {
-    google_url_tracker()->OnNavigationPending(
-        scoped_ptr<GoogleURLTrackerNavigationHelper>(
-            new GoogleURLTrackerNavigationHelperImpl(
-                controller->GetWebContents(), google_url_tracker())),
-        infobar_service,
-        controller->GetPendingEntry()->GetUniqueID());
-  }
-}
diff --git a/chrome/browser/google/chrome_google_url_tracker_client.h b/chrome/browser/google/chrome_google_url_tracker_client.h
index 2687809..2e0d567 100644
--- a/chrome/browser/google/chrome_google_url_tracker_client.h
+++ b/chrome/browser/google/chrome_google_url_tracker_client.h
@@ -6,34 +6,22 @@
 #define CHROME_BROWSER_GOOGLE_CHROME_GOOGLE_URL_TRACKER_CLIENT_H_
 
 #include "components/google/core/browser/google_url_tracker_client.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
 
 class Profile;
 
-class ChromeGoogleURLTrackerClient : public GoogleURLTrackerClient,
-                                     public content::NotificationObserver {
+class ChromeGoogleURLTrackerClient : public GoogleURLTrackerClient {
  public:
   explicit ChromeGoogleURLTrackerClient(Profile* profile);
   ~ChromeGoogleURLTrackerClient() override;
 
   // GoogleURLTrackerClient:
-  void SetListeningForNavigationStart(bool listen) override;
-  bool IsListeningForNavigationStart() override;
   bool IsBackgroundNetworkingEnabled() override;
   PrefService* GetPrefs() override;
   net::URLRequestContextGetter* GetRequestContext() override;
 
  private:
-  // content::NotificationObserver:
-  void Observe(int type,
-               const content::NotificationSource& source,
-               const content::NotificationDetails& details) override;
-
   Profile* profile_;
 
-  content::NotificationRegistrar registrar_;
-
   DISALLOW_COPY_AND_ASSIGN(ChromeGoogleURLTrackerClient);
 };
 
diff --git a/chrome/browser/google/google_url_tracker_factory.cc b/chrome/browser/google/google_url_tracker_factory.cc
index bc6eb06..1ba3e69 100644
--- a/chrome/browser/google/google_url_tracker_factory.cc
+++ b/chrome/browser/google/google_url_tracker_factory.cc
@@ -13,6 +13,12 @@
 #include "components/keyed_service/content/browser_context_dependency_manager.h"
 #include "components/pref_registry/pref_registry_syncable.h"
 
+namespace {
+
+const char kLastPromptedGoogleURL[] = "browser.last_prompted_google_url";
+
+}  // namespace
+
 
 // static
 GoogleURLTracker* GoogleURLTrackerFactory::GetForProfile(Profile* profile) {
@@ -36,6 +42,11 @@
 
 KeyedService* GoogleURLTrackerFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
+  // Delete this now-unused pref.
+  // At some point in the future, this code can be removed entirely.
+  static_cast<Profile*>(context)->GetOriginalProfile()->GetPrefs()->ClearPref(
+      kLastPromptedGoogleURL);
+
   scoped_ptr<GoogleURLTrackerClient> client(
       new ChromeGoogleURLTrackerClient(Profile::FromBrowserContext(context)));
   return new GoogleURLTracker(client.Pass(), GoogleURLTracker::NORMAL_MODE);
@@ -48,7 +59,7 @@
       GoogleURLTracker::kDefaultGoogleHomepage,
       user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
   user_prefs->RegisterStringPref(
-      prefs::kLastPromptedGoogleURL,
+      kLastPromptedGoogleURL,
       std::string(),
       user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
 }
diff --git a/chrome/browser/google/google_url_tracker_navigation_helper_impl.cc b/chrome/browser/google/google_url_tracker_navigation_helper_impl.cc
deleted file mode 100644
index 080f611..0000000
--- a/chrome/browser/google/google_url_tracker_navigation_helper_impl.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/google/google_url_tracker_navigation_helper_impl.h"
-
-#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/infobars/infobar_service.h"
-#include "components/google/core/browser/google_url_tracker.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/web_contents.h"
-
-GoogleURLTrackerNavigationHelperImpl::GoogleURLTrackerNavigationHelperImpl(
-    content::WebContents* web_contents,
-    GoogleURLTracker* tracker)
-    : GoogleURLTrackerNavigationHelper(tracker),
-      web_contents_(web_contents) {
-}
-
-GoogleURLTrackerNavigationHelperImpl::~GoogleURLTrackerNavigationHelperImpl() {
-  web_contents_ = NULL;
-}
-
-void GoogleURLTrackerNavigationHelperImpl::SetListeningForNavigationCommit(
-    bool listen) {
-  content::NotificationSource navigation_controller_source =
-      content::Source<content::NavigationController>(
-          &web_contents_->GetController());
-  if (listen) {
-    registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                    navigation_controller_source);
-  } else {
-    registrar_.Remove(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                      navigation_controller_source);
-  }
-}
-
-bool GoogleURLTrackerNavigationHelperImpl::IsListeningForNavigationCommit() {
-  content::NotificationSource navigation_controller_source =
-      content::Source<content::NavigationController>(
-          &web_contents_->GetController());
-  return registrar_.IsRegistered(
-      this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-      navigation_controller_source);
-}
-
-void GoogleURLTrackerNavigationHelperImpl::SetListeningForTabDestruction(
-    bool listen) {
-  content::NotificationSource web_contents_source =
-      content::Source<content::WebContents>(web_contents_);
-  if (listen) {
-    registrar_.Add(this,
-                   content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
-                   web_contents_source);
-  } else {
-    registrar_.Remove(this,
-                      content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
-                      web_contents_source);
-  }
-}
-
-bool GoogleURLTrackerNavigationHelperImpl::IsListeningForTabDestruction() {
-  return registrar_.IsRegistered(
-      this,
-      content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
-      content::Source<content::WebContents>(web_contents_));
-}
-
-void GoogleURLTrackerNavigationHelperImpl::OpenURL(
-    GURL url,
-    WindowOpenDisposition disposition,
-    bool user_clicked_on_link) {
-  ui::PageTransition transition_type = user_clicked_on_link ?
-      ui::PAGE_TRANSITION_LINK : ui::PAGE_TRANSITION_GENERATED;
-  web_contents_->OpenURL(content::OpenURLParams(
-      url, content::Referrer(), disposition, transition_type, false));
-}
-
-void GoogleURLTrackerNavigationHelperImpl::Observe(
-    int type,
-    const content::NotificationSource& source,
-    const content::NotificationDetails& details) {
-  switch (type) {
-    case content::NOTIFICATION_NAV_ENTRY_COMMITTED: {
-      content::NavigationController* controller =
-          content::Source<content::NavigationController>(source).ptr();
-      DCHECK_EQ(web_contents_, controller->GetWebContents());
-
-      // Here we're only listening to notifications where we already know
-      // there's an associated InfoBarService.
-      InfoBarService* infobar_service =
-          InfoBarService::FromWebContents(web_contents_);
-      DCHECK(infobar_service);
-      const GURL& search_url = controller->GetActiveEntry()->GetURL();
-      if (!search_url.is_valid())  // Not clear if this can happen.
-        google_url_tracker()->OnTabClosed(this);
-      google_url_tracker()->OnNavigationCommitted(infobar_service, search_url);
-      break;
-    }
-
-    case content::NOTIFICATION_WEB_CONTENTS_DESTROYED: {
-      DCHECK_EQ(web_contents_,
-                content::Source<content::WebContents>(source).ptr());
-      google_url_tracker()->OnTabClosed(this);
-      break;
-    }
-
-    default:
-      NOTREACHED() << "Unknown notification received:" << type;
-  }
-}
diff --git a/chrome/browser/google/google_url_tracker_navigation_helper_impl.h b/chrome/browser/google/google_url_tracker_navigation_helper_impl.h
deleted file mode 100644
index a0a3359..0000000
--- a/chrome/browser/google/google_url_tracker_navigation_helper_impl.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_GOOGLE_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_IMPL_H_
-#define CHROME_BROWSER_GOOGLE_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_IMPL_H_
-
-#include "components/google/core/browser/google_url_tracker_navigation_helper.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
-#include "url/gurl.h"
-
-namespace content {
-class WebContents;
-}
-
-class GoogleURLTrackerNavigationHelperImpl
-    : public GoogleURLTrackerNavigationHelper,
-      public content::NotificationObserver {
- public:
-  GoogleURLTrackerNavigationHelperImpl(content::WebContents* web_contents,
-                                       GoogleURLTracker* tracker);
-  ~GoogleURLTrackerNavigationHelperImpl() override;
-
-  // GoogleURLTrackerNavigationHelper:
-  void SetListeningForNavigationCommit(bool listen) override;
-  bool IsListeningForNavigationCommit() override;
-  void SetListeningForTabDestruction(bool listen) override;
-  bool IsListeningForTabDestruction() override;
-  void OpenURL(GURL url,
-               WindowOpenDisposition disposition,
-               bool user_clicked_on_link) override;
-
- private:
-  // content::NotificationObserver:
-  void Observe(int type,
-               const content::NotificationSource& source,
-               const content::NotificationDetails& details) override;
-
-  content::WebContents* web_contents_;
-  content::NotificationRegistrar registrar_;
-
-  DISALLOW_COPY_AND_ASSIGN(GoogleURLTrackerNavigationHelperImpl);
-};
-
-#endif  // CHROME_BROWSER_GOOGLE_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_IMPL_H_
diff --git a/chrome/browser/policy/test/local_policy_test_server.cc b/chrome/browser/policy/test/local_policy_test_server.cc
index e4c73f0..d4bb6c7 100644
--- a/chrome/browser/policy/test/local_policy_test_server.cc
+++ b/chrome/browser/policy/test/local_policy_test_server.cc
@@ -197,21 +197,15 @@
   }
 
   AppendToPythonPath(pyproto_dir
-                     .AppendASCII("chrome")
-                     .AppendASCII("browser")
-                     .AppendASCII("policy")
-                     .AppendASCII("proto")
-                     .AppendASCII("cloud"));
-  AppendToPythonPath(pyproto_dir
                      .AppendASCII("policy")
                      .AppendASCII("proto"));
 #if defined(OS_CHROMEOS)
   AppendToPythonPath(pyproto_dir
                      .AppendASCII("chrome")
                      .AppendASCII("browser")
+                     .AppendASCII("chromeos")
                      .AppendASCII("policy")
-                     .AppendASCII("proto")
-                     .AppendASCII("chromeos"));
+                     .AppendASCII("proto"));
 #endif
 
   return true;
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 6ea64ff..29f7bc6 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -24,7 +24,6 @@
 #include "chrome/browser/external_protocol/external_protocol_handler.h"
 #include "chrome/browser/first_run/first_run.h"
 #include "chrome/browser/geolocation/geolocation_prefs.h"
-#include "chrome/browser/google/google_url_tracker_factory.h"
 #include "chrome/browser/gpu/gl_string_manager.h"
 #include "chrome/browser/gpu/gpu_mode_manager.h"
 #include "chrome/browser/intranet_redirect_detector.h"
@@ -86,8 +85,6 @@
 #include "components/dom_distiller/core/distilled_page_prefs.h"
 #include "components/enhanced_bookmarks/bookmark_server_cluster_service.h"
 #include "components/gcm_driver/gcm_channel_status_syncer.h"
-#include "components/google/core/browser/google_pref_names.h"
-#include "components/google/core/browser/google_url_tracker.h"
 #include "components/network_time/network_time_tracker.h"
 #include "components/password_manager/core/browser/password_manager.h"
 #include "components/pref_registry/pref_registry_syncable.h"
@@ -223,7 +220,6 @@
   NO_PREFS = 0,
   DNS_PREFS = 1 << 0,
   WINDOWS_PREFS = 1 << 1,
-  GOOGLE_URL_TRACKER_PREFS = 1 << 2,
 };
 
 // A previous feature (see
@@ -620,29 +616,6 @@
                             current_version);
   }
 
-  if (!(current_version & GOOGLE_URL_TRACKER_PREFS)) {
-    registry->RegisterStringPref(prefs::kLastKnownGoogleURL,
-                                 GoogleURLTracker::kDefaultGoogleHomepage);
-    if (local_state->HasPrefPath(prefs::kLastKnownGoogleURL)) {
-      user_prefs->SetString(prefs::kLastKnownGoogleURL,
-                            local_state->GetString(prefs::kLastKnownGoogleURL));
-    }
-    local_state->ClearPref(prefs::kLastKnownGoogleURL);
-
-    registry->RegisterStringPref(prefs::kLastPromptedGoogleURL,
-                                 std::string());
-    if (local_state->HasPrefPath(prefs::kLastPromptedGoogleURL)) {
-      user_prefs->SetString(
-          prefs::kLastPromptedGoogleURL,
-          local_state->GetString(prefs::kLastPromptedGoogleURL));
-    }
-    local_state->ClearPref(prefs::kLastPromptedGoogleURL);
-
-    current_version |= GOOGLE_URL_TRACKER_PREFS;
-    local_state->SetInteger(prefs::kMultipleProfilePrefMigration,
-                            current_version);
-  }
-
 #if !defined(OS_ANDROID)
   local_state->ClearPref(kLegacyProfileResetPromptMemento);
 #endif
diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc
index 6b2d0af..cc3fdd1 100644
--- a/chrome/browser/profile_resetter/profile_resetter.cc
+++ b/chrome/browser/profile_resetter/profile_resetter.cc
@@ -21,7 +21,6 @@
 #include "chrome/common/pref_names.h"
 #include "chrome/installer/util/browser_distribution.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
-#include "components/google/core/browser/google_pref_names.h"
 #include "components/google/core/browser/google_url_tracker.h"
 #include "components/search_engines/search_engines_pref_names.h"
 #include "components/search_engines/template_url_prepopulate_data.h"
@@ -171,7 +170,6 @@
     template_url_service_->RepairPrepopulatedSearchEngines();
 
     // Reset Google search URL.
-    prefs->ClearPref(prefs::kLastPromptedGoogleURL);
     const TemplateURL* default_search_provider =
         template_url_service_->GetDefaultSearchProvider();
     if (default_search_provider &&
diff --git a/chrome/browser/profile_resetter/profile_resetter_unittest.cc b/chrome/browser/profile_resetter/profile_resetter_unittest.cc
index b487a46..aee8bae 100644
--- a/chrome/browser/profile_resetter/profile_resetter_unittest.cc
+++ b/chrome/browser/profile_resetter/profile_resetter_unittest.cc
@@ -24,7 +24,6 @@
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/browser_with_test_window_test.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
-#include "components/google/core/browser/google_pref_names.h"
 #include "components/search_engines/template_url_service.h"
 #include "components/search_engines/template_url_service_client.h"
 #include "content/public/browser/web_contents.h"
@@ -423,10 +422,6 @@
 }
 
 TEST_F(ProfileResetterTest, ResetDefaultSearchEngineNonOrganic) {
-  PrefService* prefs = profile()->GetPrefs();
-  DCHECK(prefs);
-  prefs->SetString(prefs::kLastPromptedGoogleURL, "http://www.foo.com/");
-
   ResetAndWait(ProfileResetter::DEFAULT_SEARCH_ENGINE, kDistributionConfig);
 
   TemplateURLService* model =
@@ -436,17 +431,11 @@
   EXPECT_EQ(base::ASCIIToUTF16("first"), default_engine->short_name());
   EXPECT_EQ(base::ASCIIToUTF16("firstkey"), default_engine->keyword());
   EXPECT_EQ("http://www.foo.com/s?q={searchTerms}", default_engine->url());
-
-  EXPECT_EQ("", prefs->GetString(prefs::kLastPromptedGoogleURL));
 }
 
 TEST_F(ProfileResetterTest, ResetDefaultSearchEnginePartially) {
   // Search engine's logic is tested by
   // TemplateURLServiceTest.RepairPrepopulatedSearchEngines.
-  PrefService* prefs = profile()->GetPrefs();
-  DCHECK(prefs);
-  prefs->SetString(prefs::kLastPromptedGoogleURL, "http://www.foo.com/");
-
   // Make sure TemplateURLService has loaded.
   ResetAndWait(ProfileResetter::DEFAULT_SEARCH_ENGINE);
 
@@ -458,7 +447,6 @@
   ResetAndWait(ProfileResetter::DEFAULT_SEARCH_ENGINE);
 
   EXPECT_EQ(urls, model->GetTemplateURLs());
-  EXPECT_EQ(std::string(), prefs->GetString(prefs::kLastPromptedGoogleURL));
 }
 
 TEST_F(ProfileResetterTest, ResetHomepageNonOrganic) {
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
index 1eceba9..a7b0fc8 100644
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -1168,12 +1168,16 @@
   if (profile->GetPath().DirName() != cache.GetUserDataDir())
     return;
 
-  if (cache.GetIndexOfProfileWithPath(profile->GetPath()) != std::string::npos)
-    return;
-
   base::string16 username = base::UTF8ToUTF16(profile->GetPrefs()->GetString(
       prefs::kGoogleServicesUsername));
 
+  size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath());
+  if (profile_index != std::string::npos) {
+    // The ProfileInfoCache's username must match the Signin Manager's username.
+    cache.SetUserNameOfProfileAtIndex(profile_index, username);
+    return;
+  }
+
   // Profile name and avatar are set by InitProfileUserPrefs and stored in the
   // profile. Use those values to setup the cache entry.
   base::string16 profile_name =
diff --git a/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js b/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js
index 7660fc9..f9f7d0c 100644
--- a/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js
+++ b/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js
@@ -151,6 +151,7 @@
     onBeforeShow: function(data) {
       var url = data.signin_url;
       url += '?gaiaUrl=' + encodeURIComponent(data.gaiaUrl);
+      url += '&needPassword=0';
       this.signInUrl_ = url;
       var modes = ['manual', 'forced', 'auto'];
       for (var i = 0; i < modes.length; ++i) {
diff --git a/chrome/browser/resources/contextual_search/promo.css b/chrome/browser/resources/contextual_search/promo.css
index c82d0bc..d23ba7f 100644
--- a/chrome/browser/resources/contextual_search/promo.css
+++ b/chrome/browser/resources/contextual_search/promo.css
@@ -30,7 +30,7 @@
 
 #container.hide {
   -webkit-transform: scale(0.95);
-  -webkit-transition-duration: 218ms;
+  -webkit-transition-duration: 130ms;
   -webkit-transition-property: opacity, -webkit-transform;
   opacity: 0;
 }
@@ -79,8 +79,11 @@
   }
 }
 
-.label {
+button {
+  background: none;
+  border: none;
   display: inline-block;
+  font-family: 'Roboto2', sans-serif;
   font-size: 14px;
   margin: 14px 0;
   /* We use a slightly different top-bottom padding because Roboto has a
@@ -90,21 +93,21 @@
   white-space: nowrap;
 }
 
-.label a {
+button .caption {
   text-transform: uppercase;
 }
 
-#optin-label {
+#optin-button {
   background: rgb(66, 133, 244);
   background-clip: padding-box;
   border-radius: 3px;
   margin-right: 24px;
 }
 
-#optin-label a {
+#optin-button .caption {
   color: white;
 }
 
-#optout-label a {
+#optout-button .caption {
   color: rgb(66, 133, 244);
 }
diff --git a/chrome/browser/resources/contextual_search/promo.html b/chrome/browser/resources/contextual_search/promo.html
index 03c79c8..502ed45 100644
--- a/chrome/browser/resources/contextual_search/promo.html
+++ b/chrome/browser/resources/contextual_search/promo.html
@@ -14,18 +14,24 @@
 <body>
   <div id="container">
     <img id="header-image" class="portrait" src="header.svg">
-    <p i18n-content="heading" id="heading"></p>
+    <p id="heading" i18n-content="heading"></p>
     <div>
       <img id="header-image" class="landscape" src="header.svg">
       <p id="description">
         <span i18n-content="description-1"></span>
-        <a class="colored-link" href="#learn-more" i18n-content="feature-name"></a>
+        <a class="colored-link" href="#learn-more"
+            i18n-content="feature-name">
+        </a>
         <span i18n-content="description-2"></span>
       </p>
     </div>
     <div id="button-container">
-      <span id="optout-label" class="label"><a href="#optout" i18n-content="optOut"></a></span>
-      <span id="optin-label" class="label"><a href="#optin" i18n-content="optIn"></a></span>
+      <button id="optout-button">
+        <span class="caption" i18n-content="optOut"></span>
+      </button>
+      <button id="optin-button">
+        <span class="caption" i18n-content="optIn"></span>
+      </button>
     </div>
   </div>
 </body>
diff --git a/chrome/browser/resources/contextual_search/promo.js b/chrome/browser/resources/contextual_search/promo.js
index 616acac..85c51c1 100644
--- a/chrome/browser/resources/contextual_search/promo.js
+++ b/chrome/browser/resources/contextual_search/promo.js
@@ -7,6 +7,14 @@
 <include src="../../../../ui/webui/resources/js/load_time_data.js">
 
 /**
+ * The amount of delay to use in the opt-in action in order to give time for
+ * the fade-out animation to execute, before navigating to the opt-in URL,
+ * in milliseconds.
+ * @const
+ */
+var OPT_IN_DELAY_MS = 65;
+
+/**
  * Once the DOM is loaded, determine if the header image is to be kept and
  * register a handler to add the 'hide' class to the container element in order
  * to hide it.
@@ -15,8 +23,14 @@
   if (config['hideHeader']) {
     $('container').removeChild($('header-image'));
   }
-  $('optin-label').addEventListener('click', function() {
+  $('optin-button').addEventListener('click', function() {
     $('container').classList.add('hide');
+    setTimeout(function() {
+      location.hash = 'optin';
+    }, OPT_IN_DELAY_MS);
+  });
+  $('optout-button').addEventListener('click', function() {
+    location.hash = 'optout';
   });
 });
 
diff --git a/chrome/browser/resources/gaia_auth/main.js b/chrome/browser/resources/gaia_auth/main.js
index 05271fb..97107f5 100644
--- a/chrome/browser/resources/gaia_auth/main.js
+++ b/chrome/browser/resources/gaia_auth/main.js
@@ -57,6 +57,7 @@
   // when support for key types other than plain text password is added.
   passwordBytes_: null,
 
+  needPassword_: false,
   chooseWhatToSync_: false,
   skipForNow_: false,
   sessionIndex_: null,
@@ -90,6 +91,7 @@
     this.isConstrainedWindow_ = params.constrained == '1';
     this.initialFrameUrl_ = params.frameUrl || this.constructInitialFrameUrl_();
     this.initialFrameUrlWithoutParams_ = stripParams(this.initialFrameUrl_);
+    this.needPassword_ = params.needPassword == '1';
 
     // For CrOS 'ServiceLogin' we assume that Gaia is loaded if we recieved
     // 'clearOldAttempts' message. For other scenarios Gaia doesn't send this
@@ -377,8 +379,15 @@
     this.sessionIndex_ = msg.sessionIndex;
 
     if (this.passwordBytes_) {
+      // If the credentials passing API was used, login is complete.
       window.parent.postMessage({method: 'samlApiUsed'}, this.parentPage_);
       this.completeLogin_(msg);
+    } else if (!this.needPassword_) {
+      // If the credentials passing API was not used, the password was obtained
+      // by scraping. It must be verified before use. However, the host may not
+      // be interested in the password at all. In that case, verification is
+      // unnecessary and login is complete.
+      this.completeLogin_(msg);
     } else {
       this.supportChannel_.sendWithCallback(
           {name: 'getScrapedPasswords'},
diff --git a/chrome/browser/resources/gaia_auth_host/gaia_auth_host.js b/chrome/browser/resources/gaia_auth_host/gaia_auth_host.js
index cf870cb..5aefaf7 100644
--- a/chrome/browser/resources/gaia_auth_host/gaia_auth_host.js
+++ b/chrome/browser/resources/gaia_auth_host/gaia_auth_host.js
@@ -253,6 +253,7 @@
       populateParams(SUPPORTED_PARAMS, data);
       populateParams(LOCALIZED_STRING_PARAMS, data.localizedStrings);
       params.push('parentPage=' + encodeURIComponent(window.location.origin));
+      params.push('needPassword=1');
 
       var url;
       switch (authMode) {
diff --git a/chrome/browser/resources/plugin_metadata/plugins_mac.json b/chrome/browser/resources/plugin_metadata/plugins_mac.json
index cb424a9..1a91f4a 100644
--- a/chrome/browser/resources/plugin_metadata/plugins_mac.json
+++ b/chrome/browser/resources/plugin_metadata/plugins_mac.json
@@ -1,5 +1,5 @@
 {
-  "x-version": 6,
+  "x-version": 7,
   "google-talk": {
     "mime_types": [
     ],
@@ -115,9 +115,9 @@
     ],
     "versions": [
       {
-        "version": "15.0.0.189",
-        "status": "up_to_date",
-        "reference": "http://helpx.adobe.com/security/products/flash-player/apsb14-22.html"
+        "version": "16.0.0.235",
+        "status": "requires_authorization",
+        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb14-27.html"
       }
     ],
     "lang": "en-US",
@@ -198,8 +198,9 @@
     ],
     "versions": [
       {
-        "version": "7.6.6",
-        "status": "requires_authorization"
+        "version": "7.7.1",
+        "status": "requires_authorization",
+        "reference": "http://support.apple.com/en-us/HT5016"
       }
     ],
     "lang": "en-US",
diff --git a/chrome/browser/resources/plugin_metadata/plugins_win.json b/chrome/browser/resources/plugin_metadata/plugins_win.json
index 5d2229c..2157178 100644
--- a/chrome/browser/resources/plugin_metadata/plugins_win.json
+++ b/chrome/browser/resources/plugin_metadata/plugins_win.json
@@ -1,5 +1,5 @@
 {
-  "x-version": 15,
+  "x-version": 16,
   "google-talk": {
     "mime_types": [
     ],
@@ -137,9 +137,9 @@
     ],
     "versions": [
       {
-        "version": "15.0.0.189",
-        "status": "up_to_date",
-        "reference": "http://helpx.adobe.com/security/products/flash-player/apsb14-22.html"
+        "version": "16.0.0.235",
+        "status": "requires_authorization",
+        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb14-27.html"
       }
     ],
     "lang": "en-US",
@@ -155,9 +155,9 @@
     ],
     "versions": [
       {
-        "version": "12.0.4.144",
+        "version": "12.1.0.150",
         "status": "requires_authorization",
-        "reference": "https://www.adobe.com/support/security/bulletins/apsb13-23.html"
+        "reference": "https://helpx.adobe.com/security/products/shockwave/apsb14-10.html"
       }
     ],
     "lang": "en-US",
@@ -177,18 +177,18 @@
     ],
     "versions": [
       {
-        "version": "10.1.12",
+        "version": "10.1.13",
         "status": "requires_authorization",
-        "reference": "https://helpx.adobe.com/security/products/reader/apsb14-20.html"
+        "reference": "https://helpx.adobe.com/security/products/reader/apsb14-28.html"
       },
       {
         "version": "11",
         "status": "out_of_date"
       },
       {
-        "version": "11.0.9",
+        "version": "11.0.10",
         "status": "requires_authorization",
-        "reference": "https://helpx.adobe.com/security/products/reader/apsb14-20.html"
+        "reference": "https://helpx.adobe.com/security/products/reader/apsb14-28.html"
       }
     ],
     "lang": "en-US",
@@ -252,9 +252,9 @@
     ],
     "versions": [
       {
-        "version": "7.7.5",
+        "version": "7.7.6",
         "status": "requires_authorization",
-        "reference": "http://support.apple.com/kb/HT6151"
+        "reference": "http://support.apple.com/kb/HT203092"
       }
     ],
     "lang": "en-US",
diff --git a/chrome/browser/search/instant_unittest_base.cc b/chrome/browser/search/instant_unittest_base.cc
index 23aa5ed..fe146fa 100644
--- a/chrome/browser/search/instant_unittest_base.cc
+++ b/chrome/browser/search/instant_unittest_base.cc
@@ -14,9 +14,7 @@
 #include "chrome/browser/search/search.h"
 #include "chrome/browser/search_engines/template_url_service_factory.h"
 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h"
-#include "chrome/common/pref_names.h"
 #include "chrome/test/base/browser_with_test_window_test.h"
-#include "chrome/test/base/testing_pref_service_syncable.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/google/core/browser/google_pref_names.h"
 #include "components/google/core/browser/google_url_tracker.h"
@@ -96,9 +94,6 @@
   ui_test_utils::WaitForTemplateURLServiceToLoad(template_url_service_);
 
   UIThreadSearchTermsData::SetGoogleBaseURL("https://www.google.com/");
-  TestingPrefServiceSyncable* pref_service = profile()->GetTestingPrefService();
-  pref_service->SetUserPref(prefs::kLastPromptedGoogleURL,
-                            new base::StringValue("https://www.google.com/"));
   SetUserSelectedDefaultSearchProvider("{google:baseURL}");
   instant_service_ = InstantServiceFactory::GetForProfile(profile());
 }
diff --git a/chrome/browser/speech/tts_message_filter.cc b/chrome/browser/speech/tts_message_filter.cc
index 71c3df0..7550829 100644
--- a/chrome/browser/speech/tts_message_filter.cc
+++ b/chrome/browser/speech/tts_message_filter.cc
@@ -6,7 +6,10 @@
 
 #include "base/bind.h"
 #include "base/logging.h"
+#include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/profiles/profile.h"
 #include "content/public/browser/browser_context.h"
+#include "content/public/browser/notification_service.h"
 #include "content/public/browser/render_process_host.h"
 
 using content::BrowserThread;
@@ -20,6 +23,13 @@
   CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
   TtsController::GetInstance()->AddVoicesChangedDelegate(this);
 
+  // TODO(dmazzoni): make it so that we can listen for a BrowserContext
+  // being destroyed rather than a Profile.  http://crbug.com/444668
+  Profile* profile = Profile::FromBrowserContext(browser_context);
+  notification_registrar_.Add(this,
+                              chrome::NOTIFICATION_PROFILE_DESTROYED,
+                              content::Source<Profile>(profile));
+
   // Balanced in OnChannelClosingInUIThread() to keep the ref-count be non-zero
   // until all pointers to this class are invalidated.
   AddRef();
@@ -79,6 +89,9 @@
 
 void TtsMessageFilter::OnInitializeVoiceList() {
   CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+  if (!browser_context_)
+    return;
+
   TtsController* tts_controller = TtsController::GetInstance();
   std::vector<VoiceData> voices;
   tts_controller->GetVoices(browser_context_, &voices);
@@ -98,6 +111,8 @@
 
 void TtsMessageFilter::OnSpeak(const TtsUtteranceRequest& request) {
   CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+  if (!browser_context_)
+    return;
 
   scoped_ptr<Utterance> utterance(new Utterance(browser_context_));
   utterance->set_src_id(request.id);
@@ -193,3 +208,11 @@
   TtsController::GetInstance()->RemoveVoicesChangedDelegate(this);
   TtsController::GetInstance()->RemoveUtteranceEventDelegate(this);
 }
+
+void TtsMessageFilter::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
+  browser_context_ = nullptr;
+  notification_registrar_.RemoveAll();
+}
diff --git a/chrome/browser/speech/tts_message_filter.h b/chrome/browser/speech/tts_message_filter.h
index b44fe9e..54314fc 100644
--- a/chrome/browser/speech/tts_message_filter.h
+++ b/chrome/browser/speech/tts_message_filter.h
@@ -10,6 +10,8 @@
 #include "chrome/browser/speech/tts_controller.h"
 #include "chrome/common/tts_messages.h"
 #include "content/public/browser/browser_message_filter.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 namespace content {
 class BrowserContext;
@@ -17,6 +19,7 @@
 
 class TtsMessageFilter
     : public content::BrowserMessageFilter,
+      public content::NotificationObserver,
       public UtteranceEventDelegate,
       public VoicesChangedDelegate {
  public:
@@ -59,10 +62,16 @@
   // about to be deleted.
   bool Valid();
 
+  // content::NotificationObserver implementation.
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
+
   int render_process_id_;
   content::BrowserContext* browser_context_;
   mutable base::Lock mutex_;
   mutable bool valid_;
+  content::NotificationRegistrar notification_registrar_;
 
   DISALLOW_COPY_AND_ASSIGN(TtsMessageFilter);
 };
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 4eb9f58..642f19b 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -154,7 +154,6 @@
 #include "components/bookmarks/browser/bookmark_model.h"
 #include "components/bookmarks/browser/bookmark_utils.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
-#include "components/google/core/browser/google_url_tracker.h"
 #include "components/search/search.h"
 #include "components/startup_metric_utils/startup_metric_utils.h"
 #include "components/web_modal/popup_manager.h"
diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
index 9d12d45..e0e1c93 100644
--- a/chrome/browser/ui/browser_navigator.cc
+++ b/chrome/browser/ui/browser_navigator.cc
@@ -30,7 +30,6 @@
 #include "chrome/browser/ui/tab_helpers.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/common/url_constants.h"
-#include "components/google/core/browser/google_url_tracker.h"
 #include "content/public/browser/browser_url_handler.h"
 #include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
diff --git a/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm b/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
index 4852517..3215691 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
@@ -491,36 +491,37 @@
   EXPECT_TRUE([controller() hasToolbar]);
   EXPECT_FALSE([controller() isBookmarkBarVisible]);
 
-  NSRect defaultAlertFrame = NSMakeRect(0, 0, 300, 200);
-  id sheet = MockWindowWithFrame(defaultAlertFrame);
+  id sheet = MockWindowWithFrame(NSMakeRect(0, 0, 300, 200));
   NSWindow* window = browser()->window()->GetNativeWindow();
-  NSRect alertFrame = [controller() window:window
-                         willPositionSheet:nil
-                                 usingRect:defaultAlertFrame];
+  NSRect contentFrame = [[window contentView] frame];
+  NSRect defaultLocation =
+      NSMakeRect(0, NSMaxY(contentFrame), NSWidth(contentFrame), 0);
+
+  NSRect sheetLocation = [controller() window:window
+                            willPositionSheet:nil
+                                    usingRect:defaultLocation];
   NSRect toolbarFrame = [[[controller() toolbarController] view] frame];
-  EXPECT_EQ(NSMinY(alertFrame), NSMinY(toolbarFrame));
+  EXPECT_EQ(NSMinY(toolbarFrame), NSMinY(sheetLocation));
 
   // Open sheet with normal browser window, persistent bookmark bar.
   chrome::ToggleBookmarkBarWhenVisible(browser()->profile());
   EXPECT_TRUE([controller() isBookmarkBarVisible]);
-  alertFrame = [controller() window:window
-                  willPositionSheet:sheet
-                          usingRect:defaultAlertFrame];
+  sheetLocation = [controller() window:window
+                     willPositionSheet:sheet
+                             usingRect:defaultLocation];
   NSRect bookmarkBarFrame = [[[controller() bookmarkBarController] view] frame];
-  EXPECT_EQ(NSMinY(alertFrame), NSMinY(bookmarkBarFrame));
+  EXPECT_EQ(NSMinY(bookmarkBarFrame), NSMinY(sheetLocation));
 
   // If the sheet is too large, it should be positioned at the top of the
   // window.
-  defaultAlertFrame = NSMakeRect(0, 0, 300, 2000);
-  sheet = MockWindowWithFrame(defaultAlertFrame);
-  alertFrame = [controller() window:window
-                  willPositionSheet:sheet
-                          usingRect:defaultAlertFrame];
-  EXPECT_EQ(NSMinY(alertFrame), NSHeight([window frame]));
+  sheet = MockWindowWithFrame(NSMakeRect(0, 0, 300, 2000));
+  sheetLocation = [controller() window:window
+                     willPositionSheet:sheet
+                             usingRect:defaultLocation];
+  EXPECT_EQ(NSHeight([window frame]), NSMinY(sheetLocation));
 
   // Reset the sheet's size.
-  defaultAlertFrame = NSMakeRect(0, 0, 300, 200);
-  sheet = MockWindowWithFrame(defaultAlertFrame);
+  sheet = MockWindowWithFrame(NSMakeRect(0, 0, 300, 200));
 
   // Make sure the profile does not have the bookmark visible so that
   // we'll create the shortcut window without the bookmark bar.
@@ -541,12 +542,10 @@
 
   // Open sheet in an application window.
   [popupController showWindow:nil];
-  alertFrame = [popupController window:popupWindow
-                     willPositionSheet:sheet
-                             usingRect:defaultAlertFrame];
-  EXPECT_EQ(NSMinY(alertFrame),
-            NSHeight([[popupWindow contentView] frame]) -
-            defaultAlertFrame.size.height);
+  sheetLocation = [popupController window:popupWindow
+                        willPositionSheet:sheet
+                                usingRect:defaultLocation];
+  EXPECT_EQ(NSHeight([[popupWindow contentView] frame]), NSMinY(sheetLocation));
 
   // Close the application window.
   popup_browser->tab_strip_model()->CloseSelectedTabs();
diff --git a/chrome/browser/ui/cocoa/browser_window_controller_private.mm b/chrome/browser/ui/cocoa/browser_window_controller_private.mm
index 6ab1544..f9ba68f 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller_private.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller_private.mm
@@ -171,35 +171,26 @@
 
 - (NSRect)window:(NSWindow*)window
 willPositionSheet:(NSWindow*)sheet
-       usingRect:(NSRect)defaultSheetRect {
+       usingRect:(NSRect)defaultSheetLocation {
   // Position the sheet as follows:
+  //  - If the bookmark bar is shown (attached to the normal toolbar), position
+  //    the sheet below the bookmark bar.
   //  - If the bookmark bar is hidden or shown as a bubble (on the NTP when the
   //    bookmark bar is disabled), position the sheet immediately below the
   //    normal toolbar.
-  //  - If the bookmark bar is shown (attached to the normal toolbar), position
-  //    the sheet below the bookmark bar.
   //  - If the bookmark bar is currently animating, position the sheet according
   //    to where the bar will be when the animation ends.
-  CGFloat defaultSheetY = defaultSheetRect.origin.y;
-  switch ([bookmarkBarController_ currentState]) {
-    case BookmarkBar::SHOW: {
-      NSRect bookmarkBarFrame = [[bookmarkBarController_ view] frame];
-      defaultSheetY = bookmarkBarFrame.origin.y;
-      break;
-    }
-    case BookmarkBar::HIDDEN:
-    case BookmarkBar::DETACHED: {
-      if ([self hasToolbar]) {
-        NSRect toolbarFrame = [[toolbarController_ view] frame];
-        defaultSheetY = toolbarFrame.origin.y;
-      } else {
-        // The toolbar is not shown in application mode. The sheet should be
-        // located at the top of the window, under the title of the window.
-        defaultSheetY = NSHeight([[window contentView] frame]) -
-                        defaultSheetRect.size.height;
-      }
-      break;
-    }
+  CGFloat defaultSheetY = defaultSheetLocation.origin.y;
+  if ([self supportsBookmarkBar] &&
+      [bookmarkBarController_ currentState] == BookmarkBar::SHOW) {
+    defaultSheetY = NSMinY([[bookmarkBarController_ view] frame]);
+  } else if ([self hasToolbar]) {
+    defaultSheetY = NSMinY([[toolbarController_ view] frame]);
+  } else {
+    // The toolbar is not shown in popup and application modes. The sheet
+    // should be located at the top of the window, under the title of the
+    // window.
+    defaultSheetY = NSMaxY([[window contentView] frame]);
   }
 
   // AppKit may shift the window up to fit the sheet on screen, but it will
@@ -217,8 +208,8 @@
   CGFloat windowHeight = NSHeight([window frame]);
   defaultSheetY = std::min(defaultSheetY, windowHeight);
 
-  defaultSheetRect.origin.y = defaultSheetY;
-  return defaultSheetRect;
+  defaultSheetLocation.origin.y = defaultSheetY;
+  return defaultSheetLocation;
 }
 
 - (void)layoutSubviews {
diff --git a/chrome/browser/ui/navigation_correction_tab_observer.cc b/chrome/browser/ui/navigation_correction_tab_observer.cc
index 53c4326..d59f3e9 100644
--- a/chrome/browser/ui/navigation_correction_tab_observer.cc
+++ b/chrome/browser/ui/navigation_correction_tab_observer.cc
@@ -41,6 +41,10 @@
   GoogleURLTracker* google_url_tracker =
       GoogleURLTrackerFactory::GetForProfile(profile_);
   if (google_url_tracker) {
+    if (google_util::IsGoogleDomainUrl(GetNavigationCorrectionURL(),
+                                       google_util::ALLOW_SUBDOMAIN,
+                                       google_util::ALLOW_NON_STANDARD_PORTS))
+      google_url_tracker->RequestServerCheck(false);
     google_url_updated_subscription_ = google_url_tracker->RegisterCallback(
         base::Bind(&NavigationCorrectionTabObserver::OnGoogleURLUpdated,
                    base::Unretained(this)));
diff --git a/chrome/browser/ui/omnibox/omnibox_edit_model.cc b/chrome/browser/ui/omnibox/omnibox_edit_model.cc
index 1fa637d..981b3d0 100644
--- a/chrome/browser/ui/omnibox/omnibox_edit_model.cc
+++ b/chrome/browser/ui/omnibox/omnibox_edit_model.cc
@@ -26,7 +26,6 @@
 #include "chrome/browser/command_updater.h"
 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h"
 #include "chrome/browser/favicon/favicon_tab_helper.h"
-#include "chrome/browser/google/google_url_tracker_factory.h"
 #include "chrome/browser/net/predictor.h"
 #include "chrome/browser/omnibox/omnibox_log.h"
 #include "chrome/browser/predictors/autocomplete_action_predictor.h"
@@ -53,7 +52,6 @@
 #include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
 #include "components/bookmarks/browser/bookmark_model.h"
-#include "components/google/core/browser/google_url_tracker.h"
 #include "components/metrics/proto/omnibox_event.pb.h"
 #include "components/omnibox/autocomplete_provider.h"
 #include "components/omnibox/keyword_provider.h"
@@ -688,17 +686,6 @@
     match.transition = ui::PAGE_TRANSITION_LINK;
   }
 
-  TemplateURLService* service =
-      TemplateURLServiceFactory::GetForProfile(profile_);
-  const TemplateURL* template_url = match.GetTemplateURL(service, false);
-  if (template_url && template_url->url_ref().HasGoogleBaseURLs(
-          UIThreadSearchTermsData(profile_))) {
-    GoogleURLTracker* tracker =
-        GoogleURLTrackerFactory::GetForProfile(profile_);
-    if (tracker)
-      tracker->SearchCommitted();
-  }
-
   DCHECK(popup_model());
   view_->OpenMatch(match, disposition, alternate_nav_url, base::string16(),
                    popup_model()->selected_line());
diff --git a/chrome/browser/ui/search/instant_extended_interactive_uitest.cc b/chrome/browser/ui/search/instant_extended_interactive_uitest.cc
index ba6d84c..a32a573 100644
--- a/chrome/browser/ui/search/instant_extended_interactive_uitest.cc
+++ b/chrome/browser/ui/search/instant_extended_interactive_uitest.cc
@@ -50,7 +50,6 @@
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/bookmarks/browser/bookmark_utils.h"
 #include "components/bookmarks/test/bookmark_test_helpers.h"
-#include "components/google/core/browser/google_url_tracker.h"
 #include "components/history/core/browser/history_types.h"
 #include "components/history/core/common/thumbnail_score.h"
 #include "components/omnibox/autocomplete_match.h"
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 5925de3..25ea9d1 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -440,8 +440,6 @@
       'browser/google/google_update_win.h',
       'browser/google/google_url_tracker_factory.cc',
       'browser/google/google_url_tracker_factory.h',
-      'browser/google/google_url_tracker_navigation_helper_impl.cc',
-      'browser/google/google_url_tracker_navigation_helper_impl.h',
       'browser/google/google_brand.cc',
       'browser/google/google_brand.h',
       'browser/google/google_brand_chromeos.cc',
@@ -2730,8 +2728,6 @@
       'browser/google/google_update_win.h',
       'browser/google/google_url_tracker_factory.cc',
       'browser/google/google_url_tracker_factory.h',
-      'browser/google/google_url_tracker_navigation_helper_impl.cc',
-      'browser/google/google_url_tracker_navigation_helper_impl.h',
       'browser/net/spdyproxy/data_reduction_proxy_settings_ios.cc',
       'browser/net/spdyproxy/data_reduction_proxy_settings_ios.h',
       'browser/rlz/rlz.h',
diff --git a/chrome/renderer/autofill/password_generation_agent_browsertest.cc b/chrome/renderer/autofill/password_generation_agent_browsertest.cc
index 4415771..529bdd8 100644
--- a/chrome/renderer/autofill/password_generation_agent_browsertest.cc
+++ b/chrome/renderer/autofill/password_generation_agent_browsertest.cc
@@ -10,6 +10,7 @@
 #include "chrome/test/base/chrome_render_view_test.h"
 #include "components/autofill/content/common/autofill_messages.h"
 #include "components/autofill/content/renderer/autofill_agent.h"
+#include "components/autofill/content/renderer/form_autofill_util.h"
 #include "components/autofill/content/renderer/test_password_generation_agent.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/password_generation_util.h"
@@ -44,12 +45,23 @@
     password_generation_->OnMessageReceived(msg);
   }
 
-  void SetAccountCreationFormsDetectedMessage(const char* form_str) {
-    autofill::FormData form;
-    form.origin =
-        GURL(base::StringPrintf("data:text/html;charset=utf-8,%s", form_str));
+  // Sends a message that the |form_index| form on the page is valid for
+  // account creation.
+  void SetAccountCreationFormsDetectedMessage(int form_index) {
+    WebDocument document = GetMainFrame()->document();
+    blink::WebVector<blink::WebFormElement> web_forms;
+    document.forms(web_forms);
+
+    autofill::FormData form_data;
+    WebFormElementToFormData(web_forms[form_index],
+                             blink::WebFormControlElement(),
+                             REQUIRE_NONE,
+                             EXTRACT_NONE,
+                             &form_data,
+                             NULL /* FormFieldData */);
+
     std::vector<autofill::FormData> forms;
-    forms.push_back(form);
+    forms.push_back(form_data);
     AutofillMsg_AccountCreationFormsDetected msg(0, forms);
     password_generation_->OnMessageReceived(msg);
   }
@@ -110,6 +122,22 @@
     "  <INPUT type = 'submit' value = 'LOGIN' />"
     "</FORM>";
 
+const char kMultipleAccountCreationFormHTML[] =
+    "<FORM name = 'login' action = 'http://www.random.com/'> "
+    "  <INPUT type = 'text' id = 'random'/> "
+    "  <INPUT type = 'text' id = 'username'/> "
+    "  <INPUT type = 'password' id = 'password'/> "
+    "  <INPUT type = 'submit' value = 'LOGIN' />"
+    "</FORM>"
+    "<FORM name = 'signup' action = 'http://www.random.com/signup'> "
+    "  <INPUT type = 'text' id = 'username'/> "
+    "  <INPUT type = 'password' id = 'first_password' "
+    "         autocomplete = 'off' size = 5/>"
+    "  <INPUT type = 'password' id = 'second_password' size = 5/> "
+    "  <INPUT type = 'text' id = 'address'/> "
+    "  <INPUT type = 'submit' value = 'LOGIN' />"
+    "</FORM>";
+
 const char ChangeDetectionScript[] =
     "<script>"
     "  firstOnChangeCalled = false;"
@@ -136,20 +164,19 @@
   // ACCOUNT_CREATION_FORM form Autofill server. We should show the icon.
   LoadHTML(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", true);
 
   // Hidden fields are not treated differently.
   LoadHTML(kHiddenPasswordAccountCreationFormHTML);
   SetNotBlacklistedMessage(kHiddenPasswordAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(
-      kHiddenPasswordAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", true);
 
   // This doesn't trigger because the form action is invalid.
   LoadHTML(kInvalidActionAccountCreationFormHTML);
   SetNotBlacklistedMessage(kInvalidActionAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(kInvalidActionAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", false);
 }
 
@@ -158,6 +185,8 @@
   std::string html = std::string(kAccountCreationFormHTML) +
       ChangeDetectionScript;
   LoadHTML(html.c_str());
+  SetNotBlacklistedMessage(html.c_str());
+  SetAccountCreationFormsDetectedMessage(0);
 
   WebDocument document = GetMainFrame()->document();
   WebElement element =
@@ -207,7 +236,7 @@
 TEST_F(PasswordGenerationAgentTest, EditingTest) {
   LoadHTML(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
 
   WebDocument document = GetMainFrame()->document();
   WebElement element =
@@ -256,21 +285,21 @@
   // Did not receive not blacklisted message. Don't show password generation
   // icon.
   LoadHTML(kAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", false);
 
   // Receive one not blacklisted message for non account creation form. Don't
   // show password generation icon.
   LoadHTML(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kSigninFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", false);
 
   // Receive one not blackliste message for account creation form. Show password
   // generation icon.
   LoadHTML(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", true);
 
   // Receive two not blacklisted messages, one is for account creation form and
@@ -278,7 +307,7 @@
   LoadHTML(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kSigninFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", true);
 }
 
@@ -293,7 +322,7 @@
   // generation icon.
   LoadHTML(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", true);
 }
 
@@ -302,7 +331,7 @@
 
   LoadHTML(kAccountCreationFormHTML);
   SetNotBlacklistedMessage(kAccountCreationFormHTML);
-  SetAccountCreationFormsDetectedMessage(kAccountCreationFormHTML);
+  SetAccountCreationFormsDetectedMessage(0);
   ExpectPasswordGenerationAvailable("first_password", true);
 
   WebDocument document = GetMainFrame()->document();
@@ -386,7 +415,6 @@
 TEST_F(PasswordGenerationAgentTest, DynamicFormTest) {
   LoadHTML(kSigninFormHTML);
   SetNotBlacklistedMessage(kSigninFormHTML);
-  SetAccountCreationFormsDetectedMessage(kSigninFormHTML);
 
   ExecuteJavaScript(
       "var form = document.createElement('form');"
@@ -406,6 +434,10 @@
       "form.appendChild(second_password);"
       "document.body.appendChild(form);");
   ProcessPendingMessages();
+
+  // This needs to come after the DOM has been modified.
+  SetAccountCreationFormsDetectedMessage(1);
+
   // TODO(gcasto): I'm slighty worried about flakes in this test where
   // didAssociateFormControls() isn't called. If this turns out to be a problem
   // adding a call to OnDynamicFormsSeen(GetMainFrame()) will fix it, though
@@ -413,4 +445,19 @@
   ExpectPasswordGenerationAvailable("first_password", true);
 }
 
+TEST_F(PasswordGenerationAgentTest, MultiplePasswordFormsTest) {
+  // If two forms on the page looks like possible account creation forms, make
+  // sure to trigger on the one that is specified from Autofill.
+  LoadHTML(kMultipleAccountCreationFormHTML);
+  SetNotBlacklistedMessage(kMultipleAccountCreationFormHTML);
+
+  // Should trigger on the second form.
+  SetAccountCreationFormsDetectedMessage(1);
+
+  ExpectPasswordGenerationAvailable("password", false);
+
+  // TODO(gcasto): Enable this check once we examine multiple heuristic matches.
+  //ExpectPasswordGenerationAvailable("first_password", true);
+}
+
 }  // namespace autofill
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index c75b90c..8a0342e 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -177,11 +177,6 @@
   "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F",  // see crbug.com/383937
   "4EB74897CB187C7633357C2FE832E0AD6A44883A"   // see crbug.com/383937
 };
-
-const char* const kPredefinedAllowedVideoDecodeOrigins[] = {
-  "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F",  // see crbug.com/383937
-  "4EB74897CB187C7633357C2FE832E0AD6A44883A"   // see crbug.com/383937
-};
 #endif
 
 static void AppendParams(const std::vector<base::string16>& additional_names,
@@ -279,9 +274,6 @@
 #if defined(ENABLE_PLUGINS)
   for (size_t i = 0; i < arraysize(kPredefinedAllowedCompositorOrigins); ++i)
     allowed_compositor_origins_.insert(kPredefinedAllowedCompositorOrigins[i]);
-  for (size_t i = 0; i < arraysize(kPredefinedAllowedVideoDecodeOrigins); ++i)
-    allowed_video_decode_origins_.insert(
-        kPredefinedAllowedVideoDecodeOrigins[i]);
 #endif
 }
 
@@ -1570,23 +1562,6 @@
 #endif
 }
 
-bool ChromeContentRendererClient::IsPluginAllowedToUseVideoDecodeAPI(
-    const GURL& url) {
-#if defined(ENABLE_PLUGINS) && defined(ENABLE_EXTENSIONS)
-  if (CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kEnablePepperTesting))
-    return true;
-
-  if (IsExtensionOrSharedModuleWhitelisted(url, allowed_video_decode_origins_))
-    return true;
-
-  chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
-  return channel <= chrome::VersionInfo::CHANNEL_DEV;
-#else
-  return false;
-#endif
-}
-
 content::BrowserPluginDelegate*
 ChromeContentRendererClient::CreateBrowserPluginDelegate(
     content::RenderFrame* render_frame,
diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h
index ac69cad..879dabb 100644
--- a/chrome/renderer/chrome_content_renderer_client.h
+++ b/chrome/renderer/chrome_content_renderer_client.h
@@ -141,7 +141,6 @@
   void AddKeySystems(std::vector<media::KeySystemInfo>* key_systems) override;
   bool IsPluginAllowedToUseDevChannelAPIs() override;
   bool IsPluginAllowedToUseCompositorAPI(const GURL& url) override;
-  bool IsPluginAllowedToUseVideoDecodeAPI(const GURL& url) override;
   content::BrowserPluginDelegate* CreateBrowserPluginDelegate(
       content::RenderFrame* render_frame,
       const std::string& mime_type,
diff --git a/chrome/renderer/resources/mobile_youtube_plugin.html b/chrome/renderer/resources/mobile_youtube_plugin.html
index d2788ff..aa83283 100644
--- a/chrome/renderer/resources/mobile_youtube_plugin.html
+++ b/chrome/renderer/resources/mobile_youtube_plugin.html
@@ -4,7 +4,7 @@
 <meta name="viewport" content="width=device-width, user-scalable=no">
 <script>
 function insertBackground() {
-  var video = templateData['video_id'];
+  var video = loadTimeData.getValue("video_id");
   document.body.style.backgroundImage = "url('http://img.youtube.com/vi/" + video + "/0.jpg')";
 }
 </script>
diff --git a/components/autofill/content/renderer/password_generation_agent.cc b/components/autofill/content/renderer/password_generation_agent.cc
index 4ed7c7c..2d7f0b5 100644
--- a/components/autofill/content/renderer/password_generation_agent.cc
+++ b/components/autofill/content/renderer/password_generation_agent.cc
@@ -69,21 +69,11 @@
   return std::find(urls.begin(), urls.end(), url) != urls.end();
 }
 
-// Returns true if the |form1| is essentially equal to |form2|.
-bool FormsAreEqual(const autofill::FormData& form1,
-                   const PasswordForm& form2) {
-  // TODO(zysxqn): use more signals than just origin to compare.
-  // Note that FormData strips the fragement from the url while PasswordForm
-  // strips both the fragement and the path, so we can't just compare these
-  // two directly.
-  return form1.origin.GetOrigin() == form2.origin.GetOrigin();
-}
-
 bool ContainsForm(const std::vector<autofill::FormData>& forms,
                   const PasswordForm& form) {
   for (std::vector<autofill::FormData>::const_iterator it =
            forms.begin(); it != forms.end(); ++it) {
-    if (FormsAreEqual(*it, form))
+    if (*it == form.form_data)
       return true;
   }
   return false;
diff --git a/components/components_strings.grd b/components/components_strings.grd
index 7cc8583..fad1fb7 100644
--- a/components/components_strings.grd
+++ b/components/components_strings.grd
@@ -172,7 +172,6 @@
       <part file="bookmark_bar_strings.grdp" />
       <part file="dom_distiller_strings.grdp" />
       <part file="error_page_strings.grdp" />
-      <part file="google_strings.grdp" />
       <part file="omnibox_strings.grdp" />
       <part file="pdf_strings.grdp" />
       <part file="policy_strings.grdp" />
diff --git a/components/components_strings.target.darwin-arm.mk b/components/components_strings.target.darwin-arm.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.darwin-arm.mk
+++ b/components/components_strings.target.darwin-arm.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.darwin-arm64.mk b/components/components_strings.target.darwin-arm64.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.darwin-arm64.mk
+++ b/components/components_strings.target.darwin-arm64.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.darwin-mips.mk b/components/components_strings.target.darwin-mips.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.darwin-mips.mk
+++ b/components/components_strings.target.darwin-mips.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.darwin-mips64.mk b/components/components_strings.target.darwin-mips64.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.darwin-mips64.mk
+++ b/components/components_strings.target.darwin-mips64.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.darwin-x86.mk b/components/components_strings.target.darwin-x86.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.darwin-x86.mk
+++ b/components/components_strings.target.darwin-x86.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.darwin-x86_64.mk b/components/components_strings.target.darwin-x86_64.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.darwin-x86_64.mk
+++ b/components/components_strings.target.darwin-x86_64.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.linux-arm.mk b/components/components_strings.target.linux-arm.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.linux-arm.mk
+++ b/components/components_strings.target.linux-arm.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.linux-arm64.mk b/components/components_strings.target.linux-arm64.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.linux-arm64.mk
+++ b/components/components_strings.target.linux-arm64.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.linux-mips.mk b/components/components_strings.target.linux-mips.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.linux-mips.mk
+++ b/components/components_strings.target.linux-mips.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.linux-mips64.mk b/components/components_strings.target.linux-mips64.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.linux-mips64.mk
+++ b/components/components_strings.target.linux-mips64.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.linux-x86.mk b/components/components_strings.target.linux-x86.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.linux-x86.mk
+++ b/components/components_strings.target.linux-x86.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/components_strings.target.linux-x86_64.mk b/components/components_strings.target.linux-x86_64.mk
index fb6360c..e68a742 100644
--- a/components/components_strings.target.linux-x86_64.mk
+++ b/components/components_strings.target.linux-x86_64.mk
@@ -20,7 +20,7 @@
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/google_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/components/strings/grit/components_strings.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/components_strings.grd $(LOCAL_PATH)/components/app_modal_dialogs_strings.grdp $(LOCAL_PATH)/components/autofill_strings.grdp $(LOCAL_PATH)/components/bookmark_bar_strings.grdp $(LOCAL_PATH)/components/dom_distiller_strings.grdp $(LOCAL_PATH)/components/error_page_strings.grdp $(LOCAL_PATH)/components/omnibox_strings.grdp $(LOCAL_PATH)/components/pdf_strings.grdp $(LOCAL_PATH)/components/policy_strings.grdp $(LOCAL_PATH)/components/strings/components_strings_am.xtb $(LOCAL_PATH)/components/strings/components_strings_ar.xtb $(LOCAL_PATH)/components/strings/components_strings_bg.xtb $(LOCAL_PATH)/components/strings/components_strings_bn.xtb $(LOCAL_PATH)/components/strings/components_strings_ca.xtb $(LOCAL_PATH)/components/strings/components_strings_cs.xtb $(LOCAL_PATH)/components/strings/components_strings_da.xtb $(LOCAL_PATH)/components/strings/components_strings_de.xtb $(LOCAL_PATH)/components/strings/components_strings_el.xtb $(LOCAL_PATH)/components/strings/components_strings_en-GB.xtb $(LOCAL_PATH)/components/strings/components_strings_es-419.xtb $(LOCAL_PATH)/components/strings/components_strings_es.xtb $(LOCAL_PATH)/components/strings/components_strings_et.xtb $(LOCAL_PATH)/components/strings/components_strings_fa.xtb $(LOCAL_PATH)/components/strings/components_strings_fi.xtb $(LOCAL_PATH)/components/strings/components_strings_fil.xtb $(LOCAL_PATH)/components/strings/components_strings_fr.xtb $(LOCAL_PATH)/components/strings/components_strings_gu.xtb $(LOCAL_PATH)/components/strings/components_strings_hi.xtb $(LOCAL_PATH)/components/strings/components_strings_hr.xtb $(LOCAL_PATH)/components/strings/components_strings_hu.xtb $(LOCAL_PATH)/components/strings/components_strings_id.xtb $(LOCAL_PATH)/components/strings/components_strings_it.xtb $(LOCAL_PATH)/components/strings/components_strings_iw.xtb $(LOCAL_PATH)/components/strings/components_strings_ja.xtb $(LOCAL_PATH)/components/strings/components_strings_kn.xtb $(LOCAL_PATH)/components/strings/components_strings_ko.xtb $(LOCAL_PATH)/components/strings/components_strings_lt.xtb $(LOCAL_PATH)/components/strings/components_strings_lv.xtb $(LOCAL_PATH)/components/strings/components_strings_ml.xtb $(LOCAL_PATH)/components/strings/components_strings_mr.xtb $(LOCAL_PATH)/components/strings/components_strings_ms.xtb $(LOCAL_PATH)/components/strings/components_strings_nl.xtb $(LOCAL_PATH)/components/strings/components_strings_no.xtb $(LOCAL_PATH)/components/strings/components_strings_pl.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-BR.xtb $(LOCAL_PATH)/components/strings/components_strings_pt-PT.xtb $(LOCAL_PATH)/components/strings/components_strings_ro.xtb $(LOCAL_PATH)/components/strings/components_strings_ru.xtb $(LOCAL_PATH)/components/strings/components_strings_sk.xtb $(LOCAL_PATH)/components/strings/components_strings_sl.xtb $(LOCAL_PATH)/components/strings/components_strings_sr.xtb $(LOCAL_PATH)/components/strings/components_strings_sv.xtb $(LOCAL_PATH)/components/strings/components_strings_sw.xtb $(LOCAL_PATH)/components/strings/components_strings_ta.xtb $(LOCAL_PATH)/components/strings/components_strings_te.xtb $(LOCAL_PATH)/components/strings/components_strings_th.xtb $(LOCAL_PATH)/components/strings/components_strings_tr.xtb $(LOCAL_PATH)/components/strings/components_strings_uk.xtb $(LOCAL_PATH)/components/strings/components_strings_vi.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-CN.xtb $(LOCAL_PATH)/components/strings/components_strings_zh-TW.xtb $(LOCAL_PATH)/components/translate_strings.grdp $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/ios_plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating resources from components_strings.grd ($@)"
 	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/strings/grit $(gyp_shared_intermediate_dir)/components/strings; python ../tools/grit/grit.py -i components_strings.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/components/strings" -D _chromium -E "CHROMIUM_BUILD=chromium" -t android -E "ANDROID_JAVA_TAGGED_ONLY=true" --no-output-all-resource-defines -D enable_printing -D use_concatenated_impulse_responses -D enable_webrtc -D enable_notifications
 
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc
index f51ea87..1ed0a22 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc
@@ -157,7 +157,7 @@
         params &&
         params->IsDataReductionProxy(result->proxy_server().host_port_pair(),
                                      NULL)) {
-      result->UseDirect();
+      result->RemoveProxiesWithoutScheme(net::ProxyServer::SCHEME_DIRECT);
     }
   }
 }
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol_unittest.cc
index e7d3302..4222aa5 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol_unittest.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol_unittest.cc
@@ -825,7 +825,10 @@
   net::ProxyInfo data_reduction_proxy_info;
   std::string data_reduction_proxy;
   base::TrimString(test_params.DefaultOrigin(), "/", &data_reduction_proxy);
-  data_reduction_proxy_info.UseNamedProxy(data_reduction_proxy);
+  data_reduction_proxy_info.UsePacString(
+      "PROXY " +
+      HostPortPair::FromURL(GURL(test_params.DefaultOrigin())).ToString() +
+      "; DIRECT");
   EXPECT_FALSE(data_reduction_proxy_info.is_empty());
 
   // Data reduction proxy config
diff --git a/components/data_reduction_proxy_version_header.target.darwin-arm.mk b/components/data_reduction_proxy_version_header.target.darwin-arm.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.darwin-arm.mk
+++ b/components/data_reduction_proxy_version_header.target.darwin-arm.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.darwin-arm64.mk b/components/data_reduction_proxy_version_header.target.darwin-arm64.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.darwin-arm64.mk
+++ b/components/data_reduction_proxy_version_header.target.darwin-arm64.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.darwin-mips.mk b/components/data_reduction_proxy_version_header.target.darwin-mips.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.darwin-mips.mk
+++ b/components/data_reduction_proxy_version_header.target.darwin-mips.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.darwin-mips64.mk b/components/data_reduction_proxy_version_header.target.darwin-mips64.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.darwin-mips64.mk
+++ b/components/data_reduction_proxy_version_header.target.darwin-mips64.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.darwin-x86.mk b/components/data_reduction_proxy_version_header.target.darwin-x86.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.darwin-x86.mk
+++ b/components/data_reduction_proxy_version_header.target.darwin-x86.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.darwin-x86_64.mk b/components/data_reduction_proxy_version_header.target.darwin-x86_64.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.darwin-x86_64.mk
+++ b/components/data_reduction_proxy_version_header.target.darwin-x86_64.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.linux-arm.mk b/components/data_reduction_proxy_version_header.target.linux-arm.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.linux-arm.mk
+++ b/components/data_reduction_proxy_version_header.target.linux-arm.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.linux-arm64.mk b/components/data_reduction_proxy_version_header.target.linux-arm64.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.linux-arm64.mk
+++ b/components/data_reduction_proxy_version_header.target.linux-arm64.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.linux-mips.mk b/components/data_reduction_proxy_version_header.target.linux-mips.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.linux-mips.mk
+++ b/components/data_reduction_proxy_version_header.target.linux-mips.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.linux-mips64.mk b/components/data_reduction_proxy_version_header.target.linux-mips64.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.linux-mips64.mk
+++ b/components/data_reduction_proxy_version_header.target.linux-mips64.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.linux-x86.mk b/components/data_reduction_proxy_version_header.target.linux-x86.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.linux-x86.mk
+++ b/components/data_reduction_proxy_version_header.target.linux-x86.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/data_reduction_proxy_version_header.target.linux-x86_64.mk b/components/data_reduction_proxy_version_header.target.linux-x86_64.mk
index de3535b..908c52f 100644
--- a/components/data_reduction_proxy_version_header.target.linux-x86_64.mk
+++ b/components/data_reduction_proxy_version_header.target.linux-x86_64.mk
@@ -22,7 +22,7 @@
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
 $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h: $(LOCAL_PATH)/chrome/VERSION $(LOCAL_PATH)/components/data_reduction_proxy/core/common/version.h.in $(GYP_TARGET_DEPENDENCIES)
 	@echo "Gyp action: Generating version header file: "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h" ($@)"
-	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.69\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
+	$(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common; python ../build/util/version.py -e "VERSION_FULL=\"40.0.2214.87\"" data_reduction_proxy/core/common/version.h.in "$(gyp_shared_intermediate_dir)/components/data_reduction_proxy/core/common/version.h"
 
 
 
diff --git a/components/google.gypi b/components/google.gypi
index 93cc4e4..5fb0dd0 100644
--- a/components/google.gypi
+++ b/components/google.gypi
@@ -11,11 +11,9 @@
       'dependencies': [
         '../base/base.gyp:base',
         '../net/net.gyp:net',
-        '../ui/base/ui_base.gyp:ui_base',
         '../url/url.gyp:url_lib',
         'components_strings.gyp:components_strings',
         'keyed_service_core',
-        'infobars_core',
         'url_fixer',
       ],
       'include_dirs': [
@@ -33,17 +31,9 @@
         'google/core/browser/google_url_tracker.h',
         'google/core/browser/google_url_tracker_client.cc',
         'google/core/browser/google_url_tracker_client.h',
-        'google/core/browser/google_url_tracker_infobar_delegate.cc',
-        'google/core/browser/google_url_tracker_infobar_delegate.h',
-        'google/core/browser/google_url_tracker_map_entry.cc',
-        'google/core/browser/google_url_tracker_map_entry.h',
-        'google/core/browser/google_url_tracker_navigation_helper.cc',
-        'google/core/browser/google_url_tracker_navigation_helper.h',
         'google/core/browser/google_util.cc',
         'google/core/browser/google_util.h',
       ],
-      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
-      'msvs_disabled_warnings': [4267, ],
     },
   ],
 }
diff --git a/components/google/DEPS b/components/google/DEPS
index 0d4bff1..c39802b 100644
--- a/components/google/DEPS
+++ b/components/google/DEPS
@@ -1,6 +1,4 @@
 include_rules = [
   "+components/url_fixer",
-  "+grit",
   "+net",
-  "+ui",
 ]
diff --git a/components/google/core/browser/BUILD.gn b/components/google/core/browser/BUILD.gn
index 67c137e..86c4b9b 100644
--- a/components/google/core/browser/BUILD.gn
+++ b/components/google/core/browser/BUILD.gn
@@ -14,29 +14,16 @@
     "google_url_tracker.h",
     "google_url_tracker_client.cc",
     "google_url_tracker_client.h",
-    "google_url_tracker_infobar_delegate.cc",
-    "google_url_tracker_infobar_delegate.h",
-    "google_url_tracker_map_entry.cc",
-    "google_url_tracker_map_entry.h",
-    "google_url_tracker_navigation_helper.cc",
-    "google_url_tracker_navigation_helper.h",
     "google_util.cc",
     "google_util.h",
   ]
 
-  if (is_win) {
-    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
-    cflags = [ "/wd4267" ]
-  }
-
   deps = [
     "//base",
     "//components/keyed_service/core",
-    "//components/infobars/core",
     "//components/strings",
     "//components/url_fixer",
     "//net",
-    "//ui/base",
     "//url",
   ]
 }
diff --git a/components/google/core/browser/DEPS b/components/google/core/browser/DEPS
index 91670bd..f0bf3d9 100644
--- a/components/google/core/browser/DEPS
+++ b/components/google/core/browser/DEPS
@@ -1,4 +1,3 @@
 include_rules = [
-  "+components/infobars/core",
   "+components/keyed_service/core",
 ]
diff --git a/components/google/core/browser/google_pref_names.cc b/components/google/core/browser/google_pref_names.cc
index 81e6749..eeb8de1 100644
--- a/components/google/core/browser/google_pref_names.cc
+++ b/components/google/core/browser/google_pref_names.cc
@@ -11,10 +11,4 @@
 // correct Google domain/country code for whatever location the user is in.
 const char kLastKnownGoogleURL[] = "browser.last_known_google_url";
 
-// String containing the last prompted Google URL to the user.
-// If the user is using .x TLD for Google URL and gets prompted about .y TLD
-// for Google URL, and says "no", we should leave the search engine set to .x
-// but not prompt again until the domain changes away from .y.
-const char kLastPromptedGoogleURL[] = "browser.last_prompted_google_url";
-
 }  // namespace prefs
diff --git a/components/google/core/browser/google_pref_names.h b/components/google/core/browser/google_pref_names.h
index 2c58dd2..4307c92 100644
--- a/components/google/core/browser/google_pref_names.h
+++ b/components/google/core/browser/google_pref_names.h
@@ -10,7 +10,6 @@
 // Alphabetical list of preference names specific to the Google
 // component. Keep alphabetized, and document each in the .cc file.
 extern const char kLastKnownGoogleURL[];
-extern const char kLastPromptedGoogleURL[];
 
 }  // namespace prefs
 
diff --git a/components/google/core/browser/google_url_tracker.cc b/components/google/core/browser/google_url_tracker.cc
index be9296b..fce813c 100644
--- a/components/google/core/browser/google_url_tracker.cc
+++ b/components/google/core/browser/google_url_tracker.cc
@@ -10,13 +10,8 @@
 #include "base/strings/string_util.h"
 #include "components/google/core/browser/google_pref_names.h"
 #include "components/google/core/browser/google_switches.h"
-#include "components/google/core/browser/google_url_tracker_infobar_delegate.h"
-#include "components/google/core/browser/google_url_tracker_navigation_helper.h"
 #include "components/google/core/browser/google_util.h"
-#include "components/infobars/core/infobar.h"
-#include "components/infobars/core/infobar_manager.h"
 #include "net/base/load_flags.h"
-#include "net/base/net_util.h"
 #include "net/url_request/url_fetcher.h"
 #include "net/url_request/url_request_status.h"
 
@@ -36,8 +31,6 @@
       in_startup_sleep_(true),
       already_fetched_(false),
       need_to_fetch_(false),
-      need_to_prompt_(false),
-      search_committed_(false),
       weak_ptr_factory_(this) {
   net::NetworkChangeNotifier::AddNetworkChangeObserver(this);
   client_->set_google_url_tracker(this);
@@ -61,9 +54,6 @@
 }
 
 GoogleURLTracker::~GoogleURLTracker() {
-  // We should only reach here after any tabs and their infobars have been torn
-  // down.
-  DCHECK(entry_map_.empty());
 }
 
 void GoogleURLTracker::RequestServerCheck(bool force) {
@@ -76,33 +66,9 @@
   }
 }
 
-void GoogleURLTracker::SearchCommitted() {
-  if (need_to_prompt_) {
-    search_committed_ = true;
-    // These notifications will fire a bit later in the same call chain we're
-    // currently in.
-    if (!client_->IsListeningForNavigationStart())
-      client_->SetListeningForNavigationStart(true);
-  }
-}
-
-void GoogleURLTracker::AcceptGoogleURL(bool redo_searches) {
-  GURL old_google_url = google_url_;
-  google_url_ = fetched_google_url_;
-  PrefService* prefs = client_->GetPrefs();
-  prefs->SetString(prefs::kLastKnownGoogleURL, google_url_.spec());
-  prefs->SetString(prefs::kLastPromptedGoogleURL, google_url_.spec());
-  NotifyGoogleURLUpdated();
-
-  need_to_prompt_ = false;
-  CloseAllEntries(redo_searches);
-}
-
-void GoogleURLTracker::CancelGoogleURL() {
-  client_->GetPrefs()->SetString(prefs::kLastPromptedGoogleURL,
-                                 fetched_google_url_.spec());
-  need_to_prompt_ = false;
-  CloseAllEntries(false);
+scoped_ptr<GoogleURLTracker::Subscription> GoogleURLTracker::RegisterCallback(
+    const OnGoogleURLUpdatedCallback& cb) {
+  return callback_list_.Add(cb);
 }
 
 void GoogleURLTracker::OnURLFetchComplete(const net::URLFetcher* source) {
@@ -128,54 +94,11 @@
                                       google_util::DISALLOW_NON_STANDARD_PORTS))
     return;
 
-  std::swap(url, fetched_google_url_);
-  GURL last_prompted_url(
-      client_->GetPrefs()->GetString(prefs::kLastPromptedGoogleURL));
-
-  if (last_prompted_url.is_empty()) {
-    // On the very first run of Chrome, when we've never looked up the URL at
-    // all, we should just silently switch over to whatever we get immediately.
-    AcceptGoogleURL(true);  // Arg is irrelevant.
-    return;
-  }
-
-  base::string16 fetched_host(net::StripWWWFromHost(fetched_google_url_));
-  if (fetched_google_url_ == google_url_) {
-    // Either the user has continually been on this URL, or we prompted for a
-    // different URL but have now changed back before they responded to any of
-    // the prompts.  In this latter case we want to close any infobars and stop
-    // prompting.
-    CancelGoogleURL();
-  } else if (fetched_host == net::StripWWWFromHost(google_url_)) {
-    // Similar to the above case, but this time the new URL differs from the
-    // existing one, probably due to switching between HTTP and HTTPS searching.
-    // Like before we want to close any infobars and stop prompting; we also
-    // want to silently accept the change in scheme.  We don't redo open
-    // searches so as to avoid suddenly changing a page the user might be
-    // interacting with; it's enough to simply get future searches right.
-    AcceptGoogleURL(false);
-  } else if (fetched_host == net::StripWWWFromHost(last_prompted_url)) {
-    // We've re-fetched a TLD the user previously turned down.  Although the new
-    // URL might have a different scheme than the old, we want to preserve the
-    // user's decision.  Note that it's possible that, like in the above two
-    // cases, we fetched yet another different URL in the meantime, which we
-    // have infobars prompting about; in this case, as in those above, we want
-    // to go ahead and close the infobars and stop prompting, since we've
-    // switched back away from that URL.
-    CancelGoogleURL();
-  } else {
-    // We've fetched a URL with a different TLD than the user is currently using
-    // or was previously prompted about.  This means we need to prompt again.
-    need_to_prompt_ = true;
-
-    // As in all the above cases, there could be infobars prompting about some
-    // URL.  If these URLs have the same TLD (e.g. for scheme changes), we can
-    // simply leave the existing infobars open as their messages will still be
-    // accurate.  Otherwise we go ahead and close them because we need to
-    // display a new message.
-    // Note: |url| is the previous |fetched_google_url_|.
-    if (url.is_valid() && (fetched_host != net::StripWWWFromHost(url)))
-      CloseAllEntries(false);
+  if (url != google_url_) {
+    google_url_ = url;
+    client_->GetPrefs()->SetString(prefs::kLastKnownGoogleURL,
+                                   google_url_.spec());
+    callback_list_.Notify();
   }
 }
 
@@ -195,19 +118,6 @@
   net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
 }
 
-void GoogleURLTracker::DeleteMapEntryForManager(
-    const infobars::InfoBarManager* infobar_manager) {
-  // WARNING: |infobar_manager| may point to a deleted object.  Do not
-  // dereference it!  See OnTabClosed().
-  EntryMap::iterator i(entry_map_.find(infobar_manager));
-  DCHECK(i != entry_map_.end());
-  GoogleURLTrackerMapEntry* map_entry = i->second;
-
-  UnregisterForEntrySpecificNotifications(map_entry, false);
-  entry_map_.erase(i);
-  delete map_entry;
-}
-
 void GoogleURLTracker::SetNeedToFetch() {
   need_to_fetch_ = true;
   StartFetchIfDesirable();
@@ -260,156 +170,3 @@
 
   fetcher_->Start();
 }
-
-void GoogleURLTracker::OnNavigationPending(
-    scoped_ptr<GoogleURLTrackerNavigationHelper> nav_helper,
-    infobars::InfoBarManager* infobar_manager,
-    int pending_id) {
-  GoogleURLTrackerMapEntry* map_entry = NULL;
-
-  EntryMap::iterator i(entry_map_.find(infobar_manager));
-  if (i != entry_map_.end())
-    map_entry = i->second;
-
-  if (search_committed_) {
-    search_committed_ = false;
-    if (!map_entry) {
-      // This is a search on a tab that doesn't have one of our infobars, so
-      // prepare to add one.  Note that we only listen for the tab's destruction
-      // on this path; if there was already a map entry, then either it doesn't
-      // yet have an infobar and we're already registered for this, or it has an
-      // infobar and the infobar's owner will handle tearing it down when the
-      // tab is destroyed.
-      map_entry = new GoogleURLTrackerMapEntry(
-          this, infobar_manager, nav_helper.Pass());
-      map_entry->navigation_helper()->SetListeningForTabDestruction(true);
-      entry_map_.insert(std::make_pair(infobar_manager, map_entry));
-    } else if (map_entry->infobar_delegate()) {
-      // This is a new search on a tab where we already have an infobar.
-      map_entry->infobar_delegate()->set_pending_id(pending_id);
-    }
-
-    // Whether there's an existing infobar or not, we need to listen for the
-    // load to commit, so we can show and/or update the infobar when it does.
-    // (We may already be registered for this if there is an existing infobar
-    // that had a previous pending search that hasn't yet committed.)
-    if (!map_entry->navigation_helper()->IsListeningForNavigationCommit())
-      map_entry->navigation_helper()->SetListeningForNavigationCommit(true);
-  } else if (map_entry) {
-    if (map_entry->has_infobar_delegate()) {
-      // This is a non-search navigation on a tab with an infobar.  If there was
-      // a previous pending search on this tab, this means it won't commit, so
-      // undo anything we did in response to seeing that.  Note that if there
-      // was no pending search on this tab, these statements are effectively a
-      // no-op.
-      //
-      // If this navigation actually commits, that will trigger the infobar's
-      // owner to expire the infobar if need be.  If it doesn't commit, then
-      // simply leaving the infobar as-is will have been the right thing.
-      UnregisterForEntrySpecificNotifications(map_entry, false);
-      map_entry->infobar_delegate()->set_pending_id(0);
-    } else {
-      // Non-search navigation on a tab with an entry that has not yet created
-      // an infobar.  This means the original search won't commit, so delete the
-      // entry.
-      map_entry->Close(false);
-    }
-  } else {
-    // Non-search navigation on a tab without an infobars.  This is irrelevant
-    // to us.
-  }
-}
-
-void GoogleURLTracker::OnNavigationCommitted(
-    infobars::InfoBarManager* infobar_manager,
-    const GURL& search_url) {
-  EntryMap::iterator i(entry_map_.find(infobar_manager));
-  DCHECK(i != entry_map_.end());
-  GoogleURLTrackerMapEntry* map_entry = i->second;
-  DCHECK(search_url.is_valid());
-
-  UnregisterForEntrySpecificNotifications(map_entry, true);
-  if (map_entry->has_infobar_delegate()) {
-    map_entry->infobar_delegate()->Update(search_url);
-  } else {
-    infobars::InfoBar* infobar = GoogleURLTrackerInfoBarDelegate::Create(
-        infobar_manager, this, search_url);
-    if (infobar) {
-      map_entry->SetInfoBarDelegate(
-          static_cast<GoogleURLTrackerInfoBarDelegate*>(infobar->delegate()));
-    } else {
-      map_entry->Close(false);
-    }
-  }
-}
-
-void GoogleURLTracker::OnTabClosed(
-    GoogleURLTrackerNavigationHelper* nav_helper) {
-  // Because InfoBarManager tears itself down on tab destruction, it's possible
-  // to get a non-NULL InfoBarManager pointer here, depending on which order
-  // notifications fired in.  Likewise, the pointer in |entry_map_| (and in its
-  // associated MapEntry) may point to deleted memory.  Therefore, if we were
-  // to access the InfoBarManager* we have for this tab, we'd need to ensure we
-  // just looked at the raw pointer value, and never dereferenced it.  This
-  // function doesn't need to do even that, but others in the call chain from
-  // here might (and have comments pointing back here).
-  for (EntryMap::iterator i(entry_map_.begin()); i != entry_map_.end(); ++i) {
-    if (i->second->navigation_helper() == nav_helper) {
-      i->second->Close(false);
-      return;
-    }
-  }
-  NOTREACHED();
-}
-
-scoped_ptr<GoogleURLTracker::Subscription> GoogleURLTracker::RegisterCallback(
-    const OnGoogleURLUpdatedCallback& cb) {
-  return callback_list_.Add(cb);
-}
-
-void GoogleURLTracker::CloseAllEntries(bool redo_searches) {
-  // Delete all entries, whether they have infobars or not.
-  while (!entry_map_.empty())
-    entry_map_.begin()->second->Close(redo_searches);
-}
-
-void GoogleURLTracker::UnregisterForEntrySpecificNotifications(
-    GoogleURLTrackerMapEntry* map_entry,
-    bool must_be_listening_for_commit) {
-  // For tabs with map entries but no infobars, we should always be listening
-  // for both these notifications.  For tabs with infobars, we may be listening
-  // for navigation commits if the user has performed a new search on this tab.
-  if (map_entry->navigation_helper()->IsListeningForNavigationCommit()) {
-    map_entry->navigation_helper()->SetListeningForNavigationCommit(false);
-  } else {
-    DCHECK(!must_be_listening_for_commit);
-    DCHECK(map_entry->has_infobar_delegate());
-  }
-  const bool registered_for_tab_destruction =
-      map_entry->navigation_helper()->IsListeningForTabDestruction();
-  DCHECK_NE(registered_for_tab_destruction, map_entry->has_infobar_delegate());
-  if (registered_for_tab_destruction) {
-    map_entry->navigation_helper()->SetListeningForTabDestruction(false);
-  }
-
-  // Our global listeners for these other notifications should be in place iff
-  // we have any tabs still listening for commits.  These tabs either have no
-  // infobars or have received new pending searches atop existing infobars; in
-  // either case we want to catch subsequent pending non-search navigations.
-  // See the various cases inside OnNavigationPending().
-  for (EntryMap::const_iterator i(entry_map_.begin()); i != entry_map_.end();
-       ++i) {
-    if (i->second->navigation_helper()->IsListeningForNavigationCommit()) {
-      DCHECK(client_->IsListeningForNavigationStart());
-      return;
-    }
-  }
-  if (client_->IsListeningForNavigationStart()) {
-    DCHECK(!search_committed_);
-    client_->SetListeningForNavigationStart(false);
-  }
-}
-
-void GoogleURLTracker::NotifyGoogleURLUpdated() {
-  callback_list_.Notify();
-}
diff --git a/components/google/core/browser/google_url_tracker.h b/components/google/core/browser/google_url_tracker.h
index aaa2c4b..ad30b3a 100644
--- a/components/google/core/browser/google_url_tracker.h
+++ b/components/google/core/browser/google_url_tracker.h
@@ -5,17 +5,11 @@
 #ifndef COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_H_
 #define COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_H_
 
-#include <map>
-#include <string>
-#include <utility>
-
 #include "base/callback_forward.h"
 #include "base/callback_list.h"
-#include "base/gtest_prod_util.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "components/google/core/browser/google_url_tracker_client.h"
-#include "components/google/core/browser/google_url_tracker_map_entry.h"
 #include "components/keyed_service/core/keyed_service.h"
 #include "net/base/network_change_notifier.h"
 #include "net/url_request/url_fetcher.h"
@@ -30,8 +24,7 @@
 }
 
 // This object is responsible for checking the Google URL once per network
-// change, and if necessary prompting the user to see if they want to change to
-// using it.  The current and last prompted values are saved to prefs.
+// change.  The current value is saved to prefs.
 //
 // Most consumers should only call google_url().  Consumers who need to be
 // notified when things change should register a callback that provides the
@@ -77,44 +70,6 @@
   // check, it will check again.
   void RequestServerCheck(bool force);
 
-  // Notifies the tracker that the user has started a Google search.
-  // If prompting is necessary, we then listen for the subsequent pending
-  // navigation to get the appropriate NavigationHelper. When the load
-  // commits, we'll show the infobar.
-  void SearchCommitted();
-
-  // No one but GoogleURLTrackerInfoBarDelegate or test code should call these.
-  void AcceptGoogleURL(bool redo_searches);
-  void CancelGoogleURL();
-  const GURL& fetched_google_url() const { return fetched_google_url_; }
-  GoogleURLTrackerClient* client() { return client_.get(); }
-
-  // No one but GoogleURLTrackerMapEntry should call this.
-  void DeleteMapEntryForManager(
-      const infobars::InfoBarManager* infobar_manager);
-
-  // Called by the client after SearchCommitted() registers listeners,
-  // to indicate that we've received the "load now pending" notification.
-  // |nav_helper| is the GoogleURLTrackerNavigationHelper associated with this
-  // navigation; |infobar_manager| is the InfoBarManager of the associated tab;
-  // and |pending_id| is the unique ID of the newly pending NavigationEntry.
-  // If there is already a visible GoogleURLTracker infobar for this tab, this
-  // function resets its associated pending entry ID to the new ID.  Otherwise
-  // this function creates a map entry for the associated tab.
-  virtual void OnNavigationPending(
-      scoped_ptr<GoogleURLTrackerNavigationHelper> nav_helper,
-      infobars::InfoBarManager* infobar_manager,
-      int pending_id);
-
-  // Called by the navigation observer once a load we're watching commits.
-  // |infobar_manager| is the same as for OnNavigationPending();
-  // |search_url| is guaranteed to be valid.
-  virtual void OnNavigationCommitted(infobars::InfoBarManager* infobar_manager,
-                                     const GURL& search_url);
-
-  // Called by the navigation observer when a tab closes.
-  virtual void OnTabClosed(GoogleURLTrackerNavigationHelper* nav_helper);
-
   scoped_ptr<Subscription> RegisterCallback(
       const OnGoogleURLUpdatedCallback& cb);
 
@@ -122,9 +77,6 @@
   friend class GoogleURLTrackerTest;
   friend class SyncTest;
 
-  typedef std::map<const infobars::InfoBarManager*, GoogleURLTrackerMapEntry*>
-      EntryMap;
-
   static const char kSearchDomainCheckURL[];
 
   // net::URLFetcherDelegate:
@@ -137,9 +89,7 @@
   // KeyedService:
   void Shutdown() override;
 
-  // Registers consumer interest in getting an updated URL from the server.
-  // Observe chrome::NOTIFICATION_GOOGLE_URL_UPDATED to be notified when the URL
-  // changes.
+  // Sets |need_to_fetch_| and attempts to start a fetch.
   void SetNeedToFetch();
 
   // Called when the five second startup sleep has finished.  Runs any pending
@@ -150,29 +100,11 @@
   // it and can currently do so.
   void StartFetchIfDesirable();
 
-  // Closes all map entries.  If |redo_searches| is true, this also triggers
-  // each tab with an infobar to re-perform the user's search, but on the new
-  // Google TLD.
-  void CloseAllEntries(bool redo_searches);
-
-  // Unregisters any listeners for the navigation helper in |map_entry|.
-  // This sanity-DCHECKs that these are registered (or not) in the specific
-  // cases we expect.  (|must_be_listening_for_commit| is used purely for this
-  // sanity-checking.)  This also unregisters the global navigation pending
-  // listener if there are no remaining listeners for navigation commits, as we
-  // no longer need them until another search is committed.
-  void UnregisterForEntrySpecificNotifications(
-      GoogleURLTrackerMapEntry* map_entry,
-      bool must_be_listening_for_commit);
-
-  void NotifyGoogleURLUpdated();
-
   CallbackList callback_list_;
 
   scoped_ptr<GoogleURLTrackerClient> client_;
 
   GURL google_url_;
-  GURL fetched_google_url_;
   scoped_ptr<net::URLFetcher> fetcher_;
   int fetcher_id_;
   bool in_startup_sleep_;  // True if we're in the five-second "no fetching"
@@ -184,12 +116,6 @@
                            // bother to fetch anything.
                            // Consumers should register a callback via
                            // RegisterCallback().
-  bool need_to_prompt_;    // True if the last fetched Google URL is not
-                           // matched with current user's default Google URL
-                           // nor the last prompted Google URL.
-  bool search_committed_;  // True when we're expecting a notification of a new
-                           // pending search navigation.
-  EntryMap entry_map_;
   base::WeakPtrFactory<GoogleURLTracker> weak_ptr_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(GoogleURLTracker);
diff --git a/components/google/core/browser/google_url_tracker_client.h b/components/google/core/browser/google_url_tracker_client.h
index 45c101b..58f51a7 100644
--- a/components/google/core/browser/google_url_tracker_client.h
+++ b/components/google/core/browser/google_url_tracker_client.h
@@ -26,14 +26,6 @@
     google_url_tracker_ = google_url_tracker;
   }
 
-  // Enables or disables listening for navigation starts. OnNavigationPending
-  // will be called for each navigation start if listening is enabled.
-  virtual void SetListeningForNavigationStart(bool listen) = 0;
-
-  // Returns whether or not the client is currently listening for navigation
-  // starts.
-  virtual bool IsListeningForNavigationStart() = 0;
-
   // Returns whether background networking is enabled.
   virtual bool IsBackgroundNetworkingEnabled() = 0;
 
diff --git a/components/google/core/browser/google_url_tracker_infobar_delegate.cc b/components/google/core/browser/google_url_tracker_infobar_delegate.cc
deleted file mode 100644
index c370002..0000000
--- a/components/google/core/browser/google_url_tracker_infobar_delegate.cc
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/google/core/browser/google_url_tracker_infobar_delegate.h"
-
-#include "components/google/core/browser/google_url_tracker.h"
-#include "components/google/core/browser/google_url_tracker_navigation_helper.h"
-#include "components/infobars/core/infobar.h"
-#include "components/infobars/core/infobar_manager.h"
-#include "grit/components_strings.h"
-#include "net/base/net_util.h"
-#include "ui/base/l10n/l10n_util.h"
-
-
-// static
-infobars::InfoBar* GoogleURLTrackerInfoBarDelegate::Create(
-    infobars::InfoBarManager* infobar_manager,
-    GoogleURLTracker* google_url_tracker,
-    const GURL& search_url) {
-  return infobar_manager->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar(
-      scoped_ptr<ConfirmInfoBarDelegate>(new GoogleURLTrackerInfoBarDelegate(
-          google_url_tracker, search_url))));
-}
-
-bool GoogleURLTrackerInfoBarDelegate::Accept() {
-  google_url_tracker_->AcceptGoogleURL(true);
-  return false;
-}
-
-bool GoogleURLTrackerInfoBarDelegate::Cancel() {
-  google_url_tracker_->CancelGoogleURL();
-  return false;
-}
-
-void GoogleURLTrackerInfoBarDelegate::Update(const GURL& search_url) {
-  StoreActiveEntryUniqueID();
-  search_url_ = search_url;
-  pending_id_ = 0;
-}
-
-void GoogleURLTrackerInfoBarDelegate::Close(bool redo_search) {
-  // Calling OpenURL() will auto-close us asynchronously.  It's easier for
-  // various classes (e.g. GoogleURLTrackerMapEntry) to reason about things if
-  // the closure always happens synchronously, so we always call RemoveInfoBar()
-  // directly, then OpenURL() if desirable.  (This calling order is safer if
-  // for some reason in the future OpenURL() were to close us synchronously.)
-  GURL new_search_url;
-  if (redo_search) {
-    // Re-do the user's search on the new domain.
-    DCHECK(search_url_.is_valid());
-    url::Replacements<char> replacements;
-    const std::string& host(google_url_tracker_->fetched_google_url().host());
-    replacements.SetHost(host.data(), url::Component(0, host.length()));
-    new_search_url = search_url_.ReplaceComponents(replacements);
-  }
-
-  // Take ownership of |navigation_helper_| in order to ensure that it stays
-  // alive for the duration of this method.
-  scoped_ptr<GoogleURLTrackerNavigationHelper> navigation_helper =
-      navigation_helper_.Pass();
-  infobar()->RemoveSelf();
-  // WARNING: |this| may be deleted at this point!  Do not access any members!
-
-  if (new_search_url.is_valid())
-    navigation_helper->OpenURL(new_search_url, CURRENT_TAB, false);
-}
-
-GoogleURLTrackerInfoBarDelegate::GoogleURLTrackerInfoBarDelegate(
-    GoogleURLTracker* google_url_tracker,
-    const GURL& search_url)
-    : ConfirmInfoBarDelegate(),
-      google_url_tracker_(google_url_tracker),
-      navigation_helper_weak_ptr_(NULL),
-      search_url_(search_url),
-      pending_id_(0) {
-}
-
-GoogleURLTrackerInfoBarDelegate::~GoogleURLTrackerInfoBarDelegate() {
-}
-
-base::string16 GoogleURLTrackerInfoBarDelegate::GetMessageText() const {
-  return l10n_util::GetStringFUTF16(
-      IDS_GOOGLE_URL_TRACKER_INFOBAR_MESSAGE,
-      net::StripWWWFromHost(google_url_tracker_->fetched_google_url()),
-      net::StripWWWFromHost(google_url_tracker_->google_url()));
-}
-
-base::string16 GoogleURLTrackerInfoBarDelegate::GetButtonLabel(
-    InfoBarButton button) const {
-  if (button == BUTTON_OK) {
-    return l10n_util::GetStringFUTF16(
-        IDS_GOOGLE_URL_TRACKER_INFOBAR_SWITCH,
-        net::StripWWWFromHost(google_url_tracker_->fetched_google_url()));
-  }
-  return l10n_util::GetStringFUTF16(
-      IDS_GOOGLE_URL_TRACKER_INFOBAR_DONT_SWITCH,
-      net::StripWWWFromHost(google_url_tracker_->google_url()));
-}
-
-base::string16 GoogleURLTrackerInfoBarDelegate::GetLinkText() const {
-  return l10n_util::GetStringUTF16(IDS_GOOGLE_URL_TRACKER_INFOBAR_LEARN_MORE);
-}
-
-bool GoogleURLTrackerInfoBarDelegate::LinkClicked(
-    WindowOpenDisposition disposition) {
-  navigation_helper_->OpenURL(
-      GURL("https://www.google.com/support/chrome/bin/answer.py?"
-           "answer=1618699"),
-      (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition,
-      true);
-  return false;
-}
-
-bool GoogleURLTrackerInfoBarDelegate::ShouldExpireInternal(
-    const NavigationDetails& details) const {
-  return (details.entry_id != contents_unique_id()) &&
-      (details.entry_id != pending_id_);
-}
diff --git a/components/google/core/browser/google_url_tracker_infobar_delegate.h b/components/google/core/browser/google_url_tracker_infobar_delegate.h
deleted file mode 100644
index dac9874..0000000
--- a/components/google/core/browser/google_url_tracker_infobar_delegate.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_INFOBAR_DELEGATE_H_
-#define COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_INFOBAR_DELEGATE_H_
-
-#include "components/infobars/core/confirm_infobar_delegate.h"
-#include "url/gurl.h"
-
-class GoogleURLTracker;
-class GoogleURLTrackerNavigationHelper;
-
-namespace infobars {
-class InfoBarManager;
-}
-
-// This infobar is shown by the GoogleURLTracker when the Google base URL has
-// changed.
-class GoogleURLTrackerInfoBarDelegate : public ConfirmInfoBarDelegate {
- public:
-  // Creates a Google URL tracker infobar and delegate and adds the infobar to
-  // |infobar_manager|.  Returns the infobar if it was successfully added.
-  static infobars::InfoBar* Create(
-      infobars::InfoBarManager* infobar_manager,
-      GoogleURLTracker* google_url_tracker,
-      const GURL& search_url);
-
-  // ConfirmInfoBarDelegate:
-  bool Accept() override;
-  bool Cancel() override;
-
-  GoogleURLTrackerNavigationHelper* navigation_helper() {
-    return navigation_helper_weak_ptr_;
-  }
-
-  void set_navigation_helper(
-      scoped_ptr<GoogleURLTrackerNavigationHelper> navigation_helper) {
-    navigation_helper_ = navigation_helper.Pass();
-    navigation_helper_weak_ptr_ = navigation_helper_.get();
-  }
-
-  // Other than set_pending_id(), these accessors are only used by test code.
-  const GURL& search_url() const { return search_url_; }
-  void set_search_url(const GURL& search_url) { search_url_ = search_url; }
-  int pending_id() const { return pending_id_; }
-  void set_pending_id(int pending_id) { pending_id_ = pending_id; }
-
-  // These are virtual so test code can override them in a subclass.
-  virtual void Update(const GURL& search_url);
-  virtual void Close(bool redo_search);
-
- protected:
-  GoogleURLTrackerInfoBarDelegate(
-      GoogleURLTracker* google_url_tracker,
-      const GURL& search_url);
-  ~GoogleURLTrackerInfoBarDelegate() override;
-
- private:
-  // ConfirmInfoBarDelegate:
-  base::string16 GetMessageText() const override;
-  base::string16 GetButtonLabel(InfoBarButton button) const override;
-  base::string16 GetLinkText() const override;
-  bool LinkClicked(WindowOpenDisposition disposition) override;
-  bool ShouldExpireInternal(const NavigationDetails& details) const override;
-
-  GoogleURLTracker* google_url_tracker_;
-  scoped_ptr<GoogleURLTrackerNavigationHelper> navigation_helper_;
-
-  // During Close(), this object gives up ownership of |navigation_helper_|,
-  // which then outlives this object. Sometimes after this point, other classes
-  // still attempt to call navigation_helper() to access the (still-valid)
-  // instance. The NavigationHelper instance is stored as a weak pointer in
-  // addition to a strong pointer to facilitate this case.
-  GoogleURLTrackerNavigationHelper* navigation_helper_weak_ptr_;
-  GURL search_url_;
-  int pending_id_;
-
-  DISALLOW_COPY_AND_ASSIGN(GoogleURLTrackerInfoBarDelegate);
-};
-
-#endif  // COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_INFOBAR_DELEGATE_H_
diff --git a/components/google/core/browser/google_url_tracker_map_entry.cc b/components/google/core/browser/google_url_tracker_map_entry.cc
deleted file mode 100644
index ef72281..0000000
--- a/components/google/core/browser/google_url_tracker_map_entry.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/google/core/browser/google_url_tracker_map_entry.h"
-
-#include "components/google/core/browser/google_url_tracker.h"
-#include "components/infobars/core/infobar.h"
-
-GoogleURLTrackerMapEntry::GoogleURLTrackerMapEntry(
-    GoogleURLTracker* google_url_tracker,
-    infobars::InfoBarManager* infobar_manager,
-    scoped_ptr<GoogleURLTrackerNavigationHelper> navigation_helper)
-    : google_url_tracker_(google_url_tracker),
-      infobar_manager_(infobar_manager),
-      infobar_delegate_(NULL),
-      navigation_helper_(navigation_helper.Pass()),
-      observing_(false) {
-  DCHECK(infobar_manager_);
-}
-
-GoogleURLTrackerMapEntry::~GoogleURLTrackerMapEntry() {
-  if (observing_)
-    infobar_manager_->RemoveObserver(this);
-}
-
-void GoogleURLTrackerMapEntry::SetInfoBarDelegate(
-    GoogleURLTrackerInfoBarDelegate* infobar_delegate) {
-  DCHECK(!infobar_delegate_);
-
-  // Transfer ownership of |navigation_helper_| to the infobar delegate as the
-  // infobar delegate has need of it after this object has been destroyed in
-  // the case where the user accepts the new Google URL.
-  infobar_delegate->set_navigation_helper(navigation_helper_.Pass());
-  infobar_delegate_ = infobar_delegate;
-  infobar_manager_->AddObserver(this);
-  observing_ = true;
-}
-
-void GoogleURLTrackerMapEntry::Close(bool redo_search) {
-  if (infobar_delegate_) {
-    infobar_delegate_->Close(redo_search);
-  } else {
-    // WARNING: |infobar_manager_| may point to a deleted object.  Do not
-    // dereference it!  See GoogleURLTracker::OnTabClosed().
-    google_url_tracker_->DeleteMapEntryForManager(infobar_manager_);
-  }
-  // WARNING: At this point |this| has been deleted!
-}
-
-void GoogleURLTrackerMapEntry::OnInfoBarRemoved(infobars::InfoBar* infobar,
-                                                bool animate) {
-  DCHECK(infobar_delegate_);
-  if (infobar->delegate() == infobar_delegate_) {
-    google_url_tracker_->DeleteMapEntryForManager(infobar_manager_);
-    // WARNING: At this point |this| has been deleted!
-  }
-}
-
-void GoogleURLTrackerMapEntry::OnManagerShuttingDown(
-    infobars::InfoBarManager* manager) {
-  DCHECK(observing_);
-  DCHECK_EQ(infobar_manager_, manager);
-  manager->RemoveObserver(this);
-  observing_ = false;
-}
diff --git a/components/google/core/browser/google_url_tracker_map_entry.h b/components/google/core/browser/google_url_tracker_map_entry.h
deleted file mode 100644
index 79c52b7..0000000
--- a/components/google/core/browser/google_url_tracker_map_entry.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_MAP_ENTRY_H_
-#define COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_MAP_ENTRY_H_
-
-#include "base/memory/scoped_ptr.h"
-#include "components/google/core/browser/google_url_tracker_infobar_delegate.h"
-#include "components/google/core/browser/google_url_tracker_navigation_helper.h"
-#include "components/infobars/core/infobar_manager.h"
-
-class GoogleURLTracker;
-
-namespace infobars {
-class InfoBarManager;
-}
-
-class GoogleURLTrackerMapEntry : public infobars::InfoBarManager::Observer {
- public:
-  GoogleURLTrackerMapEntry(
-      GoogleURLTracker* google_url_tracker,
-      infobars::InfoBarManager* infobar_manager,
-      scoped_ptr<GoogleURLTrackerNavigationHelper> navigation_helper);
-  virtual ~GoogleURLTrackerMapEntry();
-
-  bool has_infobar_delegate() const { return !!infobar_delegate_; }
-  GoogleURLTrackerInfoBarDelegate* infobar_delegate() {
-    return infobar_delegate_;
-  }
-  void SetInfoBarDelegate(GoogleURLTrackerInfoBarDelegate* infobar_delegate);
-
-  GoogleURLTrackerNavigationHelper* navigation_helper() {
-    // This object gives ownership of |navigation_helper_| to the infobar
-    // delegate in SetInfoBarDelegate().
-    return has_infobar_delegate() ?
-        infobar_delegate_->navigation_helper() : navigation_helper_.get();
-  }
-
-  const infobars::InfoBarManager* infobar_manager() const {
-    return infobar_manager_;
-  }
-
-  void Close(bool redo_search);
-
- private:
-  friend class GoogleURLTrackerTest;
-
-  // infobars::InfoBarManager::Observer:
-  void OnInfoBarRemoved(infobars::InfoBar* infobar, bool animate) override;
-  void OnManagerShuttingDown(infobars::InfoBarManager* manager) override;
-
-  GoogleURLTracker* const google_url_tracker_;
-  infobars::InfoBarManager* const infobar_manager_;
-  GoogleURLTrackerInfoBarDelegate* infobar_delegate_;
-  scoped_ptr<GoogleURLTrackerNavigationHelper> navigation_helper_;
-  bool observing_;
-
-  DISALLOW_COPY_AND_ASSIGN(GoogleURLTrackerMapEntry);
-};
-
-#endif  // COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_MAP_ENTRY_H_
diff --git a/components/google/core/browser/google_url_tracker_navigation_helper.cc b/components/google/core/browser/google_url_tracker_navigation_helper.cc
deleted file mode 100644
index c420da6..0000000
--- a/components/google/core/browser/google_url_tracker_navigation_helper.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/google/core/browser/google_url_tracker_navigation_helper.h"
-
-GoogleURLTrackerNavigationHelper::GoogleURLTrackerNavigationHelper(
-    GoogleURLTracker* google_url_tracker)
-    : google_url_tracker_(google_url_tracker) {
-}
-
-GoogleURLTrackerNavigationHelper::~GoogleURLTrackerNavigationHelper() {
-}
diff --git a/components/google/core/browser/google_url_tracker_navigation_helper.h b/components/google/core/browser/google_url_tracker_navigation_helper.h
deleted file mode 100644
index 2f64320..0000000
--- a/components/google/core/browser/google_url_tracker_navigation_helper.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_H_
-#define COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_H_
-
-#include "base/macros.h"
-#include "ui/base/window_open_disposition.h"
-
-class GoogleURLTracker;
-class GURL;
-
-// Interface via which GoogleURLTracker communicates with its driver.
-// TODO(blundell): Rename this class to GoogleURLTrackerDriver.
-// crbug.com/373221
-class GoogleURLTrackerNavigationHelper {
- public:
-  explicit GoogleURLTrackerNavigationHelper(
-      GoogleURLTracker* google_url_tracker);
-  virtual ~GoogleURLTrackerNavigationHelper();
-
-  // Enables or disables listening for navigation commits.
-  // OnNavigationCommitted will be called for each navigation commit if
-  // listening is enabled.
-  virtual void SetListeningForNavigationCommit(bool listen) = 0;
-
-  // Returns whether or not this object is currently listening for navigation
-  // commits.
-  virtual bool IsListeningForNavigationCommit() = 0;
-
-  // Enables or disables listening for tab destruction. OnTabClosed will be
-  // called on tab destruction if listening is enabled.
-  virtual void SetListeningForTabDestruction(bool listen) = 0;
-
-  // Returns whether or not this object is currently listening for tab
-  // destruction.
-  virtual bool IsListeningForTabDestruction() = 0;
-
-  // Opens |url| with the given window disposition.
-  virtual void OpenURL(GURL url,
-                       WindowOpenDisposition disposition,
-                       bool user_clicked_on_link) = 0;
-
- protected:
-  GoogleURLTracker* google_url_tracker() { return google_url_tracker_; }
-
- private:
-  GoogleURLTracker* google_url_tracker_;
-
-  DISALLOW_COPY_AND_ASSIGN(GoogleURLTrackerNavigationHelper);
-};
-
-#endif  // COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_H_
diff --git a/components/google/core/browser/google_url_tracker_unittest.cc b/components/google/core/browser/google_url_tracker_unittest.cc
index 675fc3d..a89dded 100644
--- a/components/google/core/browser/google_url_tracker_unittest.cc
+++ b/components/google/core/browser/google_url_tracker_unittest.cc
@@ -4,7 +4,6 @@
 
 #include "components/google/core/browser/google_url_tracker.h"
 
-#include <set>
 #include <string>
 
 #include "base/memory/scoped_ptr.h"
@@ -14,10 +13,6 @@
 #include "base/prefs/testing_pref_service.h"
 #include "components/google/core/browser/google_pref_names.h"
 #include "components/google/core/browser/google_url_tracker_client.h"
-#include "components/google/core/browser/google_url_tracker_infobar_delegate.h"
-#include "components/google/core/browser/google_url_tracker_navigation_helper.h"
-#include "components/infobars/core/infobar.h"
-#include "components/infobars/core/infobar_delegate.h"
 #include "net/url_request/test_url_fetcher_factory.h"
 #include "net/url_request/url_fetcher.h"
 #include "net/url_request/url_request_test_util.h"
@@ -74,8 +69,6 @@
   explicit TestGoogleURLTrackerClient(PrefService* prefs_);
   ~TestGoogleURLTrackerClient() override;
 
-  void SetListeningForNavigationStart(bool listen) override;
-  bool IsListeningForNavigationStart() override;
   bool IsBackgroundNetworkingEnabled() override;
   PrefService* GetPrefs() override;
   net::URLRequestContextGetter* GetRequestContext() override;
@@ -83,7 +76,6 @@
  private:
   PrefService* prefs_;
   scoped_refptr<net::TestURLRequestContextGetter> request_context_;
-  bool observe_nav_start_;
 
   DISALLOW_COPY_AND_ASSIGN(TestGoogleURLTrackerClient);
 };
@@ -91,21 +83,12 @@
 TestGoogleURLTrackerClient::TestGoogleURLTrackerClient(PrefService* prefs)
     : prefs_(prefs),
       request_context_(new net::TestURLRequestContextGetter(
-          base::MessageLoopProxy::current())),
-      observe_nav_start_(false) {
+          base::MessageLoopProxy::current())) {
 }
 
 TestGoogleURLTrackerClient::~TestGoogleURLTrackerClient() {
 }
 
-void TestGoogleURLTrackerClient::SetListeningForNavigationStart(bool listen) {
-  observe_nav_start_ = listen;
-}
-
-bool TestGoogleURLTrackerClient::IsListeningForNavigationStart() {
-  return observe_nav_start_;
-}
-
 bool TestGoogleURLTrackerClient::IsBackgroundNetworkingEnabled() {
   return true;
 }
@@ -119,87 +102,6 @@
 }
 
 
-// TestGoogleURLTrackerNavigationHelper ---------------------------------------
-
-class TestGoogleURLTrackerNavigationHelper
-    : public GoogleURLTrackerNavigationHelper {
- public:
-  explicit TestGoogleURLTrackerNavigationHelper(GoogleURLTracker* tracker);
-  ~TestGoogleURLTrackerNavigationHelper() override;
-
-  void SetListeningForNavigationCommit(bool listen) override;
-  bool IsListeningForNavigationCommit() override;
-  void SetListeningForTabDestruction(bool listen) override;
-  bool IsListeningForTabDestruction() override;
-  void OpenURL(GURL url,
-               WindowOpenDisposition disposition,
-               bool user_clicked_on_link) override;
-
- private:
-  bool listening_for_nav_commit_;
-  bool listening_for_tab_destruction_;
-
-  DISALLOW_COPY_AND_ASSIGN(TestGoogleURLTrackerNavigationHelper);
-};
-
-TestGoogleURLTrackerNavigationHelper::TestGoogleURLTrackerNavigationHelper(
-    GoogleURLTracker* tracker)
-    : GoogleURLTrackerNavigationHelper(tracker),
-      listening_for_nav_commit_(false),
-      listening_for_tab_destruction_(false) {
-}
-
-TestGoogleURLTrackerNavigationHelper::~TestGoogleURLTrackerNavigationHelper() {
-}
-
-void TestGoogleURLTrackerNavigationHelper::SetListeningForNavigationCommit(
-    bool listen) {
-  listening_for_nav_commit_ = listen;
-}
-
-bool TestGoogleURLTrackerNavigationHelper::IsListeningForNavigationCommit() {
-  return listening_for_nav_commit_;
-}
-
-void TestGoogleURLTrackerNavigationHelper::SetListeningForTabDestruction(
-    bool listen) {
-  listening_for_tab_destruction_ = listen;
-}
-
-bool TestGoogleURLTrackerNavigationHelper::IsListeningForTabDestruction() {
-  return listening_for_tab_destruction_;
-}
-
-void TestGoogleURLTrackerNavigationHelper::OpenURL(
-    GURL url,
-    WindowOpenDisposition disposition,
-    bool user_clicked_on_link) {
-}
-
-// TestInfoBarManager ---------------------------------------------------------
-
-class TestInfoBarManager : public infobars::InfoBarManager {
- public:
-  explicit TestInfoBarManager(int unique_id);
-  ~TestInfoBarManager() override;
-  int GetActiveEntryID() override;
-
- private:
-  int unique_id_;
-  DISALLOW_COPY_AND_ASSIGN(TestInfoBarManager);
-};
-
-TestInfoBarManager::TestInfoBarManager(int unique_id) : unique_id_(unique_id) {
-}
-
-TestInfoBarManager::~TestInfoBarManager() {
-  ShutDown();
-}
-
-int TestInfoBarManager::GetActiveEntryID() {
-  return unique_id_;
-}
-
 }  // namespace
 
 // GoogleURLTrackerTest -------------------------------------------------------
@@ -218,30 +120,10 @@
   void RequestServerCheck();
   void FinishSleep();
   void NotifyNetworkChanged();
-  GURL fetched_google_url() const {
-    return google_url_tracker_->fetched_google_url();
-  }
   void set_google_url(const GURL& url) {
     google_url_tracker_->google_url_ = url;
   }
   GURL google_url() const { return google_url_tracker_->google_url(); }
-  void SetLastPromptedGoogleURL(const GURL& url);
-  GURL GetLastPromptedGoogleURL();
-  void SetNavigationPending(infobars::InfoBarManager* infobar_manager,
-                            bool is_search);
-  void CommitNonSearch(infobars::InfoBarManager* infobar_manager);
-  void CommitSearch(infobars::InfoBarManager* infobar_manager,
-                    const GURL& search_url);
-  void CloseTab(infobars::InfoBarManager* infobar_manager);
-  GoogleURLTrackerMapEntry* GetMapEntry(
-      infobars::InfoBarManager* infobar_manager);
-  GoogleURLTrackerInfoBarDelegate* GetInfoBarDelegate(
-      infobars::InfoBarManager* infobar_manager);
-  GoogleURLTrackerNavigationHelper* GetNavigationHelper(
-      infobars::InfoBarManager* infobar_manager);
-  void ExpectDefaultURLs() const;
-  void ExpectListeningForCommit(infobars::InfoBarManager* infobar_manager,
-                                bool listening);
   bool listener_notified() const { return listener_.notified(); }
   void clear_listener_notified() { listener_.clear_notified(); }
 
@@ -256,18 +138,12 @@
   GoogleURLTrackerClient* client_;
   scoped_ptr<GoogleURLTracker> google_url_tracker_;
   TestCallbackListener listener_;
-  // This tracks the different "tabs" a test has "opened", so we can close them
-  // properly before shutting down |google_url_tracker_|, which expects that.
-  std::set<infobars::InfoBarManager*> infobar_managers_seen_;
 };
 
 GoogleURLTrackerTest::GoogleURLTrackerTest() {
   prefs_.registry()->RegisterStringPref(
       prefs::kLastKnownGoogleURL,
       GoogleURLTracker::kDefaultGoogleHomepage);
-  prefs_.registry()->RegisterStringPref(
-      prefs::kLastPromptedGoogleURL,
-      std::string());
 }
 
 GoogleURLTrackerTest::~GoogleURLTrackerTest() {
@@ -284,8 +160,6 @@
 }
 
 void GoogleURLTrackerTest::TearDown() {
-  while (!infobar_managers_seen_.empty())
-    CloseTab(*infobar_managers_seen_.begin());
   google_url_tracker_->Shutdown();
 }
 
@@ -326,276 +200,104 @@
   base::MessageLoop::current()->RunUntilIdle();
 }
 
-void GoogleURLTrackerTest::SetLastPromptedGoogleURL(const GURL& url) {
-  prefs_.SetString(prefs::kLastPromptedGoogleURL, url.spec());
-}
-
-GURL GoogleURLTrackerTest::GetLastPromptedGoogleURL() {
-  return GURL(prefs_.GetString(prefs::kLastPromptedGoogleURL));
-}
-
-void GoogleURLTrackerTest::SetNavigationPending(
-    infobars::InfoBarManager* infobar_manager,
-    bool is_search) {
-  if (is_search) {
-    google_url_tracker_->SearchCommitted();
-    // Note that the call above might not have actually registered a listener
-    // for navigation starts if the searchdomaincheck response was bogus.
-  }
-  infobar_managers_seen_.insert(infobar_manager);
-  if (client_->IsListeningForNavigationStart()) {
-    google_url_tracker_->OnNavigationPending(
-        scoped_ptr<GoogleURLTrackerNavigationHelper>(
-            new TestGoogleURLTrackerNavigationHelper(
-                google_url_tracker_.get())),
-        infobar_manager,
-        infobar_manager->GetActiveEntryID());
-  }
-}
-
-void GoogleURLTrackerTest::CommitNonSearch(
-    infobars::InfoBarManager* infobar_manager) {
-  GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager);
-  if (!map_entry)
-    return;
-
-  ExpectListeningForCommit(infobar_manager, false);
-
-  // The infobar should be showing; otherwise the pending non-search should
-  // have closed it.
-  ASSERT_TRUE(map_entry->has_infobar_delegate());
-
-  // The pending_id should have been reset to 0 when the non-search became
-  // pending.
-  EXPECT_EQ(0, map_entry->infobar_delegate()->pending_id());
-
-  // Committing the navigation would close the infobar.
-  map_entry->infobar_delegate()->Close(false);
-}
-
-void GoogleURLTrackerTest::CommitSearch(
-    infobars::InfoBarManager* infobar_manager,
-    const GURL& search_url) {
-  DCHECK(search_url.is_valid());
-  GoogleURLTrackerNavigationHelper* nav_helper =
-      GetNavigationHelper(infobar_manager);
-  if (nav_helper && nav_helper->IsListeningForNavigationCommit()) {
-    google_url_tracker_->OnNavigationCommitted(infobar_manager, search_url);
-  }
-}
-
-void GoogleURLTrackerTest::CloseTab(infobars::InfoBarManager* infobar_manager) {
-  infobar_managers_seen_.erase(infobar_manager);
-  GoogleURLTrackerNavigationHelper* nav_helper =
-      GetNavigationHelper(infobar_manager);
-  if (nav_helper && nav_helper->IsListeningForTabDestruction()) {
-    google_url_tracker_->OnTabClosed(nav_helper);
-  } else {
-    // Closing a tab with an infobar showing would close the infobar.
-    GoogleURLTrackerInfoBarDelegate* delegate =
-        GetInfoBarDelegate(infobar_manager);
-    if (delegate)
-      delegate->Close(false);
-  }
-}
-
-GoogleURLTrackerMapEntry* GoogleURLTrackerTest::GetMapEntry(
-    infobars::InfoBarManager* infobar_manager) {
-  GoogleURLTracker::EntryMap::const_iterator i =
-      google_url_tracker_->entry_map_.find(infobar_manager);
-  return (i == google_url_tracker_->entry_map_.end()) ? NULL : i->second;
-}
-
-GoogleURLTrackerInfoBarDelegate* GoogleURLTrackerTest::GetInfoBarDelegate(
-    infobars::InfoBarManager* infobar_manager) {
-  GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager);
-  return map_entry ? map_entry->infobar_delegate() : NULL;
-}
-
-GoogleURLTrackerNavigationHelper* GoogleURLTrackerTest::GetNavigationHelper(
-    infobars::InfoBarManager* infobar_manager) {
-  GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager);
-  return map_entry ? map_entry->navigation_helper() : NULL;
-}
-
-void GoogleURLTrackerTest::ExpectDefaultURLs() const {
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL(), fetched_google_url());
-}
-
-void GoogleURLTrackerTest::ExpectListeningForCommit(
-    infobars::InfoBarManager* infobar_manager,
-    bool listening) {
-  GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager);
-  if (map_entry) {
-    EXPECT_EQ(listening,
-              map_entry->navigation_helper()->IsListeningForNavigationCommit());
-  } else {
-    EXPECT_FALSE(listening);
-  }
-}
-
 // Tests ----------------------------------------------------------------------
 
 TEST_F(GoogleURLTrackerTest, DontFetchWhenNoOneRequestsCheck) {
-  ExpectDefaultURLs();
+  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
   FinishSleep();
   // No one called RequestServerCheck() so nothing should have happened.
   EXPECT_FALSE(GetFetcher());
   MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  ExpectDefaultURLs();
+  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
   EXPECT_FALSE(listener_notified());
 }
 
-TEST_F(GoogleURLTrackerTest, UpdateOnFirstRun) {
+TEST_F(GoogleURLTrackerTest, Update) {
   RequestServerCheck();
   EXPECT_FALSE(GetFetcher());
-  ExpectDefaultURLs();
+  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
   EXPECT_FALSE(listener_notified());
 
   FinishSleep();
   MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
-  // GoogleURL should be updated, becase there was no last prompted URL.
   EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
   EXPECT_TRUE(listener_notified());
 }
 
 TEST_F(GoogleURLTrackerTest, DontUpdateWhenUnchanged) {
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
+  GURL original_google_url("http://www.google.co.uk/");
+  set_google_url(original_google_url);
 
   RequestServerCheck();
   EXPECT_FALSE(GetFetcher());
-  ExpectDefaultURLs();
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
 
   FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
-  // GoogleURL should not be updated, because the fetched and prompted URLs
-  // match.
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
+  MockSearchDomainCheckResponse(original_google_url.spec());
+  EXPECT_EQ(original_google_url, google_url());
+  // No one should be notified, because the new URL matches the old.
   EXPECT_FALSE(listener_notified());
 }
 
 TEST_F(GoogleURLTrackerTest, DontPromptOnBadReplies) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
+  GURL original_google_url("http://www.google.co.uk/");
+  set_google_url(original_google_url);
 
   RequestServerCheck();
   EXPECT_FALSE(GetFetcher());
-  ExpectDefaultURLs();
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
 
   // Old-style domain string.
   FinishSleep();
   MockSearchDomainCheckResponse(".google.co.in");
-  EXPECT_EQ(GURL(), fetched_google_url());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
 
   // Bad subdomain.
   NotifyNetworkChanged();
   MockSearchDomainCheckResponse("http://mail.google.com/");
-  EXPECT_EQ(GURL(), fetched_google_url());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
 
   // Non-empty path.
   NotifyNetworkChanged();
   MockSearchDomainCheckResponse("http://www.google.com/search");
-  EXPECT_EQ(GURL(), fetched_google_url());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
 
   // Non-empty query.
   NotifyNetworkChanged();
   MockSearchDomainCheckResponse("http://www.google.com/?q=foo");
-  EXPECT_EQ(GURL(), fetched_google_url());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
 
   // Non-empty ref.
   NotifyNetworkChanged();
   MockSearchDomainCheckResponse("http://www.google.com/#anchor");
-  EXPECT_EQ(GURL(), fetched_google_url());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
 
   // Complete garbage.
   NotifyNetworkChanged();
   MockSearchDomainCheckResponse("HJ)*qF)_*&@f1");
-  EXPECT_EQ(GURL(), fetched_google_url());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
+  EXPECT_EQ(original_google_url, google_url());
   EXPECT_FALSE(listener_notified());
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-}
-
-TEST_F(GoogleURLTrackerTest, UpdatePromptedURLOnReturnToPreviousLocation) {
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.jp/"));
-  set_google_url(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, SilentlyAcceptSchemeChange) {
-  // We should auto-accept changes to the current Google URL that merely change
-  // the scheme, regardless of what the last prompted URL was.
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.jp/"));
-  set_google_url(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("https://www.google.co.uk/");
-  EXPECT_EQ(GURL("https://www.google.co.uk/"), fetched_google_url());
-  EXPECT_EQ(GURL("https://www.google.co.uk/"), google_url());
-  EXPECT_EQ(GURL("https://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(listener_notified());
-
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(listener_notified());
 }
 
 TEST_F(GoogleURLTrackerTest, RefetchOnNetworkChange) {
   RequestServerCheck();
   FinishSleep();
   MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
   EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
   EXPECT_TRUE(listener_notified());
   clear_listener_notified();
 
   NotifyNetworkChanged();
   MockSearchDomainCheckResponse("http://www.google.co.in/");
-  EXPECT_EQ(GURL("http://www.google.co.in/"), fetched_google_url());
-  // Just fetching a new URL shouldn't reset things without a prompt.
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
-  EXPECT_FALSE(listener_notified());
+  EXPECT_EQ(GURL("http://www.google.co.in/"), google_url());
+  EXPECT_TRUE(listener_notified());
 }
 
 TEST_F(GoogleURLTrackerTest, DontRefetchWhenNoOneRequestsCheck) {
@@ -604,7 +306,7 @@
   // No one called RequestServerCheck() so nothing should have happened.
   EXPECT_FALSE(GetFetcher());
   MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  ExpectDefaultURLs();
+  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
   EXPECT_FALSE(listener_notified());
 }
 
@@ -617,7 +319,6 @@
   // The first request for a check should trigger a fetch if it hasn't happened
   // already.
   MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
   EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
   EXPECT_TRUE(listener_notified());
 }
@@ -631,7 +332,6 @@
   // The first request for a check should trigger a fetch if it hasn't happened
   // already.
   MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
   EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
   EXPECT_TRUE(listener_notified());
   clear_listener_notified();
@@ -640,414 +340,6 @@
   // The second request should be ignored.
   EXPECT_FALSE(GetFetcher());
   MockSearchDomainCheckResponse("http://www.google.co.in/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
   EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
   EXPECT_FALSE(listener_notified());
 }
-
-TEST_F(GoogleURLTrackerTest, SearchingDoesNothingIfNoNeedToPrompt) {
-  TestInfoBarManager infobar_manager(1);
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(listener_notified());
-  clear_listener_notified();
-
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, TabClosedOnPendingSearch) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.jp/"), fetched_google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-
-  SetNavigationPending(&infobar_manager, true);
-  GoogleURLTrackerMapEntry* map_entry = GetMapEntry(&infobar_manager);
-  ASSERT_FALSE(map_entry == NULL);
-  EXPECT_FALSE(map_entry->has_infobar_delegate());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-
-  CloseTab(&infobar_manager);
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, TabClosedOnCommittedSearch) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL);
-
-  CloseTab(&infobar_manager);
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, InfoBarClosed) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  GoogleURLTrackerInfoBarDelegate* infobar =
-      GetInfoBarDelegate(&infobar_manager);
-  ASSERT_FALSE(infobar == NULL);
-
-  infobar->Close(false);
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, InfoBarRefused) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  GoogleURLTrackerInfoBarDelegate* infobar =
-      GetInfoBarDelegate(&infobar_manager);
-  ASSERT_FALSE(infobar == NULL);
-
-  infobar->Cancel();
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, InfoBarAccepted) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  GoogleURLTrackerInfoBarDelegate* infobar =
-      GetInfoBarDelegate(&infobar_manager);
-  ASSERT_FALSE(infobar == NULL);
-
-  infobar->Accept();
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-  EXPECT_EQ(GURL("http://www.google.co.jp/"), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, FetchesCanAutomaticallyCloseInfoBars) {
-  TestInfoBarManager infobar_manager(1);
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse(google_url().spec());
-
-  // Re-fetching the accepted URL after showing an infobar for another URL
-  // should close the infobar.
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test"));
-  EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL);
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse(google_url().spec());
-  EXPECT_EQ(google_url(), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-
-  // As should fetching a URL that differs from the accepted only by the scheme.
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test"));
-  EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL);
-  NotifyNetworkChanged();
-  url::Replacements<char> replacements;
-  const std::string& scheme("https");
-  replacements.SetScheme(scheme.data(), url::Component(0, scheme.length()));
-  GURL new_google_url(google_url().ReplaceComponents(replacements));
-  MockSearchDomainCheckResponse(new_google_url.spec());
-  EXPECT_EQ(new_google_url, GetLastPromptedGoogleURL());
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-
-  // As should re-fetching the last prompted URL.
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test"));
-  EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL);
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  EXPECT_EQ(new_google_url, google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-
-  // And one that differs from the last prompted URL only by the scheme.
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test"));
-  EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL);
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("https://www.google.co.uk/");
-  EXPECT_EQ(new_google_url, google_url());
-  EXPECT_EQ(GURL("https://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-
-  // And fetching a different URL entirely.
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test"));
-  EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL);
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("https://www.google.co.in/");
-  EXPECT_EQ(new_google_url, google_url());
-  EXPECT_EQ(GURL("https://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-}
-
-TEST_F(GoogleURLTrackerTest, ResetInfoBarGoogleURLs) {
-  TestInfoBarManager infobar_manager(1);
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse(google_url().spec());
-
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("http://www.google.co.uk/");
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test"));
-  GoogleURLTrackerInfoBarDelegate* delegate =
-      GetInfoBarDelegate(&infobar_manager);
-  ASSERT_FALSE(delegate == NULL);
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url());
-
-  // If while an infobar is showing we fetch a new URL that differs from the
-  // infobar's only by scheme, the infobar should stay showing.
-  NotifyNetworkChanged();
-  MockSearchDomainCheckResponse("https://www.google.co.uk/");
-  EXPECT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(GURL("https://www.google.co.uk/"), fetched_google_url());
-}
-
-TEST_F(GoogleURLTrackerTest, NavigationsAfterPendingSearch) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-
-  // A pending non-search after a pending search should delete the map entry.
-  SetNavigationPending(&infobar_manager, true);
-  GoogleURLTrackerMapEntry* map_entry = GetMapEntry(&infobar_manager);
-  ASSERT_FALSE(map_entry == NULL);
-  EXPECT_FALSE(map_entry->has_infobar_delegate());
-  SetNavigationPending(&infobar_manager, false);
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-
-  // A pending search after a pending search should leave the map entry alive.
-  SetNavigationPending(&infobar_manager, true);
-  map_entry = GetMapEntry(&infobar_manager);
-  ASSERT_FALSE(map_entry == NULL);
-  EXPECT_FALSE(map_entry->has_infobar_delegate());
-  SetNavigationPending(&infobar_manager, true);
-  ASSERT_EQ(map_entry, GetMapEntry(&infobar_manager));
-  EXPECT_FALSE(map_entry->has_infobar_delegate());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true));
-
-  // Committing this search should show an infobar.
-  CommitSearch(&infobar_manager,
-               GURL("http://www.google.co.uk/search?q=test2"));
-  EXPECT_TRUE(map_entry->has_infobar_delegate());
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false));
-}
-
-TEST_F(GoogleURLTrackerTest, NavigationsAfterCommittedSearch) {
-  TestInfoBarManager infobar_manager(1);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  GoogleURLTrackerInfoBarDelegate* delegate =
-      GetInfoBarDelegate(&infobar_manager);
-  ASSERT_FALSE(delegate == NULL);
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false));
-
-  // A pending non-search on a visible infobar should basically do nothing.
-  SetNavigationPending(&infobar_manager, false);
-  ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(0, delegate->pending_id());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false));
-
-  // As should another pending non-search after the first.
-  SetNavigationPending(&infobar_manager, false);
-  ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(0, delegate->pending_id());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false));
-
-  // Committing this non-search should close the infobar.  The control flow in
-  // these tests is not really comparable to in the real browser, but at least a
-  // few sanity-checks will be performed.
-  ASSERT_NO_FATAL_FAILURE(CommitNonSearch(&infobar_manager));
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-
-  // A pending search on a visible infobar should cause the infobar to listen
-  // for the search to commit.
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  delegate = GetInfoBarDelegate(&infobar_manager);
-  ASSERT_FALSE(delegate == NULL);
-  SetNavigationPending(&infobar_manager, true);
-  ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(1, delegate->pending_id());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true));
-
-  // But a non-search after this should cancel that state.
-  SetNavigationPending(&infobar_manager, false);
-  ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(0, delegate->pending_id());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false));
-
-  // Another pending search after the non-search should put us back into
-  // "waiting for commit" mode.
-  SetNavigationPending(&infobar_manager, true);
-  ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(1, delegate->pending_id());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true));
-
-  // A second pending search after the first should not really change anything.
-  SetNavigationPending(&infobar_manager, true);
-  ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(1, delegate->pending_id());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true));
-
-  // Committing this search should change the visible infobar's search_url.
-  CommitSearch(&infobar_manager,
-               GURL("http://www.google.co.uk/search?q=test2"));
-  ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager));
-  EXPECT_EQ(GURL("http://www.google.co.uk/search?q=test2"),
-            delegate->search_url());
-  EXPECT_EQ(0, delegate->pending_id());
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false));
-  EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL());
-  EXPECT_FALSE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, MultipleMapEntries) {
-  TestInfoBarManager infobar_manager(1);
-  TestInfoBarManager infobar_manager2(2);
-  TestInfoBarManager infobar_manager3(3);
-  TestInfoBarManager infobar_manager4(4);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-
-  SetNavigationPending(&infobar_manager, true);
-  GoogleURLTrackerMapEntry* map_entry = GetMapEntry(&infobar_manager);
-  ASSERT_FALSE(map_entry == NULL);
-  EXPECT_FALSE(map_entry->has_infobar_delegate());
-
-  SetNavigationPending(&infobar_manager2, true);
-  CommitSearch(&infobar_manager2,
-               GURL("http://www.google.co.uk/search?q=test2"));
-  GoogleURLTrackerInfoBarDelegate* delegate2 =
-      GetInfoBarDelegate(&infobar_manager2);
-  ASSERT_FALSE(delegate2 == NULL);
-  EXPECT_EQ(GURL("http://www.google.co.uk/search?q=test2"),
-            delegate2->search_url());
-
-  SetNavigationPending(&infobar_manager3, true);
-  GoogleURLTrackerMapEntry* map_entry3 = GetMapEntry(&infobar_manager3);
-  ASSERT_FALSE(map_entry3 == NULL);
-  EXPECT_FALSE(map_entry3->has_infobar_delegate());
-
-  SetNavigationPending(&infobar_manager4, true);
-  CommitSearch(&infobar_manager4,
-               GURL("http://www.google.co.uk/search?q=test4"));
-  GoogleURLTrackerInfoBarDelegate* delegate4 =
-      GetInfoBarDelegate(&infobar_manager4);
-  ASSERT_FALSE(delegate4 == NULL);
-  EXPECT_EQ(GURL("http://www.google.co.uk/search?q=test4"),
-            delegate4->search_url());
-
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  EXPECT_TRUE(map_entry->has_infobar_delegate());
-
-  delegate2->Close(false);
-  EXPECT_TRUE(GetMapEntry(&infobar_manager2) == NULL);
-  EXPECT_FALSE(listener_notified());
-
-  delegate4->Accept();
-  EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL);
-  EXPECT_TRUE(GetMapEntry(&infobar_manager3) == NULL);
-  EXPECT_TRUE(GetMapEntry(&infobar_manager4) == NULL);
-  EXPECT_EQ(GURL("http://www.google.co.jp/"), google_url());
-  EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL());
-  EXPECT_TRUE(listener_notified());
-}
-
-TEST_F(GoogleURLTrackerTest, IgnoreIrrelevantNavigation) {
-  TestInfoBarManager infobar_manager(1);
-  TestInfoBarManager infobar_manager2(2);
-  SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/"));
-  RequestServerCheck();
-  FinishSleep();
-  MockSearchDomainCheckResponse("http://www.google.co.jp/");
-
-  // This tests a particularly gnarly sequence of events that used to cause us
-  // to erroneously listen for a non-search navigation to commit.
-  SetNavigationPending(&infobar_manager, true);
-  CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test"));
-  SetNavigationPending(&infobar_manager2, true);
-  CommitSearch(&infobar_manager2,
-               GURL("http://www.google.co.uk/search?q=test2"));
-  EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL);
-  GoogleURLTrackerInfoBarDelegate* delegate2 =
-      GetInfoBarDelegate(&infobar_manager2);
-  ASSERT_FALSE(delegate2 == NULL);
-  SetNavigationPending(&infobar_manager, true);
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true));
-  delegate2->Close(false);
-  SetNavigationPending(&infobar_manager, false);
-  ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false));
-}
diff --git a/components/google/core/browser/google_util.cc b/components/google/core/browser/google_util.cc
index 800b1bc..b29b2f5 100644
--- a/components/google/core/browser/google_util.cc
+++ b/components/google/core/browser/google_util.cc
@@ -79,7 +79,7 @@
 // Global functions -----------------------------------------------------------
 
 bool HasGoogleSearchQueryParam(const std::string& str) {
-  url::Component query(0, str.length()), key, value;
+  url::Component query(0, static_cast<int>(str.length())), key, value;
   while (url::ExtractQueryKeyValue(str.c_str(), &query, &key, &value)) {
     if ((key.len == 1) && (str[key.begin] == 'q') && value.is_nonempty())
       return true;
diff --git a/components/google_strings.grdp b/components/google_strings.grdp
deleted file mode 100644
index b5a4a6a..0000000
--- a/components/google_strings.grdp
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<grit-part>
-
-  <message name="IDS_GOOGLE_URL_TRACKER_INFOBAR_MESSAGE" desc="Message displayed when the user's current Google TLD doesn't match the default for their location.  This can be shortened in other languages (e.g. by removing 'would you like to') as needed to keep the translated strings from being much longer than English, so the infobar can still display all three IDS_GOOGLE_URL_TRACKER_ strings and a 'Learn more' link.">
-    Would you like to search with <ph name="NEW_GOOGLE_HOST">$1<ex>google.de</ex></ph> instead of <ph name="CURRENT_GOOGLE_HOST">$2<ex>google.fr</ex></ph>?
-  </message>
-  <message name="IDS_GOOGLE_URL_TRACKER_INFOBAR_SWITCH" desc="Button text for button that changes user's default Google TLD to a new TLD.">
-    Switch to <ph name="NEW_GOOGLE_HOST">$1<ex>google.de</ex></ph>
-  </message>
-  <message name="IDS_GOOGLE_URL_TRACKER_INFOBAR_DONT_SWITCH" desc="Button text for button that leaves user's default Google TLD unchanged.">
-    Keep using <ph name="CURRENT_GOOGLE_HOST">$1<ex>google.fr</ex></ph>
-  </message>
-  <message name="IDS_GOOGLE_URL_TRACKER_INFOBAR_LEARN_MORE" desc="Learn more text for the Google URL tracker infobar">
-    Learn more
-  </message>
-
-</grit-part>
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
index 2915c1c..3e9fc9b 100644
--- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
+++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
@@ -827,7 +827,8 @@
   RunTest(FILE_PATH_LITERAL("input-radio.html"));
 }
 
-IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityInputRange) {
+IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest,
+                       DISABLED_AccessibilityInputRange) {
   RunTest(FILE_PATH_LITERAL("input-range.html"));
 }
 
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index 4be5a3c..a2a57d1 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -1509,6 +1509,11 @@
 
 void NavigationControllerImpl::SetNeedsReload() {
   needs_reload_ = true;
+
+  if (last_committed_entry_index_ != -1) {
+    entries_[last_committed_entry_index_]->SetTransitionType(
+        ui::PAGE_TRANSITION_RELOAD);
+  }
 }
 
 void NavigationControllerImpl::RemoveEntryAtIndexInternal(int index) {
diff --git a/content/browser/frame_host/navigation_controller_impl_unittest.cc b/content/browser/frame_host/navigation_controller_impl_unittest.cc
index ae7ad90..88d9f79 100644
--- a/content/browser/frame_host/navigation_controller_impl_unittest.cc
+++ b/content/browser/frame_host/navigation_controller_impl_unittest.cc
@@ -3288,15 +3288,44 @@
   const GURL url("http://foo");
   NavigateAndCommit(url);
   ASSERT_FALSE(controller.NeedsReload());
+  EXPECT_NE(ui::PAGE_TRANSITION_RELOAD,
+            controller.GetLastCommittedEntry()->GetTransitionType());
 
   // Request a reload to happen when the controller becomes active (e.g. after
   // the renderer gets killed in background on Android).
   controller.SetNeedsReload();
   ASSERT_TRUE(controller.NeedsReload());
+  EXPECT_EQ(ui::PAGE_TRANSITION_RELOAD,
+            controller.GetLastCommittedEntry()->GetTransitionType());
 
   // Set the controller as active, triggering the requested reload.
   controller.SetActive(true);
   ASSERT_FALSE(controller.NeedsReload());
+  EXPECT_EQ(ui::PAGE_TRANSITION_RELOAD,
+            controller.GetPendingEntry()->GetTransitionType());
+}
+
+// Test requesting and triggering a lazy reload without any committed entry.
+TEST_F(NavigationControllerTest, LazyReloadWithoutCommittedEntry) {
+  NavigationControllerImpl& controller = controller_impl();
+  const GURL url("http://foo");
+  controller.LoadURL(url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string());
+  ASSERT_FALSE(controller.NeedsReload());
+  EXPECT_EQ(ui::PAGE_TRANSITION_TYPED,
+            controller.GetPendingEntry()->GetTransitionType());
+
+  // Request a reload to happen when the controller becomes active (e.g. after
+  // the renderer gets killed in background on Android).
+  controller.SetNeedsReload();
+  ASSERT_TRUE(controller.NeedsReload());
+  EXPECT_EQ(ui::PAGE_TRANSITION_TYPED,
+            controller.GetPendingEntry()->GetTransitionType());
+
+  // Set the controller as active, triggering the requested reload.
+  controller.SetActive(true);
+  ASSERT_FALSE(controller.NeedsReload());
+  EXPECT_EQ(ui::PAGE_TRANSITION_TYPED,
+            controller.GetPendingEntry()->GetTransitionType());
 }
 
 // Tests a subframe navigation while a toplevel navigation is pending.
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index b794107..ca4b467 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -610,7 +610,9 @@
   int32 resolved_level =
       HasWebUIScheme(delegate_->GetMainFrameLastCommittedURL()) ? level : 0;
 
-  if (resolved_level >= ::logging::GetMinLogLevel()) {
+  // LogMessages can be persisted so this shouldn't be logged in incognito mode.
+  if (resolved_level >= ::logging::GetMinLogLevel()
+      && !GetSiteInstance()->GetBrowserContext()->IsOffTheRecord()) {
     logging::LogMessage("CONSOLE", line_no, resolved_level).stream() << "\"" <<
         message << "\", source: " << source_id << " (" << line_no << ")";
   }
diff --git a/content/browser/renderer_host/image_transport_factory_android.cc b/content/browser/renderer_host/image_transport_factory_android.cc
index 41e3156..1ac7b23 100644
--- a/content/browser/renderer_host/image_transport_factory_android.cc
+++ b/content/browser/renderer_host/image_transport_factory_android.cc
@@ -39,9 +39,6 @@
   virtual ~CmdBufferImageTransportFactory();
 
   virtual GLHelper* GetGLHelper() override;
-  virtual uint32 GetChannelID() override {
-    return BrowserGpuChannelHostFactory::instance()->GetGpuChannelId();
-  }
 
  private:
   scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context_;
@@ -104,6 +101,11 @@
 }  // anonymous namespace
 
 // static
+uint32 ImageTransportFactoryAndroid::GetChannelID() {
+  return BrowserGpuChannelHostFactory::instance()->GetGpuChannelId();
+}
+
+// static
 void ImageTransportFactoryAndroid::InitializeForUnitTests(
     scoped_ptr<ImageTransportFactoryAndroid> test_factory) {
   DCHECK(!g_factory);
diff --git a/content/browser/renderer_host/image_transport_factory_android.h b/content/browser/renderer_host/image_transport_factory_android.h
index 2562381..ea2cd99 100644
--- a/content/browser/renderer_host/image_transport_factory_android.h
+++ b/content/browser/renderer_host/image_transport_factory_android.h
@@ -42,7 +42,7 @@
   static ImageTransportFactoryAndroid* GetInstance();
 
   virtual GLHelper* GetGLHelper() = 0;
-  virtual uint32 GetChannelID() = 0;
+  static uint32 GetChannelID();
 
   static void AddObserver(ImageTransportFactoryAndroidObserver* observer);
   static void RemoveObserver(ImageTransportFactoryAndroidObserver* observer);
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index 8c5b214..4c415b6 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -1378,8 +1378,7 @@
   gfx::GLSurfaceHandle handle =
       gfx::GLSurfaceHandle(gfx::kNullPluginWindow, gfx::NULL_TRANSPORT);
   if (using_browser_compositor_) {
-    handle.parent_client_id =
-        ImageTransportFactoryAndroid::GetInstance()->GetChannelID();
+    handle.parent_client_id = ImageTransportFactoryAndroid::GetChannelID();
   }
   return handle;
 }
diff --git a/content/browser/renderer_host/test/no_transport_image_transport_factory_android.cc b/content/browser/renderer_host/test/no_transport_image_transport_factory_android.cc
index 23a738e..a0b5f1c 100644
--- a/content/browser/renderer_host/test/no_transport_image_transport_factory_android.cc
+++ b/content/browser/renderer_host/test/no_transport_image_transport_factory_android.cc
@@ -29,9 +29,4 @@
   return gl_helper_.get();
 }
 
-uint32 NoTransportImageTransportFactoryAndroid::GetChannelID() {
-  NOTREACHED();
-  return 0;
-}
-
 }  // namespace content
diff --git a/content/browser/renderer_host/test/no_transport_image_transport_factory_android.h b/content/browser/renderer_host/test/no_transport_image_transport_factory_android.h
index 44a7747..fafaad2 100644
--- a/content/browser/renderer_host/test/no_transport_image_transport_factory_android.h
+++ b/content/browser/renderer_host/test/no_transport_image_transport_factory_android.h
@@ -28,7 +28,6 @@
   NoTransportImageTransportFactoryAndroid();
   virtual ~NoTransportImageTransportFactoryAndroid();
   virtual GLHelper* GetGLHelper() override;
-  virtual uint32 GetChannelID() override;
 
  private:
   scoped_ptr<ui::ContextFactory> context_factory_;
diff --git a/content/common/gpu/image_transport_surface_calayer_mac.mm b/content/common/gpu/image_transport_surface_calayer_mac.mm
index 0147b3c..88af041 100644
--- a/content/common/gpu/image_transport_surface_calayer_mac.mm
+++ b/content/common/gpu/image_transport_surface_calayer_mac.mm
@@ -188,7 +188,13 @@
     [context_ retain];
   }
 
-  // Allocate a CALayer to use to draw the content, if needed.
+  // If we create a new layer, always force it to draw immediately. This is
+  // especially important at tab-switch, where we don't want to wait for a
+  // vsync to un-block the browser (which is waiting for the frame to come in).
+  bool force_immediate_draw = false;
+
+  // Allocate a CALayer to use to draw the content and make it current to the
+  // CAContext, if needed.
   if (!layer_) {
     layer_.reset([[ImageTransportLayer alloc] initWithStorageProvider:this]);
     gfx::Size dip_size(gfx::ToFlooredSize(gfx::ScaleSize(
@@ -196,18 +202,17 @@
     [layer_ setContentsScale:fbo_scale_factor_];
     [layer_ setFrame:CGRectMake(0, 0, dip_size.width(), dip_size.height())];
 
-    // Make the CALayer current to the CAContext and display its contents
-    // immediately.
     [context_ setLayer:layer_];
+    force_immediate_draw = true;
   }
 
   // Replacing the CAContext's CALayer will sometimes results in an immediate
-  // draw. If that happens, early-out.
+  // draw.
   if (!has_pending_draw_)
     return;
 
   // Tell CoreAnimation to draw our frame.
-  if (gpu_vsync_disabled_ || throttling_disabled_) {
+  if (gpu_vsync_disabled_ || throttling_disabled_ || force_immediate_draw) {
     DrawImmediatelyAndUnblockBrowser();
   } else {
     if (![layer_ isAsynchronous])
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
index 8a8d77c..272fa95 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
@@ -1900,9 +1900,20 @@
         return mActionHandler;
     }
 
+    // crbug.com/446717
+    private void actionModeInvalidateWAR() {
+        assert mActionMode != null;
+
+        try {
+            mActionMode.invalidate();
+        } catch (NullPointerException e) {
+            Log.w(TAG, "Ignoring NPE from ActionMode.invalidate() as workaround for L", e);
+        }
+    }
+
     private void showSelectActionBar() {
         if (mActionMode != null) {
-            mActionMode.invalidate();
+            actionModeInvalidateWAR();
             return;
         }
 
@@ -2247,7 +2258,7 @@
                     compositionEnd, isNonImeChange);
         }
 
-        if (mActionMode != null) mActionMode.invalidate();
+        if (mActionMode != null) actionModeInvalidateWAR();
         TraceEvent.end();
     }
 
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java
index 1eafc6a..972c082 100644
--- a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java
+++ b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java
@@ -10,6 +10,7 @@
 import android.text.Selection;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.KeyCharacterMap;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.inputmethod.BaseInputConnection;
@@ -27,6 +28,7 @@
 public class AdapterInputConnection extends BaseInputConnection {
     private static final String TAG = "AdapterInputConnection";
     private static final boolean DEBUG = false;
+    private static final int NO_ACCENT = 0;
     /**
      * Selection value should be -1 if not known. See EditorInfo.java for details.
      */
@@ -39,6 +41,7 @@
 
     private boolean mSingleLine;
     private int mNumNestedBatchEdits = 0;
+    private int mPendingAccent;
 
     private int mLastUpdateSelectionStart = INVALID_SELECTION;
     private int mLastUpdateSelectionEnd = INVALID_SELECTION;
@@ -125,6 +128,16 @@
         updateSelectionIfRequired();
     }
 
+    public static int maybeAddAccentToCharacter(int accentChar, int unicodeChar) {
+        if (accentChar != NO_ACCENT) {
+            int combinedChar = KeyEvent.getDeadChar(accentChar, unicodeChar);
+            if (combinedChar != 0) {
+                return combinedChar;
+            }
+        }
+        return unicodeChar;
+    }
+
     /**
      * Updates the AdapterInputConnection's internal representation of the text being edited and
      * its selection and composition properties. The resulting Editable is accessible through the
@@ -215,6 +228,8 @@
         mLastUpdateSelectionEnd = selectionEnd;
         mLastUpdateCompositionStart = compositionStart;
         mLastUpdateCompositionEnd = compositionEnd;
+        // Change in selection or cursor position invalidates any pending accent.
+        mPendingAccent = NO_ACCENT;
     }
 
     /**
@@ -368,6 +383,22 @@
         if (DEBUG) {
             Log.w(TAG, "sendKeyEvent [" + event.getAction() + "] [" + event.getKeyCode() + "]");
         }
+
+        // Short-cut modifier keys so they're not affected by accents.
+        if (KeyEvent.isModifierKey(event.getKeyCode())) {
+            return mImeAdapter.translateAndSendNativeEvents(event, NO_ACCENT);
+        }
+
+        // Some keys we just want to pass events straight through.  This allows
+        // proper "repeating key" behavior with physical keyboards.
+        int eventKeyCode = event.getKeyCode();
+        if (eventKeyCode == KeyEvent.KEYCODE_DEL || eventKeyCode == KeyEvent.KEYCODE_FORWARD_DEL) {
+            mPendingAccent = 0;
+            return mImeAdapter.translateAndSendNativeEvents(event, NO_ACCENT);
+        }
+
+        int unicodeChar = event.getUnicodeChar();
+
         // If this is a key-up, and backspace/del or if the key has a character representation,
         // need to update the underlying Editable (i.e. the local representation of the text
         // being edited).
@@ -378,26 +409,24 @@
             } else if (event.getKeyCode() == KeyEvent.KEYCODE_FORWARD_DEL) {
                 deleteSurroundingText(0, 1);
                 return true;
-            } else {
-                int unicodeChar = event.getUnicodeChar();
-                if (unicodeChar != 0) {
-                    int selectionStart = Selection.getSelectionStart(mEditable);
-                    int selectionEnd = Selection.getSelectionEnd(mEditable);
-                    if (selectionStart > selectionEnd) {
-                        int temp = selectionStart;
-                        selectionStart = selectionEnd;
-                        selectionEnd = temp;
-                    }
-                    mEditable.replace(selectionStart, selectionEnd,
-                            Character.toString((char) unicodeChar));
+            } else if (unicodeChar != 0) {
+                int selectionStart = Selection.getSelectionStart(mEditable);
+                int selectionEnd = Selection.getSelectionEnd(mEditable);
+                if (selectionStart > selectionEnd) {
+                    int temp = selectionStart;
+                    selectionStart = selectionEnd;
+                    selectionEnd = temp;
                 }
+                int combinedChar = maybeAddAccentToCharacter(mPendingAccent, unicodeChar);
+                mEditable.replace(selectionStart, selectionEnd,
+                        Character.toString((char) combinedChar));
             }
         } else if (event.getAction() == KeyEvent.ACTION_DOWN) {
             // TODO(aurimas): remove this workaround when crbug.com/278584 is fixed.
             if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                 beginBatchEdit();
                 finishComposingText();
-                mImeAdapter.translateAndSendNativeEvents(event);
+                mImeAdapter.translateAndSendNativeEvents(event, 0);
                 endBatchEdit();
                 return true;
             } else if (event.getKeyCode() == KeyEvent.KEYCODE_DEL) {
@@ -406,7 +435,46 @@
                 return true;
             }
         }
-        mImeAdapter.translateAndSendNativeEvents(event);
+
+        // Physical keyboards also have their events come through here though not
+        // by BaseInputConnection.  In order to support "accent" key sequences
+        // such as "~n" or "^o" we have to record that one has been pressed
+        // and, if an accentable letter follows, delete the accent glyph and
+        // insert the composed character.
+
+        // Copy class variable to local because class version may get indirectly
+        // cleared by the deleteSurroundingText() call below.
+        int pendingAccent = mPendingAccent;
+        int nextAccent = mPendingAccent;
+
+        if ((unicodeChar & KeyCharacterMap.COMBINING_ACCENT) != 0) {
+            pendingAccent = NO_ACCENT;
+            nextAccent = unicodeChar & KeyCharacterMap.COMBINING_ACCENT_MASK;
+        } else if (pendingAccent != NO_ACCENT) {
+            if (event.getAction() == KeyEvent.ACTION_DOWN) {
+                int combined = KeyEvent.getDeadChar(pendingAccent, unicodeChar);
+                if (combined != 0) {
+                    // Previous accent combines with new character to create
+                    // a new accented character.  First delete the displayed
+                    // accent so it appears overwritten by the composition.
+                    super.deleteSurroundingText(1, 0);
+                    mImeAdapter.deleteSurroundingText(1, 0);
+                } else {
+                    // Previous accent doesn't combine with this character
+                    // so assume both are completely independent.
+                    pendingAccent = NO_ACCENT;
+                    nextAccent = NO_ACCENT;
+                }
+            }
+
+            if (event.getAction() == KeyEvent.ACTION_UP) {
+                // Forget accent after release of key being accented.
+                nextAccent = NO_ACCENT;
+            }
+        }
+
+        mImeAdapter.translateAndSendNativeEvents(event, pendingAccent);
+        mPendingAccent = nextAccent;
         return true;
     }
 
@@ -448,6 +516,7 @@
         if (DEBUG) Log.w(TAG, "restartInput");
         getInputMethodManagerWrapper().restartInput(mInternalView);
         mNumNestedBatchEdits = 0;
+        mPendingAccent = NO_ACCENT;
     }
 
     /**
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java
index e075d8e..a9d2d54 100644
--- a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java
+++ b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java
@@ -338,7 +338,12 @@
     }
 
     public boolean dispatchKeyEvent(KeyEvent event) {
-        return translateAndSendNativeEvents(event);
+        // Physical keyboards have their events come through here instead of
+        // AdapterInputConnection.
+        if (mInputConnection != null) {
+            return mInputConnection.sendKeyEvent(event);
+        }
+        return translateAndSendNativeEvents(event, 0);
     }
 
     private int shouldSendKeyEventWithKeyCode(String text) {
@@ -407,11 +412,11 @@
         translateAndSendNativeEvents(new KeyEvent(eventTime, eventTime,
                 KeyEvent.ACTION_DOWN, keyCode, 0, 0,
                 KeyCharacterMap.VIRTUAL_KEYBOARD, 0,
-                flags));
+                flags), 0);
         translateAndSendNativeEvents(new KeyEvent(SystemClock.uptimeMillis(), eventTime,
                 KeyEvent.ACTION_UP, keyCode, 0, 0,
                 KeyCharacterMap.VIRTUAL_KEYBOARD, 0,
-                flags));
+                flags), 0);
     }
 
     // Calls from Java to C++
@@ -441,14 +446,25 @@
                 keyCode = -1;
             }
 
-            // If this is a commit with no previous composition, then treat it as a native
-            // KeyDown/KeyUp pair with no composition rather than a synthetic pair with
+            // If this is a single-character commit with no previous composition, then treat it as
+            // a native KeyDown/KeyUp pair with no composition rather than a synthetic pair with
             // composition below.
-            if (keyCode > 0 && isCommit && mLastComposeText == null) {
+            if (keyCode > 0 && isCommit && mLastComposeText == null && textStr.length() == 1) {
                 mLastSyntheticKeyCode = keyCode;
-                return translateAndSendNativeEvents(keyEvent) &&
-                       translateAndSendNativeEvents(KeyEvent.changeAction(
-                               keyEvent, KeyEvent.ACTION_UP));
+                return translateAndSendNativeEvents(keyEvent, 0)
+                        && translateAndSendNativeEvents(
+                                KeyEvent.changeAction(keyEvent, KeyEvent.ACTION_UP), 0);
+            }
+
+            // FIXME: Use WebTextInputFlags.AutocompleteOff. We need this hack to enable merge into
+            // into Beta to fix http://crbug.com/422685 .
+            final int textInputFlagAutocompleteOff = 1 << 1;
+
+            // If we do not have autocomplete=off, then always send compose events rather than a
+            // guessed keyCode. This addresses http://crbug.com/422685 .
+            if ((mTextInputFlags & textInputFlagAutocompleteOff) == 0) {
+                keyCode = COMPOSITION_KEY_CODE;
+                modifiers = 0;
             }
 
             // When typing, there is no issue sending KeyDown and KeyUp events around the
@@ -499,7 +515,7 @@
         nativeFinishComposingText(mNativeImeAdapterAndroid);
     }
 
-    boolean translateAndSendNativeEvents(KeyEvent event) {
+    boolean translateAndSendNativeEvents(KeyEvent event, int accentChar) {
         if (mNativeImeAdapterAndroid == 0) return false;
 
         int action = event.getAction();
@@ -517,9 +533,11 @@
             return false;
         }
         mViewEmbedder.onImeEvent();
+        int unicodeChar = AdapterInputConnection.maybeAddAccentToCharacter(
+                accentChar, event.getUnicodeChar());
         return nativeSendKeyEvent(mNativeImeAdapterAndroid, event, event.getAction(),
                 getModifiers(event.getMetaState()), event.getEventTime(), event.getKeyCode(),
-                             /*isSystemKey=*/false, event.getUnicodeChar());
+                             /*isSystemKey=*/false, unicodeChar);
     }
 
     boolean sendSyntheticKeyEvent(int eventType, long timestampMs, int keyCode, int modifiers,
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
index 30b879b..a43001b 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
@@ -47,6 +47,7 @@
             "<br/><textarea id=\"textarea\" rows=\"4\" cols=\"20\"></textarea>" +
             "<br/><p><span id=\"plain_text\">This is Plain Text One</span></p>" +
             "</form></body></html>");
+    private static final int COMPOSITION_KEY_CODE = 229;
 
     private TestAdapterInputConnection mConnection;
     private ImeAdapter mImeAdapter;
@@ -591,6 +592,44 @@
 
     @SmallTest
     @Feature({"TextInput", "Main"})
+    public void testAccentKeyCodesFromPhysicalKeyboard() throws Throwable {
+        DOMUtils.focusNode(mWebContents, "textarea");
+        assertWaitForKeyboardStatus(true);
+
+        // The calls below are a reflection of what a physical keyboard sends when the noted
+        // key is pressed on the device.  Exercise care when altering to make sure that the test
+        // reflects reality.
+        mConnection = (TestAdapterInputConnection) getAdapterInputConnection();
+        waitAndVerifyEditableCallback(mConnection.mImeUpdateQueue, 0, "", 0, 0, -1, -1);
+
+        // H
+        dispatchKeyEvent(mConnection, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_H));
+        dispatchKeyEvent(mConnection, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_H));
+        assertEquals("h", mConnection.getTextBeforeCursor(9, 0));
+
+        // I
+        dispatchKeyEvent(mConnection, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_I));
+        dispatchKeyEvent(mConnection, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_I));
+        assertEquals("hi", mConnection.getTextBeforeCursor(9, 0));
+
+        // ALT-I  (circomflex accent key on virtual keyboard)
+        dispatchKeyEvent(
+                mConnection, new KeyEvent(
+                        0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
+        dispatchKeyEvent(
+                mConnection, new KeyEvent(
+                        0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
+        assertEquals("hiˆ", mConnection.getTextBeforeCursor(9, 0));
+
+        // O  (accented key)
+        dispatchKeyEvent(mConnection, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_O));
+        assertEquals("hi", mConnection.getTextBeforeCursor(9, 0));
+        dispatchKeyEvent(mConnection, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_O));
+        assertEquals("hiô", mConnection.getTextBeforeCursor(9, 0));
+    }
+
+    @SmallTest
+    @Feature({"TextInput", "Main"})
     public void testSetComposingRegionOutOfBounds() throws Throwable {
         DOMUtils.focusNode(mWebContents, "textarea");
         assertWaitForKeyboardStatus(true);
@@ -662,7 +701,7 @@
         // H
         expectUpdateStateCall(mConnection);
         setComposingText(mConnection, "h", 1);
-        assertEquals(KeyEvent.KEYCODE_H, mImeAdapter.mLastSyntheticKeyCode);
+        assertEquals(COMPOSITION_KEY_CODE, mImeAdapter.mLastSyntheticKeyCode);
 
         // Simulate switch of input fields.
         finishComposingText(mConnection);
@@ -670,7 +709,7 @@
         // H
         expectUpdateStateCall(mConnection);
         setComposingText(mConnection, "h", 1);
-        assertEquals(KeyEvent.KEYCODE_H, mImeAdapter.mLastSyntheticKeyCode);
+        assertEquals(COMPOSITION_KEY_CODE, mImeAdapter.mLastSyntheticKeyCode);
     }
 
     @SmallTest
@@ -909,6 +948,15 @@
         });
     }
 
+    private void dispatchKeyEvent(final AdapterInputConnection connection, final KeyEvent event) {
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                mImeAdapter.dispatchKeyEvent(event);
+            }
+        });
+    }
+
     private static class TestAdapterInputConnectionFactory extends
             ImeAdapter.AdapterInputConnectionFactory {
         @Override
diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc
index ca1b9fe..4bbc552 100644
--- a/content/public/renderer/content_renderer_client.cc
+++ b/content/public/renderer/content_renderer_client.cc
@@ -187,11 +187,6 @@
   return false;
 }
 
-bool ContentRendererClient::IsPluginAllowedToUseVideoDecodeAPI(
-    const GURL& url) {
-  return false;
-}
-
 bool ContentRendererClient::IsPluginAllowedToUseDevChannelAPIs() {
   return false;
 }
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
index 7b79a5c..9bf24c8 100644
--- a/content/public/renderer/content_renderer_client.h
+++ b/content/public/renderer/content_renderer_client.h
@@ -279,9 +279,6 @@
   // Returns true if the page at |url| can use Pepper Compositor APIs.
   virtual bool IsPluginAllowedToUseCompositorAPI(const GURL& url);
 
-  // Returns true if the page at |url| can use Pepper VideoDecoder APIs.
-  virtual bool IsPluginAllowedToUseVideoDecodeAPI(const GURL& url);
-
   // Returns true if dev channel APIs are available for plugins.
   virtual bool IsPluginAllowedToUseDevChannelAPIs();
 
diff --git a/content/renderer/media/rtc_data_channel_handler.cc b/content/renderer/media/rtc_data_channel_handler.cc
index e37adf3..084a020 100644
--- a/content/renderer/media/rtc_data_channel_handler.cc
+++ b/content/renderer/media/rtc_data_channel_handler.cc
@@ -50,10 +50,7 @@
   channel_->RegisterObserver(this);
 }
 
-RtcDataChannelHandler::Observer::~Observer() {
-  DVLOG(3) << "dtor";
-  DCHECK(!channel_.get()) << "Unregister hasn't been called.";
-}
+RtcDataChannelHandler::Observer::~Observer() {}
 
 const scoped_refptr<base::SingleThreadTaskRunner>&
 RtcDataChannelHandler::Observer::main_thread() const {
@@ -62,19 +59,12 @@
 
 const scoped_refptr<webrtc::DataChannelInterface>&
 RtcDataChannelHandler::Observer::channel() const {
-  DCHECK(main_thread_->BelongsToCurrentThread());
   return channel_;
 }
 
-void RtcDataChannelHandler::Observer::Unregister() {
+void RtcDataChannelHandler::Observer::ClearHandler() {
   DCHECK(main_thread_->BelongsToCurrentThread());
   handler_ = nullptr;
-  if (channel_.get()) {
-    channel_->UnregisterObserver();
-    // Now that we're guaranteed to not get further OnStateChange callbacks,
-    // it's safe to release our reference to the channel.
-    channel_ = nullptr;
-  }
 }
 
 void RtcDataChannelHandler::Observer::OnStateChange() {
@@ -137,18 +127,13 @@
 RtcDataChannelHandler::~RtcDataChannelHandler() {
   DCHECK(thread_checker_.CalledOnValidThread());
   DVLOG(1) << "::dtor";
-  DCHECK(!observer_.get());
+  observer_->ClearHandler();
 }
 
 void RtcDataChannelHandler::setClient(
     blink::WebRTCDataChannelHandlerClient* client) {
   DCHECK(thread_checker_.CalledOnValidThread());
-  DVLOG(3) << "setClient " << client;
   webkit_client_ = client;
-  if (!client) {
-    observer_->Unregister();
-    observer_ = nullptr;
-  }
 }
 
 blink::WebString RtcDataChannelHandler::label() {
@@ -288,7 +273,6 @@
 }
 
 void RtcDataChannelHandler::RecordMessageSent(size_t num_bytes) {
-  DCHECK(thread_checker_.CalledOnValidThread());
   // Currently, messages are capped at some fairly low limit (16 Kb?)
   // but we may allow unlimited-size messages at some point, so making
   // the histogram maximum quite large (100 Mb) to have some
diff --git a/content/renderer/media/rtc_data_channel_handler.h b/content/renderer/media/rtc_data_channel_handler.h
index efcec2d..79addde 100644
--- a/content/renderer/media/rtc_data_channel_handler.h
+++ b/content/renderer/media/rtc_data_channel_handler.h
@@ -74,10 +74,7 @@
     const scoped_refptr<base::SingleThreadTaskRunner>& main_thread() const;
     const scoped_refptr<webrtc::DataChannelInterface>& channel() const;
 
-    // Clears the internal |handler_| pointer so that no further callbacks
-    // will be attempted, disassociates this observer from the channel and
-    // releases the channel pointer. Must be called on the main thread.
-    void Unregister();
+    void ClearHandler();
 
    private:
     friend class base::RefCountedThreadSafe<RtcDataChannelHandler::Observer>;
@@ -92,7 +89,7 @@
 
     RtcDataChannelHandler* handler_;
     const scoped_refptr<base::SingleThreadTaskRunner> main_thread_;
-    scoped_refptr<webrtc::DataChannelInterface> channel_;
+    const scoped_refptr<webrtc::DataChannelInterface> channel_;
   };
 
   scoped_refptr<Observer> observer_;
diff --git a/content/renderer/media/rtc_peer_connection_handler_unittest.cc b/content/renderer/media/rtc_peer_connection_handler_unittest.cc
index 3bcda49..2ee286a 100644
--- a/content/renderer/media/rtc_peer_connection_handler_unittest.cc
+++ b/content/renderer/media/rtc_peer_connection_handler_unittest.cc
@@ -966,7 +966,6 @@
       pc_handler_->createDataChannel("d1", blink::WebRTCDataChannelInit()));
   EXPECT_TRUE(channel.get() != NULL);
   EXPECT_EQ(label, channel->label());
-  channel->setClient(nullptr);
 }
 
 TEST_F(RTCPeerConnectionHandlerTest, CreateDtmfSender) {
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
index e203c60..1bc3c05 100644
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -174,8 +174,7 @@
 }
 
 PeerConnectionDependencyFactory::~PeerConnectionDependencyFactory() {
-  DVLOG(1) << "~PeerConnectionDependencyFactory()";
-  DCHECK(pc_factory_.get() == NULL);
+  CleanupPeerConnectionFactory();
   if (aec_dump_message_filter_.get())
     aec_dump_message_filter_->RemoveDelegate(this);
 }
@@ -269,11 +268,6 @@
   return pc_factory_;
 }
 
-
-void PeerConnectionDependencyFactory::WillDestroyCurrentMessageLoop() {
-  CleanupPeerConnectionFactory();
-}
-
 void PeerConnectionDependencyFactory::CreatePeerConnectionFactory() {
   DCHECK(!pc_factory_.get());
   DCHECK(!signaling_thread_);
@@ -285,7 +279,6 @@
 
   DVLOG(1) << "PeerConnectionDependencyFactory::CreatePeerConnectionFactory()";
 
-  base::MessageLoop::current()->AddDestructionObserver(this);
   // To allow sending to the signaling/worker threads.
   jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop();
   jingle_glue::JingleThreadWrapper::current()->set_send_allowed(true);
@@ -591,7 +584,6 @@
 }
 
 void PeerConnectionDependencyFactory::CleanupPeerConnectionFactory() {
-  DVLOG(1) << "PeerConnectionDependencyFactory::CleanupPeerConnectionFactory()";
   pc_factory_ = NULL;
   if (network_manager_) {
     // The network manager needs to free its resources on the thread they were
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.h b/content/renderer/media/webrtc/peer_connection_dependency_factory.h
index 07375dd..67eae9d 100644
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.h
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.h
@@ -9,7 +9,6 @@
 
 #include "base/basictypes.h"
 #include "base/files/file.h"
-#include "base/message_loop/message_loop.h"
 #include "base/threading/thread.h"
 #include "content/common/content_export.h"
 #include "content/public/renderer/render_process_observer.h"
@@ -57,7 +56,6 @@
 // Object factory for RTC PeerConnections.
 class CONTENT_EXPORT PeerConnectionDependencyFactory
     : NON_EXPORTED_BASE(public base::NonThreadSafe),
-      NON_EXPORTED_BASE(base::MessageLoop::DestructionObserver),
       NON_EXPORTED_BASE(public AecDumpMessageFilter::AecDumpDelegate) {
  public:
   PeerConnectionDependencyFactory(
@@ -172,11 +170,6 @@
   virtual void StartLocalAudioTrack(WebRtcLocalAudioTrack* audio_track);
 
  private:
-  // Implement base::MessageLoop::DestructionObserver.
-  // This makes sure the libjingle PeerConnectionFactory is released before
-  // the renderer message loop is destroyed.
-  virtual void WillDestroyCurrentMessageLoop() override;
-
   // Creates |pc_factory_|, which in turn is used for
   // creating PeerConnection objects.
   void CreatePeerConnectionFactory();
diff --git a/content/renderer/pepper/content_renderer_pepper_host_factory.cc b/content/renderer/pepper/content_renderer_pepper_host_factory.cc
index 93306eb..a5c0e4f 100644
--- a/content/renderer/pepper/content_renderer_pepper_host_factory.cc
+++ b/content/renderer/pepper/content_renderer_pepper_host_factory.cc
@@ -74,19 +74,6 @@
       document_url);
 }
 
-bool CanUseVideoDecodeAPI(const RendererPpapiHost* host, PP_Instance instance) {
-  blink::WebPluginContainer* container =
-      host->GetContainerForInstance(instance);
-  if (!container)
-    return false;
-
-  GURL document_url = container->element().document().url();
-  ContentRendererClient* content_renderer_client =
-      GetContentClient()->renderer();
-  return content_renderer_client->IsPluginAllowedToUseVideoDecodeAPI(
-      document_url);
-}
-
 }  // namespace
 
 ContentRendererPepperHostFactory::ContentRendererPepperHostFactory(
@@ -177,12 +164,9 @@
     case PpapiHostMsg_URLLoader_Create::ID:
       return scoped_ptr<ResourceHost>(new PepperURLLoaderHost(
           host_, false, instance, params.pp_resource()));
-    case PpapiHostMsg_VideoDecoder_Create::ID: {
-      if (!CanUseVideoDecodeAPI(host_, instance))
-        return scoped_ptr<ResourceHost>();
+    case PpapiHostMsg_VideoDecoder_Create::ID:
       return scoped_ptr<ResourceHost>(
           new PepperVideoDecoderHost(host_, instance, params.pp_resource()));
-    }
     case PpapiHostMsg_WebSocket_Create::ID:
       return scoped_ptr<ResourceHost>(
           new PepperWebSocketHost(host_, instance, params.pp_resource()));
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 713dffd..cc0bf1e 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -623,11 +623,8 @@
 
 #if defined(ENABLE_WEBRTC)
   RTCPeerConnectionHandler::DestructAllHandlers();
-  // |peer_connection_factory_| cannot be deleted until after the main message
-  // loop has been destroyed.  This is because there may be pending tasks that
-  // hold on to objects produced by the PC factory that depend on threads owned
-  // by the PC factory.  Once those tasks have been freed, the factory can be
-  // deleted.
+
+  peer_connection_factory_.reset();
 #endif
   RemoveFilter(vc_manager_->video_capture_message_filter());
   vc_manager_.reset();
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 9a09509..efa2519 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -1690,8 +1690,11 @@
   if (is_hidden_ == hidden)
     return;
 
-  // The status has changed.  Tell the RenderThread about it.
+  // The status has changed.  Tell the RenderThread about it and ensure
+  // throttled acks are released in case frame production ceases.
   is_hidden_ = hidden;
+  FlushPendingInputEventAck();
+
   if (is_hidden_)
     RenderThreadImpl::current()->WidgetHidden();
   else
diff --git a/content/shell/renderer/shell_content_renderer_client.cc b/content/shell/renderer/shell_content_renderer_client.cc
index db0a13b..7f32cdc 100644
--- a/content/shell/renderer/shell_content_renderer_client.cc
+++ b/content/shell/renderer/shell_content_renderer_client.cc
@@ -36,12 +36,6 @@
       switches::kEnablePepperTesting);
 }
 
-bool ShellContentRendererClient::IsPluginAllowedToUseVideoDecodeAPI(
-    const GURL& url) {
-  return CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kEnablePepperTesting);
-}
-
 bool ShellContentRendererClient::IsPluginAllowedToUseDevChannelAPIs() {
   return CommandLine::ForCurrentProcess()->HasSwitch(
       switches::kEnablePepperTesting);
diff --git a/content/shell/renderer/shell_content_renderer_client.h b/content/shell/renderer/shell_content_renderer_client.h
index f336be7..4d5ce07 100644
--- a/content/shell/renderer/shell_content_renderer_client.h
+++ b/content/shell/renderer/shell_content_renderer_client.h
@@ -29,7 +29,6 @@
   // TODO(mkwst): These toggle based on the kEnablePepperTesting flag. Do we
   // need that outside of layout tests?
   bool IsPluginAllowedToUseCompositorAPI(const GURL& url) override;
-  bool IsPluginAllowedToUseVideoDecodeAPI(const GURL& url) override;
   bool IsPluginAllowedToUseDevChannelAPIs() override;
 
  private:
diff --git a/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java b/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java
index 1e72da9..2ae6641 100644
--- a/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java
+++ b/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java
@@ -9,6 +9,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.telephony.TelephonyManager;
@@ -25,6 +26,30 @@
 public class NetworkChangeNotifierAutoDetect extends BroadcastReceiver
         implements ApplicationStatus.ApplicationStateListener {
 
+    static class NetworkState {
+        private final boolean mConnected;
+        private final int mType;
+        private final int mSubtype;
+
+        public NetworkState(boolean connected, int type, int subtype) {
+            mConnected = connected;
+            mType = type;
+            mSubtype = subtype;
+        }
+
+        public boolean isConnected() {
+            return mConnected;
+        }
+
+        public int getNetworkType() {
+            return mType;
+        }
+
+        public int getNetworkSubType() {
+            return mSubtype;
+        }
+    }
+
     /** Queries the ConnectivityManager for information about the current connection. */
     static class ConnectivityManagerDelegate {
         private final ConnectivityManager mConnectivityManager;
@@ -40,20 +65,12 @@
             mConnectivityManager = null;
         }
 
-        boolean activeNetworkExists() {
-            return mConnectivityManager.getActiveNetworkInfo() != null;
-        }
-
-        boolean isConnected() {
-            return mConnectivityManager.getActiveNetworkInfo().isConnected();
-        }
-
-        int getNetworkType() {
-            return mConnectivityManager.getActiveNetworkInfo().getType();
-        }
-
-        int getNetworkSubtype() {
-            return mConnectivityManager.getActiveNetworkInfo().getSubtype();
+        NetworkState getNetworkState() {
+            final NetworkInfo networkInfo = mConnectivityManager.getActiveNetworkInfo();
+            if (networkInfo == null || !networkInfo.isConnected()) {
+                return new NetworkState(false, -1, -1);
+            }
+            return new NetworkState(true, networkInfo.getType(), networkInfo.getSubtype());
         }
     }
 
@@ -161,12 +178,12 @@
 
     public int getCurrentConnectionType() {
         // Track exactly what type of connection we have.
-        if (!mConnectivityManagerDelegate.activeNetworkExists() ||
-                !mConnectivityManagerDelegate.isConnected()) {
+        final NetworkState networkState = mConnectivityManagerDelegate.getNetworkState();
+        if (!networkState.isConnected()) {
             return NetworkChangeNotifier.CONNECTION_NONE;
         }
 
-        switch (mConnectivityManagerDelegate.getNetworkType()) {
+        switch (networkState.getNetworkType()) {
             case ConnectivityManager.TYPE_ETHERNET:
                 return NetworkChangeNotifier.CONNECTION_ETHERNET;
             case ConnectivityManager.TYPE_WIFI:
@@ -177,7 +194,7 @@
                 return NetworkChangeNotifier.CONNECTION_BLUETOOTH;
             case ConnectivityManager.TYPE_MOBILE:
                 // Use information from TelephonyManager to classify the connection.
-                switch (mConnectivityManagerDelegate.getNetworkSubtype()) {
+                switch (networkState.getNetworkSubType()) {
                     case TelephonyManager.NETWORK_TYPE_GPRS:
                     case TelephonyManager.NETWORK_TYPE_EDGE:
                     case TelephonyManager.NETWORK_TYPE_CDMA:
diff --git a/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java b/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
index 887bc3b..dd15a76 100644
--- a/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
+++ b/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
@@ -14,6 +14,7 @@
 
 import org.chromium.base.ApplicationState;
 import org.chromium.base.test.util.Feature;
+import org.chromium.net.NetworkChangeNotifierAutoDetect.NetworkState;
 
 /**
  * Tests for org.chromium.net.NetworkChangeNotifier.
@@ -50,33 +51,18 @@
         private int mNetworkSubtype;
 
         @Override
-        boolean activeNetworkExists() {
-            return mActiveNetworkExists;
-        }
-
-        @Override
-        boolean isConnected() {
-            return getNetworkType() != NetworkChangeNotifier.CONNECTION_NONE;
+        NetworkState getNetworkState() {
+            return new NetworkState(mActiveNetworkExists, mNetworkType, mNetworkSubtype);
         }
 
         void setActiveNetworkExists(boolean networkExists) {
             mActiveNetworkExists = networkExists;
         }
 
-        @Override
-        int getNetworkType() {
-            return mNetworkType;
-        }
-
         void setNetworkType(int networkType) {
             mNetworkType = networkType;
         }
 
-        @Override
-        int getNetworkSubtype() {
-            return mNetworkSubtype;
-        }
-
         void setNetworkSubtype(int networkSubtype) {
             mNetworkSubtype = networkSubtype;
         }
diff --git a/net/base/registry_controlled_domains/effective_tld_names.dat b/net/base/registry_controlled_domains/effective_tld_names.dat
index 111ee06..d36987a 100644
--- a/net/base/registry_controlled_domains/effective_tld_names.dat
+++ b/net/base/registry_controlled_domains/effective_tld_names.dat
@@ -6783,7 +6783,8 @@
 *.zw
 
 
-// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2014-11-03T18:02:06Z
+// NEW TLDS SECTION FROM https://newgtlds.icann.org/newgtlds.csv >>> Updated on: 2014-12-12T06:02:07Z <<<
+
 
 // abb : 2014-10-24 ABB Ltd
 abb
@@ -6800,6 +6801,9 @@
 // accenture : 2014-08-15 Accenture plc
 accenture
 
+// accountant : 2014-11-20 dot Accountant Limited
+accountant
+
 // accountants : 2014-03-20 Knob Town, LLC
 accountants
 
@@ -6809,6 +6813,9 @@
 // actor : 2013-12-12 United TLD Holdco Ltd.
 actor
 
+// ads : 2014-12-04 Charleston Road Registry Inc.
+ads
+
 // adult : 2014-10-16 ICM Registry AD LLC
 adult
 
@@ -6839,34 +6846,46 @@
 // android : 2014-08-07 Charleston Road Registry Inc.
 android
 
+// apartments : 2014-12-11 June Maple, LLC
+apartments
+
 // aquarelle : 2014-07-24 Aquarelle.com
 aquarelle
 
+// aramco : 2014-11-20 Aramco Services Company
+aramco
+
 // archi : 2014-02-06 STARTING DOT LIMITED
 archi
 
 // army : 2014-03-06 United TLD Holdco Ltd.
 army
 
+// arte : 2014-12-11 Association Relative à la Télévision Européenne G.E.I.E.
+arte
+
 // associates : 2014-03-06 Baxter Hill, LLC
 associates
 
-// attorney : 2014-03-20 
+// attorney : 2014-03-20 undefined
 attorney
 
-// auction : 2014-03-20 
+// auction : 2014-03-20 undefined
 auction
 
 // audio : 2014-03-20 Uniregistry, Corp.
 audio
 
+// auto : 2014-11-13 Uniregistry, Corp.
+auto
+
 // autos : 2014-01-09 DERAutos, LLC
 autos
 
 // axa : 2013-12-19 AXA SA
 axa
 
-// band : 2014-06-12 
+// band : 2014-06-12 undefined
 band
 
 // bank : 2014-09-25 fTLD Registry Services LLC
@@ -6878,6 +6897,12 @@
 // barcelona : 2014-07-24 Municipi de Barcelona
 barcelona
 
+// barclaycard : 2014-11-20 Barclays Bank PLC
+barclaycard
+
+// barclays : 2014-11-20 Barclays Bank PLC
+barclays
+
 // bargains : 2013-11-14 Half Hallow, LLC
 bargains
 
@@ -6914,6 +6939,9 @@
 // bike : 2013-08-27 Grand Hollow, LLC
 bike
 
+// bingo : 2014-12-04 Sand Cedar, LLC
+bingo
+
 // bio : 2014-03-06 STARTING DOT LIMITED
 bio
 
@@ -6941,6 +6969,9 @@
 // bnpparibas : 2014-05-29 BNP Paribas
 bnpparibas
 
+// boats : 2014-12-04 DERBoats, LLC
+boats
+
 // bom : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
 bom
 
@@ -6953,6 +6984,9 @@
 // boutique : 2013-11-14 Over Galley, LLC
 boutique
 
+// broker : 2014-12-11 IG Group Holdings PLC
+broker
+
 // brussels : 2014-02-06 DNS.be vzw
 brussels
 
@@ -7013,6 +7047,9 @@
 // careers : 2013-10-02 Wild Corner, LLC
 careers
 
+// cars : 2014-11-13 Uniregistry, Corp.
+cars
+
 // cartier : 2014-06-23 Richemont DNS Inc.
 cartier
 
@@ -7043,9 +7080,15 @@
 // cfa : 2014-08-28 CFA Institute
 cfa
 
+// cfd : 2014-12-11 IG Group Holdings PLC
+cfd
+
 // channel : 2014-05-08 Charleston Road Registry Inc.
 channel
 
+// chat : 2014-12-04 Sand Fields, LLC
+chat
+
 // cheap : 2013-11-14 Sand Cover, LLC
 cheap
 
@@ -7067,6 +7110,9 @@
 // city : 2014-05-29 Snow Sky, LLC
 city
 
+// cityeats : 2014-12-11 Lifestyle Domain Holdings, Inc.
+cityeats
+
 // claims : 2014-03-20 Black Corner, LLC
 claims
 
@@ -7118,7 +7164,7 @@
 // construction : 2013-09-16 Fox Dynamite, LLC
 construction
 
-// consulting : 2013-12-05 
+// consulting : 2013-12-05 undefined
 consulting
 
 // contractors : 2013-09-10 Magic Woods, LLC
@@ -7136,6 +7182,9 @@
 // country : 2013-12-19 Top Level Domain Holdings Limited
 country
 
+// courses : 2014-12-04 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+courses
+
 // credit : 2014-03-20 Snow Shadow, LLC
 credit
 
@@ -7172,6 +7221,9 @@
 // dance : 2013-10-24 United TLD Holdco Ltd.
 dance
 
+// date : 2014-11-20 dot Date Limited
+date
+
 // dating : 2013-12-05 Pine Fest, LLC
 dating
 
@@ -7181,10 +7233,13 @@
 // day : 2014-01-30 Charleston Road Registry Inc.
 day
 
+// dclk : 2014-11-20 Charleston Road Registry Inc.
+dclk
+
 // deals : 2014-05-22 Sand Sunset, LLC
 deals
 
-// degree : 2014-03-06 
+// degree : 2014-03-06 undefined
 degree
 
 // delivery : 2014-09-11 Steel Station, LLC
@@ -7199,12 +7254,15 @@
 // dental : 2014-03-20 Tin Birch, LLC
 dental
 
-// dentist : 2014-03-20 
+// dentist : 2014-03-20 undefined
 dentist
 
 // desi : 2013-11-14 Desi Networks LLC
 desi
 
+// design : 2014-11-07 Top Level Design, LLC
+design
+
 // dev : 2014-10-16 Charleston Road Registry Inc.
 dev
 
@@ -7232,6 +7290,9 @@
 // docs : 2014-10-16 Charleston Road Registry Inc.
 docs
 
+// dog : 2014-12-04 Koko Mill, LLC
+dog
+
 // doha : 2014-09-18 Communications Regulatory Authority (CRA)
 doha
 
@@ -7241,12 +7302,18 @@
 // doosan : 2014-04-03 Doosan Corporation
 doosan
 
+// download : 2014-11-20 dot Support Limited
+download
+
 // durban : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
 durban
 
 // dvag : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
 dvag
 
+// earth : 2014-12-04 Interlink Co., Ltd.
+earth
+
 // eat : 2014-01-23 Charleston Road Registry Inc.
 eat
 
@@ -7271,6 +7338,9 @@
 // enterprises : 2013-09-20 Snow Oaks, LLC
 enterprises
 
+// epson : 2014-12-04 Seiko Epson Corporation
+epson
+
 // equipment : 2013-08-27 Corn Station, LLC
 equipment
 
@@ -7307,9 +7377,18 @@
 // fail : 2014-03-06 Atomic Pipe, LLC
 fail
 
-// fan : 2014-03-06 
+// fairwinds : 2014-11-13 FairWinds Partners, LLC
+fairwinds
+
+// faith : 2014-11-20 dot Faith Limited
+faith
+
+// fan : 2014-03-06 undefined
 fan
 
+// fans : 2014-11-07 Asiamix Digital Limited
+fans
+
 // farm : 2013-11-07 Just Maple, LLC
 farm
 
@@ -7337,6 +7416,9 @@
 // fishing : 2013-11-21 Top Level Domain Holdings Limited
 fishing
 
+// fit : 2014-11-07 Top Level Domain Holdings Limited
+fit
+
 // fitness : 2014-03-06 Brice Orchard, LLC
 fitness
 
@@ -7358,7 +7440,13 @@
 // foo : 2014-01-23 Charleston Road Registry Inc.
 foo
 
-// forsale : 2014-05-22 
+// ford : 2014-11-13 Ford Motor Company
+ford
+
+// forex : 2014-12-11 IG Group Holdings PLC
+forex
+
+// forsale : 2014-05-22 undefined
 forsale
 
 // foundation : 2013-12-05 John Dale, LLC
@@ -7376,7 +7464,7 @@
 // furniture : 2014-03-20 Lone Fields, LLC
 furniture
 
-// futbol : 2013-09-20 
+// futbol : 2013-09-20 undefined
 futbol
 
 // gal : 2013-11-07 Asociación puntoGAL
@@ -7394,6 +7482,9 @@
 // gdn : 2014-07-31 Joint Stock Company \
 gdn
 
+// gea : 2014-12-04 GEA Group Aktiengesellschaft
+gea
+
 // gent : 2014-01-23 COMBELL GROUP NV/SA
 gent
 
@@ -7409,6 +7500,9 @@
 // gives : 2014-03-06 United TLD Holdco Ltd.
 gives
 
+// giving : 2014-11-13 Giving Limited
+giving
+
 // glass : 2013-11-07 Black Cover, LLC
 glass
 
@@ -7430,6 +7524,12 @@
 // gmx : 2014-04-24 1&1 Mail & Media GmbH
 gmx
 
+// goldpoint : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+goldpoint
+
+// goog : 2014-11-20 Charleston Road Registry Inc.
+goog
+
 // google : 2014-07-24 Charleston Road Registry Inc.
 google
 
@@ -7451,6 +7551,9 @@
 // group : 2014-08-15 Romeo Town, LLC
 group
 
+// gucci : 2014-11-13 Guccio Gucci S.p.a.
+gucci
+
 // guge : 2014-08-28 Charleston Road Registry Inc.
 guge
 
@@ -7466,7 +7569,10 @@
 // hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
 hamburg
 
-// haus : 2013-12-05 
+// hangout : 2014-11-13 Charleston Road Registry Inc.
+hangout
+
+// haus : 2013-12-05 undefined
 haus
 
 // healthcare : 2014-06-12 Silver Glen, LLC
@@ -7577,12 +7683,21 @@
 // iwc : 2014-06-23 Richemont DNS Inc.
 iwc
 
+// jaguar : 2014-11-13 Jaguar Land Rover Ltd
+jaguar
+
 // java : 2014-06-19 Oracle Corporation
 java
 
+// jcb : 2014-11-20 JCB Co., Ltd.
+jcb
+
 // jetzt : 2014-01-09 New TLD Company AB
 jetzt
 
+// jlc : 2014-12-04 Richemont DNS Inc.
+jlc
+
 // joburg : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
 joburg
 
@@ -7598,9 +7713,15 @@
 // kddi : 2014-09-12 KDDI CORPORATION
 kddi
 
+// kfh : 2014-12-04 Kuwait Finance House
+kfh
+
 // kim : 2013-09-23 Afilias Limited
 kim
 
+// kinder : 2014-11-07 Ferrero Trading Lux S.A.
+kinder
+
 // kitchen : 2013-09-20 Just Goodbye, LLC
 kitchen
 
@@ -7616,19 +7737,25 @@
 // kred : 2013-12-19 KredTLD Pty Ltd
 kred
 
+// kyoto : 2014-11-07 Academic Institution: Kyoto Jyoho Gakuen
+kyoto
+
 // lacaixa : 2014-01-09 CAIXA D'ESTALVIS I PENSIONS DE BARCELONA
 lacaixa
 
 // land : 2013-09-10 Pine Moon, LLC
 land
 
+// landrover : 2014-11-13 Jaguar Land Rover Ltd
+landrover
+
 // lat : 2014-10-16 ECOM-LAC Federaciòn de Latinoamèrica y el Caribe para Internet y el Comercio Electrònico
 lat
 
 // latrobe : 2014-06-16 La Trobe University
 latrobe
 
-// lawyer : 2014-03-20 
+// lawyer : 2014-03-20 undefined
 lawyer
 
 // lds : 2014-03-20 IRI Domain Management, LLC (\
@@ -7655,6 +7782,9 @@
 // life : 2014-02-06 Trixy Oaks, LLC
 life
 
+// lifestyle : 2014-12-11 Lifestyle Domain Holdings, Inc.
+lifestyle
+
 // lighting : 2013-08-27 John McCook, LLC
 lighting
 
@@ -7664,15 +7794,30 @@
 // limo : 2013-10-17 Hidden Frostbite, LLC
 limo
 
+// lincoln : 2014-11-13 Ford Motor Company
+lincoln
+
+// linde : 2014-12-04 Linde Aktiengesellschaft
+linde
+
 // link : 2013-11-14 Uniregistry, Corp.
 link
 
+// live : 2014-12-04 Half Woods, LLC
+live
+
+// loan : 2014-11-20 dot Loan Limited
+loan
+
 // loans : 2014-03-20 June Woods, LLC
 loans
 
 // london : 2013-11-14 Dot London Domains Limited
 london
 
+// lotte : 2014-11-07 Lotte Holdings Co., Ltd.
+lotte
+
 // lotto : 2014-04-10 Afilias Limited
 lotto
 
@@ -7682,6 +7827,9 @@
 // ltda : 2014-04-17 DOMAIN ROBOT SERVICOS DE HOSPEDAGEM NA INTERNET LTDA
 ltda
 
+// lupin : 2014-11-07 LUPIN LIMITED
+lupin
+
 // luxe : 2014-01-09 Top Level Domain Holdings Limited
 luxe
 
@@ -7697,18 +7845,24 @@
 // maison : 2013-12-05 Victor Frostbite, LLC
 maison
 
+// man : 2014-12-04 MAN SE
+man
+
 // management : 2013-11-07 John Goodbye, LLC
 management
 
 // mango : 2013-10-24 PUNTO FA S.L.
 mango
 
-// market : 2014-03-06 
+// market : 2014-03-06 undefined
 market
 
 // marketing : 2013-11-07 Fern Pass, LLC
 marketing
 
+// markets : 2014-12-11 IG Group Holdings PLC
+markets
+
 // marriott : 2014-10-09 Marriott Worldwide Corporation
 marriott
 
@@ -7730,12 +7884,18 @@
 // menu : 2013-09-11 Wedding TLD2, LLC
 menu
 
+// meo : 2014-11-07 PT Comunicacoes S.A.
+meo
+
 // miami : 2013-12-19 Top Level Domain Holdings Limited
 miami
 
 // mini : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
 mini
 
+// mma : 2014-11-07 MMA IARD
+mma
+
 // moda : 2013-11-07 United TLD Holdco Ltd.
 moda
 
@@ -7754,7 +7914,7 @@
 // mormon : 2013-12-05 IRI Domain Management, LLC (\
 mormon
 
-// mortgage : 2014-03-20 
+// mortgage : 2014-03-20 undefined
 mortgage
 
 // moscow : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
@@ -7769,6 +7929,15 @@
 // movistar : 2014-10-16 Telefónica S.A.
 movistar
 
+// mtn : 2014-12-04 MTN Dubai Limited
+mtn
+
+// mtpc : 2014-11-20 Mitsubishi Tanabe Pharma Corporation
+mtpc
+
+// nadex : 2014-12-11 IG Group Holdings PLC
+nadex
+
 // nagoya : 2013-10-24 GMO Registry, Inc.
 nagoya
 
@@ -7796,12 +7965,18 @@
 // nhk : 2014-02-13 Japan Broadcasting Corporation (NHK)
 nhk
 
+// nico : 2014-12-04 DWANGO Co., Ltd.
+nico
+
 // ninja : 2013-11-07 United TLD Holdco Ltd.
 ninja
 
 // nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
 nissan
 
+// norton : 2014-12-04 Symantec Corporation
+norton
+
 // nowruz : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
 nowruz
 
@@ -7823,6 +7998,9 @@
 // okinawa : 2013-12-05 BusinessRalliart Inc.
 okinawa
 
+// one : 2014-11-07 One.com A/S
+one
+
 // ong : 2014-03-06 Public Interest Registry
 ong
 
@@ -7847,6 +8025,12 @@
 // ovh : 2014-01-16 OVH SAS
 ovh
 
+// page : 2014-12-04 Charleston Road Registry Inc.
+page
+
+// panerai : 2014-11-07 Richemont DNS Inc.
+panerai
+
 // paris : 2014-01-30 City of Paris
 paris
 
@@ -7865,6 +8049,9 @@
 // pharmacy : 2014-06-19 National Association of Boards of Pharmacy
 pharmacy
 
+// philips : 2014-11-07 Koninklijke Philips N.V.
+philips
+
 // photo : 2013-11-14 Uniregistry, Corp.
 photo
 
@@ -7940,6 +8127,9 @@
 // quebec : 2013-12-19 PointQuébec Inc
 quebec
 
+// racing : 2014-12-04 Premier Registry Limited
+racing
+
 // realtor : 2014-05-29 Real Estate Domains LLC
 realtor
 
@@ -7967,6 +8157,9 @@
 // ren : 2013-12-12 Beijing Qianxiang Wangjing Technology Development Co., Ltd.
 ren
 
+// rent : 2014-12-04 DERRent, LLC
+rent
+
 // rentals : 2013-12-05 Big Hollow,LLC
 rentals
 
@@ -7985,19 +8178,25 @@
 // restaurant : 2014-07-03 Snow Avenue, LLC
 restaurant
 
-// reviews : 2013-09-13 
+// review : 2014-11-20 dot Review Limited
+review
+
+// reviews : 2013-09-13 undefined
 reviews
 
 // rich : 2013-11-21 I-Registry Ltd.
 rich
 
+// ricoh : 2014-11-20 Ricoh Company, Ltd.
+ricoh
+
 // rio : 2014-02-27 Empresa Municipal de Informática SA - IPLANRIO
 rio
 
 // rip : 2014-07-10 United TLD Holdco Ltd.
 rip
 
-// rocks : 2013-11-14 
+// rocks : 2013-11-14 undefined
 rocks
 
 // rodeo : 2013-12-19 Top Level Domain Holdings Limited
@@ -8015,24 +8214,39 @@
 // saarland : 2013-12-12 dotSaarland GmbH
 saarland
 
-// sale : 2014-10-16 Half Bloom, LLC
+// sale : 2014-10-16 undefined
 sale
 
+// salon : 2014-12-11 Outer Orchard, LLC
+salon
+
 // samsung : 2014-04-03 SAMSUNG SDS CO., LTD
 samsung
 
+// sandvik : 2014-11-13 Sandvik AB
+sandvik
+
+// sandvikcoromant : 2014-11-07 Sandvik AB
+sandvikcoromant
+
 // sanofi : 2014-10-09 Sanofi
 sanofi
 
 // sap : 2014-03-27 SAP AG
 sap
 
+// sapo : 2014-11-07 PT Comunicacoes S.A.
+sapo
+
 // sarl : 2014-07-03 Delta Orchard, LLC
 sarl
 
 // saxo : 2014-10-31 Saxo Bank A/S
 saxo
 
+// sbs : 2014-11-07 SPECIAL BROADCASTING SERVICE CORPORATION
+sbs
+
 // sca : 2014-03-13 SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ)
 sca
 
@@ -8063,6 +8277,9 @@
 // seat : 2014-05-22 SEAT, S.A. (Sociedad Unipersonal)
 seat
 
+// seek : 2014-12-04 Seek Limited
+seek
+
 // sener : 2014-10-24 Sener Ingeniería y Sistemas, S.A.
 sener
 
@@ -8072,6 +8289,9 @@
 // sew : 2014-07-17 SEW-EURODRIVE GmbH & Co KG
 sew
 
+// sex : 2014-11-13 ICM Registry SX LLC
+sex
+
 // sexy : 2013-09-11 Uniregistry, Corp.
 sexy
 
@@ -8099,7 +8319,7 @@
 // social : 2013-11-07 United TLD Holdco Ltd.
 social
 
-// software : 2014-03-20 
+// software : 2014-03-20 undefined
 software
 
 // sohu : 2013-12-19 Sohu.com Limited
@@ -8120,12 +8340,27 @@
 // spiegel : 2014-02-05 SPIEGEL-Verlag Rudolf Augstein GmbH & Co. KG
 spiegel
 
+// spreadbetting : 2014-12-11 IG Group Holdings PLC
+spreadbetting
+
+// stada : 2014-11-13 STADA Arzneimittel AG
+stada
+
+// statoil : 2014-12-04 Statoil ASA
+statoil
+
 // stc : 2014-10-09 Saudi Telecom Company
 stc
 
 // stcgroup : 2014-10-09 Saudi Telecom Company
 stcgroup
 
+// study : 2014-12-11 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+study
+
+// style : 2014-12-04 Binky Moon, LLC
+style
+
 // supplies : 2013-12-19 Atomic Fields, LLC
 supplies
 
@@ -8150,9 +8385,15 @@
 // sydney : 2014-09-18 State of New South Wales, Department of Premier and Cabinet
 sydney
 
+// symantec : 2014-12-04 Symantec Corporation
+symantec
+
 // systems : 2013-11-07 Dash Cypress, LLC
 systems
 
+// tab : 2014-12-04 Tabcorp Holdings Limited
+tab
+
 // taipei : 2014-07-10 Taipei City Government
 taipei
 
@@ -8177,12 +8418,18 @@
 // temasek : 2014-08-07 Temasek Holdings (Private) Limited
 temasek
 
+// tennis : 2014-12-04 Cotton Bloom, LLC
+tennis
+
 // tienda : 2013-11-14 Victor Manor, LLC
 tienda
 
 // tips : 2013-09-20 Corn Willow, LLC
 tips
 
+// tires : 2014-11-07 Dog Edge, LLC
+tires
+
 // tirol : 2014-04-24 punkt Tirol GmbH
 tirol
 
@@ -8210,15 +8457,21 @@
 // trade : 2014-01-23 Elite Registry Limited
 trade
 
+// trading : 2014-12-11 IG Group Holdings PLC
+trading
+
 // training : 2013-11-07 Wild Willow, LLC
 training
 
-// trust : 2014-10-16 
+// trust : 2014-10-16 undefined
 trust
 
 // tui : 2014-07-03 TUI AG
 tui
 
+// ubs : 2014-12-11 UBS AG
+ubs
+
 // university : 2014-03-06 Little Station, LLC
 university
 
@@ -8231,6 +8484,9 @@
 // vacations : 2013-12-05 Atomic Tigers, LLC
 vacations
 
+// vana : 2014-12-11 Lifestyle Domain Holdings, Inc.
+vana
+
 // vegas : 2014-01-16 Dot Vegas, Inc.
 vegas
 
@@ -8240,13 +8496,13 @@
 // versicherung : 2014-03-20 dotversicherung-registry GmbH
 versicherung
 
-// vet : 2014-03-06 
+// vet : 2014-03-06 undefined
 vet
 
 // viajes : 2013-10-17 Black Madison, LLC
 viajes
 
-// video : 2014-10-16 Lone Tigers, LLC
+// video : 2014-10-16 undefined
 video
 
 // villas : 2013-12-05 New Sky, LLC
@@ -8264,6 +8520,9 @@
 // vistaprint : 2014-09-18 Vistaprint Limited
 vistaprint
 
+// viva : 2014-11-07 Saudi Telecom Company
+viva
+
 // vlaanderen : 2014-02-06 DNS.be vzw
 vlaanderen
 
@@ -8285,6 +8544,9 @@
 // wales : 2014-05-08 Nominet UK
 wales
 
+// walter : 2014-11-13 Sandvik AB
+walter
+
 // wang : 2013-10-24 Zodiac Leo Limited
 wang
 
@@ -8315,6 +8577,9 @@
 // williamhill : 2014-03-13 William Hill Organization Limited
 williamhill
 
+// win : 2014-11-20 First Registry Limited
+win
+
 // wme : 2014-02-13 William Morris Endeavor Entertainment, LLC
 wme
 
@@ -8336,6 +8601,9 @@
 // xerox : 2014-10-24 Xerox DNHC LLC
 xerox
 
+// xin : 2014-12-11 Elegant Leader Limited
+xin
+
 // xn--1qqw23a : 2014-01-09 Guangzhou YU Wei Information Technology Co., Ltd.
 佛山
 
@@ -8420,12 +8688,21 @@
 // xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
 संगठन
 
+// xn--imr513n : 2014-12-11 HU YI GLOBAL INFORMATION RESOURCES (HOLDING) COMPANY. HONGKONG LIMITED
+餐厅
+
 // xn--io0a7i : 2013-11-14 Computer Network Information Center of Chinese Academy of Sciences （China Internet Network Information Center）
 网络
 
+// xn--kcrx77d1x4a : 2014-11-07 Koninklijke Philips N.V.
+飞利浦
+
 // xn--kput3i : 2014-02-13 Beijing RITT-Net Technology Development Co., Ltd
 手机
 
+// xn--mgba3a3ejt : 2014-11-20 Aramco Services Company
+ارامكو
+
 // xn--mgbab2bd : 2013-10-31 CORE Association
 بازار
 
@@ -8438,12 +8715,18 @@
 // xn--ngbc5azd : 2013-07-13 International Domain Registry Pty. Ltd.
 شبكة
 
+// xn--ngbe9e0a : 2014-12-04 Kuwait Finance House
+بيتك
+
 // xn--nqv7f : 2013-11-14 Public Interest Registry
 机构
 
 // xn--nqv7fs00ema : 2013-11-14 Public Interest Registry
 组织机构
 
+// xn--nyqy26a : 2014-11-07 Stable Tone Limited
+健康
+
 // xn--p1acf : 2013-12-12 Rusnames Limited
 рус
 
@@ -8489,6 +8772,9 @@
 // yandex : 2014-04-10 YANDEX, LLC
 yandex
 
+// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+yodobashi
+
 // yoga : 2014-05-29 Top Level Domain Holdings Limited
 yoga
 
@@ -8498,12 +8784,18 @@
 // youtube : 2014-05-01 Charleston Road Registry Inc.
 youtube
 
+// zara : 2014-11-07 Industria de Diseño Textil, S.A. (INDITEX, S.A.)
+zara
+
 // zip : 2014-05-08 Charleston Road Registry Inc.
 zip
 
 // zone : 2013-11-14 Outer Falls, LLC
 zone
 
+// zuerich : 2014-11-07 Kanton Zürich (Canton of Zurich)
+zuerich
+
 // ===END ICANN DOMAINS===
 // ===BEGIN PRIVATE DOMAINS===
 
@@ -9063,6 +9355,13 @@
 med.pl
 sopot.pl
 
+// UDR Limited : http://www.udr.hk.com
+// Submitted by registry <hostmaster@udr.hk.com> 2014-11-07
+hk.com
+hk.org
+ltd.hk
+inc.hk
+
 // Yola : https://www.yola.com/
 // Submitted by Stefano Rivera <stefano@yola.com> 2014-07-09
 yolasite.com
diff --git a/net/base/registry_controlled_domains/effective_tld_names.gperf b/net/base/registry_controlled_domains/effective_tld_names.gperf
index b3b6afd..8dbfd0e 100644
--- a/net/base/registry_controlled_domains/effective_tld_names.gperf
+++ b/net/base/registry_controlled_domains/effective_tld_names.gperf
@@ -78,6 +78,7 @@
 accenture, 0
 accident-investigation.aero, 0
 accident-prevention.aero, 0
+accountant, 0
 accountants, 0
 achi.nagano.jp, 0
 act.au, 0
@@ -88,6 +89,7 @@
 ad.jp, 0
 adachi.tokyo.jp, 0
 adm.br, 0
+ads, 0
 adult, 0
 adult.ht, 0
 adv.br, 0
@@ -242,6 +244,7 @@
 ap-southeast-1.compute.amazonaws.com, 4
 ap-southeast-2.compute.amazonaws.com, 4
 ap.it, 0
+apartments, 0
 appspot.com, 4
 aq, 0
 aq.it, 0
@@ -255,6 +258,7 @@
 arai.shizuoka.jp, 0
 arakawa.saitama.jp, 0
 arakawa.tokyo.jp, 0
+aramco, 0
 arao.kumamoto.jp, 0
 arboretum.museum, 0
 archaeological.museum, 0
@@ -284,6 +288,7 @@
 artanddesign.museum, 0
 artcenter.museum, 0
 artdeco.museum, 0
+arte, 0
 arteducation.museum, 0
 artgallery.museum, 0
 arts.co, 0
@@ -372,6 +377,7 @@
 australia.museum, 0
 austrheim.no, 0
 author.aero, 0
+auto, 0
 auto.pl, 0
 automotive.museum, 0
 autos, 0
@@ -429,6 +435,8 @@
 bar.pro, 0
 barcelona, 0
 barcelona.museum, 0
+barclaycard, 0
+barclays, 0
 bardu.no, 0
 bargains, 0
 bari.it, 0
@@ -508,6 +516,7 @@
 bilbao.museum, 0
 bill.museum, 0
 bindal.no, 0
+bingo, 0
 bio, 0
 bio.br, 0
 bir.ru, 0
@@ -603,6 +612,7 @@
 bo.it, 0
 bo.nordland.no, 0
 bo.telemark.no, 0
+boats, 0
 bodo.no, 0
 bokn.no, 0
 boldlygoingnowhere.org, 4
@@ -636,6 +646,7 @@
 britishcolumbia.museum, 0
 broadcast.museum, 0
 broke-it.net, 4
+broker, 0
 broker.aero, 0
 bronnoy.no, 0
 bronnoysund.no, 0
@@ -723,6 +734,7 @@
 carrara-massa.it, 0
 carraramassa.it, 0
 carrier.museum, 0
+cars, 0
 cartier, 0
 cartoonart.museum, 0
 casa, 0
@@ -812,6 +824,7 @@
 cesenaforli.it, 0
 cf, 0
 cfa, 0
+cfd, 0
 cg, 0
 ch, 0
 ch.it, 0
@@ -819,6 +832,7 @@
 championship.aero, 0
 channel, 0
 charter.aero, 0
+chat, 0
 chattanooga.museum, 0
 cheap, 0
 chel.ru, 0
@@ -898,6 +912,7 @@
 city.sapporo.jp, 1
 city.sendai.jp, 1
 city.yokohama.jp, 1
+cityeats, 0
 civilaviation.aero, 0
 civilisation.museum, 0
 civilization.museum, 0
@@ -1176,6 +1191,7 @@
 country, 0
 countryestate.museum, 0
 county.museum, 0
+courses, 0
 cpa.pro, 0
 cq.cn, 0
 cr, 0
@@ -1233,6 +1249,7 @@
 dallas.museum, 0
 dance, 0
 database.museum, 0
+date, 0
 date.fukushima.jp, 0
 date.hokkaido.jp, 0
 dating, 0
@@ -1242,6 +1259,7 @@
 day, 0
 dazaifu.fukuoka.jp, 0
 dc.us, 0
+dclk, 0
 ddr.museum, 0
 de, 0
 de.com, 4
@@ -1265,6 +1283,7 @@
 depot.museum, 0
 desa.id, 0
 desi, 0
+design, 0
 design.aero, 0
 design.museum, 0
 detroit.museum, 0
@@ -1301,6 +1320,7 @@
 does-it.net, 4
 doesntexist.com, 4
 doesntexist.org, 4
+dog, 0
 doha, 0
 dolls.museum, 0
 domains, 0
@@ -1316,6 +1336,7 @@
 doosan, 0
 doshi.yamanashi.jp, 0
 dovre.no, 0
+download, 0
 dp.ua, 0
 dr.na, 0
 dr.tr, 0
@@ -1359,6 +1380,7 @@
 e.se, 0
 e12.ve, 0
 e164.arpa, 0
+earth, 0
 eastafrica.museum, 0
 eastcoast.museum, 0
 eat, 0
@@ -1549,6 +1571,7 @@
 environment.museum, 0
 environmentalconservation.museum, 0
 epilepsy.museum, 0
+epson, 0
 equipment, 0
 equipment.aero, 0
 er, 2
@@ -1600,9 +1623,12 @@
 f.bg, 0
 f.se, 0
 fail, 0
+fairwinds, 0
+faith, 0
 fam.pk, 0
 family.museum, 0
 fan, 0
+fans, 0
 far.br, 0
 fareast.ru, 0
 farm, 0
@@ -1657,6 +1683,7 @@
 firmdale, 0
 fish, 0
 fishing, 0
+fit, 0
 fitjar.no, 0
 fitness, 0
 fj, 2
@@ -1699,7 +1726,9 @@
 for-some.biz, 4
 for-the.biz, 4
 force.museum, 0
+ford, 0
 forde.no, 0
+forex, 0
 forgot.her.name, 4
 forgot.his.name, 4
 forli-cesena.it, 0
@@ -1898,6 +1927,7 @@
 gdynia.pl, 4
 ge, 0
 ge.it, 0
+gea, 0
 geek.nz, 0
 geelvinck.museum, 0
 geisei.kochi.jp, 0
@@ -1934,6 +1964,7 @@
 github.io, 4
 githubusercontent.com, 4
 gives, 0
+giving, 0
 gjemnes.no, 0
 gjerdrum.no, 0
 gjerstad.no, 0
@@ -1991,8 +2022,10 @@
 gok.pk, 0
 gokase.miyazaki.jp, 0
 gol.no, 0
+goldpoint, 0
 gon.pk, 0
 gonohe.aomori.jp, 0
+goog, 0
 google, 0
 googleapis.com, 4
 googlecode.com, 4
@@ -2192,6 +2225,7 @@
 gu, 2
 gu.us, 0
 gub.uy, 0
+gucci, 0
 guernsey.museum, 0
 guge, 0
 guide, 0
@@ -2258,6 +2292,7 @@
 handa.aichi.jp, 0
 handson.museum, 0
 hanggliding.aero, 0
+hangout, 0
 hannan.osaka.jp, 0
 hanno.saitama.jp, 0
 hanyu.saitama.jp, 0
@@ -2398,6 +2433,8 @@
 hjelmeland.no, 0
 hk, 0
 hk.cn, 0
+hk.com, 4
+hk.org, 4
 hl.cn, 0
 hl.no, 0
 hm, 0
@@ -2566,6 +2603,7 @@
 inatsuki.fukuoka.jp, 0
 inawashiro.fukushima.jp, 0
 inazawa.aichi.jp, 0
+inc.hk, 4
 incheon.kr, 0
 ind.br, 0
 ind.gt, 0
@@ -2804,12 +2842,14 @@
 izumozaki.niigata.jp, 0
 izunokuni.shizuoka.jp, 0
 j.bg, 0
+jaguar, 0
 jamal.ru, 0
 jamison.museum, 0
 jan-mayen.no, 0
 jar.ru, 0
 java, 0
 jaworzno.pl, 0
+jcb, 0
 je, 0
 jefferson.museum, 0
 jeju.kr, 0
@@ -2827,6 +2867,7 @@
 jgora.pl, 0
 jinsekikogen.hiroshima.jp, 0
 jl.cn, 0
+jlc, 0
 jm, 2
 jo, 0
 joboji.iwate.jp, 0
@@ -3080,6 +3121,7 @@
 kepno.pl, 0
 kesennuma.miyagi.jp, 0
 ketrzyn.pl, 0
+kfh, 0
 kg, 0
 kg.kr, 0
 kh, 2
@@ -3110,6 +3152,7 @@
 kimitsu.chiba.jp, 0
 kimobetsu.hokkaido.jp, 0
 kin.okinawa.jp, 0
+kinder, 0
 kinko.kagoshima.jp, 0
 kinokawa.wakayama.jp, 0
 kira.aichi.jp, 0
@@ -3315,6 +3358,7 @@
 kyotamba.kyoto.jp, 0
 kyotanabe.kyoto.jp, 0
 kyotango.kyoto.jp, 0
+kyoto, 0
 kyoto.jp, 0
 kyowa.akita.jp, 0
 kyowa.hokkaido.jp, 0
@@ -3337,6 +3381,7 @@
 land, 0
 land-4-sale.us, 4
 landes.museum, 0
+landrover, 0
 langevag.no, 0
 lans.museum, 0
 lapy.pl, 0
@@ -3449,6 +3494,7 @@
 lier.no, 0
 lierne.no, 0
 life, 0
+lifestyle, 0
 lig.it, 0
 lighting, 0
 liguria.it, 0
@@ -3459,12 +3505,15 @@
 limanowa.pl, 0
 limited, 0
 limo, 0
+lincoln, 0
 lincoln.museum, 0
 lindas.no, 0
+linde, 0
 lindesnes.no, 0
 link, 0
 linz.museum, 0
 lipetsk.ru, 0
+live, 0
 living.museum, 0
 livinghistory.museum, 0
 livorno.it, 0
@@ -3472,6 +3521,7 @@
 ln.cn, 0
 lo.it, 0
 loabat.no, 0
+loan, 0
 loans, 0
 localhistory.museum, 0
 lodi.it, 0
@@ -3488,6 +3538,7 @@
 lorenskog.no, 0
 losangeles.museum, 0
 loten.no, 0
+lotte, 0
 lotto, 0
 louvre.museum, 0
 lowicz.pl, 0
@@ -3500,6 +3551,7 @@
 ltd, 0
 ltd.co.im, 0
 ltd.gi, 0
+ltd.hk, 4
 ltd.lk, 0
 ltd.uk, 0
 ltda, 0
@@ -3513,6 +3565,7 @@
 lukow.pl, 0
 lund.no, 0
 lunner.no, 0
+lupin, 0
 luroy.no, 0
 luster.no, 0
 lutsk.ua, 0
@@ -3554,6 +3607,7 @@
 malselv.no, 0
 malvik.no, 0
 mamurogawa.yamagata.jp, 0
+man, 0
 management, 0
 manchester.museum, 0
 mandal.no, 0
@@ -3577,6 +3631,7 @@
 market, 0
 marketing, 0
 marketplace.aero, 0
+markets, 0
 marnardal.no, 0
 marriott, 0
 marugame.kagawa.jp, 0
@@ -3661,6 +3716,7 @@
 memorial, 0
 memorial.museum, 0
 menu, 0
+meo, 0
 meraker.no, 0
 merseine.nu, 4
 mesaverde.museum, 0
@@ -3845,6 +3901,7 @@
 mk.ua, 0
 ml, 0
 mm, 2
+mma, 0
 mn, 0
 mn.it, 0
 mn.us, 0
@@ -3929,6 +3986,8 @@
 mt, 0
 mt.it, 0
 mt.us, 0
+mtn, 0
+mtpc, 0
 mu, 0
 muenchen.museum, 0
 muenster.museum, 0
@@ -3980,6 +4039,7 @@
 naamesjevuemie.no, 0
 nabari.mie.jp, 0
 nachikatsuura.wakayama.jp, 0
+nadex, 0
 nagahama.shiga.jp, 0
 nagai.yamagata.jp, 0
 nagano.jp, 0
@@ -4274,6 +4334,7 @@
 nic.tj, 0
 nichinan.miyazaki.jp, 0
 nichinan.tottori.jp, 0
+nico, 0
 nid.io, 4
 niepce.museum, 0
 nieruchomosci.pl, 0
@@ -4363,6 +4424,7 @@
 norfolk.museum, 0
 norilsk.ru, 0
 north.museum, 0
+norton, 0
 nose.osaka.jp, 0
 nosegawa.nara.jp, 0
 noshiro.akita.jp, 0
@@ -4526,6 +4588,7 @@
 on-the-web.tv, 4
 on.ca, 0
 onagawa.miyagi.jp, 0
+one, 0
 ong, 0
 onga.fukuoka.jp, 0
 onjuku.chiba.jp, 0
@@ -4785,12 +4848,14 @@
 paderborn.museum, 0
 padova.it, 0
 padua.it, 0
+page, 0
 palace.museum, 0
 palana.ru, 0
 paleo.museum, 0
 palermo.it, 0
 palmsprings.museum, 0
 panama.museum, 0
+panerai, 0
 parachuting.aero, 0
 paragliding.aero, 0
 paris, 0
@@ -4837,6 +4902,7 @@
 philadelphia.museum, 0
 philadelphiaarea.museum, 0
 philately.museum, 0
+philips, 0
 phoenix.museum, 0
 photo, 0
 photography, 0
@@ -4998,6 +5064,7 @@
 r.bg, 0
 r.se, 0
 ra.it, 0
+racing, 0
 rade.no, 0
 radio.br, 0
 radom.pl, 0
@@ -5050,6 +5117,7 @@
 rendalen.no, 0
 rennebu.no, 0
 rennesoy.no, 0
+rent, 0
 rentals, 0
 rep.kp, 0
 repair, 0
@@ -5063,12 +5131,14 @@
 resistance.museum, 0
 rest, 0
 restaurant, 0
+review, 0
 reviews, 0
 rg.it, 0
 rhcloud.com, 4
 ri.it, 0
 ri.us, 0
 rich, 0
+ricoh, 0
 rieti.it, 0
 rifu.miyagi.jp, 0
 riik.ee, 0
@@ -5208,6 +5278,7 @@
 sale, 0
 salem.museum, 0
 salerno.it, 0
+salon, 0
 saltdal.no, 0
 salvadordali.museum, 0
 salzburg.museum, 0
@@ -5226,6 +5297,8 @@
 sandnes.no, 0
 sandnessjoen.no, 0
 sandoy.no, 0
+sandvik, 0
+sandvikcoromant, 0
 sanfrancisco.museum, 0
 sango.nara.jp, 0
 sanjo.niigata.jp, 0
@@ -5240,6 +5313,7 @@
 sanuki.kagawa.jp, 0
 saotome.st, 0
 sap, 0
+sapo, 0
 sapporo.jp, 2
 sar.it, 0
 saratov.ru, 0
@@ -5269,6 +5343,7 @@
 sayo.hyogo.jp, 0
 sb, 0
 sb.ua, 0
+sbs, 0
 sc, 0
 sc.cn, 0
 sc.kr, 0
@@ -5325,6 +5400,7 @@
 seat, 0
 sebastopol.ua, 0
 sec.ps, 0
+seek, 0
 seihi.nagasaki.jp, 0
 seika.kyoto.jp, 0
 seiro.niigata.jp, 0
@@ -5372,6 +5448,7 @@
 settsu.osaka.jp, 0
 sevastopol.ua, 0
 sew, 0
+sex, 0
 sex.hu, 0
 sex.pl, 0
 sexy, 0
@@ -5593,6 +5670,7 @@
 spiegel, 0
 spjelkavik.no, 0
 sport.hu, 0
+spreadbetting, 0
 spy.museum, 0
 spydeberg.no, 0
 square.museum, 0
@@ -5603,6 +5681,7 @@
 ss.it, 0
 st, 0
 st.no, 0
+stada, 0
 stadt.museum, 0
 stalbans.museum, 0
 stalowa-wola.pl, 0
@@ -5616,6 +5695,7 @@
 stateofdelaware.museum, 0
 stathelle.no, 0
 station.museum, 0
+statoil, 0
 stavanger.no, 0
 stavern.no, 0
 stavropol.ru, 0
@@ -5644,10 +5724,12 @@
 stranda.no, 0
 stryn.no, 0
 student.aero, 0
+study, 0
 stuff-4-sale.org, 4
 stuff-4-sale.us, 4
 stuttgart.museum, 0
 stv.ru, 0
+style, 0
 su, 0
 sue.fukuoka.jp, 0
 suedtirol.it, 0
@@ -5703,6 +5785,7 @@
 sydney, 0
 sydney.museum, 0
 sykkylven.no, 0
+symantec, 0
 systems, 0
 syzran.ru, 0
 sz, 0
@@ -5714,6 +5797,7 @@
 t.se, 0
 ta.it, 0
 taa.it, 0
+tab, 0
 tabayama.yamanashi.jp, 0
 tabuse.yamaguchi.jp, 0
 tachiarai.fukuoka.jp, 0
@@ -5837,6 +5921,7 @@
 tendo.yamagata.jp, 0
 tenei.fukushima.jp, 0
 tenkawa.nara.jp, 0
+tennis, 0
 tenri.nara.jp, 0
 teo.br, 0
 teramo.it, 0
@@ -5860,6 +5945,7 @@
 tingvoll.no, 0
 tinn.no, 0
 tips, 0
+tires, 0
 tirol, 0
 tj, 0
 tj.cn, 0
@@ -5989,6 +6075,7 @@
 tra.kp, 0
 trade, 0
 trader.aero, 0
+trading, 0
 trading.aero, 0
 traeumtgerade.de, 4
 trainer.aero, 0
@@ -6110,6 +6197,7 @@
 u.se, 0
 ua, 0
 ube.yamaguchi.jp, 0
+ubs, 0
 uchihara.ibaraki.jp, 0
 uchiko.ehime.jp, 0
 uchinada.ishikawa.jp, 0
@@ -6240,6 +6328,7 @@
 vallee-aoste.it, 0
 valleeaoste.it, 0
 valley.museum, 0
+vana, 0
 vang.no, 0
 vantaa.museum, 0
 vanylven.no, 0
@@ -6313,6 +6402,7 @@
 vista, 0
 vistaprint, 0
 viterbo.it, 0
+viva, 0
 vlaanderen, 0
 vlaanderen.museum, 0
 vladikavkaz.ru, 0
@@ -6363,6 +6453,7 @@
 wales, 0
 wales.museum, 0
 wallonie.museum, 0
+walter, 0
 wang, 0
 wanouchi.gifu.jp, 0
 war.museum, 0
@@ -6409,6 +6500,7 @@
 wildlife.museum, 0
 williamhill, 0
 williamsburg.museum, 0
+win, 0
 windmill.museum, 0
 withgoogle.com, 4
 wlocl.pl, 0
@@ -6437,6 +6529,7 @@
 x.bg, 0
 x.se, 0
 xerox, 0
+xin, 0
 xj.cn, 0
 xn--0trq7p7nn.jp, 0
 xn--1ctwo.jp, 0
@@ -6570,6 +6663,7 @@
 xn--hyanger-q1a.no, 0
 xn--hylandet-54a.no, 0
 xn--i1b6b1a6a2e, 0
+xn--imr513n, 0
 xn--indery-fya.no, 0
 xn--io0a7i, 0
 xn--io0a7i.cn, 0
@@ -6581,6 +6675,7 @@
 xn--k7yn95e.jp, 0
 xn--karmy-yua.no, 0
 xn--kbrq7o.jp, 0
+xn--kcrx77d1x4a, 0
 xn--kfjord-iua.no, 0
 xn--klbu-woa.no, 0
 xn--klt787d.jp, 0
@@ -6623,6 +6718,7 @@
 xn--merker-kua.no, 0
 xn--mgb2ddes, 0
 xn--mgb9awbf, 0
+xn--mgba3a3ejt, 0
 xn--mgba3a4f16a, 0
 xn--mgba3a4f16a.ir, 0
 xn--mgba3a4fra, 0
@@ -6655,6 +6751,7 @@
 xn--mxtq1m, 0
 xn--mxtq1m.hk, 0
 xn--ngbc5azd, 0
+xn--ngbe9e0a, 0
 xn--nit225k.jp, 0
 xn--nmesjevuemie-tcba.no, 0
 xn--nnx388a, 0
@@ -6666,6 +6763,7 @@
 xn--ntsq17g.jp, 0
 xn--nttery-byae.no, 0
 xn--nvuotna-hwa.no, 0
+xn--nyqy26a, 0
 xn--o1ac.xn--90a3ac, 0
 xn--o1ach.xn--90a3ac, 0
 xn--o3cw4h, 0
@@ -6858,6 +6956,7 @@
 yekaterinburg.ru, 0
 yk.ca, 0
 yn.cn, 0
+yodobashi, 0
 yoga, 0
 yoichi.hokkaido.jp, 0
 yoita.niigata.jp, 0
@@ -6925,6 +7024,7 @@
 zao.miyagi.jp, 0
 zaporizhzhe.ua, 0
 zaporizhzhia.ua, 0
+zara, 0
 zarow.pl, 0
 zentsuji.kagawa.jp, 0
 zgora.pl, 0
@@ -6941,6 +7041,7 @@
 zoology.museum, 0
 zp.ua, 0
 zt.ua, 0
+zuerich, 0
 zushi.kanagawa.jp, 0
 zw, 2
 %%
diff --git a/net/http/transport_security_state_static.certs b/net/http/transport_security_state_static.certs
index 525d05b..33eb510 100644
--- a/net/http/transport_security_state_static.certs
+++ b/net/http/transport_security_state_static.certs
@@ -1100,52 +1100,6 @@
 +MPpZqmyIJ3E+LgDYqeF0RhjWw==
 -----END CERTIFICATE-----
 
-CryptoCat1
------BEGIN CERTIFICATE-----
-MIIHtTCCBp2gAwIBAgIQBQJvUvveB1Ep7CH9FkuAMjANBgkqhkiG9w0BAQUFADBm
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
-ZSBDQS0zMB4XDTEyMTEwOTAwMDAwMFoXDTE1MDExMjEyMDAwMFowczELMAkGA1UE
-BhMCQ0ExDzANBgNVBAgTBlF1ZWJlYzERMA8GA1UEBxMITW9udHJlYWwxFzAVBgNV
-BAoTDk5hZGltIEtvYmVpc3NpMRIwEAYDVQQLEwlDcnlwdG9jYXQxEzARBgNVBAMT
-CmNyeXB0by5jYXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDS1vdN
-oZ+gNyjs3RnyQ0ZfQ8aGeRvnzYBZsZawwmRN/aSzdYhwxENAKr1wUnJk7aiXhYWq
-Z+ME/GUI8/89LHyHImQtVxTVRgfDSQSeciP7fplJGDNTz9+IOS849doom2sTsolH
-WJtJ/ggSDX4igDc+6/c3D1rz34gAGspQ1XK2TZEcPvN6+IW9a+BUqYMfyRZmoft6
-YfDDf8S36weyyIASoRc9nB02wvOJ/7ME8sbExXbUEjQBr/HFcI3IwElft32zLsVu
-NWdYz0TsFHG5tPhHSGQ/QI85uON4TJthlu3T0lV//T5nME2hijRcMo4C/yD+JK5Y
-4h0tLCHrce4xx4au4EPF2YoGO8IEPVlQLJb5Yz92vQaAA15NnDSCVlb4Tfe6zwsf
-7qBBobM9A1ZTKDtQiZZLHIACmJ4EfENtSFE+On3y31vvkaWXRROgo1Z0ECNBynb4
-ubPTlR2ZlAeE7Qp3b3GdMmnIP8QPn6tSxqYEveLwqOhXD/Upa5qxjnbbwQk1SRpA
-Pbvz5waGzA/9UXLwcgJguqh3cLIuKmOysCG6qiSkpfzSdeCDa4vheLJl+rUbS0DV
-abcRkRUmzRvNCeYYlTe6I0gHRC1UPef8aj2ppinw+9dWiQVxhjjIhw8JyGjM5Qg9
-NH5lDyXEuoS7f/VOTOOhAHvHSl5Ec/iXYU7PpQIDAQABo4IDUDCCA0wwHwYDVR0j
-BBgwFoAUUOpzidsp+xCPnuUBINTeeZlIg/cwHQYDVR0OBBYEFPtM/u402qRHQsv4
-C3aUc3BKnofhMCUGA1UdEQQeMByCCmNyeXB0by5jYXSCDnd3dy5jcnlwdG8uY2F0
-MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
-YQYDVR0fBFowWDAqoCigJoYkaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL2NhMy1n
-MTYuY3JsMCqgKKAmhiRodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vY2EzLWcxNi5j
-cmwwggHEBgNVHSAEggG7MIIBtzCCAbMGCWCGSAGG/WwBATCCAaQwOgYIKwYBBQUH
-AgEWLmh0dHA6Ly93d3cuZGlnaWNlcnQuY29tL3NzbC1jcHMtcmVwb3NpdG9yeS5o
-dG0wggFkBggrBgEFBQcCAjCCAVYeggFSAEEAbgB5ACAAdQBzAGUAIABvAGYAIAB0
-AGgAaQBzACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAYwBvAG4AcwB0AGkAdAB1
-AHQAZQBzACAAYQBjAGMAZQBwAHQAYQBuAGMAZQAgAG8AZgAgAHQAaABlACAARABp
-AGcAaQBDAGUAcgB0ACAAQwBQAC8AQwBQAFMAIABhAG4AZAAgAHQAaABlACAAUgBl
-AGwAeQBpAG4AZwAgAFAAYQByAHQAeQAgAEEAZwByAGUAZQBtAGUAbgB0ACAAdwBo
-AGkAYwBoACAAbABpAG0AaQB0ACAAbABpAGEAYgBpAGwAaQB0AHkAIABhAG4AZAAg
-AGEAcgBlACAAaQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABoAGUAcgBlAGkAbgAg
-AGIAeQAgAHIAZQBmAGUAcgBlAG4AYwBlAC4wewYIKwYBBQUHAQEEbzBtMCQGCCsG
-AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRQYIKwYBBQUHMAKGOWh0
-dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhpZ2hBc3N1cmFuY2VD
-QS0zLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQBlJ+AAe5Il
-9Tj9ZD7Equ9JjdbKi5srhjEDtDXtvl/2ga8Bjbh2qs0Qb18DtfpdTdIPuDF2KKjW
-kIQabl4h8s5NcQ/U7+AssAyKZGjiHs40G0iAlHpMeo/YzzEVqfoG+AT6c8caL4b0
-M2FnRee23OuKUdPixln3iShViViKt29NqDliIu4/IaeB7WkgJgljtIPNPZVoNqXa
-TvwjIDhO+wtc3qXjtO1zej3+GBmGz7RcZckturc2pZe3NRWQ7wO8ZzWShWU/ii3z
-2PftKlqZo3WAeJoUCPtQNsLnBFGvdUx2rUZwMhdgPuGeV4kEULAtu8M74xR5/Opz
-nRGP22zr1K4q
------END CERTIFICATE-----
-
 Libertylavabitcom
 -----BEGIN CERTIFICATE-----
 MIIGWjCCBUKgAwIBAgIHAMn6RGIIgjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
diff --git a/net/http/transport_security_state_static.h b/net/http/transport_security_state_static.h
index 604afa1..81c9957 100644
--- a/net/http/transport_security_state_static.h
+++ b/net/http/transport_security_state_static.h
@@ -466,10 +466,6 @@
     "\xe5\x24\xe9\x8e\x31\x7d\xc8\xfc\xad\x90"
     "\x53\x7c\x91\xe7\x0d\xa4\x70\x93\x90\x5f";
 
-static const char kSPKIHash_CryptoCat1[] =
-    "\x4c\x87\xce\x85\x2c\xf4\xc0\x4d\x67\xa9"
-    "\xe0\xec\x51\x0c\x7f\x3b\x14\xb3\xe9\xc9";
-
 static const char kSPKIHash_Libertylavabitcom[] =
     "\x41\xbb\x3b\x8b\xc7\xcf\x3d\x13\x3f\x17"
     "\xb3\x25\x7e\xe4\x03\xca\x8a\x5c\x6d\x36";
@@ -631,11 +627,6 @@
   kSPKIHash_Tor2web,
   NULL,
 };
-static const char* const kCryptoCatAcceptableCerts[] = {
-  kSPKIHash_DigiCertEVRoot,
-  kSPKIHash_CryptoCat1,
-  NULL,
-};
 static const char* const kLavabitAcceptableCerts[] = {
   kSPKIHash_Libertylavabitcom,
   NULL,
@@ -681,7 +672,6 @@
   {kTwitterComAcceptableCerts, kNoRejectedPublicKeys},
   {kTwitterCDNAcceptableCerts, kNoRejectedPublicKeys},
   {kTor2webAcceptableCerts, kNoRejectedPublicKeys},
-  {kCryptoCatAcceptableCerts, kNoRejectedPublicKeys},
   {kLavabitAcceptableCerts, kNoRejectedPublicKeys},
   {kDropboxAcceptableCerts, kNoRejectedPublicKeys},
   {kFacebookAcceptableCerts, kNoRejectedPublicKeys},
@@ -1420,21 +1410,21 @@
   0xf8, 0x15, 0x3a, 0x5c, 0x27, 0xaf, 0xf2, 0xf9,
   0xfb, 0xf4, 0xd5, 0xac, 0xb9, 0xd3, 0xea, 0x36,
   0x7e, 0xca, 0x4e, 0x9f, 0x7a, 0xab, 0x43, 0x0f,
-  0x97, 0xec, 0xf9, 0x78, 0x41, 0xa1, 0xf2, 0xfd,
-  0x9b, 0x9e, 0x7c, 0xbf, 0x67, 0xb4, 0x7e, 0x54,
-  0xf9, 0x7e, 0xc6, 0xa7, 0xa3, 0xf2, 0x29, 0xf2,
-  0xe5, 0x73, 0xe7, 0xcb, 0xf6, 0x0f, 0x97, 0xec,
-  0xdd, 0x73, 0xe5, 0xfa, 0xc2, 0xde, 0x4f, 0xf9,
-  0xfd, 0x68, 0x93, 0x3d, 0x9b, 0x1e, 0x01, 0xf2,
-  0xfd, 0x83, 0xe5, 0xfb, 0x30, 0x14, 0xf9, 0x7e,
-  0xcf, 0xf6, 0x03, 0x87, 0x1b, 0x66, 0xa7, 0xcb,
-  0xf6, 0x7e, 0xcb, 0x7a, 0xba, 0x50, 0x7c, 0xbf,
+  0x87, 0xec, 0xf9, 0x78, 0x41, 0xa1, 0xf0, 0xfd,
+  0x9b, 0x9e, 0x7c, 0x3f, 0x67, 0xb4, 0x7e, 0x54,
+  0xf8, 0x7e, 0xc6, 0xa7, 0xa3, 0xf2, 0x29, 0xf2,
+  0xe5, 0x73, 0xe7, 0xc3, 0xf6, 0x0f, 0x87, 0xec,
+  0xdd, 0x73, 0xe1, 0xfa, 0xc2, 0xde, 0x4f, 0xf9,
+  0xfd, 0x68, 0x93, 0x3d, 0x9b, 0x1e, 0x01, 0xf0,
+  0xfd, 0x83, 0xe1, 0xfb, 0x30, 0x14, 0xf8, 0x7e,
+  0xcf, 0xf6, 0x03, 0x87, 0x1b, 0x66, 0xa7, 0xc3,
+  0xf6, 0x7e, 0xcb, 0x7a, 0xba, 0x50, 0x7c, 0x3f,
   0x60, 0x08, 0xa3, 0xf9, 0x15, 0x51, 0x67, 0x86,
-  0x85, 0xb9, 0xf2, 0xfd, 0x83, 0xe5, 0xfb, 0x86,
-  0xba, 0x60, 0x84, 0xf9, 0x7e, 0xc3, 0xd5, 0x88,
+  0x85, 0xb9, 0xf0, 0xfd, 0x83, 0xe1, 0xfb, 0x86,
+  0xba, 0x60, 0x84, 0xf8, 0x7e, 0xc3, 0xd5, 0x88,
   0xea, 0x6b, 0x90, 0x84, 0xa6, 0x13, 0xa2, 0x52,
   0xc3, 0x1a, 0xc2, 0xea, 0xeb, 0xc1, 0x26, 0x9e,
-  0xc7, 0xae, 0xd2, 0xe5, 0xfa, 0xe4, 0x47, 0xcf,
+  0xc7, 0xae, 0xd2, 0xe1, 0xfa, 0xe4, 0x47, 0xcf,
   0xfb, 0x13, 0x5c, 0x10, 0xf5, 0x9a, 0x3a, 0x67,
   0xd0, 0x54, 0x50, 0x89, 0x5a, 0x50, 0x7e, 0x7b,
   0x02, 0xb9, 0x29, 0xd3, 0x8c, 0x53, 0xff, 0xf5,
@@ -1676,7 +1666,7 @@
   0xda, 0x13, 0x20, 0x21, 0x9f, 0xcb, 0xf7, 0xff,
   0x30, 0x07, 0x4f, 0xe7, 0xe0, 0xd7, 0xeb, 0x41,
   0xd3, 0xff, 0xca, 0xd9, 0x45, 0xdb, 0xef, 0xfc,
-  0xa3, 0xc2, 0x7b, 0xbd, 0xe7, 0xff, 0xb2, 0xeb,
+  0xa3, 0xc2, 0x7b, 0x3d, 0xe7, 0xff, 0xb2, 0xeb,
   0xf4, 0xcb, 0xdb, 0xc2, 0x04, 0x3a, 0x7d, 0xd5,
   0xcf, 0xdc, 0xe9, 0xd7, 0xed, 0x99, 0xd3, 0xfa,
   0xf6, 0xf3, 0x81, 0xde, 0x3a, 0x28, 0x4c, 0x8f,
@@ -1758,8 +1748,8 @@
   0x9c, 0x54, 0x66, 0x6f, 0x79, 0xd3, 0xd7, 0xa3,
   0xbe, 0x74, 0xf5, 0x35, 0xeb, 0x9d, 0x14, 0x1e,
   0xee, 0x0c, 0xd8, 0x8a, 0x7f, 0x7f, 0x83, 0x5a,
-  0xa8, 0x0e, 0x9c, 0x10, 0x84, 0xf8, 0x7d, 0x4e,
-  0xef, 0xea, 0x5c, 0x3e, 0x9c, 0x6a, 0x63, 0x54,
+  0xa8, 0x0e, 0x9c, 0x10, 0x84, 0xf7, 0x7d, 0x4e,
+  0xef, 0xea, 0x5b, 0xbe, 0x9c, 0x6a, 0x63, 0x54,
   0x4a, 0x01, 0x6e, 0x7f, 0xfd, 0x9f, 0xf6, 0xd7,
   0x56, 0xf6, 0xd3, 0x9e, 0xf5, 0x3a, 0x28, 0x3f,
   0xcd, 0xa4, 0x91, 0xb2, 0x95, 0x77, 0xbc, 0xd3,
@@ -1975,218 +1965,217 @@
   0xfc, 0x03, 0xa1, 0xb8, 0xa9, 0xc7, 0x0b, 0x50,
   0xc2, 0x95, 0xa1, 0x3e, 0xe8, 0x49, 0x5d, 0x75,
   0xb1, 0xac, 0xf8, 0x53, 0xb9, 0x0d, 0x11, 0x74,
-  0xfa, 0xe0, 0xdf, 0xf7, 0x96, 0xcf, 0x69, 0x3b,
-  0x0f, 0x9f, 0x8c, 0x21, 0xc9, 0x84, 0x3e, 0x1c,
-  0x53, 0xff, 0x33, 0x9e, 0xec, 0x14, 0xee, 0x43,
-  0x44, 0xcd, 0x3a, 0x95, 0xa9, 0xd3, 0x93, 0xcc,
-  0x3a, 0x76, 0xca, 0xd8, 0xd9, 0x47, 0x4f, 0x93,
-  0xad, 0xe6, 0x8e, 0x9f, 0xf9, 0xbf, 0xd7, 0xf2,
-  0x7b, 0x5b, 0xe2, 0x1d, 0x3f, 0xff, 0xda, 0x77,
-  0xd3, 0xf9, 0xad, 0xb4, 0xdd, 0x65, 0x78, 0xad,
-  0x07, 0x46, 0x22, 0xc6, 0xc8, 0xf3, 0xff, 0xed,
-  0x7d, 0xfa, 0x32, 0xbe, 0xeb, 0x38, 0x21, 0x09,
-  0x53, 0xc9, 0xdc, 0x86, 0x8b, 0x3e, 0x7f, 0xfb,
-  0xc3, 0x6e, 0xdd, 0x8d, 0xbf, 0x95, 0xcf, 0x9d,
-  0x38, 0x21, 0x09, 0x53, 0xfe, 0xe7, 0xd7, 0xf8,
-  0x9a, 0xe0, 0x94, 0xe2, 0xf2, 0x7f, 0x96, 0xde,
-  0xd7, 0xfd, 0xcd, 0x1d, 0x3f, 0xde, 0xfe, 0xbb,
-  0xf5, 0xd2, 0xf5, 0x3a, 0x11, 0x3b, 0x31, 0x58,
-  0xb1, 0x58, 0x1b, 0x6e, 0x96, 0xd8, 0xe6, 0x7f,
-  0xff, 0xfe, 0xcc, 0x05, 0x73, 0x3f, 0xb7, 0x78,
-  0xfd, 0x72, 0xce, 0xaf, 0xf2, 0x86, 0x63, 0x0e,
-  0x9d, 0x55, 0xa0, 0xe9, 0xdb, 0x19, 0x63, 0xa1,
-  0xe8, 0xc4, 0xac, 0x22, 0xae, 0x39, 0x3d, 0x48,
-  0x34, 0x43, 0xa7, 0xd6, 0xfa, 0xe0, 0x99, 0x3f,
-  0xef, 0x0b, 0xf0, 0x68, 0xd3, 0xb5, 0x34, 0x41,
-  0xae, 0x34, 0xb3, 0xee, 0x4f, 0x31, 0x4e, 0x9f,
-  0x9f, 0x6f, 0xf5, 0x37, 0x3a, 0x58, 0x87, 0xa7,
-  0xf2, 0x59, 0xff, 0xff, 0x70, 0x6f, 0x96, 0xba,
-  0xe7, 0xe9, 0xbe, 0x0f, 0xa8, 0xe6, 0x1d, 0x0f,
-  0x4d, 0x03, 0x21, 0x5f, 0xf2, 0x69, 0xf8, 0x73,
-  0x5a, 0xd9, 0x4e, 0x9f, 0xff, 0xda, 0x7f, 0xb6,
-  0xee, 0xdf, 0xfe, 0xbd, 0x7d, 0x4d, 0xbc, 0x13,
-  0xa7, 0xff, 0xfa, 0xb5, 0x51, 0xba, 0xb9, 0x99,
-  0x7a, 0xef, 0xaf, 0x3f, 0x0e, 0x9e, 0xb6, 0x79,
-  0xb1, 0xd1, 0xe4, 0x44, 0xd9, 0x9a, 0x66, 0x6c,
-  0x86, 0x8b, 0xf2, 0x7f, 0xe7, 0xdf, 0x47, 0xbd,
-  0x97, 0xba, 0xb0, 0xe9, 0xff, 0xbd, 0x9f, 0xcc,
-  0xae, 0xe7, 0xd5, 0x87, 0x45, 0x28, 0x8b, 0xaa,
-  0x34, 0xf7, 0xfe, 0xa8, 0x74, 0x2a, 0x63, 0x5a,
-  0x91, 0xe4, 0x2c, 0xf8, 0x92, 0x7f, 0xff, 0xe6,
-  0xf5, 0xb7, 0x98, 0xe6, 0x9f, 0xc3, 0xbe, 0xde,
-  0xa6, 0xa9, 0xea, 0x0e, 0x9f, 0x69, 0x95, 0xf7,
-  0xce, 0x9e, 0xdf, 0xa7, 0x54, 0xe9, 0xff, 0x5e,
-  0xa0, 0xf5, 0x34, 0xbf, 0x2e, 0x74, 0x29, 0xf2,
-  0xe1, 0x24, 0xcd, 0x68, 0x74, 0x98, 0x74, 0x52,
-  0x6a, 0x1b, 0xb1, 0x89, 0xff, 0xff, 0x5b, 0xd4,
-  0xdf, 0x29, 0xb8, 0x8a, 0xdc, 0x1b, 0xfe, 0xfb,
-  0x61, 0xd3, 0x82, 0x10, 0x95, 0x3d, 0xae, 0xbd,
-  0xf2, 0x9c, 0x5e, 0x4f, 0xfb, 0xac, 0x9e, 0xed,
-  0xd5, 0xeb, 0x1d, 0x0a, 0x99, 0x12, 0x13, 0xfa,
-  0x11, 0x76, 0x32, 0x9f, 0xfb, 0x3f, 0x4d, 0xf0,
-  0x7d, 0x47, 0x30, 0xe9, 0xf6, 0x5d, 0xec, 0xb1,
-  0xd0, 0xa7, 0xd7, 0x54, 0x49, 0x81, 0x63, 0xa7,
-  0xea, 0x1a, 0x7b, 0x70, 0x68, 0x3a, 0x7f, 0x6d,
-  0xb6, 0x5e, 0xde, 0xb9, 0xd3, 0x78, 0x4e, 0x8d,
-  0x94, 0x7f, 0xde, 0x34, 0xb1, 0xac, 0xff, 0xed,
-  0x75, 0x5d, 0x45, 0x6f, 0xe4, 0xf6, 0xa7, 0x49,
-  0xcd, 0xd1, 0x99, 0xd5, 0xb2, 0xc3, 0x8a, 0x37,
-  0x41, 0x5e, 0xb0, 0xd8, 0xc8, 0xf5, 0x69, 0x8c,
-  0x73, 0xc6, 0xad, 0x47, 0x10, 0x26, 0xac, 0x2c,
-  0xb4, 0xa0, 0xde, 0x41, 0x03, 0xd7, 0xe1, 0x1b,
-  0x58, 0xda, 0xaf, 0x0a, 0xc0, 0x90, 0xec, 0x42,
-  0x53, 0x79, 0xac, 0x39, 0x9d, 0x25, 0x6a, 0x69,
-  0xb4, 0xff, 0xe7, 0x33, 0x9e, 0xec, 0x14, 0xee,
-  0x43, 0x44, 0xd9, 0x3f, 0x9d, 0x82, 0x9d, 0xc8,
-  0x68, 0xab, 0x67, 0xf3, 0xdf, 0xa5, 0xfe, 0xaf,
-  0x3a, 0x7b, 0x2d, 0xd7, 0x3a, 0x5b, 0x26, 0x1e,
-  0xa7, 0xcd, 0x27, 0xc2, 0x9d, 0xc8, 0x68, 0xad,
-  0x27, 0xff, 0x91, 0x47, 0x01, 0xcc, 0xe7, 0xaf,
-  0x90, 0xe9, 0xff, 0xe7, 0xd7, 0x3e, 0xac, 0xec,
-  0xbd, 0xd5, 0x87, 0x4d, 0x7b, 0xaa, 0x25, 0xf9,
-  0x2a, 0x7f, 0x2b, 0x6d, 0xf7, 0xfa, 0x80, 0xe9,
-  0xfa, 0x8c, 0xb7, 0xb1, 0x87, 0x4f, 0xf6, 0x37,
-  0xfd, 0x43, 0x4b, 0xea, 0x74, 0xfe, 0x7e, 0x5f,
-  0xbe, 0x0d, 0x0e, 0x93, 0x9b, 0x89, 0xf9, 0x61,
-  0x67, 0xa1, 0x8f, 0x62, 0xde, 0x36, 0xf9, 0x6d,
-  0xcf, 0x27, 0xf3, 0xb0, 0x53, 0xb9, 0x0d, 0x16,
-  0x04, 0xf8, 0x53, 0xb9, 0x0d, 0x13, 0xac, 0xff,
-  0xfe, 0xb2, 0xd1, 0xae, 0x31, 0xd5, 0xae, 0x5b,
-  0xd5, 0xd2, 0x83, 0xa7, 0xce, 0x67, 0x3d, 0xd8,
-  0x89, 0x56, 0x8c, 0x27, 0xc2, 0x9d, 0xc8, 0x68,
-  0xb6, 0x67, 0xfc, 0x05, 0xab, 0xad, 0xe4, 0xe1,
-  0x3a, 0x4e, 0xc3, 0xec, 0xe3, 0x09, 0xe4, 0xee,
-  0x43, 0x45, 0xcd, 0x26, 0x1d, 0x33, 0xb0, 0x4d,
-  0xd8, 0x4a, 0xe7, 0xf3, 0xb0, 0x53, 0xb9, 0x0d,
-  0x17, 0x7c, 0xf3, 0xb6, 0xea, 0x03, 0xa1, 0x5b,
-  0x49, 0x8c, 0xa7, 0x5d, 0xa1, 0x85, 0x2a, 0x5e,
-  0x95, 0x02, 0x2e, 0x4c, 0x86, 0x80, 0x21, 0x59,
-  0x56, 0x1b, 0x95, 0xef, 0x3b, 0x9f, 0xf7, 0xf9,
-  0xcb, 0x5a, 0xb3, 0x9e, 0x74, 0xfe, 0xfd, 0x18,
-  0xdf, 0x75, 0xda, 0x74, 0xf8, 0x53, 0xb9, 0x0d,
-  0x12, 0xbc, 0xf6, 0x9c, 0x2f, 0x3a, 0x7f, 0xff,
-  0x7a, 0xfc, 0xce, 0xf8, 0x2c, 0x1e, 0xfd, 0x09,
-  0xea, 0x0e, 0x95, 0xb5, 0x44, 0x1f, 0x10, 0xce,
-  0xe7, 0xb9, 0x53, 0x14, 0xc3, 0x8a, 0xc2, 0xce,
-  0x75, 0xd7, 0x52, 0xa7, 0xff, 0x5b, 0xbd, 0x75,
-  0x7f, 0x86, 0x8d, 0x00, 0x54, 0xfe, 0xe4, 0x76,
-  0xa2, 0xdd, 0xb9, 0x4f, 0x9e, 0xa3, 0x92, 0x72,
-  0x2a, 0x4b, 0x64, 0x6a, 0x2d, 0xa1, 0x59, 0x3f,
+  0xfa, 0xe0, 0xdf, 0xf7, 0x95, 0x27, 0x61, 0xed,
+  0x71, 0x84, 0x39, 0x1f, 0x6f, 0x86, 0xac, 0xff,
+  0xcc, 0xe7, 0xbb, 0x05, 0x3b, 0x90, 0xd1, 0x33,
+  0x4e, 0xa5, 0x6a, 0x74, 0xe4, 0xf3, 0x0e, 0x9d,
+  0xb2, 0xb6, 0x36, 0x51, 0xd3, 0xe4, 0xeb, 0x79,
+  0xa3, 0xa7, 0xfe, 0x6f, 0xf5, 0xfc, 0x9e, 0xd6,
+  0xf8, 0x87, 0x4f, 0xff, 0xf6, 0x9d, 0xf4, 0xfe,
+  0x6b, 0x6d, 0x37, 0x59, 0x5e, 0x2b, 0x41, 0xd1,
+  0x88, 0xb1, 0xb2, 0x3c, 0xff, 0xfb, 0x5f, 0x7e,
+  0x8c, 0xaf, 0xba, 0xce, 0x08, 0x42, 0x54, 0xf2,
+  0x77, 0x21, 0xa2, 0xcf, 0x9f, 0xfe, 0xf0, 0xdb,
+  0xb7, 0x63, 0x6f, 0xe5, 0x73, 0xe7, 0x4e, 0x08,
+  0x42, 0x54, 0xff, 0xb9, 0xf5, 0xfe, 0x26, 0xb8,
+  0x25, 0x38, 0xbc, 0x9f, 0xe5, 0xb7, 0xb5, 0xff,
+  0x73, 0x47, 0x4f, 0xf7, 0xbf, 0xae, 0xfd, 0x74,
+  0xbd, 0x4e, 0x84, 0x4e, 0xcc, 0x56, 0x2c, 0x56,
+  0x06, 0xdb, 0xa5, 0xb6, 0x39, 0x9f, 0xff, 0xff,
+  0xb3, 0x01, 0x5c, 0xcf, 0xed, 0xde, 0x3f, 0x5c,
+  0xb3, 0xab, 0xfc, 0xa1, 0x98, 0xc3, 0xa7, 0x55,
+  0x68, 0x3a, 0x76, 0xc6, 0x58, 0xe8, 0x7a, 0x31,
+  0x2b, 0x08, 0xab, 0x8e, 0x4f, 0x52, 0x0d, 0x10,
+  0xe9, 0xf5, 0xbe, 0xb8, 0x26, 0x4f, 0xfb, 0xc2,
+  0xfc, 0x1a, 0x34, 0xed, 0x4d, 0x10, 0x6b, 0x8d,
+  0x2c, 0xfb, 0x93, 0xcc, 0x53, 0xa7, 0xe7, 0xdb,
+  0xfd, 0x4d, 0xce, 0x96, 0x21, 0xe9, 0xfc, 0x96,
+  0x7f, 0xff, 0xdc, 0x1b, 0xe5, 0xae, 0xb9, 0xfa,
+  0x6f, 0x83, 0xea, 0x39, 0x87, 0x43, 0xd3, 0x40,
+  0xc8, 0x57, 0xfc, 0x9a, 0x7e, 0x1c, 0xd6, 0xb6,
+  0x53, 0xa7, 0xff, 0xf6, 0x9f, 0xed, 0xbb, 0xb7,
+  0xff, 0xaf, 0x5f, 0x53, 0x6f, 0x04, 0xe9, 0xff,
+  0xfe, 0xad, 0x54, 0x6e, 0xae, 0x66, 0x5e, 0xbb,
+  0xeb, 0xcf, 0xc3, 0xa7, 0xad, 0x9e, 0x6c, 0x74,
+  0x79, 0x11, 0x36, 0x66, 0x99, 0x9b, 0x21, 0xa2,
+  0xfc, 0x9f, 0xf9, 0xf7, 0xd1, 0xef, 0x65, 0xee,
+  0xac, 0x3a, 0x7f, 0xef, 0x67, 0xf3, 0x2b, 0xb9,
+  0xf5, 0x61, 0xd1, 0x4a, 0x22, 0xea, 0x8d, 0x3d,
+  0xff, 0xaa, 0x1d, 0x0a, 0x98, 0xd6, 0xa4, 0x79,
+  0x0b, 0x3e, 0x24, 0x9f, 0xff, 0xf9, 0xbd, 0x6d,
+  0xe6, 0x39, 0xa7, 0xf0, 0xef, 0xb7, 0xa9, 0xaa,
+  0x7a, 0x83, 0xa7, 0xda, 0x65, 0x7d, 0xf3, 0xa7,
+  0xb7, 0xe9, 0xd5, 0x3a, 0x7f, 0xd7, 0xa8, 0x3d,
+  0x4d, 0x2f, 0xcb, 0x9d, 0x0a, 0x7c, 0xb8, 0x49,
+  0x33, 0x5a, 0x1d, 0x26, 0x1d, 0x14, 0x9a, 0x86,
+  0xec, 0x62, 0x7f, 0xff, 0xd6, 0xf5, 0x37, 0xca,
+  0x6e, 0x22, 0xb7, 0x06, 0xff, 0xbe, 0xd8, 0x74,
+  0xe0, 0x84, 0x25, 0x4f, 0x6b, 0xaf, 0x7c, 0xa7,
+  0x17, 0x93, 0xfe, 0xeb, 0x27, 0xbb, 0x75, 0x7a,
+  0xc7, 0x42, 0xa6, 0x44, 0x84, 0xfe, 0x84, 0x5d,
+  0x8c, 0xa7, 0xfe, 0xcf, 0xd3, 0x7c, 0x1f, 0x51,
+  0xcc, 0x3a, 0x7d, 0x97, 0x7b, 0x2c, 0x74, 0x29,
+  0xf5, 0xd5, 0x12, 0x60, 0x58, 0xe9, 0xfa, 0x86,
+  0x9e, 0xdc, 0x1a, 0x0e, 0x9f, 0xdb, 0x6d, 0x97,
+  0xb7, 0xae, 0x74, 0xde, 0x13, 0xa3, 0x65, 0x1f,
+  0xf7, 0x8d, 0x2c, 0x6b, 0x3f, 0xfb, 0x5d, 0x57,
+  0x51, 0x5b, 0xf9, 0x3d, 0xa9, 0xd2, 0x73, 0x74,
+  0x66, 0x75, 0x6c, 0xb0, 0xe2, 0x8d, 0xd0, 0x57,
+  0xac, 0x36, 0x32, 0x3d, 0x5a, 0x63, 0x1c, 0xf1,
+  0xab, 0x51, 0xc4, 0x09, 0xab, 0x0b, 0x2d, 0x28,
+  0x37, 0x90, 0x40, 0xf5, 0xf8, 0x46, 0xd6, 0x36,
+  0xab, 0xc2, 0xb0, 0x24, 0x3b, 0x10, 0x94, 0xde,
+  0x6b, 0x0e, 0x67, 0x49, 0x5a, 0x9a, 0x6d, 0x3f,
   0xf9, 0xcc, 0xe7, 0xbb, 0x05, 0x3b, 0x90, 0xd1,
-  0x30, 0xcf, 0xff, 0xd8, 0xed, 0xe3, 0xc0, 0x76,
-  0xdb, 0xbc, 0x2b, 0x57, 0x9d, 0x3f, 0xf6, 0xc9,
-  0x94, 0xbf, 0x4e, 0xbf, 0xd5, 0xe7, 0x4f, 0xf7,
-  0xd7, 0xa8, 0xbe, 0xde, 0x13, 0xa7, 0xe6, 0x2e,
-  0x7e, 0xfb, 0x07, 0x4f, 0x97, 0x3f, 0x7d, 0x83,
-  0xa7, 0xeb, 0x7a, 0xf5, 0xea, 0x77, 0x1e, 0xc3,
-  0x0b, 0xe7, 0xff, 0xfd, 0xfc, 0x0b, 0x7d, 0xf2,
-  0xdb, 0xbf, 0x94, 0x7b, 0x3f, 0x4b, 0xea, 0x74,
-  0xfc, 0xdb, 0x7d, 0xfe, 0xa0, 0x3a, 0x7f, 0xf2,
-  0xdc, 0x0a, 0xfc, 0xa6, 0xf4, 0x68, 0x13, 0xa1,
-  0x4f, 0xf7, 0xc6, 0x33, 0xf5, 0x7d, 0xb5, 0x9d,
-  0x73, 0xa7, 0xff, 0xfc, 0x38, 0xd9, 0x7f, 0x7d,
-  0xdb, 0xfe, 0xb6, 0xef, 0x5d, 0x6f, 0x53, 0xa5,
-  0x94, 0xa2, 0x7c, 0x4b, 0xe7, 0xbe, 0xa0, 0xde,
-  0x74, 0xf7, 0x6f, 0xd7, 0x0e, 0x93, 0x9b, 0x8a,
-  0xd0, 0x75, 0x4a, 0x48, 0x48, 0xb4, 0x91, 0x68,
-  0x78, 0x7e, 0x18, 0x17, 0x28, 0xd0, 0x8e, 0x7c,
-  0x29, 0xdc, 0x86, 0x8a, 0xba, 0x7f, 0x9e, 0xec,
-  0x14, 0xee, 0x43, 0x44, 0x79, 0x27, 0x61, 0xf8,
-  0xf1, 0x84, 0xfe, 0x76, 0x0a, 0x77, 0x21, 0xa2,
-  0xc1, 0x9f, 0xce, 0xc1, 0x4e, 0xe4, 0x34, 0x59,
-  0x53, 0xf9, 0xd8, 0x29, 0xdc, 0x86, 0x8b, 0x4e,
-  0x79, 0x3b, 0x90, 0xd1, 0x6e, 0x4f, 0xfc, 0xb8,
-  0x39, 0xfd, 0xd6, 0xca, 0x42, 0x74, 0x09, 0xf7,
-  0xd4, 0xae, 0x7f, 0xdc, 0xf7, 0x60, 0xa7, 0x72,
-  0x1a, 0x28, 0x79, 0xfb, 0xed, 0xcc, 0x15, 0xa9,
-  0xd3, 0xff, 0xf6, 0x6b, 0x65, 0xde, 0xeb, 0xff,
-  0x81, 0x5a, 0xa8, 0x0a, 0x93, 0xb1, 0x1e, 0x6c,
-  0x21, 0xd1, 0x1b, 0x60, 0xbe, 0x7f, 0x3b, 0x05,
-  0x3b, 0x90, 0xd1, 0x79, 0xc2, 0xaf, 0xf7, 0x3d,
-  0x13, 0x55, 0x2c, 0x97, 0x3f, 0x4c, 0x3f, 0xc4,
-  0x99, 0x87, 0x76, 0x3b, 0xfc, 0x73, 0xad, 0x91,
-  0xa7, 0xf3, 0xb0, 0x53, 0xb9, 0x0d, 0x14, 0xb4,
-  0xfe, 0x76, 0x0a, 0x77, 0x21, 0xa2, 0xc2, 0x9f,
-  0xce, 0xc1, 0x4e, 0xe4, 0x34, 0x59, 0x73, 0xce,
-  0xdb, 0xb2, 0xf9, 0xba, 0x9d, 0x39, 0xdb, 0xd8,
-  0x74, 0xf2, 0x39, 0x6a, 0x87, 0xa5, 0xa1, 0xa4,
-  0xff, 0xe7, 0x33, 0x9e, 0xec, 0x14, 0xee, 0x43,
-  0x45, 0x19, 0x3f, 0x9c, 0xad, 0x94, 0x54, 0x07,
-  0x43, 0xd3, 0xbf, 0x13, 0xb6, 0x1d, 0xf4, 0x23,
-  0x6a, 0x71, 0x75, 0x29, 0xff, 0x9d, 0xcf, 0x76,
-  0x0a, 0x77, 0x21, 0xa2, 0x39, 0x9f, 0xfc, 0xe6,
-  0x73, 0xdd, 0x82, 0x9d, 0xc8, 0x68, 0x9c, 0xa7,
-  0xf3, 0xb0, 0x53, 0xb9, 0x0d, 0x16, 0x64, 0xfe,
-  0x76, 0x0a, 0x77, 0x21, 0xa2, 0xdd, 0x9f, 0xfc,
-  0xe6, 0x73, 0xdd, 0x82, 0x9d, 0xc8, 0x68, 0xa4,
-  0x27, 0xfe, 0x77, 0x3d, 0xd8, 0x29, 0xdc, 0x86,
-  0x89, 0x4a, 0x28, 0x4e, 0xc9, 0xa4, 0xc6, 0x29,
-  0x7c, 0xee, 0xe7, 0x6d, 0xea, 0x53, 0xfe, 0xe7,
-  0xbb, 0x05, 0x3b, 0x90, 0xd1, 0x3b, 0x4f, 0xff,
-  0xbd, 0xae, 0x8c, 0x56, 0xfe, 0xd7, 0xeb, 0xfc,
-  0x43, 0xa4, 0xe6, 0x22, 0x7f, 0x91, 0xa7, 0xfe,
-  0xe6, 0x5b, 0x13, 0xac, 0xbb, 0xde, 0x74, 0xff,
-  0xdf, 0xcb, 0x75, 0x19, 0x5f, 0xf5, 0x27, 0x4d,
-  0xb0, 0xed, 0x51, 0x0f, 0x54, 0x38, 0x62, 0x38,
-  0xb6, 0x21, 0x5f, 0x3e, 0x14, 0xee, 0x43, 0x44,
-  0x59, 0x3f, 0xee, 0x7b, 0xb0, 0x53, 0xb9, 0x0d,
-  0x12, 0xec, 0xff, 0xfd, 0x9a, 0xd9, 0x77, 0xba,
-  0xff, 0xe0, 0x56, 0xaa, 0x02, 0xa4, 0xec, 0x46,
-  0x9b, 0x0c, 0x36, 0x11, 0xa7, 0xff, 0x39, 0x9c,
-  0xf7, 0x60, 0xa7, 0x72, 0x1a, 0x26, 0x29, 0xfc,
-  0xec, 0x14, 0xee, 0x43, 0x45, 0x53, 0x3f, 0xf9,
-  0xcc, 0xe7, 0xbb, 0x05, 0x3b, 0x90, 0xd1, 0x3a,
-  0x4f, 0xef, 0x70, 0xab, 0xf9, 0xb1, 0xd3, 0xe6,
-  0x95, 0xa5, 0xa9, 0xd3, 0xf0, 0x73, 0xcd, 0xb3,
-  0xe7, 0x4f, 0x7a, 0xca, 0xef, 0x1e, 0xb5, 0x4a,
-  0x27, 0xfe, 0xd2, 0xb7, 0x5a, 0x5d, 0xa3, 0x5e,
-  0x61, 0xd0, 0xc4, 0x41, 0x58, 0xe6, 0x7f, 0xdc,
-  0xf7, 0x60, 0xa7, 0x72, 0x1a, 0x27, 0x79, 0xf5,
-  0xf4, 0xe6, 0x78, 0xa9, 0x3b, 0x54, 0xe6, 0xf2,
-  0x30, 0xa6, 0x11, 0xf2, 0x34, 0xff, 0xe7, 0x33,
-  0x9e, 0xec, 0x14, 0xee, 0x43, 0x45, 0x0b, 0x3f,
-  0xf9, 0xcc, 0xe7, 0xbb, 0x05, 0x3b, 0x90, 0xd1,
-  0x49, 0x4f, 0xff, 0xec, 0xab, 0xb7, 0xe3, 0x56,
-  0xe6, 0x5e, 0xcb, 0x7d, 0x18, 0x74, 0x50, 0xb8,
-  0x06, 0xf3, 0x84, 0x52, 0x13, 0xb6, 0x47, 0xda,
-  0x04, 0x9d, 0x14, 0xb6, 0x14, 0xa7, 0xf3, 0xb0,
-  0x53, 0xb9, 0x0d, 0x11, 0x24, 0xff, 0xe7, 0x33,
-  0x9e, 0xec, 0x14, 0xee, 0x43, 0x44, 0xbd, 0x3e,
-  0x14, 0xee, 0x43, 0x45, 0x2f, 0x3f, 0x97, 0x56,
-  0xff, 0x31, 0x6a, 0x74, 0x9d, 0x87, 0xcd, 0x73,
-  0x09, 0xfc, 0xec, 0x14, 0xee, 0x43, 0x45, 0x39,
-  0x3f, 0xef, 0x0f, 0x56, 0xd9, 0x9f, 0x43, 0xa7,
-  0xfd, 0x96, 0x51, 0xc7, 0x04, 0x21, 0x2a, 0x6f,
-  0x04, 0xe9, 0xa8, 0x76, 0xa8, 0x8d, 0xd8, 0x3b,
-  0x6f, 0x3c, 0x9f, 0x0a, 0x77, 0x21, 0xa2, 0xbc,
-  0x9f, 0xff, 0xb3, 0x5b, 0x2e, 0xf7, 0x5f, 0xfc,
-  0x0a, 0xd5, 0x40, 0x54, 0x9d, 0x88, 0x8d, 0xd8,
-  0x30, 0x9f, 0xf9, 0xdc, 0xf7, 0x60, 0xa7, 0x72,
-  0x1a, 0x24, 0x79, 0xde, 0x02, 0x9d, 0x39, 0x31,
-  0x85, 0x38, 0xbb, 0x9f, 0x0a, 0x77, 0x21, 0xa2,
-  0x48, 0x9e, 0x77, 0x3d, 0xca, 0x7b, 0x38, 0x53,
-  0x3f, 0xf3, 0xb9, 0xee, 0xc1, 0x4e, 0xe4, 0x34,
-  0x49, 0x53, 0xe1, 0x4e, 0xe4, 0x34, 0x5e, 0x33,
-  0xf6, 0x9f, 0xa7, 0xa9, 0xa9, 0xd3, 0xea, 0xd6,
-  0xf8, 0x87, 0x4f, 0xf3, 0xdd, 0x82, 0x9d, 0xc8,
-  0x68, 0x93, 0x64, 0xec, 0x46, 0x3d, 0x26, 0x02,
-  0x61, 0xc4, 0xd0, 0xab, 0xa5, 0x34, 0x1d, 0xbe,
-  0x17, 0x1a, 0x93, 0xfa, 0x19, 0x0d, 0x43, 0x45,
-  0x85, 0x76, 0x86, 0x05, 0xcd, 0xf4, 0x8c, 0x4e,
-  0x16, 0x36, 0x98, 0x9a, 0x23, 0xae, 0x7c, 0x79,
-  0x3a, 0xc7, 0xb5, 0x96, 0xe4, 0x47, 0x6c, 0xa5,
-  0x64, 0xaf, 0xb3, 0x69, 0x9e, 0x7b, 0xf4, 0xe6,
-  0x26, 0xce, 0x3b, 0x06, 0xa9, 0xa9, 0xe3, 0x48,
-  0xf0, 0x66, 0x22, 0x86, 0x2d, 0x3b, 0x51, 0xd4,
-  0xe7, 0x80, 0x4b, 0x0e, 0x6e, 0xe1, 0x63, 0xf9,
-  0xe4, 0x8a, 0xd2, 0x3a, 0xef, 0x5c, 0x90, 0x69,
-  0x4a, 0xef, 0x6d, 0x29, 0x80, 0x32, 0x83, 0x76,
-  0x23, 0xde, 0xdf, 0x3a, 0x02, 0xdf, 0x3b, 0x4d,
-  0x00,
+  0x36, 0x4f, 0xe7, 0x60, 0xa7, 0x72, 0x1a, 0x2a,
+  0xd9, 0xfc, 0xf7, 0xe9, 0x7f, 0xab, 0xce, 0x9e,
+  0xcb, 0x75, 0xce, 0x96, 0xc9, 0x87, 0xa9, 0xf3,
+  0x49, 0xf0, 0xa7, 0x72, 0x1a, 0x2b, 0x49, 0xff,
+  0xe4, 0x51, 0xc0, 0x73, 0x39, 0xeb, 0xe4, 0x3a,
+  0x7f, 0xf9, 0xf5, 0xcf, 0xab, 0x3b, 0x2f, 0x75,
+  0x61, 0xd3, 0x5e, 0xea, 0x89, 0x7e, 0x4a, 0x9f,
+  0xca, 0xdb, 0x7d, 0xfe, 0xa0, 0x3a, 0x7e, 0xa3,
+  0x2d, 0xec, 0x61, 0xd3, 0xfd, 0x8d, 0xff, 0x50,
+  0xd2, 0xfa, 0x9d, 0x3f, 0x9f, 0x97, 0xef, 0x83,
+  0x43, 0xa4, 0xe6, 0xe2, 0x7e, 0x58, 0x59, 0xe8,
+  0x63, 0xd8, 0xb7, 0x8d, 0xbe, 0x5b, 0x73, 0xc9,
+  0xfc, 0xec, 0x14, 0xee, 0x43, 0x45, 0x81, 0x3e,
+  0x14, 0xee, 0x43, 0x44, 0xeb, 0x3f, 0xff, 0xac,
+  0xb4, 0x6b, 0x8c, 0x75, 0x6b, 0x96, 0xf5, 0x74,
+  0xa0, 0xe9, 0xf3, 0x99, 0xcf, 0x76, 0x22, 0x55,
+  0xa3, 0x09, 0xf0, 0xa7, 0x72, 0x1a, 0x2d, 0x99,
+  0xff, 0x01, 0x6a, 0xeb, 0x79, 0x38, 0x4e, 0x93,
+  0xb0, 0xfb, 0x38, 0xc2, 0x79, 0x3b, 0x90, 0xd1,
+  0x73, 0x49, 0x87, 0x4c, 0xec, 0x13, 0x76, 0x12,
+  0xb9, 0xfc, 0xec, 0x14, 0xee, 0x43, 0x45, 0xdf,
+  0x3c, 0xed, 0xba, 0x80, 0xe8, 0x56, 0xd2, 0x5f,
+  0x29, 0xd7, 0x48, 0x61, 0x4a, 0x97, 0xa5, 0x40,
+  0x8b, 0x93, 0x21, 0xa0, 0x08, 0x56, 0x55, 0x86,
+  0xe5, 0x7b, 0xce, 0xe7, 0xfd, 0xfe, 0x72, 0xd6,
+  0xac, 0xe7, 0x9d, 0x3f, 0xbf, 0x46, 0x37, 0xdd,
+  0x76, 0x9d, 0x3e, 0x14, 0xee, 0x43, 0x44, 0xaf,
+  0x3d, 0xa7, 0x0b, 0xce, 0x9f, 0xff, 0xde, 0xbf,
+  0x33, 0xbe, 0x0b, 0x07, 0xbf, 0x42, 0x7a, 0x83,
+  0xa5, 0x6d, 0x51, 0x07, 0xc4, 0x33, 0xb9, 0xee,
+  0x54, 0xc5, 0x30, 0xe2, 0xb0, 0xb3, 0x9d, 0x75,
+  0xd4, 0xa9, 0xff, 0xd6, 0xef, 0x5d, 0x5f, 0xe1,
+  0xa3, 0x40, 0x15, 0x3f, 0xb9, 0x1d, 0xa8, 0xb7,
+  0x6e, 0x53, 0xe7, 0xa8, 0xe4, 0x9c, 0x8a, 0x92,
+  0xd9, 0x1a, 0x8b, 0x68, 0x56, 0x4f, 0xfe, 0x73,
+  0x39, 0xee, 0xc1, 0x4e, 0xe4, 0x34, 0x4c, 0x33,
+  0xff, 0xf6, 0x3b, 0x78, 0xf0, 0x1d, 0xb6, 0xef,
+  0x0a, 0xd5, 0xe7, 0x4f, 0xfd, 0xb2, 0x65, 0x2f,
+  0xd3, 0xaf, 0xf5, 0x79, 0xd3, 0xfd, 0xf5, 0xea,
+  0x2f, 0xb7, 0x84, 0xe9, 0xf9, 0x8b, 0x9f, 0xbe,
+  0xc1, 0xd3, 0xe5, 0xcf, 0xdf, 0x60, 0xe9, 0xfa,
+  0xde, 0xbd, 0x7a, 0x9d, 0xc7, 0xb0, 0xc2, 0xf9,
+  0xff, 0xff, 0x7f, 0x02, 0xdf, 0x7c, 0xb6, 0xef,
+  0xe5, 0x1e, 0xcf, 0xd2, 0xfa, 0x9d, 0x3f, 0x36,
+  0xdf, 0x7f, 0xa8, 0x0e, 0x9f, 0xfc, 0xb7, 0x02,
+  0xbf, 0x29, 0xbd, 0x1a, 0x04, 0xe8, 0x53, 0xfd,
+  0xf1, 0x8c, 0xfd, 0x5f, 0x6d, 0x67, 0x5c, 0xe9,
+  0xff, 0xff, 0x0e, 0x36, 0x5f, 0xdf, 0x76, 0xff,
+  0xad, 0xbb, 0xd7, 0x5b, 0xd4, 0xe9, 0x65, 0x28,
+  0x9f, 0x12, 0xf9, 0xef, 0xa8, 0x37, 0x9d, 0x3d,
+  0xdb, 0xf5, 0xc3, 0xa4, 0xe6, 0xe2, 0xb4, 0x1d,
+  0x52, 0x92, 0x12, 0x2d, 0x24, 0x5a, 0x1e, 0x1f,
+  0x86, 0x05, 0xca, 0x34, 0x23, 0x9f, 0x0a, 0x77,
+  0x21, 0xa2, 0xae, 0x9f, 0xe7, 0xbb, 0x05, 0x3b,
+  0x90, 0xd1, 0x1e, 0x49, 0xd8, 0x7e, 0x3c, 0x61,
+  0x3f, 0x9d, 0x82, 0x9d, 0xc8, 0x68, 0xb0, 0x67,
+  0xf3, 0xb0, 0x53, 0xb9, 0x0d, 0x16, 0x54, 0xfe,
+  0x76, 0x0a, 0x77, 0x21, 0xa2, 0xd3, 0x9e, 0x4e,
+  0xe4, 0x34, 0x5b, 0x93, 0xff, 0x2e, 0x0e, 0x7f,
+  0x75, 0xb2, 0x90, 0x9d, 0x02, 0x7d, 0xf5, 0x2b,
+  0x9f, 0xf7, 0x3d, 0xd8, 0x29, 0xdc, 0x86, 0x8a,
+  0x1e, 0x7e, 0xfb, 0x73, 0x05, 0x6a, 0x74, 0xff,
+  0xfd, 0x9a, 0xd9, 0x77, 0xba, 0xff, 0xe0, 0x56,
+  0xaa, 0x02, 0xa4, 0xec, 0x47, 0x9b, 0x08, 0x74,
+  0x46, 0xd8, 0x2f, 0x9f, 0xce, 0xc1, 0x4e, 0xe4,
+  0x34, 0x5e, 0x70, 0xab, 0xfd, 0xcf, 0x44, 0xd5,
+  0x4b, 0x25, 0xcf, 0xd3, 0x0f, 0xf1, 0x26, 0x61,
+  0xdd, 0x8e, 0xff, 0x1c, 0xeb, 0x64, 0x69, 0xfc,
+  0xec, 0x14, 0xee, 0x43, 0x45, 0x2d, 0x3f, 0x9d,
+  0x82, 0x9d, 0xc8, 0x68, 0xb0, 0xa7, 0xf3, 0xb0,
+  0x53, 0xb9, 0x0d, 0x16, 0x5c, 0xf3, 0xb6, 0xec,
+  0xbe, 0x6e, 0xa7, 0x4e, 0x76, 0xf6, 0x1d, 0x3c,
+  0x8e, 0x5a, 0xa1, 0xe9, 0x68, 0x69, 0x3f, 0xf9,
+  0xcc, 0xe7, 0xbb, 0x05, 0x3b, 0x90, 0xd1, 0x46,
+  0x4f, 0xe7, 0x2b, 0x65, 0x15, 0x01, 0xd0, 0xf4,
+  0xef, 0xc4, 0xed, 0x87, 0x7d, 0x08, 0xda, 0x9c,
+  0x5d, 0x4a, 0x7f, 0xe7, 0x73, 0xdd, 0x82, 0x9d,
+  0xc8, 0x68, 0x8e, 0x67, 0xff, 0x39, 0x9c, 0xf7,
+  0x60, 0xa7, 0x72, 0x1a, 0x27, 0x29, 0xfc, 0xec,
+  0x14, 0xee, 0x43, 0x45, 0x99, 0x3f, 0x9d, 0x82,
+  0x9d, 0xc8, 0x68, 0xb7, 0x67, 0xff, 0x39, 0x9c,
+  0xf7, 0x60, 0xa7, 0x72, 0x1a, 0x29, 0x09, 0xff,
+  0x9d, 0xcf, 0x76, 0x0a, 0x77, 0x21, 0xa2, 0x52,
+  0x8a, 0x13, 0xb2, 0x69, 0x31, 0x8a, 0x5f, 0x3b,
+  0xb9, 0xdb, 0x7a, 0x94, 0xff, 0xb9, 0xee, 0xc1,
+  0x4e, 0xe4, 0x34, 0x4e, 0xd3, 0xff, 0xef, 0x6b,
+  0xa3, 0x15, 0xbf, 0xb5, 0xfa, 0xff, 0x10, 0xe9,
+  0x39, 0x88, 0x9f, 0xe4, 0x69, 0xff, 0xb9, 0x96,
+  0xc4, 0xeb, 0x2e, 0xf7, 0x9d, 0x3f, 0xf7, 0xf2,
+  0xdd, 0x46, 0x57, 0xfd, 0x49, 0xd3, 0x6c, 0x3b,
+  0x54, 0x43, 0xd5, 0x0e, 0x18, 0x8e, 0x2d, 0x88,
+  0x57, 0xcf, 0x85, 0x3b, 0x90, 0xd1, 0x16, 0x4f,
+  0xfb, 0x9e, 0xec, 0x14, 0xee, 0x43, 0x44, 0xbb,
+  0x3f, 0xff, 0x66, 0xb6, 0x5d, 0xee, 0xbf, 0xf8,
+  0x15, 0xaa, 0x80, 0xa9, 0x3b, 0x11, 0xa6, 0xc3,
+  0x0d, 0x84, 0x69, 0xff, 0xce, 0x67, 0x3d, 0xd8,
+  0x29, 0xdc, 0x86, 0x89, 0x8a, 0x7f, 0x3b, 0x05,
+  0x3b, 0x90, 0xd1, 0x54, 0xcf, 0xfe, 0x73, 0x39,
+  0xee, 0xc1, 0x4e, 0xe4, 0x34, 0x4e, 0x93, 0xfb,
+  0xdc, 0x2a, 0xfe, 0x6c, 0x74, 0xf9, 0xa5, 0x69,
+  0x6a, 0x74, 0xfc, 0x1c, 0xf3, 0x6c, 0xf9, 0xd3,
+  0xde, 0xb2, 0xbb, 0xc7, 0xad, 0x52, 0x89, 0xff,
+  0xb4, 0xad, 0xd6, 0x97, 0x68, 0xd7, 0x98, 0x74,
+  0x31, 0x10, 0x56, 0x39, 0x9f, 0xf7, 0x3d, 0xd8,
+  0x29, 0xdc, 0x86, 0x89, 0xde, 0x7d, 0x7d, 0x39,
+  0x9e, 0x2a, 0x4e, 0xd5, 0x39, 0xbc, 0x8c, 0x29,
+  0x84, 0x7c, 0x8d, 0x3f, 0xf9, 0xcc, 0xe7, 0xbb,
+  0x05, 0x3b, 0x90, 0xd1, 0x42, 0xcf, 0xfe, 0x73,
+  0x39, 0xee, 0xc1, 0x4e, 0xe4, 0x34, 0x52, 0x53,
+  0xff, 0xfb, 0x2a, 0xed, 0xf8, 0xd5, 0xb9, 0x97,
+  0xb2, 0xdf, 0x46, 0x1d, 0x14, 0x2e, 0x01, 0xbc,
+  0xe1, 0x14, 0x84, 0xed, 0x91, 0xf6, 0x81, 0x27,
+  0x45, 0x2d, 0x85, 0x29, 0xfc, 0xec, 0x14, 0xee,
+  0x43, 0x44, 0x49, 0x3f, 0xf9, 0xcc, 0xe7, 0xbb,
+  0x05, 0x3b, 0x90, 0xd1, 0x2f, 0x4f, 0x85, 0x3b,
+  0x90, 0xd1, 0x4b, 0xcf, 0xe5, 0xd5, 0xbf, 0xcc,
+  0x5a, 0x9d, 0x27, 0x61, 0xf3, 0x5c, 0xc2, 0x7f,
+  0x3b, 0x05, 0x3b, 0x90, 0xd1, 0x4e, 0x4f, 0xfb,
+  0xc3, 0xd5, 0xb6, 0x67, 0xd0, 0xe9, 0xff, 0x65,
+  0x94, 0x71, 0xc1, 0x08, 0x4a, 0x9b, 0xc1, 0x3a,
+  0x6a, 0x1d, 0xaa, 0x23, 0x76, 0x0e, 0xdb, 0xcf,
+  0x27, 0xc2, 0x9d, 0xc8, 0x68, 0xaf, 0x27, 0xff,
+  0xec, 0xd6, 0xcb, 0xbd, 0xd7, 0xff, 0x02, 0xb5,
+  0x50, 0x15, 0x27, 0x62, 0x23, 0x76, 0x0c, 0x27,
+  0xfe, 0x77, 0x3d, 0xd8, 0x29, 0xdc, 0x86, 0x89,
+  0x1e, 0x77, 0x80, 0xa7, 0x4e, 0x4c, 0x61, 0x4e,
+  0x2e, 0xe7, 0xc2, 0x9d, 0xc8, 0x68, 0x92, 0x27,
+  0x9d, 0xcf, 0x72, 0x9e, 0xce, 0x14, 0xcf, 0xfc,
+  0xee, 0x7b, 0xb0, 0x53, 0xb9, 0x0d, 0x12, 0x54,
+  0xf8, 0x53, 0xb9, 0x0d, 0x17, 0x8c, 0xfd, 0xa7,
+  0xe9, 0xea, 0x6a, 0x74, 0xfa, 0xb5, 0xbe, 0x21,
+  0xd3, 0xfc, 0xf7, 0x60, 0xa7, 0x72, 0x1a, 0x24,
+  0xd9, 0x3b, 0x11, 0x8f, 0x49, 0x80, 0x98, 0x71,
+  0x34, 0x2a, 0xe9, 0x4d, 0x07, 0x6f, 0x85, 0xc6,
+  0xa4, 0xfe, 0x86, 0x43, 0x50, 0xd1, 0x61, 0x5d,
+  0xa1, 0x81, 0x73, 0x7d, 0x23, 0x13, 0x85, 0x8d,
+  0xa5, 0xee, 0x88, 0xeb, 0x9f, 0x1e, 0x4e, 0xb1,
+  0xed, 0x65, 0xb9, 0x11, 0xdb, 0x29, 0x59, 0x2b,
+  0xec, 0xda, 0x67, 0x9e, 0xfd, 0x39, 0x89, 0xb3,
+  0x8e, 0xc1, 0xaa, 0x6a, 0x78, 0xd2, 0x3c, 0x19,
+  0x88, 0xa1, 0x8b, 0x4e, 0xd4, 0x75, 0x39, 0xe0,
+  0x12, 0xc3, 0x9b, 0xb8, 0x58, 0xfe, 0x79, 0x22,
+  0xb4, 0x8e, 0xbb, 0xd7, 0x22, 0x5a, 0x52, 0xbb,
+  0xdb, 0x4a, 0x60, 0x0c, 0xa0, 0xdd, 0x88, 0xf7,
+  0xb7, 0xce, 0x80, 0xb7, 0xce, 0xd3, 0x40,
 };
 
-static const unsigned kPreloadedHSTSBits = 94466;
+static const unsigned kPreloadedHSTSBits = 94452;
 
-static const unsigned kHSTSRootPosition = 93889;
+static const unsigned kHSTSRootPosition = 93875;
 
 #endif // NET_HTTP_TRANSPORT_SECURITY_STATE_STATIC_H_
diff --git a/net/http/transport_security_state_static.json b/net/http/transport_security_state_static.json
index 1e5484e..1997690 100644
--- a/net/http/transport_security_state_static.json
+++ b/net/http/transport_security_state_static.json
@@ -143,13 +143,6 @@
       ]
     },
     {
-      "name": "cryptoCat",
-      "static_spki_hashes": [
-        "DigiCertEVRoot",
-        "CryptoCat1"
-      ]
-    },
-    {
       "name": "lavabit",
       "static_spki_hashes": [
         "Libertylavabitcom"
@@ -575,7 +568,7 @@
     { "name": "www.developer.mydigipass.com", "mode": "force-https" },
     { "name": "sandbox.mydigipass.com", "mode": "force-https" },
     { "name": "www.sandbox.mydigipass.com", "mode": "force-https" },
-    { "name": "crypto.cat", "mode": "force-https", "pins": "cryptoCat" },
+    { "name": "crypto.cat", "mode": "force-https" },
     { "name": "bigshinylock.minazo.net", "include_subdomains": true, "mode": "force-https" },
     { "name": "crate.io", "include_subdomains": true, "mode": "force-https" },
     { "name": "twitter.com", "mode": "force-https", "pins": "twitterCom" },
diff --git a/net/http/transport_security_state_unittest.cc b/net/http/transport_security_state_unittest.cc
index eb72050..f5c640f 100644
--- a/net/http/transport_security_state_unittest.cc
+++ b/net/http/transport_security_state_unittest.cc
@@ -477,9 +477,6 @@
   EXPECT_TRUE(StaticShouldRedirect("www.sandbox.mydigipass.com"));
   EXPECT_FALSE(StaticShouldRedirect("foo.www.sandbox.mydigipass.com"));
 
-  EXPECT_TRUE(StaticShouldRedirect("crypto.cat"));
-  EXPECT_FALSE(StaticShouldRedirect("foo.crypto.cat"));
-
   EXPECT_TRUE(StaticShouldRedirect("bigshinylock.minazo.net"));
   EXPECT_TRUE(StaticShouldRedirect("foo.bigshinylock.minazo.net"));
 
diff --git a/pdf/pdfium/pdfium_page.cc b/pdf/pdfium/pdfium_page.cc
index d8a5dce..cd75a1b 100644
--- a/pdf/pdfium/pdfium_page.cc
+++ b/pdf/pdfium/pdfium_page.cc
@@ -16,6 +16,8 @@
 // Used when doing hit detection.
 #define kTolerance 20.0
 
+namespace {
+
 // Dictionary Value key names for returning the accessible page content as JSON.
 const char kPageWidth[] = "width";
 const char kPageHeight[] = "height";
@@ -33,6 +35,8 @@
 const char kTextNodeTypeURL[] = "url";
 const char kDocLinkURLPrefix[] = "#page";
 
+}  // namespace
+
 namespace chrome_pdf {
 
 PDFiumPage::PDFiumPage(PDFiumEngine* engine,
@@ -43,15 +47,21 @@
       page_(NULL),
       text_page_(NULL),
       index_(i),
+      loading_count_(0),
       rect_(r),
       calculated_links_(false),
       available_(available) {
 }
 
 PDFiumPage::~PDFiumPage() {
+  DCHECK_EQ(0, loading_count_);
 }
 
 void PDFiumPage::Unload() {
+  // Do not unload while in the middle of a load.
+  if (loading_count_)
+    return;
+
   if (text_page_) {
     FPDFText_ClosePage(text_page_);
     text_page_ = NULL;
@@ -71,6 +81,7 @@
   if (!available_)
     return NULL;
   if (!page_) {
+    ScopedLoadCounter scoped_load(this);
     page_ = FPDF_LoadPage(engine_->doc(), index_);
     if (page_ && engine_->form()) {
       FORM_OnAfterLoadPage(page_, engine_->form());
@@ -83,12 +94,18 @@
   ScopedUnsupportedFeature scoped_unsupported_feature(engine_);
   if (!available_)
     return NULL;
-  if (!page_)
+  if (!page_) {
+    ScopedLoadCounter scoped_load(this);
     page_ = FPDF_LoadPage(engine_->doc(), index_);
+  }
   return page_;
 }
 
 void PDFiumPage::ClosePrintPage() {
+  // Do not close |page_| while in the middle of a load.
+  if (loading_count_)
+    return;
+
   if (page_) {
     FPDF_ClosePage(page_);
     page_ = NULL;
@@ -98,8 +115,10 @@
 FPDF_TEXTPAGE PDFiumPage::GetTextPage() {
   if (!available_)
     return NULL;
-  if (!text_page_)
+  if (!text_page_) {
+    ScopedLoadCounter scoped_load(this);
     text_page_ = FPDFText_LoadPage(GetPage());
+  }
   return text_page_;
 }
 
@@ -468,6 +487,15 @@
       new_left, new_top, new_right - new_left + 1, new_bottom - new_top + 1);
 }
 
+PDFiumPage::ScopedLoadCounter::ScopedLoadCounter(PDFiumPage* page)
+    : page_(page) {
+  page_->loading_count_++;
+}
+
+PDFiumPage::ScopedLoadCounter::~ScopedLoadCounter() {
+  page_->loading_count_--;
+}
+
 PDFiumPage::Link::Link() {
 }
 
diff --git a/pdf/pdfium/pdfium_page.h b/pdf/pdfium/pdfium_page.h
index 22ea142..de4317e 100644
--- a/pdf/pdfium/pdfium_page.h
+++ b/pdf/pdfium/pdfium_page.h
@@ -34,9 +34,9 @@
   void Unload();
   // Gets the FPDF_PAGE for this page, loading and parsing it if necessary.
   FPDF_PAGE GetPage();
-  //Get the FPDF_PAGE for printing.
+  // Get the FPDF_PAGE for printing.
   FPDF_PAGE GetPrintPage();
-  //Close the printing page.
+  // Close the printing page.
   void ClosePrintPage();
 
   // Returns FPDF_TEXTPAGE for the page, loading and parsing it if necessary.
@@ -112,6 +112,15 @@
   base::Value* CreateTextNode(std::string text);
   base::Value* CreateURLNode(std::string text, std::string url);
 
+  class ScopedLoadCounter {
+   public:
+    explicit ScopedLoadCounter(PDFiumPage* page);
+    ~ScopedLoadCounter();
+
+   private:
+    PDFiumPage* const page_;
+  };
+
   struct Link {
     Link();
     ~Link();
@@ -125,6 +134,7 @@
   FPDF_PAGE page_;
   FPDF_TEXTPAGE text_page_;
   int index_;
+  int loading_count_;
   pp::Rect rect_;
   bool calculated_links_;
   std::vector<Link> links_;
diff --git a/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java b/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java
index 3b8e145..f67be2f 100644
--- a/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java
+++ b/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java
@@ -4,6 +4,8 @@
 
 package org.chromium.sync.test.util;
 
+import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout;
+
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.accounts.AccountManagerCallback;
@@ -22,14 +24,14 @@
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
+import android.text.TextUtils;
 import android.util.Log;
 
-import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout;
-
 import org.chromium.sync.signin.AccountManagerDelegate;
 import org.chromium.sync.signin.AccountManagerHelper;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
@@ -121,10 +123,17 @@
         if (mAccounts == null) {
             return new Account[0];
         } else {
-            Account[] accounts = new Account[mAccounts.size()];
-            int i = 0;
+            ArrayList<Account> validAccounts = new ArrayList<Account>();
             for (AccountHolder ah : mAccounts) {
-                accounts[i++] = ah.getAccount();
+                if (TextUtils.equals(ah.getAccount().type, type)) {
+                    validAccounts.add(ah.getAccount());
+                }
+            }
+
+            Account[] accounts = new Account[validAccounts.size()];
+            int i = 0;
+            for (Account account : validAccounts) {
+                accounts[i++] = account;
             }
             return accounts;
         }
diff --git a/third_party/android_crazy_linker/README.chromium b/third_party/android_crazy_linker/README.chromium
index 4892262..19d5675 100644
--- a/third_party/android_crazy_linker/README.chromium
+++ b/third_party/android_crazy_linker/README.chromium
@@ -59,3 +59,5 @@
 - Add method for enabling/disabling the memory fallback (disabled by default).
 
 - Add a check whether file is uncompressed in zip file.
+
+- Fix for crbug/444714 (Chrome_Android: Crash Report - -1DB24FB5)
diff --git a/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.cpp b/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.cpp
index 8c63370..1efa1d7 100644
--- a/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.cpp
+++ b/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.cpp
@@ -13,30 +13,29 @@
 
 namespace crazy {
 
-LineReader::LineReader() : fd_(), buff_(buff0_) {
-  Reset();
-  eof_ = true;
+LineReader::LineReader() : fd_(), buff_(NULL) {
+  Reset(true);
 }
 
-LineReader::LineReader(const char* path) : fd_(), buff_(buff0_) { Open(path); }
+LineReader::LineReader(const char* path) : fd_(), buff_(NULL) {
+  Open(path);
+}
 
-LineReader::~LineReader() { Reset(); }
+LineReader::~LineReader() {
+  ::free(buff_);
+}
 
 void LineReader::Open(const char* path) {
-  Reset();
-  eof_ = !fd_.OpenReadOnly(path);
+  Reset(!fd_.OpenReadOnly(path));
 }
 
-void LineReader::Reset() {
-  if (buff_ != buff0_)
-    ::free(buff_);
-
-  eof_ = false;
+void LineReader::Reset(bool eof) {
+  eof_ = eof;
   line_start_ = 0;
   line_len_ = 0;
   buff_size_ = 0;
-  buff_capacity_ = sizeof buff0_;
-  buff_ = buff0_;
+  buff_capacity_ = 128;
+  buff_ = static_cast<char*>(::realloc(buff_, buff_capacity_));
 }
 
 bool LineReader::GetNextLine() {
@@ -102,13 +101,9 @@
 
     // Before reading more data, grow the buffer if needed.
     if (buff_size_ == buff_capacity_) {
-      size_t new_capacity = buff_capacity_ * 2;
-      void* old_buff = (buff_ == buff0_) ? NULL : buff_;
-      buff_ = static_cast<char*>(::realloc(old_buff, new_capacity));
-      if (old_buff != buff_)
-        ::memcpy(buff_, buff0_, buff_capacity_);
+      buff_capacity_ *= 2;
+      buff_ = static_cast<char*>(::realloc(buff_, buff_capacity_));
 
-      buff_capacity_ = new_capacity;
       LLOG("%s: GROW buff_size=%d buff_capacity=%d '%.*s'\n",
            __FUNCTION__,
            buff_size_,
diff --git a/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.h b/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.h
index 0a77f29..fda9053 100644
--- a/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.h
+++ b/third_party/android_crazy_linker/src/src/crazy_linker_line_reader.h
@@ -43,7 +43,7 @@
   size_t length() const;
 
  private:
-  void Reset();
+  void Reset(bool eof);
 
   FileDescriptor fd_;
   bool eof_;
@@ -52,7 +52,6 @@
   size_t buff_size_;
   size_t buff_capacity_;
   char* buff_;
-  char buff0_[128];
 };
 
 }  // namespace crazy
diff --git a/tools/perf/benchmarks/page_cycler.py b/tools/perf/benchmarks/page_cycler.py
index 56dd4de..a269621 100644
--- a/tools/perf/benchmarks/page_cycler.py
+++ b/tools/perf/benchmarks/page_cycler.py
@@ -10,57 +10,57 @@
 class PageCyclerBloat(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.BloatPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 class PageCyclerDhtml(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.DhtmlPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 class PageCyclerIntlArFaHe(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.IntlArFaHePageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 @benchmark.Disabled('win')  # crbug.com/388337
 class PageCyclerIntlEsFrPtBr(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.IntlEsFrPtBrPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 class PageCyclerIntlHiRu(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.IntlHiRuPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 @benchmark.Disabled('android', 'win')  # crbug.com/379564, crbug.com/330909
 class PageCyclerIntlJaZh(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.IntlJaZhPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 class PageCyclerIntlKoThVi(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.IntlKoThViPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 class PageCyclerMorejs(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.MorejsPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 class PageCyclerMoz(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.MozPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 @benchmark.Disabled('linux', 'win')  # crbug.com/353260
@@ -72,7 +72,7 @@
   options = {
       'cold_load_percent': 100,
       'extra_wpr_args_as_string': '--shaping_type=proxy --net=cable',
-      'pageset_repeat': 5,
+      'pageset_repeat': 6,
   }
 
   def __init__(self):
@@ -86,21 +86,21 @@
 class PageCyclerTop10Mobile(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.Top10MobilePageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 @benchmark.Disabled
 class PageCyclerKeyMobileSites(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.KeyMobileSitesPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 @benchmark.Disabled('android')  # crbug.com/357326
 class PageCyclerToughLayoutCases(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.ToughLayoutCasesPageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
 
 
 # crbug.com/273986: This test is really flakey on xp.
@@ -109,4 +109,4 @@
 class PageCyclerTypical25(benchmark.Benchmark):
   test = page_cycler.PageCycler
   page_set = page_sets.Typical25PageSet
-  options = {'pageset_repeat': 10}
+  options = {'pageset_repeat': 6}
diff --git a/ui/app_list/views/apps_grid_view.cc b/ui/app_list/views/apps_grid_view.cc
index 0e72a1b..bbc63b7 100644
--- a/ui/app_list/views/apps_grid_view.cc
+++ b/ui/app_list/views/apps_grid_view.cc
@@ -1180,8 +1180,9 @@
 }
 
 void AppsGridView::CalculateIdealBounds() {
-  // TODO(calamity): This fixes http://crbug.com/422604 on ChromeOS but it's
-  // unclear why. This should be investigated to fix the issue on Linux Ash.
+  // TODO(mgiuca): This is a work-around for http://crbug.com/422604. See
+  // comment in ContentsView::Layout for details. This should be removed once
+  // http://crbug.com/446407 is resolved.
   if (GetContentsBounds().IsEmpty())
     return;
 
diff --git a/ui/app_list/views/contents_view.cc b/ui/app_list/views/contents_view.cc
index c9ea276..f1ddb2b 100644
--- a/ui/app_list/views/contents_view.cc
+++ b/ui/app_list/views/contents_view.cc
@@ -335,6 +335,17 @@
   gfx::Rect rect(GetDefaultContentsBounds());
   if (rect.IsEmpty())
     return;
+  // TODO(mgiuca): Temporary work-around for http://crbug.com/441962 and
+  // http://crbug.com/446978. This will first be called while ContentsView is
+  // 0x0, which means that the child views will be positioned incorrectly in RTL
+  // mode (the position is based on the parent's size). When the parent is later
+  // resized, the children are not repositioned due to http://crbug.com/446407.
+  // Therefore, we must not position the children until the parent is the
+  // correct size.
+  // NOTE: There is a similar hack in AppsGridView::CalculateIdealBounds; both
+  // should be removed once http://crbug.com/446407 is resolved.
+  if (GetContentsBounds().IsEmpty())
+    return;
 
   gfx::Rect offscreen_target(rect);
   offscreen_target.set_x(-rect.width());
diff --git a/ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc b/ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc
index f5c2e2e..9e206ac 100644
--- a/ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc
+++ b/ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc
@@ -75,10 +75,18 @@
           static_cast<const DisplaySnapshotX11*>(*it);
       const DisplayModeX11* x11_mode =
           static_cast<const DisplayModeX11*>(x11_output->current_mode());
+      RRMode mode_id = x11_mode ? x11_mode->mode_id() : None;
+
+      // Update if we failed to fetch the external display's ID before.
+      // Internal display's EDID should always be available.
+      bool display_id_needs_update =
+          x11_output->type() != ui::DISPLAY_CONNECTION_TYPE_INTERNAL &&
+          !x11_output->display_id();
 
       if (x11_output->output() == output_change_event->output) {
         if (connected && x11_output->crtc() == output_change_event->crtc &&
-            x11_mode->mode_id() == output_change_event->mode) {
+            mode_id == output_change_event->mode &&
+            !display_id_needs_update) {
           VLOG(1) << "Ignoring event describing already-cached state";
           return POST_DISPATCH_PERFORM_DEFAULT;
         }
diff --git a/ui/display/chromeos/x11/native_display_event_dispatcher_x11_unittest.cc b/ui/display/chromeos/x11/native_display_event_dispatcher_x11_unittest.cc
index de87796..eb125f3 100644
--- a/ui/display/chromeos/x11/native_display_event_dispatcher_x11_unittest.cc
+++ b/ui/display/chromeos/x11/native_display_event_dispatcher_x11_unittest.cc
@@ -18,15 +18,18 @@
 
 namespace {
 
-DisplaySnapshotX11* CreateOutput(RROutput output, RRCrtc crtc) {
+DisplaySnapshotX11* CreateOutput(int64_t id,
+                                 DisplayConnectionType type,
+                                 RROutput output,
+                                 RRCrtc crtc) {
   static const DisplayModeX11* kDefaultDisplayMode =
       new DisplayModeX11(gfx::Size(1, 1), false, 60.0f, 20);
 
   DisplaySnapshotX11* snapshot = new DisplaySnapshotX11(
-      0,
+      id,
       gfx::Point(0, 0),
       gfx::Size(0, 0),
-      DISPLAY_CONNECTION_TYPE_UNKNOWN,
+      type,
       false,
       false,
       std::string(),
@@ -40,6 +43,20 @@
   return snapshot;
 }
 
+DisplaySnapshotX11* CreateExternalOutput(RROutput output, RRCrtc crtc) {
+  return CreateOutput(static_cast<int64_t>(output),
+                      DISPLAY_CONNECTION_TYPE_UNKNOWN,
+                      output,
+                      crtc);
+}
+
+DisplaySnapshotX11* CreateInternalOutput(RROutput output, RRCrtc crtc) {
+  return CreateOutput(0,
+                      DISPLAY_CONNECTION_TYPE_INTERNAL,
+                      output,
+                      crtc);
+}
+
 class TestHelperDelegate : public NativeDisplayDelegateX11::HelperDelegate {
  public:
   TestHelperDelegate();
@@ -169,7 +186,7 @@
 
   // Simulate addition of the first output to the cached output list.
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(1, 10));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   DispatchOutputChangeEvent(2, 11, 20, true);
@@ -178,7 +195,7 @@
 
 TEST_F(NativeDisplayEventDispatcherX11Test, CheckNotificationOnDisconnect) {
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(1, 10));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   DispatchOutputChangeEvent(1, 10, 20, false);
@@ -187,7 +204,7 @@
 
 TEST_F(NativeDisplayEventDispatcherX11Test, CheckNotificationOnModeChange) {
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(1, 10));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   DispatchOutputChangeEvent(1, 10, 21, true);
@@ -196,7 +213,7 @@
 
 TEST_F(NativeDisplayEventDispatcherX11Test, CheckNotificationOnSecondOutput) {
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(1, 10));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   DispatchOutputChangeEvent(2, 11, 20, true);
@@ -205,7 +222,7 @@
 
 TEST_F(NativeDisplayEventDispatcherX11Test, CheckNotificationOnDifferentCrtc) {
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(1, 10));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   DispatchOutputChangeEvent(1, 11, 20, true);
@@ -215,8 +232,8 @@
 TEST_F(NativeDisplayEventDispatcherX11Test,
        CheckNotificationOnSecondOutputDisconnect) {
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
-  outputs.push_back(CreateOutput(2, 11));
+  outputs.push_back(CreateExternalOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(2, 11));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   DispatchOutputChangeEvent(2, 11, 20, false);
@@ -226,8 +243,8 @@
 TEST_F(NativeDisplayEventDispatcherX11Test,
        AvoidDuplicateNotificationOnSecondOutputDisconnect) {
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
-  outputs.push_back(CreateOutput(2, 11));
+  outputs.push_back(CreateExternalOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(2, 11));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   DispatchOutputChangeEvent(2, 11, 20, false);
@@ -248,8 +265,8 @@
       NativeDisplayEventDispatcherX11::kUseCacheAfterStartupMs / 2 + 1;
 
   ScopedVector<DisplaySnapshot> outputs;
-  outputs.push_back(CreateOutput(1, 10));
-  outputs.push_back(CreateOutput(2, 11));
+  outputs.push_back(CreateExternalOutput(1, 10));
+  outputs.push_back(CreateExternalOutput(2, 11));
   helper_delegate_->set_cached_outputs(outputs.get());
 
   EXPECT_EQ(0, helper_delegate_->num_calls_notify_observers());
@@ -288,4 +305,25 @@
   EXPECT_EQ(4, helper_delegate_->num_calls_notify_observers());
 }
 
+TEST_F(NativeDisplayEventDispatcherX11Test,
+       UpdateMissingExternalDisplayId) {
+  ScopedVector<DisplaySnapshot> outputs;
+  outputs.push_back(CreateInternalOutput(1, 10));
+  helper_delegate_->set_cached_outputs(outputs.get());
+
+  ASSERT_EQ(0, helper_delegate_->num_calls_notify_observers());
+
+  // Internal display's ID can be zero and not updated.
+  DispatchOutputChangeEvent(1, 10, 20, true);
+  EXPECT_EQ(0, helper_delegate_->num_calls_notify_observers());
+
+  outputs.clear();
+  outputs.push_back(CreateOutput(0, DISPLAY_CONNECTION_TYPE_UNKNOWN, 2, 11));
+  helper_delegate_->set_cached_outputs(outputs.get());
+
+  // External display should be updated if the id is zero.
+  DispatchOutputChangeEvent(2, 11, 20, true);
+  EXPECT_EQ(1, helper_delegate_->num_calls_notify_observers());
+}
+
 }  // namespace ui
