Merge from Chromium at DEPS revision 278856

This commit was generated by merge_to_master.py.

Change-Id: If3807744d3e5d3ee84b897bd2d099a2b7ed2e7a3
diff --git a/content/BUILD.gn b/content/BUILD.gn
index b4f81b3..20a553e 100644
--- a/content/BUILD.gn
+++ b/content/BUILD.gn
@@ -94,11 +94,6 @@
   }
 }
 
-config("widevine_stub_config") {
-  # The real implementation does a copy rule to copy the header to the gen dir.
-  include_dirs = [ "//third_party/widevine/cdm" ]
-}
-
 # Sets up include dirs while webrtc is being converted to GN.
 # TODO(GYP) remove when webrtc is ready.
 config("webrtc_stub_config") {
diff --git a/content/DEPS b/content/DEPS
index 614ae7a..e697611 100644
--- a/content/DEPS
+++ b/content/DEPS
@@ -86,6 +86,7 @@
   "+ui/gfx",
   "+ui/gl",
   "+ui/native_theme",
+  "+ui/ozone",
   "+ui/shell_dialogs",
   "+ui/snapshot",
   "+ui/surface",
diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc b/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc
index e2cebc1..5e1d973 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc
+++ b/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc
@@ -42,11 +42,11 @@
 
 AccessibilityRoleStateMap::AccessibilityRoleStateMap() {
 // Convenience macros for generating readable strings.
-#define IA_ROLE_MAP(x) ia_role_string_map[x] = L#x;  \
-                       ia2_role_string_map[x] = L#x;
-#define IA2_ROLE_MAP(x) ia2_role_string_map[x] = L#x;
-#define IA_STATE_MAP(x) ia_state_string_map[STATE_SYSTEM_##x] = L#x;
-#define IA2_STATE_MAP(x) ia2_state_string_map[x] = L#x;
+#define IA_ROLE_MAP(x) ia_role_string_map[x] = L###x;  \
+                       ia2_role_string_map[x] = L###x;
+#define IA2_ROLE_MAP(x) ia2_role_string_map[x] = L###x;
+#define IA_STATE_MAP(x) ia_state_string_map[STATE_SYSTEM_##x] = L###x;
+#define IA2_STATE_MAP(x) ia2_state_string_map[x] = L###x;
 
   // MSAA / IAccessible roles. Each one of these is also a valid
   // IAccessible2 role, the IA_ROLE_MAP macro adds it to both.
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc
index 0efdb3c..4e7153a 100644
--- a/content/browser/accessibility/browser_accessibility_manager_win.cc
+++ b/content/browser/accessibility/browser_accessibility_manager_win.cc
@@ -40,7 +40,8 @@
       parent_hwnd_(NULL),
       parent_iaccessible_(parent_iaccessible),
       tracked_scroll_object_(NULL),
-      accessible_hwnd_(accessible_hwnd) {
+      accessible_hwnd_(accessible_hwnd),
+      focus_event_on_root_needed_(false) {
   ui::win::CreateATLModuleIfNeeded();
   if (accessible_hwnd_) {
     accessible_hwnd_->set_browser_accessibility_manager(this);
@@ -83,19 +84,18 @@
 
 void BrowserAccessibilityManagerWin::MaybeCallNotifyWinEvent(DWORD event,
                                                              LONG child_id) {
-  // Don't fire events if this view isn't hooked up to its parent.
-  if (!parent_iaccessible() || !parent_hwnd())
-    return;
-
   // If on Win 7 and complete accessibility is enabled, use the fake child HWND
   // to use as the root of the accessibility tree. See comments above
   // LegacyRenderWidgetHostHWND for details.
-  if (BrowserAccessibilityStateImpl::GetInstance()->IsAccessibleBrowser()) {
-    DCHECK(accessible_hwnd_);
+  if (accessible_hwnd_ &&
+      BrowserAccessibilityStateImpl::GetInstance()->IsAccessibleBrowser()) {
     parent_hwnd_ = accessible_hwnd_->hwnd();
     parent_iaccessible_ = accessible_hwnd_->window_accessible();
   }
-  ::NotifyWinEvent(event, parent_hwnd(), OBJID_CLIENT, child_id);
+
+  // Only fire events if this view is hooked up to its parent.
+  if (parent_iaccessible() && parent_hwnd())
+    ::NotifyWinEvent(event, parent_hwnd(), OBJID_CLIENT, child_id);
 }
 
 
@@ -120,34 +120,58 @@
 }
 
 void BrowserAccessibilityManagerWin::OnWindowFocused() {
-  // Fire a focus event on the root first and then the focused node.
+  // This is called either when this web frame gets focused, or when
+  // the root of the accessibility tree changes. In both cases, we need
+  // to fire a focus event on the root and then on the focused element
+  // within the page, if different.
+
+  // Set this flag so that we'll keep trying to fire these focus events
+  // if they're not successful this time.
+  focus_event_on_root_needed_ = true;
+
+  if (!delegate_ || !delegate_->AccessibilityViewHasFocus())
+    return;
+
+  // Try to fire a focus event on the root first and then the focused node.
+  // This will clear focus_event_on_root_needed_ if successful.
   if (focus_ != tree_->GetRoot())
     NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetRoot());
   BrowserAccessibilityManager::OnWindowFocused();
 }
 
-void BrowserAccessibilityManagerWin::OnWindowBlurred() {
-  // Fire a blur event on the focused node first and then the root.
-  BrowserAccessibilityManager::OnWindowBlurred();
-  if (focus_ != tree_->GetRoot())
-    NotifyAccessibilityEvent(ui::AX_EVENT_BLUR, GetRoot());
-}
-
 void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent(
     ui::AXEvent event_type,
     BrowserAccessibility* node) {
   if (node->GetRole() == ui::AX_ROLE_INLINE_TEXT_BOX)
     return;
 
+  // Don't fire focus, blur, or load complete notifications if the
+  // window isn't focused, because that can confuse screen readers into
+  // entering their "browse" mode.
+  if ((event_type == ui::AX_EVENT_FOCUS ||
+       event_type == ui::AX_EVENT_BLUR ||
+       event_type == ui::AX_EVENT_LOAD_COMPLETE) &&
+      (!delegate_ || !delegate_->AccessibilityViewHasFocus())) {
+    return;
+  }
+
   // NVDA gets confused if we focus the main document element when it hasn't
   // finished loading and it has no children at all, so suppress that event.
   if (event_type == ui::AX_EVENT_FOCUS &&
       node == GetRoot() &&
       node->PlatformChildCount() == 0 &&
+      !node->HasState(ui::AX_STATE_BUSY) &&
       !node->GetBoolAttribute(ui::AX_ATTR_DOC_LOADED)) {
     return;
   }
 
+  // If a focus event is needed on the root, fire that first before
+  // this event.
+  if (event_type == ui::AX_EVENT_FOCUS && node == GetRoot())
+    focus_event_on_root_needed_ = false;
+  else if (focus_event_on_root_needed_)
+    OnWindowFocused();
+
   LONG event_id = EVENT_MIN;
   switch (event_type) {
     case ui::AX_EVENT_ACTIVEDESCENDANTCHANGED:
@@ -235,10 +259,6 @@
     // object and pass it that same id, which we can use to retrieve the
     // IAccessible for this node.
     LONG child_id = node->ToBrowserAccessibilityWin()->unique_id_win();
-
-    // Always send a focus before a load complete.
-    if (event_type == ui::AX_EVENT_LOAD_COMPLETE)
-      MaybeCallNotifyWinEvent(EVENT_OBJECT_FOCUS, child_id);
     MaybeCallNotifyWinEvent(event_id, child_id);
   }
 
@@ -257,8 +277,9 @@
 }
 
 void BrowserAccessibilityManagerWin::OnRootChanged(ui::AXNode* new_root) {
-  if (delegate_ && delegate_->AccessibilityViewHasFocus())
-    NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetRoot());
+  // In order to make screen readers aware of the new accessibility root,
+  // we need to fire a focus event on it.
+  OnWindowFocused();
 }
 
 void BrowserAccessibilityManagerWin::TrackScrollingObject(
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.h b/content/browser/accessibility/browser_accessibility_manager_win.h
index 90914db..26c82b7 100644
--- a/content/browser/accessibility/browser_accessibility_manager_win.h
+++ b/content/browser/accessibility/browser_accessibility_manager_win.h
@@ -51,7 +51,6 @@
 
   // BrowserAccessibilityManager methods
   virtual void OnWindowFocused() OVERRIDE;
-  virtual void OnWindowBlurred() OVERRIDE;
   virtual void NotifyAccessibilityEvent(
       ui::AXEvent event_type, BrowserAccessibility* node) OVERRIDE;
 
@@ -93,6 +92,10 @@
   // Owned by its parent; OnAccessibleHwndDeleted gets called upon deletion.
   LegacyRenderWidgetHostHWND* accessible_hwnd_;
 
+  // Set to true if we need to fire a focus event on the root as soon as
+  // possible.
+  bool focus_event_on_root_needed_;
+
   DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManagerWin);
 };
 
diff --git a/content/browser/accessibility/browser_accessibility_win.h b/content/browser/accessibility/browser_accessibility_win.h
index 914d5c8..8dca2a8 100644
--- a/content/browser/accessibility/browser_accessibility_win.h
+++ b/content/browser/accessibility/browser_accessibility_win.h
@@ -60,23 +60,23 @@
  public:
   BEGIN_COM_MAP(BrowserAccessibilityWin)
     COM_INTERFACE_ENTRY2(IDispatch, IAccessible2)
-    COM_INTERFACE_ENTRY2(IAccessible, IAccessible2)
-    COM_INTERFACE_ENTRY2(IAccessibleText, IAccessibleHypertext)
+    COM_INTERFACE_ENTRY(IAccessible)
     COM_INTERFACE_ENTRY(IAccessible2)
     COM_INTERFACE_ENTRY(IAccessibleApplication)
+    COM_INTERFACE_ENTRY(IAccessibleEx)
     COM_INTERFACE_ENTRY(IAccessibleHyperlink)
     COM_INTERFACE_ENTRY(IAccessibleHypertext)
     COM_INTERFACE_ENTRY(IAccessibleImage)
     COM_INTERFACE_ENTRY(IAccessibleTable)
     COM_INTERFACE_ENTRY(IAccessibleTable2)
     COM_INTERFACE_ENTRY(IAccessibleTableCell)
+    COM_INTERFACE_ENTRY(IAccessibleText)
     COM_INTERFACE_ENTRY(IAccessibleValue)
+    COM_INTERFACE_ENTRY(IRawElementProviderSimple)
     COM_INTERFACE_ENTRY(IServiceProvider)
     COM_INTERFACE_ENTRY(ISimpleDOMDocument)
     COM_INTERFACE_ENTRY(ISimpleDOMNode)
     COM_INTERFACE_ENTRY(ISimpleDOMText)
-    COM_INTERFACE_ENTRY(IAccessibleEx)
-    COM_INTERFACE_ENTRY(IRawElementProviderSimple)
   END_COM_MAP()
 
   // Represents a non-static text node in IAccessibleHypertext. This character
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index 2335d0a..fc0af4c 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -37,6 +37,7 @@
 #include "content/browser/screen_orientation/screen_orientation_dispatcher_host.h"
 #include "content/browser/ssl/ssl_host_state.h"
 #include "content/browser/web_contents/web_contents_view_android.h"
+#include "content/common/frame_messages.h"
 #include "content/common/input/web_input_event_traits.h"
 #include "content/common/input_messages.h"
 #include "content/common/view_messages.h"
@@ -393,11 +394,8 @@
     return;
 
   if (window_android_) {
-    gfx::Vector2dF window_offset(
-        Java_ContentViewCore_getLocationInWindowX(env, obj.obj()),
-        Java_ContentViewCore_getLocationInWindowY(env, obj.obj()));
     window_android_->set_content_offset(
-        gfx::ScaleVector2d(content_offset, dpi_scale_) + window_offset);
+        gfx::ScaleVector2d(content_offset, dpi_scale_));
   }
 
   Java_ContentViewCore_updateFrameInfo(
@@ -1210,6 +1208,16 @@
     web_contents_->GetController().PruneAllButLastCommitted();
 }
 
+void ContentViewCoreImpl::AddStyleSheetByURL(
+    JNIEnv* env, jobject obj, jstring url) {
+  if (!web_contents_)
+    return;
+
+  web_contents_->GetMainFrame()->Send(new FrameMsg_AddStyleSheetByURL(
+      web_contents_->GetMainFrame()->GetRoutingID(),
+      ConvertJavaStringToUTF8(env, url)));
+}
+
 void ContentViewCoreImpl::SetAllowJavascriptInterfacesInspection(
     JNIEnv* env,
     jobject obj,
@@ -1572,6 +1580,23 @@
     GetRenderWidgetHostViewAndroid()->SetBackgroundOpaque(opaque);
 }
 
+void ContentViewCoreImpl::RequestTextSurroundingSelection(
+    int max_length,
+    const base::Callback<
+        void(const base::string16& content, int start_offset, int end_offset)>&
+        callback) {
+  DCHECK(!callback.is_null());
+  RenderFrameHost* focused_frame = web_contents_->GetFocusedFrame();
+  if (!focused_frame)
+    return;
+  if (GetRenderWidgetHostViewAndroid()) {
+    GetRenderWidgetHostViewAndroid()->SetTextSurroundingSelectionCallback(
+        callback);
+    focused_frame->Send(new FrameMsg_TextSurroundingSelectionRequest(
+        focused_frame->GetRoutingID(), max_length));
+  }
+}
+
 void ContentViewCoreImpl::OnSmartClipDataExtracted(
     const base::string16& result) {
   JNIEnv* env = AttachCurrentThread();
diff --git a/content/browser/android/content_view_core_impl.h b/content/browser/android/content_view_core_impl.h
index 6c003df..3bb1291 100644
--- a/content/browser/android/content_view_core_impl.h
+++ b/content/browser/android/content_view_core_impl.h
@@ -9,7 +9,6 @@
 
 #include "base/android/jni_android.h"
 #include "base/android/jni_weak_ref.h"
-#include "base/basictypes.h"
 #include "base/compiler_specific.h"
 #include "base/i18n/rtl.h"
 #include "base/memory/scoped_ptr.h"
@@ -62,6 +61,11 @@
   virtual float GetDpiScale() const OVERRIDE;
   virtual void PauseVideo() OVERRIDE;
   virtual void PauseOrResumeGeolocation(bool should_pause) OVERRIDE;
+  virtual void RequestTextSurroundingSelection(
+      int max_length,
+      const base::Callback<void(const base::string16& content,
+                                int start_offset,
+                                int end_offset)>& callback) OVERRIDE;
 
   // --------------------------------------------------------------------------
   // Methods called from Java via JNI
@@ -157,6 +161,7 @@
   void ReloadIgnoringCache(JNIEnv* env, jobject obj, jboolean check_for_repost);
   void CancelPendingReload(JNIEnv* env, jobject obj);
   void ContinuePendingReload(JNIEnv* env, jobject obj);
+  void AddStyleSheetByURL(JNIEnv* env, jobject obj, jstring url);
   void ClearHistory(JNIEnv* env, jobject obj);
   void EvaluateJavaScript(JNIEnv* env,
                           jobject obj,
diff --git a/content/browser/android/content_view_statics.cc b/content/browser/android/content_view_statics.cc
index b6cfde1..00b5600 100644
--- a/content/browser/android/content_view_statics.cc
+++ b/content/browser/android/content_view_statics.cc
@@ -60,11 +60,9 @@
             content::RenderProcessHost::AllHostsIterator());
          !i.IsAtEnd(); i.Advance()) {
       content::RenderProcessHost* host = i.GetCurrentValue();
-      if (host->HasConnection()) {
-        host->AddObserver(this);
-        host->Send(new ViewMsg_SetWebKitSharedTimersSuspended(true));
-        suspended_processes_.push_back(host->GetID());
-      }
+      host->AddObserver(this);
+      host->Send(new ViewMsg_SetWebKitSharedTimersSuspended(true));
+      suspended_processes_.push_back(host->GetID());
     }
   }
 
diff --git a/content/browser/android/web_contents_observer_android.cc b/content/browser/android/web_contents_observer_android.cc
index 344a901..a471028 100644
--- a/content/browser/android/web_contents_observer_android.cc
+++ b/content/browser/android/web_contents_observer_android.cc
@@ -11,7 +11,6 @@
 #include "base/android/jni_android.h"
 #include "base/android/jni_string.h"
 #include "base/android/scoped_java_ref.h"
-#include "content/browser/android/content_view_core_impl.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/navigation_details.h"
@@ -36,11 +35,13 @@
 WebContentsObserverAndroid::~WebContentsObserverAndroid() {
 }
 
-jlong Init(JNIEnv* env, jobject obj, jlong native_content_view_core) {
-  ContentViewCore* content_view_core =
-      reinterpret_cast<ContentViewCore*>(native_content_view_core);
+jlong Init(JNIEnv* env, jobject obj, jobject java_web_contents) {
+  content::WebContents* web_contents =
+        content::WebContents::FromJavaWebContents(java_web_contents);
+  CHECK(web_contents);
+
   WebContentsObserverAndroid* native_observer = new WebContentsObserverAndroid(
-      env, obj, content_view_core->GetWebContents());
+      env, obj, web_contents);
   return reinterpret_cast<intptr_t>(native_observer);
 }
 
diff --git a/content/browser/bookmarklet_browsertest.cc b/content/browser/bookmarklet_browsertest.cc
index 9381962..5ec10d5 100644
--- a/content/browser/bookmarklet_browsertest.cc
+++ b/content/browser/bookmarklet_browsertest.cc
@@ -70,6 +70,4 @@
   EXPECT_EQ("hello world", GetBodyText());
 }
 
-
 }  // namespace content
-
diff --git a/content/browser/bootstrap_sandbox_mac.cc b/content/browser/bootstrap_sandbox_mac.cc
index c0bb6f8..c6bf383 100644
--- a/content/browser/bootstrap_sandbox_mac.cc
+++ b/content/browser/bootstrap_sandbox_mac.cc
@@ -8,9 +8,16 @@
 #include "base/mac/mac_util.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/singleton.h"
+#include "content/browser/mach_broker_mac.h"
 #include "content/common/sandbox_init_mac.h"
 #include "content/public/browser/browser_child_process_observer.h"
 #include "content/public/browser/child_process_data.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
+#include "content/public/browser/notification_service.h"
+#include "content/public/browser/notification_types.h"
+#include "content/public/browser/render_process_host.h"
 #include "content/public/common/sandbox_type_mac.h"
 #include "sandbox/mac/bootstrap_sandbox.h"
 
@@ -20,7 +27,8 @@
 
 // This class is responsible for creating the BootstrapSandbox global
 // singleton, as well as registering all associated policies with it.
-class BootstrapSandboxPolicy : public BrowserChildProcessObserver {
+class BootstrapSandboxPolicy : public BrowserChildProcessObserver,
+                               public NotificationObserver {
  public:
   static BootstrapSandboxPolicy* GetInstance();
 
@@ -34,13 +42,22 @@
   virtual void BrowserChildProcessCrashed(
       const ChildProcessData& data) OVERRIDE;
 
+  // NotificationObserver:
+  virtual void Observe(int type,
+                       const NotificationSource& source,
+                       const NotificationDetails& details) OVERRIDE;
+
  private:
   friend struct DefaultSingletonTraits<BootstrapSandboxPolicy>;
   BootstrapSandboxPolicy();
   virtual ~BootstrapSandboxPolicy();
 
   void RegisterSandboxPolicies();
-  void RegisterNPAPIPolicy();
+  void RegisterRendererPolicy();
+
+  void AddBaselinePolicy(sandbox::BootstrapSandboxPolicy* policy);
+
+  NotificationRegistrar notification_registrar_;
 
   scoped_ptr<sandbox::BootstrapSandbox> sandbox_;
 };
@@ -59,10 +76,26 @@
   sandbox()->ChildDied(data.handle);
 }
 
+void BootstrapSandboxPolicy::Observe(int type,
+                                     const NotificationSource& source,
+                                     const NotificationDetails& details) {
+  switch (type) {
+    case NOTIFICATION_RENDERER_PROCESS_CLOSED:
+      sandbox()->ChildDied(
+          Details<RenderProcessHost::RendererClosedDetails>(details)->handle);
+      break;
+    default:
+      NOTREACHED() << "Unexpected notification " << type;
+      break;
+  }
+}
+
 BootstrapSandboxPolicy::BootstrapSandboxPolicy()
     : sandbox_(sandbox::BootstrapSandbox::Create()) {
   CHECK(sandbox_.get());
   BrowserChildProcessObserver::Add(this);
+  notification_registrar_.Add(this, NOTIFICATION_RENDERER_PROCESS_CLOSED,
+      NotificationService::AllBrowserContextsAndSources());
   RegisterSandboxPolicies();
 }
 
@@ -71,22 +104,42 @@
 }
 
 void BootstrapSandboxPolicy::RegisterSandboxPolicies() {
-  RegisterNPAPIPolicy();
+  RegisterRendererPolicy();
 }
 
-void BootstrapSandboxPolicy::RegisterNPAPIPolicy() {
+void BootstrapSandboxPolicy::RegisterRendererPolicy() {
   sandbox::BootstrapSandboxPolicy policy;
-  policy.default_rule = sandbox::Rule(sandbox::POLICY_ALLOW);
-  policy.rules[kBootstrapPortNameForNPAPIPlugins] =
-      sandbox::Rule(sandbox_->real_bootstrap_port());
-  sandbox_->RegisterSandboxPolicy(SANDBOX_TYPE_NPAPI, policy);
+  AddBaselinePolicy(&policy);
+
+  // Permit font queries.
+  policy.rules["com.apple.FontServer"] = sandbox::Rule(sandbox::POLICY_ALLOW);
+  policy.rules["com.apple.FontObjectsServer"] =
+      sandbox::Rule(sandbox::POLICY_ALLOW);
+
+  // Allow access to the windowserver. This is needed to get the colorspace
+  // during sandbox warmup. Since NSColorSpace conforms to NSCoding, this
+  // should be plumbed over IPC instead <http://crbug.com/265709>.
+  policy.rules["com.apple.windowserver.active"] =
+      sandbox::Rule(sandbox::POLICY_ALLOW);
+
+  sandbox_->RegisterSandboxPolicy(SANDBOX_TYPE_RENDERER, policy);
+}
+
+void BootstrapSandboxPolicy::AddBaselinePolicy(
+    sandbox::BootstrapSandboxPolicy* policy) {
+  auto& rules = policy->rules;
+
+  // Allow the child to send its task port to the MachBroker.
+  rules[MachBroker::GetMachPortName()] = sandbox::Rule(sandbox::POLICY_ALLOW);
+
+  // Allow logging to the syslog.
+  rules["com.apple.system.logger"] = sandbox::Rule(sandbox::POLICY_ALLOW);
 }
 
 }  // namespace
 
 bool ShouldEnableBootstrapSandbox() {
-  return base::mac::IsOSMountainLionOrEarlier() ||
-         base::mac::IsOSMavericks();
+  return base::mac::IsOSMavericksOrEarlier();
 }
 
 sandbox::BootstrapSandbox* GetBootstrapSandbox() {
diff --git a/content/browser/browser_child_process_host_impl.cc b/content/browser/browser_child_process_host_impl.cc
index dd7d600..c2d31b8 100644
--- a/content/browser/browser_child_process_host_impl.cc
+++ b/content/browser/browser_child_process_host_impl.cc
@@ -140,6 +140,7 @@
   static const char* kForwardSwitches[] = {
     switches::kDisableLogging,
     switches::kEnableLogging,
+    switches::kIPCConnectionTimeout,
     switches::kLoggingLevel,
     switches::kTraceToConsole,
     switches::kV,
diff --git a/content/browser/browser_plugin/browser_plugin_embedder.cc b/content/browser/browser_plugin/browser_plugin_embedder.cc
index 42f8f95..30b4789 100644
--- a/content/browser/browser_plugin/browser_plugin_embedder.cc
+++ b/content/browser/browser_plugin/browser_plugin_embedder.cc
@@ -136,18 +136,8 @@
                 : NULL;
   }
 
-  if (guest) {
-    // There is an implicit order expectation here:
-    // 1. The content embedder is made aware of the attachment.
-    // 2. BrowserPluginGuest::Attach is called.
-    // 3. The content embedder issues queued events if any that happened
-    //    prior to attachment.
-    GetContentClient()->browser()->GuestWebContentsAttached(
-        guest->GetWebContents(),
-        GetWebContents(),
-        *extra_params);
+  if (guest)
     guest->Attach(GetWebContents(), params, *extra_params);
-  }
 }
 
 void BrowserPluginEmbedder::OnAttach(
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc
index 6f590e9..b3bd05a 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.cc
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc
@@ -226,11 +226,6 @@
 
   // Inform the embedder of the guest's attachment.
   SendMessageToEmbedder(new BrowserPluginMsg_Attach_ACK(instance_id_));
-
-  if (delegate_) {
-    delegate_->DidAttach(extra_params);
-    has_render_view_ = true;
-  }
 }
 
 BrowserPluginGuest::~BrowserPluginGuest() {
@@ -487,6 +482,9 @@
   if (attached())
     return;
 
+  if (delegate_)
+    delegate_->WillAttach(embedder_web_contents, extra_params);
+
   // If a RenderView has already been created for this new window, then we need
   // to initialize the browser-side state now so that the RenderFrameHostManager
   // does not create a new RenderView on navigation.
@@ -502,6 +500,9 @@
 
   SendQueuedMessages();
 
+  if (delegate_)
+    delegate_->DidAttach();
+
   RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.Attached"));
 }
 
diff --git a/content/browser/browser_plugin/browser_plugin_guest.h b/content/browser/browser_plugin/browser_plugin_guest.h
index 9c82e15..d1bd4ba 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.h
+++ b/content/browser/browser_plugin/browser_plugin_guest.h
@@ -363,7 +363,9 @@
 
   // Indicates that this BrowserPluginGuest has associated renderer-side state.
   // This is used to determine whether or not to create a new RenderView when
-  // this guest is attached.
+  // this guest is attached. A BrowserPluginGuest would have renderer-side state
+  // prior to attachment if it is created via a call to window.open and
+  // maintains a JavaScript reference to its opener.
   bool has_render_view_;
 
   // Last seen size of guest contents (by OnUpdateRect).
diff --git a/content/browser/browser_thread_impl.cc b/content/browser/browser_thread_impl.cc
index d3c416d..641056f 100644
--- a/content/browser/browser_thread_impl.cc
+++ b/content/browser/browser_thread_impl.cc
@@ -16,6 +16,10 @@
 #include "base/threading/thread_restrictions.h"
 #include "content/public/browser/browser_thread_delegate.h"
 
+#if defined(OS_ANDROID)
+#include "base/android/jni_android.h"
+#endif
+
 namespace content {
 
 namespace {
@@ -218,6 +222,15 @@
 MSVC_ENABLE_OPTIMIZE();
 
 void BrowserThreadImpl::Run(base::MessageLoop* message_loop) {
+#if defined(OS_ANDROID)
+  // Not to reset thread name to "Thread-???" by VM, attach VM with thread name.
+  // Though it may create unnecessary VM thread objects, keeping thread name
+  // gives more benefit in debugging in the platform.
+  if (!thread_name().empty()) {
+    base::android::AttachCurrentThreadWithName(thread_name());
+  }
+#endif
+
   BrowserThread::ID thread_id = ID_COUNT;
   if (!GetCurrentThreadIdentifier(&thread_id))
     return Thread::Run(message_loop);
diff --git a/content/browser/child_process_launcher.cc b/content/browser/child_process_launcher.cc
index 9ead67b..b49a982 100644
--- a/content/browser/child_process_launcher.cc
+++ b/content/browser/child_process_launcher.cc
@@ -288,6 +288,8 @@
       const int bootstrap_sandbox_policy = delegate->GetSandboxType();
       if (ShouldEnableBootstrapSandbox() &&
           bootstrap_sandbox_policy != SANDBOX_TYPE_INVALID) {
+        options.replacement_bootstrap_name =
+            GetBootstrapSandbox()->server_bootstrap_name();
         GetBootstrapSandbox()->PrepareToForkWithPolicy(
             bootstrap_sandbox_policy);
       }
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
index d268b94..bdf7cb4 100644
--- a/content/browser/compositor/gpu_process_transport_factory.cc
+++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -48,7 +48,7 @@
 #elif defined(USE_OZONE)
 #include "content/browser/compositor/overlay_candidate_validator_ozone.h"
 #include "content/browser/compositor/software_output_device_ozone.h"
-#include "ui/gfx/ozone/surface_factory_ozone.h"
+#include "ui/ozone/public/surface_factory_ozone.h"
 #elif defined(USE_X11)
 #include "content/browser/compositor/software_output_device_x11.h"
 #elif defined(OS_MACOSX)
@@ -121,8 +121,8 @@
 scoped_ptr<cc::OverlayCandidateValidator> CreateOverlayCandidateValidator(
     gfx::AcceleratedWidget widget) {
 #if defined(USE_OZONE)
-  gfx::OverlayCandidatesOzone* overlay_candidates =
-      gfx::SurfaceFactoryOzone::GetInstance()->GetOverlayCandidates(widget);
+  ui::OverlayCandidatesOzone* overlay_candidates =
+      ui::SurfaceFactoryOzone::GetInstance()->GetOverlayCandidates(widget);
   if (overlay_candidates && CommandLine::ForCurrentProcess()->HasSwitch(
                                 switches::kEnableHardwareOverlays)) {
     return scoped_ptr<cc::OverlayCandidateValidator>(
diff --git a/content/browser/compositor/overlay_candidate_validator_ozone.cc b/content/browser/compositor/overlay_candidate_validator_ozone.cc
index 7ca5a97..b4a3cfe 100644
--- a/content/browser/compositor/overlay_candidate_validator_ozone.cc
+++ b/content/browser/compositor/overlay_candidate_validator_ozone.cc
@@ -4,15 +4,15 @@
 
 #include "content/browser/compositor/overlay_candidate_validator_ozone.h"
 
-#include "ui/gfx/ozone/overlay_candidates_ozone.h"
+#include "ui/ozone/public/overlay_candidates_ozone.h"
 
 namespace content {
 
-static gfx::SurfaceFactoryOzone::BufferFormat GetOzoneFormat(
+static ui::SurfaceFactoryOzone::BufferFormat GetOzoneFormat(
     cc::ResourceFormat overlay_format) {
   switch (overlay_format) {
     case cc::RGBA_8888:
-      return gfx::SurfaceFactoryOzone::RGBA_8888;
+      return ui::SurfaceFactoryOzone::RGBA_8888;
     case cc::RGBA_4444:
     case cc::BGRA_8888:
     case cc::LUMINANCE_8:
@@ -21,20 +21,21 @@
       break;
   }
   NOTREACHED();
-  return gfx::SurfaceFactoryOzone::UNKNOWN;
+  return ui::SurfaceFactoryOzone::UNKNOWN;
 }
 
 OverlayCandidateValidatorOzone::OverlayCandidateValidatorOzone(
     gfx::AcceleratedWidget widget,
-    gfx::OverlayCandidatesOzone* overlay_candidates)
-    : widget_(widget), overlay_candidates_(overlay_candidates) {}
+    ui::OverlayCandidatesOzone* overlay_candidates)
+    : widget_(widget), overlay_candidates_(overlay_candidates) {
+}
 
 OverlayCandidateValidatorOzone::~OverlayCandidateValidatorOzone() {}
 
 void OverlayCandidateValidatorOzone::CheckOverlaySupport(
     cc::OverlayCandidateList* surfaces) {
   DCHECK_GE(2U, surfaces->size());
-  gfx::OverlayCandidatesOzone::OverlaySurfaceCandidateList ozone_surface_list;
+  ui::OverlayCandidatesOzone::OverlaySurfaceCandidateList ozone_surface_list;
   ozone_surface_list.resize(surfaces->size());
 
   for (size_t i = 0; i < surfaces->size(); i++) {
diff --git a/content/browser/compositor/overlay_candidate_validator_ozone.h b/content/browser/compositor/overlay_candidate_validator_ozone.h
index c46eaba..8fb690b 100644
--- a/content/browser/compositor/overlay_candidate_validator_ozone.h
+++ b/content/browser/compositor/overlay_candidate_validator_ozone.h
@@ -10,7 +10,7 @@
 #include "content/common/content_export.h"
 #include "ui/gfx/native_widget_types.h"
 
-namespace gfx {
+namespace ui {
 class OverlayCandidatesOzone;
 }
 
@@ -21,7 +21,7 @@
  public:
   OverlayCandidateValidatorOzone(
       gfx::AcceleratedWidget widget,
-      gfx::OverlayCandidatesOzone* overlay_candidates);
+      ui::OverlayCandidatesOzone* overlay_candidates);
   virtual ~OverlayCandidateValidatorOzone();
 
   // cc::OverlayCandidateValidator implementation.
@@ -29,7 +29,7 @@
 
  private:
   gfx::AcceleratedWidget widget_;
-  gfx::OverlayCandidatesOzone* overlay_candidates_;
+  ui::OverlayCandidatesOzone* overlay_candidates_;
 
   DISALLOW_COPY_AND_ASSIGN(OverlayCandidateValidatorOzone);
 };
diff --git a/content/browser/compositor/software_output_device_ozone.cc b/content/browser/compositor/software_output_device_ozone.cc
index e5514a8..b97b8b7 100644
--- a/content/browser/compositor/software_output_device_ozone.cc
+++ b/content/browser/compositor/software_output_device_ozone.cc
@@ -5,18 +5,18 @@
 #include "content/browser/compositor/software_output_device_ozone.h"
 #include "third_party/skia/include/core/SkDevice.h"
 #include "ui/compositor/compositor.h"
-#include "ui/gfx/ozone/surface_factory_ozone.h"
-#include "ui/gfx/ozone/surface_ozone_canvas.h"
 #include "ui/gfx/skia_util.h"
 #include "ui/gfx/vsync_provider.h"
+#include "ui/ozone/public/surface_factory_ozone.h"
+#include "ui/ozone/public/surface_ozone_canvas.h"
 
 namespace content {
 
 SoftwareOutputDeviceOzone::SoftwareOutputDeviceOzone(ui::Compositor* compositor)
     : compositor_(compositor) {
-  gfx::SurfaceFactoryOzone* factory = gfx::SurfaceFactoryOzone::GetInstance();
+  ui::SurfaceFactoryOzone* factory = ui::SurfaceFactoryOzone::GetInstance();
 
-  if (factory->InitializeHardware() != gfx::SurfaceFactoryOzone::INITIALIZED)
+  if (factory->InitializeHardware() != ui::SurfaceFactoryOzone::INITIALIZED)
     LOG(FATAL) << "Failed to initialize hardware in OZONE";
 
   surface_ozone_ = factory->CreateCanvasForWidget(compositor_->widget());
diff --git a/content/browser/compositor/software_output_device_ozone.h b/content/browser/compositor/software_output_device_ozone.h
index 74ef6fd..600138f 100644
--- a/content/browser/compositor/software_output_device_ozone.h
+++ b/content/browser/compositor/software_output_device_ozone.h
@@ -11,9 +11,6 @@
 
 namespace ui {
 class Compositor;
-}
-
-namespace gfx {
 class SurfaceOzoneCanvas;
 }
 
@@ -36,7 +33,7 @@
  private:
   ui::Compositor* compositor_;
 
-  scoped_ptr<gfx::SurfaceOzoneCanvas> surface_ozone_;
+  scoped_ptr<ui::SurfaceOzoneCanvas> surface_ozone_;
 
   DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDeviceOzone);
 };
diff --git a/content/browser/compositor/software_output_device_ozone_unittest.cc b/content/browser/compositor/software_output_device_ozone_unittest.cc
index 009bd89..a2176a6 100644
--- a/content/browser/compositor/software_output_device_ozone_unittest.cc
+++ b/content/browser/compositor/software_output_device_ozone_unittest.cc
@@ -10,21 +10,21 @@
 #include "third_party/skia/include/core/SkSurface.h"
 #include "ui/compositor/compositor.h"
 #include "ui/compositor/test/context_factories_for_test.h"
-#include "ui/gfx/ozone/surface_factory_ozone.h"
-#include "ui/gfx/ozone/surface_ozone_canvas.h"
 #include "ui/gfx/size.h"
 #include "ui/gfx/skia_util.h"
 #include "ui/gfx/vsync_provider.h"
 #include "ui/gl/gl_implementation.h"
+#include "ui/ozone/public/surface_factory_ozone.h"
+#include "ui/ozone/public/surface_ozone_canvas.h"
 
 namespace {
 
-class MockSurfaceOzone : public gfx::SurfaceOzoneCanvas {
+class MockSurfaceOzone : public ui::SurfaceOzoneCanvas {
  public:
   MockSurfaceOzone() {}
   virtual ~MockSurfaceOzone() {}
 
-  // gfx::SurfaceOzoneCanvas overrides:
+  // ui::SurfaceOzoneCanvas overrides:
   virtual void ResizeCanvas(const gfx::Size& size) OVERRIDE {
     surface_ = skia::AdoptRef(SkSurface::NewRaster(
         SkImageInfo::MakeN32Premul(size.width(), size.height())));
@@ -43,7 +43,7 @@
   DISALLOW_COPY_AND_ASSIGN(MockSurfaceOzone);
 };
 
-class MockSurfaceFactoryOzone : public gfx::SurfaceFactoryOzone {
+class MockSurfaceFactoryOzone : public ui::SurfaceFactoryOzone {
  public:
   MockSurfaceFactoryOzone() {}
   virtual ~MockSurfaceFactoryOzone() {}
@@ -59,9 +59,9 @@
       SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE {
     return false;
   }
-  virtual scoped_ptr<gfx::SurfaceOzoneCanvas> CreateCanvasForWidget(
+  virtual scoped_ptr<ui::SurfaceOzoneCanvas> CreateCanvasForWidget(
       gfx::AcceleratedWidget widget) OVERRIDE {
-    return make_scoped_ptr<gfx::SurfaceOzoneCanvas>(new MockSurfaceOzone());
+    return make_scoped_ptr<ui::SurfaceOzoneCanvas>(new MockSurfaceOzone());
   }
 
  private:
@@ -85,7 +85,7 @@
  private:
   scoped_ptr<ui::Compositor> compositor_;
   scoped_ptr<base::MessageLoop> message_loop_;
-  scoped_ptr<gfx::SurfaceFactoryOzone> surface_factory_;
+  scoped_ptr<ui::SurfaceFactoryOzone> surface_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDeviceOzoneTest);
 };
@@ -106,7 +106,7 @@
 
   const gfx::Size size(500, 400);
   compositor_.reset(new ui::Compositor(
-      gfx::SurfaceFactoryOzone::GetInstance()->GetAcceleratedWidget(),
+      ui::SurfaceFactoryOzone::GetInstance()->GetAcceleratedWidget(),
       context_factory));
   compositor_->SetScaleAndSize(1.0f, size);
 
diff --git a/content/browser/devtools/devtools_power_handler.cc b/content/browser/devtools/devtools_power_handler.cc
index 27fdf29..43772b4 100644
--- a/content/browser/devtools/devtools_power_handler.cc
+++ b/content/browser/devtools/devtools_power_handler.cc
@@ -24,6 +24,7 @@
 }
 
 DevToolsPowerHandler::~DevToolsPowerHandler() {
+  PowerProfilerService::GetInstance()->RemoveObserver(this);
 }
 
 void DevToolsPowerHandler::OnPowerEvent(const PowerEventVector& events) {
diff --git a/content/browser/devtools/devtools_tracing_handler.cc b/content/browser/devtools/devtools_tracing_handler.cc
index b20c146..19ec976 100644
--- a/content/browser/devtools/devtools_tracing_handler.cc
+++ b/content/browser/devtools/devtools_tracing_handler.cc
@@ -200,12 +200,21 @@
 scoped_refptr<DevToolsProtocol::Response>
 DevToolsTracingHandler::OnEnd(
     scoped_refptr<DevToolsProtocol::Command> command) {
-  buffer_usage_poll_timer_.reset();
-  TracingController::GetInstance()->DisableRecording(
-      base::FilePath(),
+  DisableRecording(
       base::Bind(&DevToolsTracingHandler::BeginReadingRecordingResult,
                  weak_factory_.GetWeakPtr()));
   return command->SuccessResponse(NULL);
 }
 
+void DevToolsTracingHandler::DisableRecording(
+    const TracingController::TracingFileResultCallback& callback) {
+  buffer_usage_poll_timer_.reset();
+  TracingController::GetInstance()->DisableRecording(base::FilePath(),
+                                                     callback);
+}
+
+void DevToolsTracingHandler::OnClientDetached() {
+    DisableRecording();
+}
+
 }  // namespace content
diff --git a/content/browser/devtools/devtools_tracing_handler.h b/content/browser/devtools/devtools_tracing_handler.h
index c41f1ec..787a123 100644
--- a/content/browser/devtools/devtools_tracing_handler.h
+++ b/content/browser/devtools/devtools_tracing_handler.h
@@ -24,6 +24,8 @@
   explicit DevToolsTracingHandler(Target target);
   virtual ~DevToolsTracingHandler();
 
+  void OnClientDetached();
+
  private:
   void BeginReadingRecordingResult(const base::FilePath& path);
   void ReadRecordingResult(const scoped_refptr<base::RefCountedString>& result);
@@ -38,6 +40,10 @@
 
   TracingController::Options TraceOptionsFromString(const std::string& options);
 
+  void DisableRecording(
+      const TracingController::TracingFileResultCallback& callback =
+          TracingController::TracingFileResultCallback());
+
   base::WeakPtrFactory<DevToolsTracingHandler> weak_factory_;
   scoped_ptr<base::Timer> buffer_usage_poll_timer_;
   Target target_;
diff --git a/content/browser/devtools/render_view_devtools_agent_host.cc b/content/browser/devtools/render_view_devtools_agent_host.cc
index 2dda237..82df7ed 100644
--- a/content/browser/devtools/render_view_devtools_agent_host.cc
+++ b/content/browser/devtools/render_view_devtools_agent_host.cc
@@ -261,6 +261,7 @@
   power_save_blocker_.reset();
 #endif
   overrides_handler_->OnClientDetached();
+  tracing_handler_->OnClientDetached();
   ClientDetachedFromRenderer();
 }
 
diff --git a/content/browser/fileapi/copy_or_move_file_validator_unittest.cc b/content/browser/fileapi/copy_or_move_file_validator_unittest.cc
index cdc92ce..eaff4d3 100644
--- a/content/browser/fileapi/copy_or_move_file_validator_unittest.cc
+++ b/content/browser/fileapi/copy_or_move_file_validator_unittest.cc
@@ -24,15 +24,15 @@
 using content::AsyncFileTestHelper;
 using fileapi::CopyOrMoveFileValidator;
 using fileapi::CopyOrMoveFileValidatorFactory;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 
 namespace content {
 
 namespace {
 
-const FileSystemType kNoValidatorType = fileapi::kFileSystemTypeTemporary;
-const FileSystemType kWithValidatorType = fileapi::kFileSystemTypeTest;
+const fileapi::FileSystemType kNoValidatorType =
+    fileapi::kFileSystemTypeTemporary;
+const fileapi::FileSystemType kWithValidatorType = fileapi::kFileSystemTypeTest;
 
 void ExpectOk(const GURL& origin_url,
               const std::string& name,
@@ -42,13 +42,10 @@
 
 class CopyOrMoveFileValidatorTestHelper {
  public:
-  CopyOrMoveFileValidatorTestHelper(
-      const GURL& origin,
-      FileSystemType src_type,
-      FileSystemType dest_type)
-      : origin_(origin),
-        src_type_(src_type),
-        dest_type_(dest_type) {}
+  CopyOrMoveFileValidatorTestHelper(const GURL& origin,
+                                    fileapi::FileSystemType src_type,
+                                    fileapi::FileSystemType dest_type)
+      : origin_(origin), src_type_(src_type), dest_type_(dest_type) {}
 
   ~CopyOrMoveFileValidatorTestHelper() {
     file_system_context_ = NULL;
@@ -170,8 +167,8 @@
 
   const GURL origin_;
 
-  const FileSystemType src_type_;
-  const FileSystemType dest_type_;
+  const fileapi::FileSystemType src_type_;
+  const fileapi::FileSystemType dest_type_;
   std::string src_fsid_;
   std::string dest_fsid_;
 
diff --git a/content/browser/fileapi/copy_or_move_operation_delegate_unittest.cc b/content/browser/fileapi/copy_or_move_operation_delegate_unittest.cc
index 1ddb05b..f2c00fc 100644
--- a/content/browser/fileapi/copy_or_move_operation_delegate_unittest.cc
+++ b/content/browser/fileapi/copy_or_move_operation_delegate_unittest.cc
@@ -34,7 +34,6 @@
 using fileapi::CopyOrMoveOperationDelegate;
 using fileapi::FileStreamWriter;
 using fileapi::FileSystemOperation;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 
 namespace content {
@@ -165,13 +164,10 @@
 
 class CopyOrMoveOperationTestHelper {
  public:
-  CopyOrMoveOperationTestHelper(
-      const GURL& origin,
-      FileSystemType src_type,
-      FileSystemType dest_type)
-      : origin_(origin),
-        src_type_(src_type),
-        dest_type_(dest_type) {}
+  CopyOrMoveOperationTestHelper(const GURL& origin,
+                                fileapi::FileSystemType src_type,
+                                fileapi::FileSystemType dest_type)
+      : origin_(origin), src_type_(src_type), dest_type_(dest_type) {}
 
   ~CopyOrMoveOperationTestHelper() {
     file_system_context_ = NULL;
@@ -377,7 +373,9 @@
   }
 
  private:
-  void GetUsageAndQuota(FileSystemType type, int64* usage, int64* quota) {
+  void GetUsageAndQuota(fileapi::FileSystemType type,
+                        int64* usage,
+                        int64* quota) {
     quota::QuotaStatusCode status = AsyncFileTestHelper::GetUsageAndQuota(
         quota_manager_.get(), origin_, type, usage, quota);
     ASSERT_EQ(quota::kQuotaStatusOk, status);
@@ -387,8 +385,8 @@
   base::ScopedTempDir base_;
 
   const GURL origin_;
-  const FileSystemType src_type_;
-  const FileSystemType dest_type_;
+  const fileapi::FileSystemType src_type_;
+  const fileapi::FileSystemType dest_type_;
 
   base::MessageLoopForIO message_loop_;
   scoped_refptr<fileapi::FileSystemContext> file_system_context_;
diff --git a/content/browser/fileapi/external_mount_points_unittest.cc b/content/browser/fileapi/external_mount_points_unittest.cc
index a1b0787..fa0d1f5 100644
--- a/content/browser/fileapi/external_mount_points_unittest.cc
+++ b/content/browser/fileapi/external_mount_points_unittest.cc
@@ -456,11 +456,13 @@
   for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) {
     std::string cracked_name;
     fileapi::FileSystemType cracked_type;
+    std::string cracked_id;
     base::FilePath cracked_path;
     fileapi::FileSystemMountOption cracked_option;
     EXPECT_EQ(kTestCases[i].expect_valid,
               mount_points->CrackVirtualPath(base::FilePath(kTestCases[i].path),
-                  &cracked_name, &cracked_type, &cracked_path, &cracked_option))
+                  &cracked_name, &cracked_type, &cracked_id, &cracked_path,
+                  &cracked_option))
         << "Test case index: " << i;
 
     if (!kTestCases[i].expect_valid)
@@ -473,6 +475,9 @@
         << "Test case index: " << i;
     EXPECT_EQ(kTestCases[i].expect_name, cracked_name)
         << "Test case index: " << i;
+    // As of now we don't mount other filesystems with non-empty filesystem_id
+    // onto external mount points.
+    EXPECT_TRUE(cracked_id.empty()) << "Test case index: " << i;
   }
 }
 
@@ -493,13 +498,16 @@
 
   std::string name;
   fileapi::FileSystemType type;
+  std::string cracked_id;
   fileapi::FileSystemMountOption option;
   base::FilePath path;
   EXPECT_TRUE(mount_points->CrackVirtualPath(
-      base::FilePath(FPL("nosync/file")), &name, &type, &path, &option));
+      base::FilePath(FPL("nosync/file")), &name, &type, &cracked_id, &path,
+      &option));
   EXPECT_EQ(fileapi::COPY_SYNC_OPTION_NO_SYNC, option.copy_sync_option());
   EXPECT_TRUE(mount_points->CrackVirtualPath(
-      base::FilePath(FPL("sync/file")), &name, &type, &path, &option));
+      base::FilePath(FPL("sync/file")), &name, &type, &cracked_id, &path,
+      &option));
   EXPECT_EQ(fileapi::COPY_SYNC_OPTION_SYNC, option.copy_sync_option());
 }
 
diff --git a/content/browser/fileapi/file_system_context_unittest.cc b/content/browser/fileapi/file_system_context_unittest.cc
index 1974ca1..e746a6a 100644
--- a/content/browser/fileapi/file_system_context_unittest.cc
+++ b/content/browser/fileapi/file_system_context_unittest.cc
@@ -27,7 +27,6 @@
 using fileapi::FileSystemBackend;
 using fileapi::FileSystemContext;
 using fileapi::FileSystemMountOption;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 using fileapi::IsolatedContext;
 
@@ -81,8 +80,8 @@
   // Verifies a *valid* filesystem url has expected values.
   void ExpectFileSystemURLMatches(const FileSystemURL& url,
                                   const GURL& expect_origin,
-                                  FileSystemType expect_mount_type,
-                                  FileSystemType expect_type,
+                                  fileapi::FileSystemType expect_mount_type,
+                                  fileapi::FileSystemType expect_type,
                                   const base::FilePath& expect_path,
                                   const base::FilePath& expect_virtual_path,
                                   const std::string& expect_filesystem_id) {
@@ -115,6 +114,7 @@
   std::string isolated_id =
       IsolatedContext::GetInstance()->RegisterFileSystemForPath(
           fileapi::kFileSystemTypeNativeLocal,
+          std::string(),
           base::FilePath(DRIVE FPL("/test/isolated/root")),
           &isolated_name);
   // Register system external mount point.
@@ -204,6 +204,7 @@
   const std::string kIsolatedFileSystemID =
       IsolatedContext::GetInstance()->RegisterFileSystemForPath(
           fileapi::kFileSystemTypeNativeLocal,
+          std::string(),
           base::FilePath(DRIVE FPL("/test/isolated/root")),
           &isolated_file_system_name);
   // Register system external mount point.
@@ -242,8 +243,8 @@
 
     // Expected test results.
     bool expect_is_valid;
-    FileSystemType expect_mount_type;
-    FileSystemType expect_type;
+    fileapi::FileSystemType expect_mount_type;
+    fileapi::FileSystemType expect_type;
     const base::FilePath::CharType* expect_path;
     std::string expect_filesystem_id;
   };
@@ -358,6 +359,7 @@
   std::string isolated_fs_id =
       IsolatedContext::GetInstance()->RegisterFileSystemForPath(
           fileapi::kFileSystemTypeNativeLocal,
+          std::string(),
           base::FilePath(DRIVE FPL("/test/isolated/root")),
           &isolated_fs_name);
   cracked_url = context->CrackURL(
diff --git a/content/browser/fileapi/file_system_quota_client_unittest.cc b/content/browser/fileapi/file_system_quota_client_unittest.cc
index d3acb31..65eaf57 100644
--- a/content/browser/fileapi/file_system_quota_client_unittest.cc
+++ b/content/browser/fileapi/file_system_quota_client_unittest.cc
@@ -22,7 +22,6 @@
 
 using content::AsyncFileTestHelper;
 using fileapi::FileSystemQuotaClient;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 
 namespace content {
@@ -120,8 +119,8 @@
   bool CreateFileSystemDirectory(const base::FilePath& file_path,
                                  const std::string& origin_url,
                                  quota::StorageType storage_type) {
-    FileSystemType type = fileapi::QuotaStorageTypeToFileSystemType(
-        storage_type);
+    fileapi::FileSystemType type =
+        fileapi::QuotaStorageTypeToFileSystemType(storage_type);
     FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL(
         GURL(origin_url), type, file_path);
 
@@ -137,8 +136,8 @@
     if (file_path.empty())
       return false;
 
-    FileSystemType type = fileapi::QuotaStorageTypeToFileSystemType(
-        storage_type);
+    fileapi::FileSystemType type =
+        fileapi::QuotaStorageTypeToFileSystemType(storage_type);
     FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL(
         GURL(origin_url), type, file_path);
 
diff --git a/content/browser/fileapi/isolated_context_unittest.cc b/content/browser/fileapi/isolated_context_unittest.cc
index de8fd1c..be5cc8e 100644
--- a/content/browser/fileapi/isolated_context_unittest.cc
+++ b/content/browser/fileapi/isolated_context_unittest.cc
@@ -19,7 +19,6 @@
 #endif
 
 using fileapi::FileSystemMountOption;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 using fileapi::IsolatedContext;
 using fileapi::kFileSystemTypeDragged;
@@ -103,15 +102,17 @@
         .AppendASCII(names_[i]);
     std::string cracked_id;
     base::FilePath cracked_path;
-    FileSystemType cracked_type;
+    std::string cracked_inner_id;
+    fileapi::FileSystemType cracked_type;
     FileSystemMountOption cracked_option;
     ASSERT_TRUE(isolated_context()->CrackVirtualPath(
-        virtual_path, &cracked_id, &cracked_type, &cracked_path,
-        &cracked_option));
+        virtual_path, &cracked_id, &cracked_type, &cracked_inner_id,
+        &cracked_path, &cracked_option));
     ASSERT_EQ(kTestPaths[i].NormalizePathSeparators().value(),
               cracked_path.value());
     ASSERT_EQ(id_, cracked_id);
     ASSERT_EQ(kFileSystemTypeDragged, cracked_type);
+    EXPECT_TRUE(cracked_inner_id.empty());
   }
 
   // Make sure GetRegisteredPath returns false for id_ since it is
@@ -123,7 +124,8 @@
   isolated_context()->RemoveReference(id_);
 
   std::string id2 = isolated_context()->RegisterFileSystemForPath(
-      kFileSystemTypeNativeLocal, base::FilePath(DRIVE FPL("/foo")), NULL);
+      kFileSystemTypeNativeLocal, std::string(),
+      base::FilePath(DRIVE FPL("/foo")), NULL);
 
   // Make sure the GetDraggedFileInfo returns false for both ones.
   ASSERT_FALSE(isolated_context()->GetDraggedFileInfo(id2, &toplevels));
@@ -135,11 +137,11 @@
 
   // Try registering three more file systems for the same path as id2.
   std::string id3 = isolated_context()->RegisterFileSystemForPath(
-      kFileSystemTypeNativeLocal, path, NULL);
+      kFileSystemTypeNativeLocal, std::string(), path, NULL);
   std::string id4 = isolated_context()->RegisterFileSystemForPath(
-      kFileSystemTypeNativeLocal, path, NULL);
+      kFileSystemTypeNativeLocal, std::string(), path, NULL);
   std::string id5 = isolated_context()->RegisterFileSystemForPath(
-      kFileSystemTypeNativeLocal, path, NULL);
+      kFileSystemTypeNativeLocal, std::string(), path, NULL);
 
   // Remove file system for id4.
   isolated_context()->AddReference(id4);
@@ -201,22 +203,24 @@
               names_[i]).Append(relatives[j].path);
       std::string cracked_id;
       base::FilePath cracked_path;
-      FileSystemType cracked_type;
+      fileapi::FileSystemType cracked_type;
+      std::string cracked_inner_id;
       FileSystemMountOption cracked_option;
       if (!relatives[j].valid) {
         ASSERT_FALSE(isolated_context()->CrackVirtualPath(
-            virtual_path, &cracked_id, &cracked_type, &cracked_path,
-            &cracked_option));
+            virtual_path, &cracked_id, &cracked_type, &cracked_inner_id,
+            &cracked_path, &cracked_option));
         continue;
       }
       ASSERT_TRUE(isolated_context()->CrackVirtualPath(
-          virtual_path, &cracked_id, &cracked_type, &cracked_path,
-          &cracked_option));
+          virtual_path, &cracked_id, &cracked_type, &cracked_inner_id,
+          &cracked_path, &cracked_option));
       ASSERT_EQ(kTestPaths[i].Append(relatives[j].path)
                     .NormalizePathSeparators().value(),
                 cracked_path.value());
       ASSERT_EQ(id_, cracked_id);
       ASSERT_EQ(kFileSystemTypeDragged, cracked_type);
+      EXPECT_TRUE(cracked_inner_id.empty());
     }
   }
 }
@@ -277,7 +281,7 @@
   // that has no corresponding platform directory.
   base::FilePath virtual_path = isolated_context()->CreateVirtualRootPath(id_);
   ASSERT_TRUE(isolated_context()->CrackVirtualPath(
-      virtual_path, &cracked_id, NULL, &cracked_path, &cracked_option));
+      virtual_path, &cracked_id, NULL, NULL, &cracked_path, &cracked_option));
   ASSERT_EQ(FPL(""), cracked_path.value());
   ASSERT_EQ(id_, cracked_id);
 
@@ -286,7 +290,7 @@
   virtual_path = isolated_context()->CreateVirtualRootPath(
       id_).AppendASCII("foo");
   ASSERT_FALSE(isolated_context()->CrackVirtualPath(
-      virtual_path, &cracked_id, NULL, &cracked_path, &cracked_option));
+      virtual_path, &cracked_id, NULL, NULL, &cracked_path, &cracked_option));
 }
 
 TEST_F(IsolatedContextTest, CanHandleURL) {
@@ -343,11 +347,14 @@
 
   std::string cracked_id;
   base::FilePath cracked_path;
+  std::string cracked_inner_id;
   FileSystemMountOption cracked_option;
   ASSERT_TRUE(isolated_context()->CrackVirtualPath(
-      whole_virtual_path, &cracked_id, NULL, &cracked_path, &cracked_option));
+      whole_virtual_path, &cracked_id, NULL, &cracked_inner_id,
+      &cracked_path, &cracked_option));
   ASSERT_EQ(database_fsid, cracked_id);
   ASSERT_EQ(test_virtual_path, cracked_path);
+  EXPECT_TRUE(cracked_inner_id.empty());
 }
 
 }  // namespace content
diff --git a/content/browser/fileapi/local_file_util_unittest.cc b/content/browser/fileapi/local_file_util_unittest.cc
index 08157fa..a20b18d 100644
--- a/content/browser/fileapi/local_file_util_unittest.cc
+++ b/content/browser/fileapi/local_file_util_unittest.cc
@@ -27,7 +27,6 @@
 using fileapi::AsyncFileUtilAdapter;
 using fileapi::FileSystemContext;
 using fileapi::FileSystemOperationContext;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 using fileapi::LocalFileUtil;
 
@@ -36,7 +35,7 @@
 namespace {
 
 const GURL kOrigin("http://foo/");
-const FileSystemType kFileSystemType = fileapi::kFileSystemTypeTest;
+const fileapi::FileSystemType kFileSystemType = fileapi::kFileSystemTypeTest;
 
 }  // namespace
 
diff --git a/content/browser/fileapi/obfuscated_file_util_unittest.cc b/content/browser/fileapi/obfuscated_file_util_unittest.cc
index afbb3af..089cef8 100644
--- a/content/browser/fileapi/obfuscated_file_util_unittest.cc
+++ b/content/browser/fileapi/obfuscated_file_util_unittest.cc
@@ -38,7 +38,6 @@
 using fileapi::FileSystemContext;
 using fileapi::FileSystemOperation;
 using fileapi::FileSystemOperationContext;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 using fileapi::ObfuscatedFileUtil;
 using fileapi::SandboxDirectoryDatabase;
@@ -126,13 +125,12 @@
       fileapi::VirtualPath::DirName(url.virtual_path()));
 }
 
-std::string GetTypeString(FileSystemType type) {
+std::string GetTypeString(fileapi::FileSystemType type) {
   return fileapi::SandboxFileSystemBackendDelegate::GetTypeString(type);
 }
 
-bool HasFileSystemType(
-    ObfuscatedFileUtil::AbstractOriginEnumerator* enumerator,
-    FileSystemType type) {
+bool HasFileSystemType(ObfuscatedFileUtil::AbstractOriginEnumerator* enumerator,
+                       fileapi::FileSystemType type) {
   return enumerator->HasTypeDirectory(GetTypeString(type));
 }
 
diff --git a/content/browser/fileapi/transient_file_util_unittest.cc b/content/browser/fileapi/transient_file_util_unittest.cc
index 876733a..96df84f 100644
--- a/content/browser/fileapi/transient_file_util_unittest.cc
+++ b/content/browser/fileapi/transient_file_util_unittest.cc
@@ -47,6 +47,7 @@
     std::string name = "tmp";
     std::string fsid = isolated_context->RegisterFileSystemForPath(
         fileapi::kFileSystemTypeForTransientFile,
+        std::string(),
         *file_path,
         &name);
     ASSERT_TRUE(!fsid.empty());
diff --git a/content/browser/frame_host/cross_process_frame_connector.cc b/content/browser/frame_host/cross_process_frame_connector.cc
index 438f1f7..7701f63 100644
--- a/content/browser/frame_host/cross_process_frame_connector.cc
+++ b/content/browser/frame_host/cross_process_frame_connector.cc
@@ -4,7 +4,7 @@
 
 #include "content/browser/frame_host/cross_process_frame_connector.h"
 
-#include "content/browser/frame_host/render_frame_host_impl.h"
+#include "content/browser/frame_host/render_frame_proxy_host.h"
 #include "content/browser/frame_host/render_widget_host_view_child_frame.h"
 #include "content/browser/renderer_host/render_view_host_impl.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
@@ -15,11 +15,10 @@
 namespace content {
 
 CrossProcessFrameConnector::CrossProcessFrameConnector(
-    RenderFrameHostImpl* frame_proxy_in_parent_renderer)
+    RenderFrameProxyHost* frame_proxy_in_parent_renderer)
     : frame_proxy_in_parent_renderer_(frame_proxy_in_parent_renderer),
       view_(NULL),
       device_scale_factor_(1) {
-  frame_proxy_in_parent_renderer->set_cross_process_frame_connector(this);
 }
 
 CrossProcessFrameConnector::~CrossProcessFrameConnector() {
@@ -63,7 +62,7 @@
 
 void CrossProcessFrameConnector::RenderProcessGone() {
   frame_proxy_in_parent_renderer_->Send(new FrameMsg_ChildFrameProcessGone(
-      frame_proxy_in_parent_renderer_->routing_id()));
+      frame_proxy_in_parent_renderer_->GetRoutingID()));
 }
 
 void CrossProcessFrameConnector::ChildFrameBuffersSwapped(
@@ -76,10 +75,8 @@
   params.gpu_route_id = gpu_params.route_id;
   params.gpu_host_id = gpu_host_id;
 
-  frame_proxy_in_parent_renderer_->Send(
-      new FrameMsg_BuffersSwapped(
-          frame_proxy_in_parent_renderer_->routing_id(),
-          params));
+  frame_proxy_in_parent_renderer_->Send(new FrameMsg_BuffersSwapped(
+      frame_proxy_in_parent_renderer_->GetRoutingID(), params));
 }
 
 void CrossProcessFrameConnector::ChildFrameCompositorFrameSwapped(
@@ -93,7 +90,7 @@
   params.producing_route_id = route_id;
   params.producing_host_id = host_id;
   frame_proxy_in_parent_renderer_->Send(new FrameMsg_CompositorFrameSwapped(
-      frame_proxy_in_parent_renderer_->routing_id(), params));
+      frame_proxy_in_parent_renderer_->GetRoutingID(), params));
 }
 
 void CrossProcessFrameConnector::OnBuffersSwappedACK(
@@ -145,7 +142,7 @@
   RenderWidgetHostImpl* child_widget =
       RenderWidgetHostImpl::From(view_->GetRenderWidgetHost());
   RenderWidgetHostImpl* parent_widget =
-      frame_proxy_in_parent_renderer_->render_view_host();
+      frame_proxy_in_parent_renderer_->GetRenderViewHost();
 
   if (blink::WebInputEvent::isKeyboardEventType(event->type)) {
     if (!parent_widget->GetLastKeyboardEvent())
diff --git a/content/browser/frame_host/cross_process_frame_connector.h b/content/browser/frame_host/cross_process_frame_connector.h
index b3d87a4..8245224 100644
--- a/content/browser/frame_host/cross_process_frame_connector.h
+++ b/content/browser/frame_host/cross_process_frame_connector.h
@@ -22,7 +22,7 @@
 struct GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params;
 
 namespace content {
-class RenderFrameHostImpl;
+class RenderFrameProxyHost;
 class RenderWidgetHostImpl;
 class RenderWidgetHostViewChildFrame;
 
@@ -31,8 +31,8 @@
 // of RenderFrameHost.
 //
 // The RenderWidgetHostView of an out-of-process child frame needs to
-// communicate with the swapped out RenderFrameHost representing this frame
-// in the process of the parent frame. For example, assume you have this page:
+// communicate with the RenderFrameProxyHost representing this frame in the
+// process of the parent frame. For example, assume you have this page:
 //
 //   -----------------
 //   | frame 1       |
@@ -43,8 +43,8 @@
 //
 // If frames 1 and 2 are in process A and B, there are 4 RenderFrameHosts:
 //   A1 - RFH for frame 1 in process A
-//   B1 - Swapped out RFH for frame 1 in process B
-//   A2 - Swapped out RFH for frame 2 in process A
+//   B1 - RFPH for frame 1 in process B
+//   A2 - RFPH for frame 2 in process A
 //   B2 - RFH for frame 2 in process B
 //
 // B2, having a parent frame in a different process, will have a
@@ -57,15 +57,16 @@
 // (Note: B1 is only mentioned for completeness. It is not needed in this
 // example.)
 //
-// CrossProcessFrameConnector objects are owned by the child frame's
-// RenderFrameHostManager. When a child frame swaps, SetChildFrameView() is
-// called to update to the new view.
+// CrossProcessFrameConnector objects are owned by the RenderFrameProxyHost
+// in the child frame's RenderFrameHostManager corresponding to the parent's
+// SiteInstance, A2 in the picture above. When a child frame navigates in a new
+// process, set_view() is called to update to the new view.
 //
 class CrossProcessFrameConnector {
  public:
   // |frame_proxy_in_parent_renderer| corresponds to A2 in the example above.
   explicit CrossProcessFrameConnector(
-      RenderFrameHostImpl* frame_proxy_in_parent_renderer);
+      RenderFrameProxyHost* frame_proxy_in_parent_renderer);
   virtual ~CrossProcessFrameConnector();
 
   bool OnMessageReceived(const IPC::Message &msg);
@@ -73,6 +74,7 @@
   // |view| corresponds to B2's RenderWidgetHostViewChildFrame in the example
   // above.
   void set_view(RenderWidgetHostViewChildFrame* view);
+  RenderWidgetHostViewChildFrame* get_view_for_testing() { return view_; }
 
   void RenderProcessGone();
 
@@ -104,11 +106,9 @@
   void SetDeviceScaleFactor(float scale_factor);
   void SetSize(gfx::Rect frame_rect);
 
-  // The RenderFrameHost that routes messages to the parent frame's renderer
-  // process.
-  // TODO(kenrb): The type becomes RenderFrameProxyHost when that class comes
-  // to exist.
-  RenderFrameHostImpl* frame_proxy_in_parent_renderer_;
+  // The RenderFrameProxyHost that routes messages to the parent frame's
+  // renderer process.
+  RenderFrameProxyHost* frame_proxy_in_parent_renderer_;
 
   // The RenderWidgetHostView for the frame. Initially NULL.
   RenderWidgetHostViewChildFrame* view_;
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index a943460..397fd91 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -279,8 +279,10 @@
   if (delegate_->OnMessageReceived(this, msg))
     return true;
 
-  if (cross_process_frame_connector_ &&
-      cross_process_frame_connector_->OnMessageReceived(msg))
+  RenderFrameProxyHost* proxy =
+      frame_tree_node_->render_manager()->GetProxyToParent();
+  if (proxy && proxy->cross_process_frame_connector() &&
+      proxy->cross_process_frame_connector()->OnMessageReceived(msg))
     return true;
 
   bool handled = true;
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index 0c219d1..fc36df2 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -12,7 +12,6 @@
 #include "base/stl_util.h"
 #include "content/browser/child_process_security_policy_impl.h"
 #include "content/browser/devtools/render_view_devtools_agent_host.h"
-#include "content/browser/frame_host/cross_process_frame_connector.h"
 #include "content/browser/frame_host/cross_site_transferring_request.h"
 #include "content/browser/frame_host/debug_urls.h"
 #include "content/browser/frame_host/interstitial_page_impl.h"
@@ -22,11 +21,9 @@
 #include "content/browser/frame_host/render_frame_host_factory.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
 #include "content/browser/frame_host/render_frame_proxy_host.h"
-#include "content/browser/frame_host/render_widget_host_view_child_frame.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
 #include "content/browser/renderer_host/render_view_host_factory.h"
 #include "content/browser/renderer_host/render_view_host_impl.h"
-#include "content/browser/renderer_host/render_widget_host_view_base.h"
 #include "content/browser/site_instance_impl.h"
 #include "content/browser/webui/web_ui_controller_factory_registry.h"
 #include "content/browser/webui/web_ui_impl.h"
@@ -80,7 +77,6 @@
       render_view_delegate_(render_view_delegate),
       render_widget_delegate_(render_widget_delegate),
       interstitial_page_(NULL),
-      cross_process_frame_connector_(NULL),
       weak_factory_(this) {
   DCHECK(frame_tree_node_);
 }
@@ -89,9 +85,6 @@
   if (pending_render_frame_host_)
     CancelPending();
 
-  if (cross_process_frame_connector_)
-    delete cross_process_frame_connector_;
-
   // We should always have a current RenderFrameHost except in some tests.
   SetRenderFrameHost(scoped_ptr<RenderFrameHostImpl>());
 
@@ -143,6 +136,22 @@
   return render_frame_host_->render_view_host()->GetView();
 }
 
+RenderFrameProxyHost* RenderFrameHostManager::GetProxyToParent() {
+  if (frame_tree_node_->IsMainFrame())
+    return NULL;
+
+  RenderFrameProxyHostMap::iterator iter =
+      proxy_hosts_.find(frame_tree_node_->parent()
+                            ->render_manager()
+                            ->current_frame_host()
+                            ->GetSiteInstance()
+                            ->GetId());
+  if (iter == proxy_hosts_.end())
+    return NULL;
+
+  return iter->second;
+}
+
 void RenderFrameHostManager::SetPendingWebUI(const NavigationEntryImpl& entry) {
   pending_web_ui_.reset(
       delegate_->CreateWebUIForRenderManager(entry.GetURL()));
@@ -496,24 +505,6 @@
   // no longer on the stack when we send the SwapOut message.
   delegate_->CancelModalDialogsForRenderManager();
 
-  if (!frame_tree_node_->IsMainFrame()) {
-    // The RenderFrameHost being swapped out becomes the proxy for this
-    // frame in its parent's process. CrossProcessFrameConnector
-    // initialization only needs to happen on an initial cross-process
-    // navigation, when the RenderFrame leaves the same process as its parent.
-    // The same CrossProcessFrameConnector is used for subsequent cross-
-    // process navigations, but it will be destroyed if the Frame is
-    // navigated back to the same site instance as its parent.
-    // TODO(kenrb): This will change when RenderFrameProxyHost is created.
-    // TODO(nasko): Move CrossProcessFrameConnector to be owned by
-    // RenderFrameProxyHost instead of RenderFrameHostManager once proxy
-    // support lands.
-    if (!cross_process_frame_connector_) {
-      cross_process_frame_connector_ =
-          new CrossProcessFrameConnector(render_frame_host_.get());
-    }
-  }
-
   // Create the RenderFrameProxyHost that will replace the
   // RenderFrameHost which is swapping out. If one exists, ensure it is deleted
   // from the map and not leaked.
@@ -921,8 +912,6 @@
   // remove it from the list of swapped out hosts if it commits.
   RenderFrameProxyHost* proxy = GetRenderFrameProxyHost(instance);
 
-  FrameTreeNode* parent_node = frame_tree_node_->parent();
-
   if (proxy) {
     routing_id = proxy->GetRenderViewHost()->GetRoutingID();
     // Delete the existing RenderFrameProxyHost, but reuse the RenderFrameHost.
@@ -947,15 +936,6 @@
           rvh->AllowBindings(required_bindings);
         }
       }
-    } else {
-      // Detect if this is a cross-process child frame that is navigating
-      // back to the same SiteInstance as its parent.
-      if (parent_node && cross_process_frame_connector_ &&
-          render_frame_host_->GetSiteInstance() == parent_node->
-              render_manager()->current_frame_host()->GetSiteInstance()) {
-        delete cross_process_frame_connector_;
-        cross_process_frame_connector_ = NULL;
-      }
     }
   } else {
     // Create a new RenderFrameHost if we don't find an existing one.
@@ -1190,11 +1170,11 @@
       // created already and we just need to link it to the proper view in the
       // new process.
       if (!is_main_frame) {
-        RenderWidgetHostView* rwhv =
-            render_frame_host_->render_view_host()->GetView();
-        RenderWidgetHostViewChildFrame* rwhv_child =
-            static_cast<RenderWidgetHostViewChildFrame*>(rwhv);
-        cross_process_frame_connector_->set_view(rwhv_child);
+        RenderFrameProxyHost* proxy = GetProxyToParent();
+        if (proxy) {
+          proxy->SetChildRWHView(
+              render_frame_host_->render_view_host()->GetView());
+        }
       }
     }
   }
diff --git a/content/browser/frame_host/render_frame_host_manager.h b/content/browser/frame_host/render_frame_host_manager.h
index 102d3b7..35abab1 100644
--- a/content/browser/frame_host/render_frame_host_manager.h
+++ b/content/browser/frame_host/render_frame_host_manager.h
@@ -154,6 +154,8 @@
   // there is no current one.
   RenderWidgetHostView* GetRenderWidgetHostView() const;
 
+  RenderFrameProxyHost* GetProxyToParent();
+
   // Returns the pending RenderFrameHost, or NULL if there is no pending one.
   RenderFrameHostImpl* pending_frame_host() const {
     return pending_render_frame_host_.get();
@@ -476,13 +478,6 @@
 
   NotificationRegistrar registrar_;
 
-  // When |render_frame_host_| is in a different process from its parent in
-  // the frame tree, this class connects its associated RenderWidgetHostView
-  // to the proxy RenderFrameHost for the parent's renderer process. NULL
-  // when |render_frame_host_| is the frame tree root or is in the same
-  // process as its parent.
-  CrossProcessFrameConnector* cross_process_frame_connector_;
-
   base::WeakPtrFactory<RenderFrameHostManager> weak_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager);
diff --git a/content/browser/frame_host/render_frame_proxy_host.cc b/content/browser/frame_host/render_frame_proxy_host.cc
index b09fccb..2c84798 100644
--- a/content/browser/frame_host/render_frame_proxy_host.cc
+++ b/content/browser/frame_host/render_frame_proxy_host.cc
@@ -4,8 +4,11 @@
 
 #include "content/browser/frame_host/render_frame_proxy_host.h"
 
+#include "content/browser/frame_host/cross_process_frame_connector.h"
 #include "content/browser/frame_host/frame_tree_node.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
+#include "content/browser/frame_host/render_widget_host_view_child_frame.h"
+#include "content/browser/renderer_host/render_widget_host_view_base.h"
 #include "content/browser/site_instance_impl.h"
 #include "content/common/frame_messages.h"
 #include "ipc/ipc_message.h"
@@ -18,6 +21,21 @@
       site_instance_(site_instance),
       frame_tree_node_(frame_tree_node) {
   GetProcess()->AddRoute(routing_id_, this);
+
+  if (!frame_tree_node_->IsMainFrame() &&
+      frame_tree_node_->parent()
+              ->render_manager()
+              ->current_frame_host()
+              ->GetSiteInstance() == site_instance) {
+    // The RenderFrameHost navigating cross-process is destroyed and a proxy for
+    // it is created in the parent's process. CrossProcessFrameConnector
+    // initialization only needs to happen on an initial cross-process
+    // navigation, when the RenderFrameHost leaves the same process as its
+    // parent. The same CrossProcessFrameConnector is used for subsequent cross-
+    // process navigations, but it will be destroyed if the frame is
+    // navigated back to the same SiteInstance as its parent.
+    cross_process_frame_connector_.reset(new CrossProcessFrameConnector(this));
+  }
 }
 
 RenderFrameProxyHost::~RenderFrameProxyHost() {
@@ -27,6 +45,11 @@
   GetProcess()->RemoveRoute(routing_id_);
 }
 
+void RenderFrameProxyHost::SetChildRWHView(RenderWidgetHostView* view) {
+  cross_process_frame_connector_->set_view(
+      static_cast<RenderWidgetHostViewChildFrame*>(view));
+}
+
 RenderViewHostImpl* RenderFrameProxyHost::GetRenderViewHost() {
   if (render_frame_host_.get())
     return render_frame_host_->render_view_host();
@@ -47,6 +70,10 @@
 }
 
 bool RenderFrameProxyHost::OnMessageReceived(const IPC::Message& msg) {
+  if (cross_process_frame_connector_.get() &&
+      cross_process_frame_connector_->OnMessageReceived(msg))
+    return true;
+
   // TODO(nasko): This can be removed once we don't have a swapped out state on
   // RenderFrameHosts. See https://crbug.com/357747.
   if (render_frame_host_.get())
diff --git a/content/browser/frame_host/render_frame_proxy_host.h b/content/browser/frame_host/render_frame_proxy_host.h
index f839725..218bcc4 100644
--- a/content/browser/frame_host/render_frame_proxy_host.h
+++ b/content/browser/frame_host/render_frame_proxy_host.h
@@ -11,12 +11,14 @@
 #include "ipc/ipc_listener.h"
 #include "ipc/ipc_sender.h"
 
+namespace content {
+
+class CrossProcessFrameConnector;
 class FrameTreeNode;
 class RenderProcessHost;
 class RenderFrameHostImpl;
 class RenderViewHostImpl;
-
-namespace content {
+class RenderWidgetHostView;
 
 // When a page's frames are rendered by multiple processes, each renderer has a
 // full copy of the frame tree. It has full RenderFrames for the frames it is
@@ -69,6 +71,8 @@
     return site_instance_.get();
   }
 
+  void SetChildRWHView(RenderWidgetHostView* view);
+
   // TODO(nasko): The following methods should be removed once we don't have a
   // swapped out state on RenderFrameHosts. See https://crbug.com/357747.
   RenderFrameHostImpl* render_frame_host() {
@@ -85,10 +89,14 @@
   // IPC::Sender
   virtual bool Send(IPC::Message* msg) OVERRIDE;
 
- private:
   // IPC::Listener
   virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
 
+  CrossProcessFrameConnector* cross_process_frame_connector() {
+    return cross_process_frame_connector_.get();
+  }
+
+ private:
   // This RenderFrameProxyHost's routing id.
   int routing_id_;
 
@@ -98,6 +106,12 @@
   // The node in the frame tree where this proxy is located.
   FrameTreeNode* frame_tree_node_;
 
+  // When a RenderFrameHost is in a different process from its parent in the
+  // frame tree, this class connects its associated RenderWidgetHostView
+  // to this RenderFrameProxyHost, which corresponds to the same frame in the
+  // parent's renderer process.
+  scoped_ptr<CrossProcessFrameConnector> cross_process_frame_connector_;
+
   // TODO(nasko): This can be removed once we don't have a swapped out state on
   // RenderFrameHosts. See https://crbug.com/357747.
   scoped_ptr<RenderFrameHostImpl> render_frame_host_;
diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc
index de9fa1c..83ab50c 100644
--- a/content/browser/gpu/compositor_util.cc
+++ b/content/browser/gpu/compositor_util.cc
@@ -37,10 +37,11 @@
 const char* kGpuCompositingFeatureName = "gpu_compositing";
 const char* kWebGLFeatureName = "webgl";
 const char* kRasterizationFeatureName = "rasterization";
+const char* kThreadedRasterizationFeatureName = "threaded_rasterization";
 
 struct GpuFeatureInfo {
   std::string name;
-  uint32 blocked;
+  bool blocked;
   bool disabled;
   std::string disabled_description;
   bool fallback_to_software;
@@ -84,7 +85,7 @@
           command_line.HasSwitch(switches::kDisableFlash3d),
           "Using 3d in flash has been disabled, either via about:flags or"
           " command line.",
-          false
+          true
       },
       {
           "flash_stage3d",
@@ -92,7 +93,7 @@
           command_line.HasSwitch(switches::kDisableFlashStage3d),
           "Using Stage3d in Flash has been disabled, either via about:flags or"
           " command line.",
-          false
+          true
       },
       {
           "flash_stage3d_baseline",
@@ -102,7 +103,7 @@
           command_line.HasSwitch(switches::kDisableFlashStage3d),
           "Using Stage3d Baseline profile in Flash has been disabled, either"
           " via about:flags or command line.",
-          false
+          true
       },
       {
           "video_decode",
@@ -140,10 +141,19 @@
           !IsGpuRasterizationEnabled() && !IsForceGpuRasterizationEnabled(),
           !IsGpuRasterizationEnabled() && !IsForceGpuRasterizationEnabled() &&
           !IsGpuRasterizationBlacklisted(),
-          "Accelerated rasterization has not been enabled or"
-          " is not supported by the current system.",
+          "Accelerated rasterization has been disabled, either via about:flags"
+          " or command line.",
           true
+      },
+      {
+          kThreadedRasterizationFeatureName,
+          false,
+          !IsImplSidePaintingEnabled(),
+          "Threaded rasterization has not been enabled or"
+          " is not supported by the current system.",
+          false
       }
+
   };
   DCHECK(index < arraysize(kGpuFeatureInfo));
   *eof = (index == arraysize(kGpuFeatureInfo) - 1);
@@ -268,26 +278,19 @@
     std::string status;
     if (gpu_feature_info.disabled) {
       status = "disabled";
-      if (gpu_feature_info.name == kRasterizationFeatureName) {
-        if (IsImplSidePaintingEnabled())
-          status += "_software_multithreaded";
-        else
-          status += "_software";
-      } else {
-        if (gpu_feature_info.fallback_to_software)
-          status += "_software";
-        else
-          status += "_off";
-      }
-    } else if (manager->ShouldUseSwiftShader()) {
-      status = "unavailable_software";
-    } else if (gpu_feature_info.blocked ||
-               gpu_access_blocked) {
-      status = "unavailable";
       if (gpu_feature_info.fallback_to_software)
         status += "_software";
       else
         status += "_off";
+      if (gpu_feature_info.name == kThreadedRasterizationFeatureName)
+        status += "_ok";
+    } else if (gpu_feature_info.blocked ||
+               gpu_access_blocked) {
+      status = "unavailable";
+      if (gpu_feature_info.fallback_to_software) {
+        status += "_software";
+      } else
+        status += "_off";
     } else {
       status = "enabled";
       if (gpu_feature_info.name == kWebGLFeatureName &&
@@ -297,11 +300,19 @@
         if (IsForceGpuRasterizationEnabled())
           status += "_force";
       }
+      if (gpu_feature_info.name == kThreadedRasterizationFeatureName)
+        status += "_on";
     }
     if (gpu_feature_info.name == kGpuCompositingFeatureName) {
       if (IsThreadedCompositingEnabled())
         status += "_threaded";
     }
+    if (gpu_feature_info.name == kWebGLFeatureName &&
+        (gpu_feature_info.blocked || gpu_access_blocked) &&
+        manager->ShouldUseSwiftShader()) {
+      status = "unavailable_software";
+    }
+
     feature_status_dict->SetString(
         gpu_feature_info.name.c_str(), status.c_str());
   }
diff --git a/content/browser/gpu/gpu_process_host_ui_shim.cc b/content/browser/gpu/gpu_process_host_ui_shim.cc
index 54c1626..a6a6805 100644
--- a/content/browser/gpu/gpu_process_host_ui_shim.cc
+++ b/content/browser/gpu/gpu_process_host_ui_shim.cc
@@ -20,6 +20,11 @@
 #include "content/common/gpu/gpu_messages.h"
 #include "content/public/browser/browser_thread.h"
 
+#if defined(USE_OZONE)
+#include "ui/ozone/ozone_platform.h"
+#include "ui/ozone/public/gpu_platform_support_host.h"
+#endif
+
 namespace content {
 
 namespace {
@@ -90,6 +95,11 @@
 GpuProcessHostUIShim::GpuProcessHostUIShim(int host_id)
     : host_id_(host_id) {
   g_hosts_by_id.Pointer()->AddWithID(this, host_id_);
+#if defined(USE_OZONE)
+  ui::OzonePlatform::GetInstance()
+      ->GetGpuPlatformSupportHost()
+      ->OnChannelEstablished(host_id, this);
+#endif
 }
 
 // static
@@ -106,6 +116,12 @@
       logging::LOG_ERROR, "GpuProcessHostUIShim",
       message);
 
+#if defined(USE_OZONE)
+  ui::OzonePlatform::GetInstance()
+      ->GetGpuPlatformSupportHost()
+      ->OnChannelDestroyed(host_id);
+#endif
+
   delete FromID(host_id);
 }
 
@@ -145,6 +161,13 @@
 bool GpuProcessHostUIShim::OnMessageReceived(const IPC::Message& message) {
   DCHECK(CalledOnValidThread());
 
+#if defined(USE_OZONE)
+  if (ui::OzonePlatform::GetInstance()
+          ->GetGpuPlatformSupportHost()
+          ->OnMessageReceived(message))
+    return true;
+#endif
+
   if (message.routing_id() != MSG_ROUTING_CONTROL)
     return false;
 
diff --git a/content/browser/indexed_db/indexed_db_active_blob_registry.cc b/content/browser/indexed_db/indexed_db_active_blob_registry.cc
index 3956c33..b65b247 100644
--- a/content/browser/indexed_db/indexed_db_active_blob_registry.cc
+++ b/content/browser/indexed_db/indexed_db_active_blob_registry.cc
@@ -18,7 +18,6 @@
     : backing_store_(backing_store), weak_factory_(this) {}
 
 IndexedDBActiveBlobRegistry::~IndexedDBActiveBlobRegistry() {
-  DCHECK(use_tracker_.empty());
 }
 
 void IndexedDBActiveBlobRegistry::AddBlobRef(int64 database_id,
diff --git a/content/browser/indexed_db/indexed_db_backing_store.cc b/content/browser/indexed_db/indexed_db_backing_store.cc
index f19e2e8..0a83a91 100644
--- a/content/browser/indexed_db/indexed_db_backing_store.cc
+++ b/content/browser/indexed_db/indexed_db_backing_store.cc
@@ -2160,17 +2160,18 @@
       WriteDescriptorVec;
   ChainedBlobWriterImpl(
       int64 database_id,
-      IndexedDBBackingStore* backingStore,
+      IndexedDBBackingStore* backing_store,
       WriteDescriptorVec& blobs,
       scoped_refptr<IndexedDBBackingStore::BlobWriteCallback> callback)
       : waiting_for_callback_(false),
         database_id_(database_id),
-        backing_store_(backingStore),
+        backing_store_(backing_store),
         callback_(callback),
         aborted_(false) {
     blobs_.swap(blobs);
     iter_ = blobs_.begin();
-    WriteNextFile();
+    backing_store->task_runner()->PostTask(
+        FROM_HERE, base::Bind(&ChainedBlobWriterImpl::WriteNextFile, this));
   }
 
   virtual void set_delegate(scoped_ptr<FileWriterDelegate> delegate) OVERRIDE {
@@ -2179,7 +2180,6 @@
 
   virtual void ReportWriteCompletion(bool succeeded,
                                      int64 bytes_written) OVERRIDE {
-    // TODO(ericu): Check bytes_written against the blob's snapshot value.
     DCHECK(waiting_for_callback_);
     DCHECK(!succeeded || bytes_written >= 0);
     waiting_for_callback_ = false;
@@ -2190,10 +2190,14 @@
       self_ref_ = NULL;
       return;
     }
-    if (succeeded)
+    if (iter_->size() != -1 && iter_->size() != bytes_written)
+      succeeded = false;
+    if (succeeded) {
+      ++iter_;
       WriteNextFile();
-    else
+    } else {
       callback_->Run(false);
+    }
   }
 
   virtual void Abort() OVERRIDE {
@@ -2219,7 +2223,6 @@
         return;
       }
       waiting_for_callback_ = true;
-      ++iter_;
     }
   }
 
@@ -2244,17 +2247,17 @@
                     base::TaskRunner* task_runner)
       : chained_blob_writer_(chained_blob_writer),
         task_runner_(task_runner),
-        bytes_written_(-1) {}
+        bytes_written_(0) {}
 
   void Run(base::File::Error rv,
            int64 bytes,
            FileWriterDelegate::WriteProgressStatus write_status) {
+    DCHECK_GE(bytes, 0);
+    bytes_written_ += bytes;
     if (write_status == FileWriterDelegate::SUCCESS_IO_PENDING)
       return;  // We don't care about progress events.
     if (rv == base::File::FILE_OK) {
-      DCHECK_GE(bytes, 0);
       DCHECK_EQ(write_status, FileWriterDelegate::SUCCESS_COMPLETED);
-      bytes_written_ = bytes;
     } else {
       DCHECK(write_status == FileWriterDelegate::ERROR_WRITE_STARTED ||
              write_status == FileWriterDelegate::ERROR_WRITE_NOT_STARTED);
@@ -2320,8 +2323,15 @@
 
     base::File::Info info;
     if (base::GetFileInfo(descriptor.file_path(), &info)) {
-      // TODO(ericu): Validate the snapshot date here.  Expand WriteDescriptor
-      // to include snapshot date and file size, and check both.
+      if (descriptor.size() != -1) {
+        if (descriptor.size() != info.size)
+          return false;
+        // The round-trip can be lossy; round to nearest millisecond.
+        int64 delta = (descriptor.last_modified() -
+            info.last_modified).InMilliseconds();
+        if (std::abs(delta) > 1)
+          return false;
+      }
       if (!base::TouchFile(path, info.last_accessed, info.last_modified)) {
         // TODO(ericu): Complain quietly; timestamp's probably not vital.
       }
@@ -3876,10 +3886,15 @@
         journal.push_back(journal_entry);
         if (info_iter->is_file()) {
           new_files_to_write->push_back(
-              WriteDescriptor(info_iter->file_path(), next_blob_key));
+              WriteDescriptor(info_iter->file_path(),
+                              next_blob_key,
+                              info_iter->size(),
+                              info_iter->last_modified()));
         } else {
-          new_files_to_write->push_back(WriteDescriptor(
-              getURLFromUUID(info_iter->uuid()), next_blob_key));
+          new_files_to_write->push_back(
+              WriteDescriptor(getURLFromUUID(info_iter->uuid()),
+                              next_blob_key,
+                              info_iter->size()));
         }
         info_iter->set_key(next_blob_key);
         new_blob_keys.push_back(&*info_iter);
@@ -4066,7 +4081,8 @@
       : transaction_(transaction), callback_(callback) {}
   virtual void Run(bool succeeded) OVERRIDE {
     callback_->Run(succeeded);
-    transaction_->chained_blob_writer_ = NULL;
+    if (succeeded)  // Else it's already been deleted during rollback.
+      transaction_->chained_blob_writer_ = NULL;
   }
 
  private:
@@ -4213,12 +4229,21 @@
 
 IndexedDBBackingStore::Transaction::WriteDescriptor::WriteDescriptor(
     const GURL& url,
-    int64_t key)
-    : is_file_(false), url_(url), key_(key) {}
+    int64_t key,
+    int64_t size)
+    : is_file_(false), url_(url), key_(key), size_(size) {
+}
 
 IndexedDBBackingStore::Transaction::WriteDescriptor::WriteDescriptor(
     const FilePath& file_path,
-    int64_t key)
-    : is_file_(true), file_path_(file_path), key_(key) {}
+    int64_t key,
+    int64_t size,
+    base::Time last_modified)
+    : is_file_(true),
+      file_path_(file_path),
+      key_(key),
+      size_(size),
+      last_modified_(last_modified) {
+}
 
 }  // namespace content
diff --git a/content/browser/indexed_db/indexed_db_backing_store.h b/content/browser/indexed_db/indexed_db_backing_store.h
index 7931f76..59e381f 100644
--- a/content/browser/indexed_db/indexed_db_backing_store.h
+++ b/content/browser/indexed_db/indexed_db_backing_store.h
@@ -16,6 +16,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/strings/string_piece.h"
+#include "base/time/time.h"
 #include "base/timer/timer.h"
 #include "content/browser/indexed_db/indexed_db.h"
 #include "content/browser/indexed_db/indexed_db_active_blob_registry.h"
@@ -435,8 +436,11 @@
 
     class WriteDescriptor {
      public:
-      WriteDescriptor(const GURL& url, int64_t key);
-      WriteDescriptor(const base::FilePath& path, int64_t key);
+      WriteDescriptor(const GURL& url, int64_t key, int64_t size);
+      WriteDescriptor(const base::FilePath& path,
+                      int64_t key,
+                      int64_t size,
+                      base::Time last_modified);
 
       bool is_file() const { return is_file_; }
       const GURL& url() const {
@@ -448,12 +452,16 @@
         return file_path_;
       }
       int64_t key() const { return key_; }
+      int64_t size() const { return size_; }
+      base::Time last_modified() const { return last_modified_; }
 
      private:
       bool is_file_;
       GURL url_;
       base::FilePath file_path_;
       int64_t key_;
+      int64_t size_;
+      base::Time last_modified_;
     };
 
     class ChainedBlobWriter : public base::RefCounted<ChainedBlobWriter> {
diff --git a/content/browser/indexed_db/indexed_db_browsertest.cc b/content/browser/indexed_db/indexed_db_browsertest.cc
index 0d62a13..ddbfb44 100644
--- a/content/browser/indexed_db/indexed_db_browsertest.cc
+++ b/content/browser/indexed_db/indexed_db_browsertest.cc
@@ -8,12 +8,15 @@
 #include "base/files/file.h"
 #include "base/files/file_enumerator.h"
 #include "base/files/file_path.h"
+#include "base/lazy_instance.h"
 #include "base/memory/ref_counted.h"
 #include "base/message_loop/message_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/thread_test_helper.h"
 #include "content/browser/browser_main_loop.h"
+#include "content/browser/indexed_db/indexed_db_class_factory.h"
 #include "content/browser/indexed_db/indexed_db_context_impl.h"
+#include "content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h"
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
@@ -26,6 +29,7 @@
 #include "content/public/test/content_browser_test.h"
 #include "content/public/test/content_browser_test_utils.h"
 #include "content/shell/browser/shell.h"
+#include "net/base/escape.h"
 #include "net/base/net_errors.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "net/test/embedded_test_server/http_request.h"
@@ -45,6 +49,25 @@
  public:
   IndexedDBBrowserTest() : disk_usage_(-1) {}
 
+  virtual void SetUp() OVERRIDE {
+    GetTestClassFactory()->Reset();
+    IndexedDBClassFactory::SetIndexedDBClassFactoryGetter(GetIDBClassFactory);
+    ContentBrowserTest::SetUp();
+  }
+
+  virtual void TearDown() OVERRIDE {
+    IndexedDBClassFactory::SetIndexedDBClassFactoryGetter(NULL);
+    ContentBrowserTest::TearDown();
+  }
+
+  void FailOperation(FailClass failure_class,
+                     FailMethod failure_method,
+                     int fail_on_instance_num,
+                     int fail_on_call_num) {
+    GetTestClassFactory()->FailOperation(
+        failure_class, failure_method, fail_on_instance_num, fail_on_call_num);
+  }
+
   void SimpleTest(const GURL& test_url, bool incognito = false) {
     // The test page will perform tests on IndexedDB, then navigate to either
     // a #pass or #fail ref.
@@ -127,6 +150,16 @@
   }
 
  private:
+  static MockBrowserTestIndexedDBClassFactory* GetTestClassFactory() {
+    static ::base::LazyInstance<MockBrowserTestIndexedDBClassFactory>::Leaky
+        s_factory = LAZY_INSTANCE_INITIALIZER;
+    return s_factory.Pointer();
+  }
+
+  static IndexedDBClassFactory* GetIDBClassFactory() {
+    return GetTestClassFactory();
+  }
+
   virtual void DidGetDiskUsage(int64 bytes) {
     EXPECT_GT(bytes, 0);
     disk_usage_ = bytes;
@@ -442,8 +475,8 @@
     IndexedDBContextImpl* context,
     const GURL& origin_url,
     const std::string& path,
+    IndexedDBBrowserTest* test,
     const net::test_server::HttpRequest& request) {
-
   std::string request_path;
   if (path.find(s_corrupt_db_test_prefix) != std::string::npos)
     request_path = request.relative_url.substr(s_corrupt_db_test_prefix.size());
@@ -472,6 +505,63 @@
         new net::test_server::BasicHttpResponse);
     http_response->set_code(net::HTTP_OK);
     return http_response.PassAs<net::test_server::HttpResponse>();
+  } else if (request_path == "fail" && !request_query.empty()) {
+    FailClass failure_class = FAIL_CLASS_NOTHING;
+    FailMethod failure_method = FAIL_METHOD_NOTHING;
+    int instance_num = 1;
+    int call_num = 1;
+    std::string fail_class;
+    std::string fail_method;
+
+    url::Component query(0, request_query.length()), key_pos, value_pos;
+    while (url::ExtractQueryKeyValue(
+        request_query.c_str(), &query, &key_pos, &value_pos)) {
+      std::string escaped_key(request_query.substr(key_pos.begin, key_pos.len));
+      std::string escaped_value(
+          request_query.substr(value_pos.begin, value_pos.len));
+
+      std::string key = net::UnescapeURLComponent(
+          escaped_key,
+          net::UnescapeRule::NORMAL | net::UnescapeRule::SPACES |
+              net::UnescapeRule::URL_SPECIAL_CHARS);
+
+      std::string value = net::UnescapeURLComponent(
+          escaped_value,
+          net::UnescapeRule::NORMAL | net::UnescapeRule::SPACES |
+              net::UnescapeRule::URL_SPECIAL_CHARS);
+
+      if (key == "method")
+        fail_method = value;
+      else if (key == "class")
+        fail_class = value;
+      else if (key == "instNum")
+        instance_num = atoi(value.c_str());
+      else if (key == "callNum")
+        call_num = atoi(value.c_str());
+      else
+        NOTREACHED() << "Unknown param: \"" << key << "\"";
+    }
+
+    if (fail_class == "LevelDBTransaction") {
+      failure_class = FAIL_CLASS_LEVELDB_TRANSACTION;
+      if (fail_method == "Get")
+        failure_method = FAIL_METHOD_GET;
+      else if (fail_method == "Commit")
+        failure_method = FAIL_METHOD_COMMIT;
+      else {
+        NOTREACHED() << "Unknown method: \"" << fail_method << "\"";
+      }
+    }
+
+    DCHECK_GE(instance_num, 1);
+    DCHECK_GE(call_num, 1);
+
+    test->FailOperation(failure_class, failure_method, instance_num, call_num);
+
+    scoped_ptr<net::test_server::BasicHttpResponse> http_response(
+        new net::test_server::BasicHttpResponse);
+    http_response->set_code(net::HTTP_OK);
+    return http_response.PassAs<net::test_server::HttpResponse>();
   }
 
   // A request for a test resource
@@ -502,7 +592,8 @@
       base::Bind(&CorruptDBRequestHandler,
                  base::ConstRef(GetContext()),
                  origin_url,
-                 s_corrupt_db_test_prefix));
+                 s_corrupt_db_test_prefix,
+                 this));
 
   std::string test_file = s_corrupt_db_test_prefix +
                           "corrupted_open_db_detection.html#" + GetParam();
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.cc b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
index b147951..47265d5 100644
--- a/content/browser/indexed_db/indexed_db_dispatcher_host.cc
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
@@ -650,6 +650,11 @@
       }
       blob_info[i] =
           IndexedDBBlobInfo(info.uuid, path, info.file_name, info.mime_type);
+      if (info.size != static_cast<uint64_t>(-1)) {
+        blob_info[i].set_last_modified(
+            base::Time::FromDoubleT(info.last_modified));
+        blob_info[i].set_size(info.size);
+      }
     } else {
       blob_info[i] = IndexedDBBlobInfo(info.uuid, info.mime_type, info.size);
     }
diff --git a/content/browser/indexed_db/leveldb/leveldb_transaction.h b/content/browser/indexed_db/leveldb/leveldb_transaction.h
index ed8b1ca..f6b5a95 100644
--- a/content/browser/indexed_db/leveldb/leveldb_transaction.h
+++ b/content/browser/indexed_db/leveldb/leveldb_transaction.h
@@ -27,18 +27,20 @@
 
   void Put(const base::StringPiece& key, std::string* value);
   void Remove(const base::StringPiece& key);
-  leveldb::Status Get(const base::StringPiece& key,
-                      std::string* value,
-                      bool* found);
-  leveldb::Status Commit();
+  virtual leveldb::Status Get(const base::StringPiece& key,
+                              std::string* value,
+                              bool* found);
+  virtual leveldb::Status Commit();
   void Rollback();
 
   scoped_ptr<LevelDBIterator> CreateIterator();
 
- private:
+ protected:
   virtual ~LevelDBTransaction();
   explicit LevelDBTransaction(LevelDBDatabase* db);
   friend class IndexedDBClassFactory;
+
+ private:
   friend class base::RefCounted<LevelDBTransaction>;
   FRIEND_TEST_ALL_PREFIXES(LevelDBDatabaseTest, Transaction);
   FRIEND_TEST_ALL_PREFIXES(LevelDBDatabaseTest, TransactionCommitTest);
diff --git a/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc b/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc
new file mode 100644
index 0000000..0014070
--- /dev/null
+++ b/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc
@@ -0,0 +1,168 @@
+// 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 <string>
+
+#include "base/logging.h"
+#include "content/browser/indexed_db/leveldb/leveldb_transaction.h"
+#include "content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h"
+#include "third_party/leveldatabase/src/include/leveldb/status.h"
+
+namespace {
+
+class FunctionTracer {
+ public:
+  FunctionTracer(const std::string& class_name,
+                 const std::string& method_name,
+                 int instance_num)
+      : class_name_(class_name),
+        method_name_(method_name),
+        instance_count_(instance_num),
+        current_call_num_(0) {}
+
+  void log_call() {
+    current_call_num_++;
+    VLOG(0) << class_name_ << '[' << instance_count_ << "]::" << method_name_
+            << "()[" << current_call_num_ << ']';
+  }
+
+ private:
+  std::string class_name_;
+  std::string method_name_;
+  int instance_count_;
+  int current_call_num_;
+};
+
+}  // namespace
+
+namespace content {
+
+class LevelDBTestTansaction : public LevelDBTransaction {
+ public:
+  LevelDBTestTansaction(LevelDBDatabase* db,
+                        FailMethod fail_method,
+                        int fail_on_call_num)
+      : LevelDBTransaction(db),
+        fail_method_(fail_method),
+        fail_on_call_num_(fail_on_call_num),
+        current_call_num_(0) {
+    DCHECK(fail_method != FAIL_METHOD_NOTHING);
+    DCHECK_GT(fail_on_call_num, 0);
+  }
+
+  virtual leveldb::Status Get(const base::StringPiece& key,
+                              std::string* value,
+                              bool* found) OVERRIDE {
+    if (fail_method_ != FAIL_METHOD_GET ||
+        ++current_call_num_ != fail_on_call_num_)
+      return LevelDBTransaction::Get(key, value, found);
+
+    *found = false;
+    return leveldb::Status::Corruption("Corrupted for the test");
+  }
+
+  virtual leveldb::Status Commit() OVERRIDE {
+    if (fail_method_ != FAIL_METHOD_COMMIT ||
+        ++current_call_num_ != fail_on_call_num_)
+      return LevelDBTransaction::Commit();
+
+    return leveldb::Status::Corruption("Corrupted for the test");
+  }
+
+ private:
+  virtual ~LevelDBTestTansaction() {}
+
+  FailMethod fail_method_;
+  int fail_on_call_num_;
+  int current_call_num_;
+};
+
+class LevelDBTraceTansaction : public LevelDBTransaction {
+ public:
+  LevelDBTraceTansaction(LevelDBDatabase* db, int tx_num)
+      : LevelDBTransaction(db),
+        commit_tracer_(s_class_name, "Commit", tx_num),
+        get_tracer_(s_class_name, "Get", tx_num) {}
+
+  virtual leveldb::Status Get(const base::StringPiece& key,
+                              std::string* value,
+                              bool* found) OVERRIDE {
+    get_tracer_.log_call();
+    return LevelDBTransaction::Get(key, value, found);
+  }
+
+  virtual leveldb::Status Commit() OVERRIDE {
+    commit_tracer_.log_call();
+    return LevelDBTransaction::Commit();
+  }
+
+ private:
+  virtual ~LevelDBTraceTansaction() {}
+
+  const static std::string s_class_name;
+
+  FunctionTracer commit_tracer_;
+  FunctionTracer get_tracer_;
+};
+
+const std::string LevelDBTraceTansaction::s_class_name = "LevelDBTransaction";
+
+MockBrowserTestIndexedDBClassFactory::MockBrowserTestIndexedDBClassFactory()
+    : failure_class_(FAIL_CLASS_NOTHING),
+      failure_method_(FAIL_METHOD_NOTHING),
+      only_trace_calls_(false) {
+}
+
+MockBrowserTestIndexedDBClassFactory::~MockBrowserTestIndexedDBClassFactory() {
+}
+
+LevelDBTransaction*
+MockBrowserTestIndexedDBClassFactory::CreateLevelDBTransaction(
+    LevelDBDatabase* db) {
+  instance_count_[FAIL_CLASS_LEVELDB_TRANSACTION] =
+      instance_count_[FAIL_CLASS_LEVELDB_TRANSACTION] + 1;
+  if (only_trace_calls_) {
+    return new LevelDBTraceTansaction(
+        db, instance_count_[FAIL_CLASS_LEVELDB_TRANSACTION]);
+  } else {
+    if (failure_class_ == FAIL_CLASS_LEVELDB_TRANSACTION &&
+        instance_count_[FAIL_CLASS_LEVELDB_TRANSACTION] ==
+            fail_on_instance_num_[FAIL_CLASS_LEVELDB_TRANSACTION]) {
+      return new LevelDBTestTansaction(
+          db,
+          failure_method_,
+          fail_on_call_num_[FAIL_CLASS_LEVELDB_TRANSACTION]);
+    } else {
+      return IndexedDBClassFactory::CreateLevelDBTransaction(db);
+    }
+  }
+}
+
+void MockBrowserTestIndexedDBClassFactory::FailOperation(
+    FailClass failure_class,
+    FailMethod failure_method,
+    int fail_on_instance_num,
+    int fail_on_call_num) {
+  VLOG(0) << "FailOperation: class=" << failure_class
+          << ", method=" << failure_method
+          << ", instanceNum=" << fail_on_instance_num
+          << ", callNum=" << fail_on_call_num;
+  DCHECK(failure_class != FAIL_CLASS_NOTHING);
+  DCHECK(failure_method != FAIL_METHOD_NOTHING);
+  failure_class_ = failure_class;
+  failure_method_ = failure_method;
+  fail_on_instance_num_[failure_class_] = fail_on_instance_num;
+  fail_on_call_num_[failure_class_] = fail_on_call_num;
+  instance_count_.clear();
+}
+
+void MockBrowserTestIndexedDBClassFactory::Reset() {
+  failure_class_ = FAIL_CLASS_NOTHING;
+  failure_method_ = FAIL_METHOD_NOTHING;
+  instance_count_.clear();
+  fail_on_instance_num_.clear();
+  fail_on_call_num_.clear();
+}
+
+}  // namespace content
diff --git a/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h b/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h
new file mode 100644
index 0000000..b30f150
--- /dev/null
+++ b/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h
@@ -0,0 +1,52 @@
+// 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 CONTENT_BROWSER_INDEXED_DB_MOCK_BROWSERTEST_INDEXED_DB_CLASS_FACTORY_H_
+#define CONTENT_BROWSER_INDEXED_DB_MOCK_BROWSERTEST_INDEXED_DB_CLASS_FACTORY_H_
+
+#include <map>
+
+#include "content/browser/indexed_db/indexed_db_class_factory.h"
+
+namespace content {
+
+class LevelDBTransaction;
+class LevelDBDatabase;
+
+enum FailClass {
+  FAIL_CLASS_NOTHING,
+  FAIL_CLASS_LEVELDB_TRANSACTION,
+};
+
+enum FailMethod {
+  FAIL_METHOD_NOTHING,
+  FAIL_METHOD_COMMIT,
+  FAIL_METHOD_GET,
+};
+
+class MockBrowserTestIndexedDBClassFactory : public IndexedDBClassFactory {
+ public:
+  MockBrowserTestIndexedDBClassFactory();
+  virtual ~MockBrowserTestIndexedDBClassFactory();
+  virtual LevelDBTransaction* CreateLevelDBTransaction(
+      LevelDBDatabase* db) OVERRIDE;
+
+  void FailOperation(FailClass failure_class,
+                     FailMethod failure_method,
+                     int fail_on_instance_num,
+                     int fail_on_call_num);
+  void Reset();
+
+ private:
+  FailClass failure_class_;
+  FailMethod failure_method_;
+  std::map<FailClass, int> instance_count_;
+  std::map<FailClass, int> fail_on_instance_num_;
+  std::map<FailClass, int> fail_on_call_num_;
+  bool only_trace_calls_;
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_INDEXED_DB_MOCK_BROWSERTEST_INDEXED_DB_CLASS_FACTORY_H_
diff --git a/content/browser/loader/buffered_resource_handler.cc b/content/browser/loader/buffered_resource_handler.cc
index f609cbf..8fb8c5d 100644
--- a/content/browser/loader/buffered_resource_handler.cc
+++ b/content/browser/loader/buffered_resource_handler.cc
@@ -386,7 +386,7 @@
     scoped_refptr<net::IOBuffer> buf;
     int size = 0;
 
-    next_handler_->OnWillRead(&buf, &size, payload_for_old_handler.length());
+    next_handler_->OnWillRead(&buf, &size, -1);
     CHECK_GE(size, static_cast<int>(payload_for_old_handler.length()));
 
     memcpy(buf->data(), payload_for_old_handler.c_str(),
diff --git a/content/browser/mach_broker_mac.h b/content/browser/mach_broker_mac.h
index 51038bf..dede400 100644
--- a/content/browser/mach_broker_mac.h
+++ b/content/browser/mach_broker_mac.h
@@ -44,6 +44,10 @@
   // and false if otherwise.
   static bool ChildSendTaskPortToParent();
 
+  // Returns the Mach port name to use when sending or receiving messages.
+  // Does the Right Thing in the browser and in child processes.
+  static std::string GetMachPortName();
+
   // Returns the global MachBroker.
   static MachBroker* GetInstance();
 
@@ -93,9 +97,6 @@
   // Removes all mappings belonging to |pid| from the broker.
   void InvalidatePid(base::ProcessHandle pid);
 
-  // Returns the Mach port name to use when sending or receiving messages.
-  // Does the Right Thing in the browser and in child processes.
-  static std::string GetMachPortName();
   // Callback used to register notifications on the UI thread.
   void RegisterNotifications();
 
diff --git a/content/browser/mach_broker_mac.mm b/content/browser/mach_broker_mac.mm
index e4ee38e..1c9e6e5 100644
--- a/content/browser/mach_broker_mac.mm
+++ b/content/browser/mach_broker_mac.mm
@@ -132,6 +132,7 @@
   DISALLOW_COPY_AND_ASSIGN(MachListenerThreadDelegate);
 };
 
+// static
 bool MachBroker::ChildSendTaskPortToParent() {
   // Look up the named MachBroker port that's been registered with the
   // bootstrap server.
@@ -167,6 +168,17 @@
   return true;
 }
 
+// static
+std::string MachBroker::GetMachPortName() {
+  const CommandLine* command_line = CommandLine::ForCurrentProcess();
+  const bool is_child = command_line->HasSwitch(switches::kProcessType);
+
+  // In non-browser (child) processes, use the parent's pid.
+  const pid_t pid = is_child ? getppid() : getpid();
+  return base::StringPrintf("%s.rohitfork.%d", base::mac::BaseBundleID(), pid);
+}
+
+// static
 MachBroker* MachBroker::GetInstance() {
   return Singleton<MachBroker, LeakySingletonTraits<MachBroker> >::get();
 }
@@ -274,16 +286,6 @@
   mach_map_.erase(it);
 }
 
-// static
-std::string MachBroker::GetMachPortName() {
-  const CommandLine* command_line = CommandLine::ForCurrentProcess();
-  const bool is_child = command_line->HasSwitch(switches::kProcessType);
-
-  // In non-browser (child) processes, use the parent's pid.
-  const pid_t pid = is_child ? getppid() : getpid();
-  return base::StringPrintf("%s.rohitfork.%d", base::mac::BaseBundleID(), pid);
-}
-
 void MachBroker::RegisterNotifications() {
   registrar_.Add(this, NOTIFICATION_RENDERER_PROCESS_CLOSED,
                  NotificationService::AllBrowserContextsAndSources());
diff --git a/content/browser/media/capture/desktop_capture_device_aura.cc b/content/browser/media/capture/desktop_capture_device_aura.cc
index 432a185..08aec1e 100644
--- a/content/browser/media/capture/desktop_capture_device_aura.cc
+++ b/content/browser/media/capture/desktop_capture_device_aura.cc
@@ -108,6 +108,9 @@
                                      const gfx::Rect& old_bounds,
                                      const gfx::Rect& new_bounds) OVERRIDE;
   virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE;
+  virtual void OnWindowAddedToRootWindow(aura::Window* window) OVERRIDE;
+  virtual void OnWindowRemovingFromRootWindow(aura::Window* window,
+                                              aura::Window* new_root) OVERRIDE;
 
   // Implements ui::CompositorObserver.
   virtual void OnCompositingDidCommit(ui::Compositor* compositor) OVERRIDE {}
@@ -152,9 +155,6 @@
   // The window associated with the desktop.
   aura::Window* desktop_window_;
 
-  // The layer associated with the desktop.
-  ui::Layer* desktop_layer_;
-
   // The timer that kicks off period captures.
   base::Timer timer_;
 
@@ -181,7 +181,6 @@
 DesktopVideoCaptureMachine::DesktopVideoCaptureMachine(
     const DesktopMediaID& source)
     : desktop_window_(NULL),
-      desktop_layer_(NULL),
       timer_(true, true),
       window_id_(source) {}
 
@@ -196,9 +195,9 @@
   if (!desktop_window_)
     return false;
 
-  // If the desktop layer is already destroyed then return failure.
-  desktop_layer_ = desktop_window_->layer();
-  if (!desktop_layer_)
+  // If the associated layer is already destroyed then return failure.
+  ui::Layer* layer = desktop_window_->layer();
+  if (!layer)
     return false;
 
   DCHECK(oracle_proxy.get());
@@ -212,11 +211,8 @@
   desktop_window_->AddObserver(this);
 
   // Start observing compositor updates.
-  ui::Compositor* compositor = desktop_layer_->GetCompositor();
-  if (!compositor)
-    return false;
-
-  compositor->AddObserver(this);
+  if (desktop_window_->GetHost())
+    desktop_window_->GetHost()->compositor()->AddObserver(this);
 
   // Starts timer.
   timer_.Start(FROM_HERE, oracle_proxy_->capture_period(),
@@ -230,20 +226,14 @@
 void DesktopVideoCaptureMachine::Stop(const base::Closure& callback) {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 
-  // Stop observing window events.
+  // Stop observing compositor and window events.
   if (desktop_window_) {
+    if (desktop_window_->GetHost())
+      desktop_window_->GetHost()->compositor()->RemoveObserver(this);
     desktop_window_->RemoveObserver(this);
     desktop_window_ = NULL;
   }
 
-  // Stop observing compositor updates.
-  if (desktop_layer_) {
-    ui::Compositor* compositor = desktop_layer_->GetCompositor();
-    if (compositor)
-      compositor->RemoveObserver(this);
-    desktop_layer_ = NULL;
-  }
-
   // Stop timer.
   timer_.Stop();
 
@@ -254,9 +244,10 @@
 
 void DesktopVideoCaptureMachine::UpdateCaptureSize() {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-  if (oracle_proxy_ && desktop_layer_) {
+  if (oracle_proxy_ && desktop_window_) {
+    ui::Layer* layer = desktop_window_->layer();
     oracle_proxy_->UpdateCaptureSize(ui::ConvertSizeToPixel(
-        desktop_layer_, desktop_layer_->bounds().size()));
+        layer, layer->bounds().size()));
   }
   ClearCursorState();
 }
@@ -264,8 +255,8 @@
 void DesktopVideoCaptureMachine::Capture(bool dirty) {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 
-  // Do not capture if the desktop layer is already destroyed.
-  if (!desktop_layer_)
+  // Do not capture if the desktop window is already destroyed.
+  if (!desktop_window_)
     return;
 
   scoped_refptr<media::VideoFrame> frame;
@@ -286,7 +277,7 @@
                                gfx::Rect(desktop_window_->bounds().width(),
                                          desktop_window_->bounds().height()));
     request->set_area(window_rect);
-    desktop_layer_->RequestCopyOfOutput(request.Pass());
+    desktop_window_->layer()->RequestCopyOfOutput(request.Pass());
   }
 }
 
@@ -350,7 +341,7 @@
     const ThreadSafeCaptureOracle::CaptureFrameCallback& capture_frame_cb,
     scoped_ptr<cc::CopyOutputResult> result) {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-  if (result->IsEmpty() || result->size().IsEmpty() || !desktop_layer_)
+  if (result->IsEmpty() || result->size().IsEmpty() || !desktop_window_)
     return false;
 
   if (capture_params_.requested_format.pixel_format ==
@@ -437,7 +428,7 @@
 
 gfx::Point DesktopVideoCaptureMachine::UpdateCursorState(
     const gfx::Rect& region_in_frame) {
-  const gfx::Rect desktop_bounds = desktop_layer_->bounds();
+  const gfx::Rect desktop_bounds = desktop_window_->layer()->bounds();
   gfx::NativeCursor cursor =
       desktop_window_->GetHost()->last_cursor();
   if (last_cursor_ != cursor) {
@@ -462,7 +453,7 @@
   aura::client::GetScreenPositionClient(desktop_window_->GetRootWindow())->
       ConvertPointFromScreen(desktop_window_, &cursor_position);
   const gfx::Point hot_point_in_dip = ui::ConvertPointToDIP(
-      desktop_layer_, cursor_hot_point_);
+      desktop_window_->layer(), cursor_hot_point_);
   cursor_position.Offset(-desktop_bounds.x() - hot_point_in_dip.x(),
                          -desktop_bounds.y() - hot_point_in_dip.y());
   return gfx::Point(
@@ -497,6 +488,19 @@
   oracle_proxy_->ReportError("OnWindowDestroyed()");
 }
 
+void DesktopVideoCaptureMachine::OnWindowAddedToRootWindow(
+    aura::Window* window) {
+  DCHECK(window == desktop_window_);
+  window->GetHost()->compositor()->AddObserver(this);
+}
+
+void DesktopVideoCaptureMachine::OnWindowRemovingFromRootWindow(
+    aura::Window* window,
+    aura::Window* new_root) {
+  DCHECK(window == desktop_window_);
+  window->GetHost()->compositor()->RemoveObserver(this);
+}
+
 void DesktopVideoCaptureMachine::OnCompositingEnded(
     ui::Compositor* compositor) {
   BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, base::Bind(
diff --git a/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc b/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc
index c9afbf1..72f6109 100644
--- a/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc
+++ b/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc
@@ -161,9 +161,11 @@
  public:
   MockAudioInputCallback() {}
 
-  MOCK_METHOD5(OnData, void(AudioInputStream* stream, const uint8* src,
-                            uint32 size, uint32 hardware_delay_bytes,
-                            double volume));
+  MOCK_METHOD4(OnData,
+               void(AudioInputStream* stream,
+                    const media::AudioBus* src,
+                    uint32 hardware_delay_bytes,
+                    double volume));
   MOCK_METHOD1(OnError, void(AudioInputStream* stream));
 
  private:
@@ -238,7 +240,7 @@
             static_cast<AudioMirroringManager::MirroringDestination*>(NULL)))
         .RetiresOnSaturation();
 
-    EXPECT_CALL(mock_input_callback_, OnData(NotNull(), NotNull(), _, _, _))
+    EXPECT_CALL(mock_input_callback_, OnData(NotNull(), NotNull(), _, _))
         .WillRepeatedly(
             InvokeWithoutArgs(&on_data_event_, &base::WaitableEvent::Signal));
 
diff --git a/content/browser/media/webrtc_getusermedia_browsertest.cc b/content/browser/media/webrtc_getusermedia_browsertest.cc
index 5229881..c74ecb7 100644
--- a/content/browser/media/webrtc_getusermedia_browsertest.cc
+++ b/content/browser/media/webrtc_getusermedia_browsertest.cc
@@ -452,7 +452,7 @@
 
   RunTwoGetTwoGetUserMediaWithDifferentContraints(constraints1, constraints2,
                                                   expected_result);
- }
+}
 
 IN_PROC_BROWSER_TEST_P(WebRtcGetUserMediaBrowserTest,
                        TwoGetUserMediaWithSecondVideoCropped) {
@@ -464,7 +464,7 @@
 }
 
 IN_PROC_BROWSER_TEST_P(WebRtcGetUserMediaBrowserTest,
-                       DISABLED_TwoGetUserMediaWithFirstHdSecondVga) {
+                       TwoGetUserMediaWithFirstHdSecondVga) {
   std::string constraints1 =
       "{video: {mandatory: {minWidth:1280 , minHeight: 720}}}";
   std::string constraints2 =
diff --git a/content/browser/mojo/mojo_application_host.h b/content/browser/mojo/mojo_application_host.h
index 4e3e3e1..f591326 100644
--- a/content/browser/mojo/mojo_application_host.h
+++ b/content/browser/mojo/mojo_application_host.h
@@ -6,7 +6,7 @@
 #define CONTENT_BROWSER_MOJO_MOJO_APPLICATION_HOST_H_
 
 #include "base/process/process_handle.h"
-#include "mojo/common/channel_init.h"
+#include "mojo/embedder/channel_init.h"
 #include "mojo/embedder/scoped_platform_handle.h"
 #include "mojo/public/interfaces/service_provider/service_provider.mojom.h"
 
@@ -55,7 +55,7 @@
         const mojo::String& requestor_url) OVERRIDE;
   };
 
-  mojo::common::ChannelInit channel_init_;
+  mojo::embedder::ChannelInit channel_init_;
   mojo::embedder::ScopedPlatformHandle client_handle_;
 
   scoped_ptr<ServiceProviderImpl> child_service_provider_;
diff --git a/content/browser/plugin_process_host.cc b/content/browser/plugin_process_host.cc
index 7cb7a0f..6c65dbf 100644
--- a/content/browser/plugin_process_host.cc
+++ b/content/browser/plugin_process_host.cc
@@ -96,13 +96,6 @@
   virtual int GetIpcFd() OVERRIDE {
     return ipc_fd_;
   }
-
-#if defined(OS_MACOSX)
-  virtual SandboxType GetSandboxType() OVERRIDE {
-    return SANDBOX_TYPE_NPAPI;
-  }
-#endif  // OS_MACOSX
-
 #endif  // OS_WIN
 
  private:
diff --git a/content/browser/plugin_service_impl.cc b/content/browser/plugin_service_impl.cc
index 0d285fd..a2c3170 100644
--- a/content/browser/plugin_service_impl.cc
+++ b/content/browser/plugin_service_impl.cc
@@ -852,9 +852,11 @@
 }
 #endif
 
-bool PluginServiceImpl::PpapiDevChannelSupported() {
+bool PluginServiceImpl::PpapiDevChannelSupported(
+    BrowserContext* browser_context,
+    const GURL& document_url) {
   return content::GetContentClient()->browser()->
-      IsPluginAllowedToUseDevChannelAPIs();
+      IsPluginAllowedToUseDevChannelAPIs(browser_context, document_url);
 }
 
 }  // namespace content
diff --git a/content/browser/plugin_service_impl.h b/content/browser/plugin_service_impl.h
index 55788fc..861889c 100644
--- a/content/browser/plugin_service_impl.h
+++ b/content/browser/plugin_service_impl.h
@@ -115,7 +115,8 @@
   // Returns true iff the given HWND is a plugin.
   bool IsPluginWindow(HWND window);
 #endif
-  virtual bool PpapiDevChannelSupported() OVERRIDE;
+  virtual bool PpapiDevChannelSupported(BrowserContext* browser_context,
+                                        const GURL& document_url) OVERRIDE;
 
   // Returns the plugin process host corresponding to the plugin process that
   // has been started by this service. This will start a process to host the
diff --git a/content/browser/power_profiler/power_profiler_service.cc b/content/browser/power_profiler/power_profiler_service.cc
index 951034c..026b42a 100644
--- a/content/browser/power_profiler/power_profiler_service.cc
+++ b/content/browser/power_profiler/power_profiler_service.cc
@@ -62,7 +62,7 @@
 void PowerProfilerService::RemoveObserver(PowerProfilerObserver* observer) {
   observers_.RemoveObserver(observer);
 
-  if (!observers_.might_have_observers())
+  if (status_ == PROFILING && !observers_.might_have_observers())
     Stop();
 }
 
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index 39c6bc3..fc6a75e 100644
--- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc
@@ -232,7 +232,11 @@
     : profile_data_directory_(profile_data_directory),
       is_broker_(false) {
   uint32 base_permissions = info.permissions;
-  if (GetContentClient()->browser()->IsPluginAllowedToUseDevChannelAPIs())
+
+  // We don't have to do any whitelisting for APIs in this process host, so
+  // don't bother passing a browser context or document url here.
+  if (GetContentClient()->browser()->IsPluginAllowedToUseDevChannelAPIs(
+          NULL, GURL()))
     base_permissions |= ppapi::PERMISSION_DEV_CHANNEL;
   permissions_ = ppapi::PpapiPermissions::GetForCommandLine(base_permissions);
 
diff --git a/content/browser/quota/quota_backend_impl_unittest.cc b/content/browser/quota/quota_backend_impl_unittest.cc
index fad9547..201fab0 100644
--- a/content/browser/quota/quota_backend_impl_unittest.cc
+++ b/content/browser/quota/quota_backend_impl_unittest.cc
@@ -15,7 +15,6 @@
 #include "webkit/browser/fileapi/obfuscated_file_util.h"
 #include "webkit/browser/quota/quota_manager_proxy.h"
 
-using fileapi::FileSystemType;
 using fileapi::FileSystemUsageCache;
 using fileapi::ObfuscatedFileUtil;
 using fileapi::QuotaBackendImpl;
@@ -115,7 +114,8 @@
   }
 
  protected:
-  void InitializeForOriginAndType(const GURL& origin, FileSystemType type) {
+  void InitializeForOriginAndType(const GURL& origin,
+                                  fileapi::FileSystemType type) {
     ASSERT_TRUE(file_util_->InitOriginDatabase(origin, true /* create */));
     ASSERT_TRUE(file_util_->origin_database_ != NULL);
 
@@ -134,7 +134,8 @@
     return base::MessageLoopProxy::current().get();
   }
 
-  base::FilePath GetUsageCachePath(const GURL& origin, FileSystemType type) {
+  base::FilePath GetUsageCachePath(const GURL& origin,
+                                   fileapi::FileSystemType type) {
     base::FilePath path;
     base::File::Error error =
         backend_->GetUsageCachePath(origin, type, &path);
@@ -156,7 +157,7 @@
 };
 
 TEST_F(QuotaBackendImplTest, ReserveQuota_Basic) {
-  FileSystemType type = fileapi::kFileSystemTypeTemporary;
+  fileapi::FileSystemType type = fileapi::kFileSystemTypeTemporary;
   InitializeForOriginAndType(GURL(kOrigin), type);
   quota_manager_proxy_->set_quota(10000);
 
@@ -182,7 +183,7 @@
 }
 
 TEST_F(QuotaBackendImplTest, ReserveQuota_NoSpace) {
-  FileSystemType type = fileapi::kFileSystemTypeTemporary;
+  fileapi::FileSystemType type = fileapi::kFileSystemTypeTemporary;
   InitializeForOriginAndType(GURL(kOrigin), type);
   quota_manager_proxy_->set_quota(100);
 
@@ -200,7 +201,7 @@
 }
 
 TEST_F(QuotaBackendImplTest, ReserveQuota_Revert) {
-  FileSystemType type = fileapi::kFileSystemTypeTemporary;
+  fileapi::FileSystemType type = fileapi::kFileSystemTypeTemporary;
   InitializeForOriginAndType(GURL(kOrigin), type);
   quota_manager_proxy_->set_quota(10000);
 
@@ -218,7 +219,7 @@
 }
 
 TEST_F(QuotaBackendImplTest, ReleaseReservedQuota) {
-  FileSystemType type = fileapi::kFileSystemTypeTemporary;
+  fileapi::FileSystemType type = fileapi::kFileSystemTypeTemporary;
   InitializeForOriginAndType(GURL(kOrigin), type);
   const int64 kInitialUsage = 2000;
   quota_manager_proxy_->set_usage(kInitialUsage);
@@ -232,7 +233,7 @@
 }
 
 TEST_F(QuotaBackendImplTest, CommitQuotaUsage) {
-  FileSystemType type = fileapi::kFileSystemTypeTemporary;
+  fileapi::FileSystemType type = fileapi::kFileSystemTypeTemporary;
   InitializeForOriginAndType(GURL(kOrigin), type);
   quota_manager_proxy_->set_quota(10000);
   base::FilePath path = GetUsageCachePath(GURL(kOrigin), type);
@@ -255,7 +256,7 @@
 }
 
 TEST_F(QuotaBackendImplTest, DirtyCount) {
-  FileSystemType type = fileapi::kFileSystemTypeTemporary;
+  fileapi::FileSystemType type = fileapi::kFileSystemTypeTemporary;
   InitializeForOriginAndType(GURL(kOrigin), type);
   base::FilePath path = GetUsageCachePath(GURL(kOrigin), type);
 
diff --git a/content/browser/quota/quota_reservation_manager_unittest.cc b/content/browser/quota/quota_reservation_manager_unittest.cc
index ee09b8c..84caddc 100644
--- a/content/browser/quota/quota_reservation_manager_unittest.cc
+++ b/content/browser/quota/quota_reservation_manager_unittest.cc
@@ -15,7 +15,6 @@
 #include "webkit/browser/fileapi/quota/open_file_handle.h"
 #include "webkit/browser/fileapi/quota/quota_reservation.h"
 
-using fileapi::FileSystemType;
 using fileapi::kFileSystemTypeTemporary;
 using fileapi::OpenFileHandle;
 using fileapi::QuotaReservation;
@@ -26,7 +25,7 @@
 namespace {
 
 const char kOrigin[] = "http://example.com";
-const FileSystemType kType = kFileSystemTypeTemporary;
+const fileapi::FileSystemType kType = kFileSystemTypeTemporary;
 const int64 kInitialFileSize = 1;
 
 typedef QuotaReservationManager::ReserveQuotaCallback ReserveQuotaCallback;
@@ -51,7 +50,7 @@
   virtual ~FakeBackend() {}
 
   virtual void ReserveQuota(const GURL& origin,
-                            FileSystemType type,
+                            fileapi::FileSystemType type,
                             int64 delta,
                             const ReserveQuotaCallback& callback) OVERRIDE {
     EXPECT_EQ(GURL(kOrigin), origin);
@@ -63,7 +62,7 @@
   }
 
   virtual void ReleaseReservedQuota(const GURL& origin,
-                                    FileSystemType type,
+                                    fileapi::FileSystemType type,
                                     int64 size) OVERRIDE {
     EXPECT_LE(0, size);
     EXPECT_EQ(GURL(kOrigin), origin);
@@ -72,7 +71,7 @@
   }
 
   virtual void CommitQuotaUsage(const GURL& origin,
-                                FileSystemType type,
+                                fileapi::FileSystemType type,
                                 int64 delta) OVERRIDE {
     EXPECT_EQ(GURL(kOrigin), origin);
     EXPECT_EQ(kType, type);
@@ -81,9 +80,9 @@
   }
 
   virtual void IncrementDirtyCount(const GURL& origin,
-                                   FileSystemType type) OVERRIDE {}
+                                   fileapi::FileSystemType type) OVERRIDE {}
   virtual void DecrementDirtyCount(const GURL& origin,
-                                   FileSystemType type) OVERRIDE {}
+                                   fileapi::FileSystemType type) OVERRIDE {}
 
   int64 on_memory_usage() { return on_memory_usage_; }
   int64 on_disk_usage() { return on_disk_usage_; }
diff --git a/content/browser/renderer_host/compositor_impl_android.h b/content/browser/renderer_host/compositor_impl_android.h
index 61743af..e3cc42e 100644
--- a/content/browser/renderer_host/compositor_impl_android.h
+++ b/content/browser/renderer_host/compositor_impl_android.h
@@ -25,14 +25,12 @@
 struct ANativeWindow;
 
 namespace cc {
-class InputHandlerClient;
 class Layer;
 class LayerTreeHost;
 }
 
 namespace content {
 class CompositorClient;
-class GraphicsContext;
 class UIResourceProvider;
 
 // -----------------------------------------------------------------------------
diff --git a/content/browser/renderer_host/ime_adapter_android.cc b/content/browser/renderer_host/ime_adapter_android.cc
index a19e7f4..afbc434 100644
--- a/content/browser/renderer_host/ime_adapter_android.cc
+++ b/content/browser/renderer_host/ime_adapter_android.cc
@@ -4,7 +4,9 @@
 
 #include "content/browser/renderer_host/ime_adapter_android.h"
 
+#include <algorithm>
 #include <android/input.h>
+#include <vector>
 
 #include "base/android/jni_android.h"
 #include "base/android/jni_string.h"
@@ -87,6 +89,48 @@
   return true;
 }
 
+// Callback from Java to convert BackgroundColorSpan data to a
+// blink::WebCompositionUnderline instance, and append it to |underlines_ptr|.
+void AppendBackgroundColorSpan(JNIEnv*,
+                               jclass,
+                               jlong underlines_ptr,
+                               jint start,
+                               jint end,
+                               jint background_color) {
+  DCHECK(start >= 0);
+  DCHECK(end >= 0);
+  // Do not check |background_color|.
+  std::vector<blink::WebCompositionUnderline>* underlines =
+      reinterpret_cast<std::vector<blink::WebCompositionUnderline>*>(
+          underlines_ptr);
+  underlines->push_back(
+      blink::WebCompositionUnderline(static_cast<unsigned>(start),
+                                     static_cast<unsigned>(end),
+                                     SK_ColorTRANSPARENT,
+                                     false,
+                                     static_cast<unsigned>(background_color)));
+}
+
+// Callback from Java to convert UnderlineSpan data to a
+// blink::WebCompositionUnderline instance, and append it to |underlines_ptr|.
+void AppendUnderlineSpan(JNIEnv*,
+                         jclass,
+                         jlong underlines_ptr,
+                         jint start,
+                         jint end) {
+  DCHECK(start >= 0);
+  DCHECK(end >= 0);
+  std::vector<blink::WebCompositionUnderline>* underlines =
+      reinterpret_cast<std::vector<blink::WebCompositionUnderline>*>(
+          underlines_ptr);
+  underlines->push_back(
+      blink::WebCompositionUnderline(static_cast<unsigned>(start),
+                                     static_cast<unsigned>(end),
+                                     SK_ColorBLACK,
+                                     false,
+                                     SK_ColorTRANSPARENT));
+}
+
 ImeAdapterAndroid::ImeAdapterAndroid(RenderWidgetHostViewAndroid* rwhva)
     : rwhva_(rwhva) {
 }
@@ -138,17 +182,32 @@
   return true;
 }
 
-void ImeAdapterAndroid::SetComposingText(JNIEnv* env, jobject, jstring text,
+void ImeAdapterAndroid::SetComposingText(JNIEnv* env,
+                                         jobject obj,
+                                         jobject text,
+                                         jstring text_str,
                                          int new_cursor_pos) {
   RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl();
   if (!rwhi)
     return;
 
-  base::string16 text16 = ConvertJavaStringToUTF16(env, text);
+  base::string16 text16 = ConvertJavaStringToUTF16(env, text_str);
+
   std::vector<blink::WebCompositionUnderline> underlines;
-  underlines.push_back(
-      blink::WebCompositionUnderline(0, text16.length(), SK_ColorBLACK,
-                                      false));
+  // Iterate over spans in |text|, dispatch those that we care about (e.g.,
+  // BackgroundColorSpan) to a matching callback (e.g.,
+  // AppendBackgroundColorSpan()), and populate |underlines|.
+  Java_ImeAdapter_populateUnderlinesFromSpans(
+      env, obj, text, reinterpret_cast<jlong>(&underlines));
+
+  // Default to plain underline if we didn't find any span that we care about.
+  if (underlines.empty()) {
+    underlines.push_back(blink::WebCompositionUnderline(
+        0, text16.length(), SK_ColorBLACK, false, SK_ColorTRANSPARENT));
+  }
+  // Sort spans by |.startOffset|.
+  std::sort(underlines.begin(), underlines.end());
+
   // new_cursor_position is as described in the Android API for
   // InputConnection#setComposingText, whereas the parameters for
   // ImeSetComposition are relative to the start of the composition.
@@ -158,12 +217,12 @@
   rwhi->ImeSetComposition(text16, underlines, new_cursor_pos, new_cursor_pos);
 }
 
-void ImeAdapterAndroid::CommitText(JNIEnv* env, jobject, jstring text) {
+void ImeAdapterAndroid::CommitText(JNIEnv* env, jobject, jstring text_str) {
   RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl();
   if (!rwhi)
     return;
 
-  base::string16 text16 = ConvertJavaStringToUTF16(env, text);
+  base::string16 text16 = ConvertJavaStringToUTF16(env, text_str);
   rwhi->ImeConfirmComposition(text16, gfx::Range::InvalidRange(), false);
 }
 
@@ -214,8 +273,8 @@
     return;
 
   std::vector<blink::WebCompositionUnderline> underlines;
-  underlines.push_back(
-      blink::WebCompositionUnderline(0, end - start, SK_ColorBLACK, false));
+  underlines.push_back(blink::WebCompositionUnderline(
+      0, end - start, SK_ColorBLACK, false, SK_ColorTRANSPARENT));
 
   rfh->Send(new FrameMsg_SetCompositionFromExistingText(
       rfh->GetRoutingID(), start, end, underlines));
diff --git a/content/browser/renderer_host/ime_adapter_android.h b/content/browser/renderer_host/ime_adapter_android.h
index e920c03..a23696d 100644
--- a/content/browser/renderer_host/ime_adapter_android.h
+++ b/content/browser/renderer_host/ime_adapter_android.h
@@ -42,8 +42,12 @@
                              long timestamp_ms,
                              int native_key_code,
                              int unicode_char);
-  void SetComposingText(JNIEnv*, jobject, jstring text, int new_cursor_pos);
-  void CommitText(JNIEnv*, jobject, jstring text);
+  void SetComposingText(JNIEnv*,
+                        jobject obj,
+                        jobject text,
+                        jstring text_str,
+                        int new_cursor_pos);
+  void CommitText(JNIEnv*, jobject, jstring text_str);
   void FinishComposingText(JNIEnv* env, jobject);
   void AttachImeAdapter(JNIEnv*, jobject java_object);
   void SetEditableSelectionOffsets(JNIEnv*, jobject, int start, int end);
diff --git a/content/browser/renderer_host/input/touch_emulator_unittest.cc b/content/browser/renderer_host/input/touch_emulator_unittest.cc
index 9bd4ab0..8fdfd54 100644
--- a/content/browser/renderer_host/input/touch_emulator_unittest.cc
+++ b/content/browser/renderer_host/input/touch_emulator_unittest.cc
@@ -48,7 +48,7 @@
   virtual void SetUp() OVERRIDE {
 #if defined(USE_AURA)
     aura::Env::CreateInstance(true);
-    screen_.reset(aura::TestScreen::Create());
+    screen_.reset(aura::TestScreen::Create(gfx::Size()));
     gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get());
 #endif
 
diff --git a/content/browser/renderer_host/input/web_input_event_util.cc b/content/browser/renderer_host/input/web_input_event_util.cc
index 5994b7f..524cf00 100644
--- a/content/browser/renderer_host/input/web_input_event_util.cc
+++ b/content/browser/renderer_host/input/web_input_event_util.cc
@@ -238,6 +238,8 @@
   WebGestureEvent gesture;
   gesture.x = data.x;
   gesture.y = data.y;
+  gesture.globalX = data.raw_x;
+  gesture.globalY = data.raw_y;
   gesture.timeStampSeconds = (data.time - base::TimeTicks()).InSecondsF();
   gesture.sourceDevice = blink::WebGestureDeviceTouchscreen;
 
diff --git a/content/browser/renderer_host/java/gin_java_bound_object.cc b/content/browser/renderer_host/java/gin_java_bound_object.cc
new file mode 100644
index 0000000..70abba8
--- /dev/null
+++ b/content/browser/renderer_host/java/gin_java_bound_object.cc
@@ -0,0 +1,192 @@
+// 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 "content/browser/renderer_host/java/gin_java_bound_object.h"
+
+#include "base/android/jni_android.h"
+#include "base/android/jni_string.h"
+#include "base/android/scoped_java_ref.h"
+#include "base/strings/utf_string_conversions.h"
+#include "content/browser/renderer_host/java/jni_helper.h"
+
+using base::android::AttachCurrentThread;
+using base::android::ScopedJavaLocalRef;
+
+namespace content {
+
+namespace {
+
+const char kJavaLangClass[] = "java/lang/Class";
+const char kJavaLangObject[] = "java/lang/Object";
+const char kJavaLangReflectMethod[] = "java/lang/reflect/Method";
+const char kGetClass[] = "getClass";
+const char kGetMethods[] = "getMethods";
+const char kIsAnnotationPresent[] = "isAnnotationPresent";
+const char kReturningJavaLangClass[] = "()Ljava/lang/Class;";
+const char kReturningJavaLangReflectMethodArray[] =
+    "()[Ljava/lang/reflect/Method;";
+const char kTakesJavaLangClassReturningBoolean[] = "(Ljava/lang/Class;)Z";
+
+}  // namespace
+
+
+// static
+GinJavaBoundObject* GinJavaBoundObject::CreateNamed(
+    const JavaObjectWeakGlobalRef& ref,
+    const base::android::JavaRef<jclass>& safe_annotation_clazz) {
+  return new GinJavaBoundObject(ref, safe_annotation_clazz);
+}
+
+// static
+GinJavaBoundObject* GinJavaBoundObject::CreateTransient(
+    const JavaObjectWeakGlobalRef& ref,
+    const base::android::JavaRef<jclass>& safe_annotation_clazz,
+    RenderFrameHost* holder) {
+  std::set<RenderFrameHost*> holders;
+  holders.insert(holder);
+  return new GinJavaBoundObject(ref, safe_annotation_clazz, holders);
+}
+
+GinJavaBoundObject::GinJavaBoundObject(
+    const JavaObjectWeakGlobalRef& ref,
+    const base::android::JavaRef<jclass>& safe_annotation_clazz)
+    : ref_(ref),
+      names_count_(1),
+      object_get_class_method_id_(NULL),
+      are_methods_set_up_(false),
+      safe_annotation_clazz_(safe_annotation_clazz) {
+}
+
+GinJavaBoundObject::GinJavaBoundObject(
+    const JavaObjectWeakGlobalRef& ref,
+    const base::android::JavaRef<jclass>& safe_annotation_clazz,
+    const std::set<RenderFrameHost*> holders)
+    : ref_(ref),
+      names_count_(0),
+      holders_(holders),
+      object_get_class_method_id_(NULL),
+      are_methods_set_up_(false),
+      safe_annotation_clazz_(safe_annotation_clazz) {
+}
+
+GinJavaBoundObject::~GinJavaBoundObject() {
+}
+
+std::set<std::string> GinJavaBoundObject::GetMethodNames() {
+  EnsureMethodsAreSetUp();
+  std::set<std::string> result;
+  for (JavaMethodMap::const_iterator it = methods_.begin();
+       it != methods_.end();
+       ++it) {
+    result.insert(it->first);
+  }
+  return result;
+}
+
+bool GinJavaBoundObject::HasMethod(const std::string& method_name) {
+  EnsureMethodsAreSetUp();
+  return methods_.find(method_name) != methods_.end();
+}
+
+const JavaMethod* GinJavaBoundObject::FindMethod(
+    const std::string& method_name,
+    size_t num_parameters) {
+  EnsureMethodsAreSetUp();
+
+  // Get all methods with the correct name.
+  std::pair<JavaMethodMap::const_iterator, JavaMethodMap::const_iterator>
+      iters = methods_.equal_range(method_name);
+  if (iters.first == iters.second) {
+    return NULL;
+  }
+
+  // LIVECONNECT_COMPLIANCE: We just take the first method with the correct
+  // number of arguments, while the spec proposes using cost-based algorithm:
+  // https://jdk6.java.net/plugin2/liveconnect/#OVERLOADED_METHODS
+  for (JavaMethodMap::const_iterator iter = iters.first; iter != iters.second;
+       ++iter) {
+    if (iter->second->num_parameters() == num_parameters) {
+      return iter->second.get();
+    }
+  }
+
+  return NULL;
+}
+
+bool GinJavaBoundObject::IsObjectGetClassMethod(const JavaMethod* method) {
+  EnsureMethodsAreSetUp();
+  // As java.lang.Object.getClass is declared to be final, it is sufficient to
+  // compare methodIDs.
+  return method->id() == object_get_class_method_id_;
+}
+
+const base::android::JavaRef<jclass>&
+GinJavaBoundObject::GetSafeAnnotationClass() {
+  return safe_annotation_clazz_;
+}
+
+base::android::ScopedJavaLocalRef<jclass> GinJavaBoundObject::GetLocalClassRef(
+    JNIEnv* env) {
+  if (!object_get_class_method_id_) {
+    object_get_class_method_id_ = GetMethodIDFromClassName(
+        env, kJavaLangObject, kGetClass, kReturningJavaLangClass);
+  }
+  ScopedJavaLocalRef<jobject> obj = GetLocalRef(env);
+  if (obj.obj()) {
+    return base::android::ScopedJavaLocalRef<jclass>(
+        env,
+        static_cast<jclass>(
+            env->CallObjectMethod(obj.obj(), object_get_class_method_id_)));
+  } else {
+    return base::android::ScopedJavaLocalRef<jclass>();
+  }
+}
+
+void GinJavaBoundObject::EnsureMethodsAreSetUp() {
+  if (are_methods_set_up_)
+    return;
+  are_methods_set_up_ = true;
+
+  JNIEnv* env = AttachCurrentThread();
+
+  ScopedJavaLocalRef<jclass> clazz = GetLocalClassRef(env);
+  if (clazz.is_null()) {
+    return;
+  }
+
+  ScopedJavaLocalRef<jobjectArray> methods(env, static_cast<jobjectArray>(
+      env->CallObjectMethod(clazz.obj(), GetMethodIDFromClassName(
+          env,
+          kJavaLangClass,
+          kGetMethods,
+          kReturningJavaLangReflectMethodArray))));
+
+  size_t num_methods = env->GetArrayLength(methods.obj());
+  // Java objects always have public methods.
+  DCHECK(num_methods);
+
+  for (size_t i = 0; i < num_methods; ++i) {
+    ScopedJavaLocalRef<jobject> java_method(
+        env,
+        env->GetObjectArrayElement(methods.obj(), i));
+
+    if (!safe_annotation_clazz_.is_null()) {
+      jboolean safe = env->CallBooleanMethod(java_method.obj(),
+          GetMethodIDFromClassName(
+              env,
+              kJavaLangReflectMethod,
+              kIsAnnotationPresent,
+              kTakesJavaLangClassReturningBoolean),
+          safe_annotation_clazz_.obj());
+
+      if (!safe)
+        continue;
+    }
+
+    JavaMethod* method = new JavaMethod(java_method);
+    methods_.insert(std::make_pair(method->name(), method));
+  }
+}
+
+}  // namespace content
diff --git a/content/browser/renderer_host/java/gin_java_bound_object.h b/content/browser/renderer_host/java/gin_java_bound_object.h
index 522a48a..610b0c4 100644
--- a/content/browser/renderer_host/java/gin_java_bound_object.h
+++ b/content/browser/renderer_host/java/gin_java_bound_object.h
@@ -5,21 +5,90 @@
 #ifndef CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BOUND_OBJECT_H_
 #define CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BOUND_OBJECT_H_
 
+#include <map>
+#include <set>
+
+#include "base/android/jni_weak_ref.h"
+#include "base/android/scoped_java_ref.h"
 #include "base/id_map.h"
+#include "base/memory/linked_ptr.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/weak_ptr.h"
+#include "base/values.h"
+#include "content/browser/renderer_host/java/java_method.h"
 
 namespace content {
 
+class RenderFrameHost;
+
 class GinJavaBoundObject
     : public base::RefCountedThreadSafe<GinJavaBoundObject> {
  public:
+  // Using scoped_refptr<> as a value type is somewhat not IDMap had been
+  // designed for (it returns T* from lookups, so we have to de-ref it), but on
+  // the other hand, this allows us to manage lifetime of GinJavaBoundObject
+  // automatically.
   typedef IDMap<scoped_refptr<GinJavaBoundObject>, IDMapOwnPointer> ObjectMap;
   typedef ObjectMap::KeyType ObjectID;
 
+  static GinJavaBoundObject* CreateNamed(
+      const JavaObjectWeakGlobalRef& ref,
+      const base::android::JavaRef<jclass>& safe_annotation_clazz);
+  static GinJavaBoundObject* CreateTransient(
+      const JavaObjectWeakGlobalRef& ref,
+      const base::android::JavaRef<jclass>& safe_annotation_clazz,
+      RenderFrameHost* holder);
+
+  JavaObjectWeakGlobalRef& GetWeakRef() { return ref_; }
+  base::android::ScopedJavaLocalRef<jobject> GetLocalRef(JNIEnv* env) {
+    return ref_.get(env);
+  }
+
+  bool IsNamed() { return names_count_ > 0; }
+  void AddName() { ++names_count_; }
+  void RemoveName() { --names_count_; }
+
+  bool HasHolders() { return !holders_.empty(); }
+  void AddHolder(RenderFrameHost* holder) { holders_.insert(holder); }
+  void RemoveHolder(RenderFrameHost* holder) { holders_.erase(holder); }
+
+  // The following methods are called on the background thread.
+  std::set<std::string> GetMethodNames();
+  bool HasMethod(const std::string& method_name);
+  const JavaMethod* FindMethod(const std::string& method_name,
+                               size_t num_parameters);
+  bool IsObjectGetClassMethod(const JavaMethod* method);
+  const base::android::JavaRef<jclass>& GetSafeAnnotationClass();
+  base::android::ScopedJavaLocalRef<jclass> GetLocalClassRef(JNIEnv* env);
+
  private:
   friend class base::RefCountedThreadSafe<GinJavaBoundObject>;
-  GinJavaBoundObject() {}
-  ~GinJavaBoundObject() {}
+
+  GinJavaBoundObject(
+      const JavaObjectWeakGlobalRef& ref,
+      const base::android::JavaRef<jclass>& safe_annotation_clazz);
+  GinJavaBoundObject(
+      const JavaObjectWeakGlobalRef& ref,
+      const base::android::JavaRef<jclass>& safe_annotation_clazz,
+      const std::set<RenderFrameHost*> holders);
+  ~GinJavaBoundObject();
+
+  // The following methods are called on the background thread.
+  void EnsureMethodsAreSetUp();
+
+  JavaObjectWeakGlobalRef ref_;
+
+  // An object must be kept in retained_object_set_ either if it has
+  // names or if it has a non-empty holders set.
+  int names_count_;
+  std::set<RenderFrameHost*> holders_;
+
+  // The following fields are accessed on the background thread.
+  typedef std::multimap<std::string, linked_ptr<JavaMethod> > JavaMethodMap;
+  JavaMethodMap methods_;
+  jmethodID object_get_class_method_id_;
+  bool are_methods_set_up_;
+  base::android::ScopedJavaGlobalRef<jclass> safe_annotation_clazz_;
 };
 
 }  // namespace content
diff --git a/content/browser/renderer_host/java/gin_java_bound_object_delegate.cc b/content/browser/renderer_host/java/gin_java_bound_object_delegate.cc
new file mode 100644
index 0000000..92b1ccc
--- /dev/null
+++ b/content/browser/renderer_host/java/gin_java_bound_object_delegate.cc
@@ -0,0 +1,43 @@
+// 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 "content/browser/renderer_host/java/gin_java_bound_object_delegate.h"
+
+namespace content {
+
+GinJavaBoundObjectDelegate::GinJavaBoundObjectDelegate(
+    scoped_refptr<GinJavaBoundObject> object)
+    : object_(object) {
+}
+
+GinJavaBoundObjectDelegate::~GinJavaBoundObjectDelegate() {
+}
+
+base::android::ScopedJavaLocalRef<jobject>
+GinJavaBoundObjectDelegate::GetLocalRef(JNIEnv* env) {
+  return object_->GetLocalRef(env);
+}
+
+base::android::ScopedJavaLocalRef<jclass>
+GinJavaBoundObjectDelegate::GetLocalClassRef(JNIEnv* env) {
+  return object_->GetLocalClassRef(env);
+}
+
+const JavaMethod* GinJavaBoundObjectDelegate::FindMethod(
+    const std::string& method_name,
+    size_t num_parameters) {
+  return object_->FindMethod(method_name, num_parameters);
+}
+
+bool GinJavaBoundObjectDelegate::IsObjectGetClassMethod(
+    const JavaMethod* method) {
+  return object_->IsObjectGetClassMethod(method);
+}
+
+const base::android::JavaRef<jclass>&
+GinJavaBoundObjectDelegate::GetSafeAnnotationClass() {
+  return object_->GetSafeAnnotationClass();
+}
+
+}  // namespace content
diff --git a/content/browser/renderer_host/java/gin_java_bound_object_delegate.h b/content/browser/renderer_host/java/gin_java_bound_object_delegate.h
new file mode 100644
index 0000000..9852d91
--- /dev/null
+++ b/content/browser/renderer_host/java/gin_java_bound_object_delegate.h
@@ -0,0 +1,38 @@
+// 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 CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BOUND_OBJECT_DELEGATE_H_
+#define CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BOUND_OBJECT_DELEGATE_H_
+
+#include "base/memory/ref_counted.h"
+#include "content/browser/renderer_host/java/gin_java_bound_object.h"
+#include "content/browser/renderer_host/java/gin_java_method_invocation_helper.h"
+
+namespace content {
+
+class GinJavaBoundObjectDelegate
+    : public GinJavaMethodInvocationHelper::ObjectDelegate {
+ public:
+  GinJavaBoundObjectDelegate(scoped_refptr<GinJavaBoundObject> object);
+  virtual ~GinJavaBoundObjectDelegate();
+
+  virtual base::android::ScopedJavaLocalRef<jobject> GetLocalRef(
+      JNIEnv* env) OVERRIDE;
+  virtual base::android::ScopedJavaLocalRef<jclass> GetLocalClassRef(
+      JNIEnv* env) OVERRIDE;
+  virtual const JavaMethod* FindMethod(const std::string& method_name,
+                                       size_t num_parameters) OVERRIDE;
+  virtual bool IsObjectGetClassMethod(const JavaMethod* method) OVERRIDE;
+  virtual const base::android::JavaRef<jclass>& GetSafeAnnotationClass()
+      OVERRIDE;
+
+ private:
+  scoped_refptr<GinJavaBoundObject> object_;
+
+  DISALLOW_COPY_AND_ASSIGN(GinJavaBoundObjectDelegate);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BOUND_OBJECT_DELEGATE_H_
diff --git a/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc b/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc
index 5c8abb6..d3fb138 100644
--- a/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc
+++ b/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc
@@ -118,11 +118,6 @@
 
 void GinJavaMethodInvocationHelper::Invoke() {
   JNIEnv* env = AttachCurrentThread();
-  ScopedJavaLocalRef<jobject> obj(object_->GetLocalRef(env));
-  if (obj.is_null()) {
-    SetInvocationFailure(kObjectIsGone);
-    return;
-  }
   const JavaMethod* method =
       object_->FindMethod(method_name_, arguments_->GetSize());
   if (!method) {
@@ -137,6 +132,18 @@
     return;
   }
 
+  ScopedJavaLocalRef<jobject> obj;
+  ScopedJavaLocalRef<jclass> cls;
+  if (method->is_static()) {
+    cls = object_->GetLocalClassRef(env);
+  } else {
+    obj = object_->GetLocalRef(env);
+  }
+  if (obj.is_null() && cls.is_null()) {
+    SetInvocationFailure(kObjectIsGone);
+    return;
+  }
+
   std::vector<jvalue> parameters(method->num_parameters());
   for (size_t i = 0; i < method->num_parameters(); ++i) {
     const base::Value* argument;
@@ -144,7 +151,13 @@
     parameters[i] = CoerceJavaScriptValueToJavaValue(
         env, argument, method->parameter_type(i), true, object_refs_);
   }
-  InvokeMethod(obj.obj(), method->return_type(), method->id(), &parameters[0]);
+  if (method->is_static()) {
+    InvokeMethod(
+        NULL, cls.obj(), method->return_type(), method->id(), &parameters[0]);
+  } else {
+    InvokeMethod(
+        obj.obj(), NULL, method->return_type(), method->id(), &parameters[0]);
+  }
 
   // Now that we're done with the jvalue, release any local references created
   // by CoerceJavaScriptValueToJavaValue().
@@ -197,38 +210,48 @@
 }
 
 void GinJavaMethodInvocationHelper::InvokeMethod(jobject object,
+                                                 jclass clazz,
                                                  const JavaType& return_type,
                                                  jmethodID id,
                                                  jvalue* parameters) {
+  DCHECK(object || clazz);
   JNIEnv* env = AttachCurrentThread();
   base::ListValue result_wrapper;
   switch (return_type.type) {
     case JavaType::TypeBoolean:
       result_wrapper.AppendBoolean(
-          env->CallBooleanMethodA(object, id, parameters));
+          object ? env->CallBooleanMethodA(object, id, parameters)
+                 : env->CallStaticBooleanMethodA(clazz, id, parameters));
       break;
     case JavaType::TypeByte:
       result_wrapper.AppendInteger(
-          env->CallByteMethodA(object, id, parameters));
+          object ? env->CallByteMethodA(object, id, parameters)
+                 : env->CallStaticByteMethodA(clazz, id, parameters));
       break;
     case JavaType::TypeChar:
       result_wrapper.AppendInteger(
-          env->CallCharMethodA(object, id, parameters));
+          object ? env->CallCharMethodA(object, id, parameters)
+                 : env->CallStaticCharMethodA(clazz, id, parameters));
       break;
     case JavaType::TypeShort:
       result_wrapper.AppendInteger(
-          env->CallShortMethodA(object, id, parameters));
+          object ? env->CallShortMethodA(object, id, parameters)
+                 : env->CallStaticShortMethodA(clazz, id, parameters));
       break;
     case JavaType::TypeInt:
       result_wrapper.AppendInteger(
-          env->CallIntMethodA(object, id, parameters));
+          object ? env->CallIntMethodA(object, id, parameters)
+                 : env->CallStaticIntMethodA(clazz, id, parameters));
       break;
     case JavaType::TypeLong:
       result_wrapper.AppendDouble(
-          env->CallLongMethodA(object, id, parameters));
+          object ? env->CallLongMethodA(object, id, parameters)
+                 : env->CallStaticLongMethodA(clazz, id, parameters));
       break;
     case JavaType::TypeFloat: {
-      float result = env->CallFloatMethodA(object, id, parameters);
+      float result = object
+                         ? env->CallFloatMethodA(object, id, parameters)
+                         : env->CallStaticFloatMethodA(clazz, id, parameters);
       if (base::IsFinite(result)) {
         result_wrapper.AppendDouble(result);
       } else {
@@ -238,7 +261,9 @@
       break;
     }
     case JavaType::TypeDouble: {
-      double result = env->CallDoubleMethodA(object, id, parameters);
+      double result = object
+                          ? env->CallDoubleMethodA(object, id, parameters)
+                          : env->CallStaticDoubleMethodA(clazz, id, parameters);
       if (base::IsFinite(result)) {
         result_wrapper.AppendDouble(result);
       } else {
@@ -248,7 +273,10 @@
       break;
     }
     case JavaType::TypeVoid:
-      env->CallVoidMethodA(object, id, parameters);
+      if (object)
+        env->CallVoidMethodA(object, id, parameters);
+      else
+        env->CallStaticVoidMethodA(clazz, id, parameters);
       result_wrapper.Append(
           GinJavaBridgeValue::CreateUndefinedValue().release());
       break;
@@ -261,7 +289,8 @@
       break;
     case JavaType::TypeString: {
       jstring java_string = static_cast<jstring>(
-          env->CallObjectMethodA(object, id, parameters));
+          object ? env->CallObjectMethodA(object, id, parameters)
+                 : env->CallStaticObjectMethodA(clazz, id, parameters));
       // If an exception was raised, we must clear it before calling most JNI
       // methods. ScopedJavaLocalRef is liable to make such calls, so we test
       // first.
@@ -285,7 +314,9 @@
       // If an exception was raised, we must clear it before calling most JNI
       // methods. ScopedJavaLocalRef is liable to make such calls, so we test
       // first.
-      jobject java_object = env->CallObjectMethodA(object, id, parameters);
+      jobject java_object =
+          object ? env->CallObjectMethodA(object, id, parameters)
+                 : env->CallStaticObjectMethodA(clazz, id, parameters);
       if (base::android::ClearException(env)) {
         SetInvocationFailure(kJavaExceptionRaised);
         return;
diff --git a/content/browser/renderer_host/java/gin_java_method_invocation_helper.h b/content/browser/renderer_host/java/gin_java_method_invocation_helper.h
index 5498fda..89805ca 100644
--- a/content/browser/renderer_host/java/gin_java_method_invocation_helper.h
+++ b/content/browser/renderer_host/java/gin_java_method_invocation_helper.h
@@ -44,6 +44,8 @@
     virtual ~ObjectDelegate() {}
     virtual base::android::ScopedJavaLocalRef<jobject> GetLocalRef(
         JNIEnv* env) = 0;
+    virtual base::android::ScopedJavaLocalRef<jclass> GetLocalClassRef(
+        JNIEnv* env) = 0;
     virtual const JavaMethod* FindMethod(const std::string& method_name,
                                          size_t num_parameters) = 0;
     virtual bool IsObjectGetClassMethod(const JavaMethod* method) = 0;
@@ -83,6 +85,7 @@
 
   // Called on the background thread.
   void InvokeMethod(jobject object,
+                    jclass clazz,
                     const JavaType& return_type,
                     jmethodID id,
                     jvalue* parameters);
diff --git a/content/browser/renderer_host/java/gin_java_method_invocation_helper_unittest.cc b/content/browser/renderer_host/java/gin_java_method_invocation_helper_unittest.cc
index 82267d8..d763441 100644
--- a/content/browser/renderer_host/java/gin_java_method_invocation_helper_unittest.cc
+++ b/content/browser/renderer_host/java/gin_java_method_invocation_helper_unittest.cc
@@ -24,6 +24,11 @@
     return base::android::ScopedJavaLocalRef<jobject>();
   }
 
+  virtual base::android::ScopedJavaLocalRef<jclass> GetLocalClassRef(
+      JNIEnv* env) OVERRIDE {
+    return base::android::ScopedJavaLocalRef<jclass>();
+  }
+
   virtual const JavaMethod* FindMethod(const std::string& method_name,
                                        size_t num_parameters) OVERRIDE {
     return NULL;
diff --git a/content/browser/renderer_host/media/audio_input_renderer_host.cc b/content/browser/renderer_host/media/audio_input_renderer_host.cc
index e5d4f78..2dcc56d 100644
--- a/content/browser/renderer_host/media/audio_input_renderer_host.cc
+++ b/content/browser/renderer_host/media/audio_input_renderer_host.cc
@@ -17,6 +17,7 @@
 #include "content/browser/renderer_host/media/audio_input_sync_writer.h"
 #include "content/browser/renderer_host/media/media_stream_manager.h"
 #include "media/audio/audio_manager_base.h"
+#include "media/base/audio_bus.h"
 
 namespace content {
 
@@ -113,8 +114,7 @@
 }
 
 void AudioInputRendererHost::OnData(media::AudioInputController* controller,
-                                    const uint8* data,
-                                    uint32 size) {
+                                    const media::AudioBus* data) {
   NOTREACHED() << "Only low-latency mode is supported.";
 }
 
@@ -292,8 +292,9 @@
   // Create a new AudioEntry structure.
   scoped_ptr<AudioEntry> entry(new AudioEntry());
 
-  const uint32 segment_size = (sizeof(media::AudioInputBufferParameters) +
-                               audio_params.GetBytesPerBuffer());
+  const uint32 segment_size =
+      (sizeof(media::AudioInputBufferParameters) +
+       media::AudioBus::CalculateMemorySize(audio_params));
   entry->shared_memory_segment_count = config.shared_memory_count;
 
   // Create the shared memory and share it with the renderer process
@@ -307,9 +308,8 @@
     return;
   }
 
-  scoped_ptr<AudioInputSyncWriter> writer(
-      new AudioInputSyncWriter(&entry->shared_memory,
-                               entry->shared_memory_segment_count));
+  scoped_ptr<AudioInputSyncWriter> writer(new AudioInputSyncWriter(
+      &entry->shared_memory, entry->shared_memory_segment_count, audio_params));
 
   if (!writer->Init()) {
     SendErrorMessage(stream_id, SYNC_WRITER_INIT_FAILED);
diff --git a/content/browser/renderer_host/media/audio_input_renderer_host.h b/content/browser/renderer_host/media/audio_input_renderer_host.h
index 75a78e8..7bd6692 100644
--- a/content/browser/renderer_host/media/audio_input_renderer_host.h
+++ b/content/browser/renderer_host/media/audio_input_renderer_host.h
@@ -117,8 +117,7 @@
   virtual void OnError(media::AudioInputController* controller,
       media::AudioInputController::ErrorCode error_code) OVERRIDE;
   virtual void OnData(media::AudioInputController* controller,
-                      const uint8* data,
-                      uint32 size) OVERRIDE;
+                      const media::AudioBus* data) OVERRIDE;
   virtual void OnLog(media::AudioInputController* controller,
                      const std::string& message) OVERRIDE;
 
diff --git a/content/browser/renderer_host/media/audio_input_sync_writer.cc b/content/browser/renderer_host/media/audio_input_sync_writer.cc
index 99b91b7..a043500 100644
--- a/content/browser/renderer_host/media/audio_input_sync_writer.cc
+++ b/content/browser/renderer_host/media/audio_input_sync_writer.cc
@@ -9,19 +9,36 @@
 #include "base/memory/shared_memory.h"
 #include "content/browser/renderer_host/media/media_stream_manager.h"
 
+using media::AudioBus;
+
 namespace content {
 
-AudioInputSyncWriter::AudioInputSyncWriter(
-    base::SharedMemory* shared_memory,
-    int shared_memory_segment_count)
+AudioInputSyncWriter::AudioInputSyncWriter(base::SharedMemory* shared_memory,
+                                           int shared_memory_segment_count,
+                                           const media::AudioParameters& params)
     : shared_memory_(shared_memory),
       shared_memory_segment_count_(shared_memory_segment_count),
       current_segment_id_(0),
-      creation_time_(base::Time::Now()) {
+      creation_time_(base::Time::Now()),
+      audio_bus_memory_size_(AudioBus::CalculateMemorySize(params)) {
   DCHECK_GT(shared_memory_segment_count, 0);
   DCHECK_EQ(shared_memory->requested_size() % shared_memory_segment_count, 0u);
   shared_memory_segment_size_ =
       shared_memory->requested_size() / shared_memory_segment_count;
+  DVLOG(1) << "SharedMemory::requested_size: "
+           << shared_memory->requested_size();
+  DVLOG(1) << "shared_memory_segment_count: " << shared_memory_segment_count;
+
+  // Create vector of audio buses by wrapping existing blocks of memory.
+  uint8* ptr = static_cast<uint8*>(shared_memory_->memory());
+  for (int i = 0; i < shared_memory_segment_count; ++i) {
+    media::AudioInputBuffer* buffer =
+        reinterpret_cast<media::AudioInputBuffer*>(ptr);
+    scoped_ptr<media::AudioBus> audio_bus =
+        media::AudioBus::WrapMemory(params, buffer->audio);
+    audio_buses_.push_back(audio_bus.release());
+    ptr += shared_memory_segment_size_;
+  }
 }
 
 AudioInputSyncWriter::~AudioInputSyncWriter() {}
@@ -31,10 +48,9 @@
   socket_->Send(&bytes, sizeof(bytes));
 }
 
-uint32 AudioInputSyncWriter::Write(const void* data,
-                                   uint32 size,
-                                   double volume,
-                                   bool key_pressed) {
+void AudioInputSyncWriter::Write(const media::AudioBus* data,
+                                 double volume,
+                                 bool key_pressed) {
 #if !defined(OS_ANDROID)
   static const base::TimeDelta kLogDelayThreadhold =
       base::TimeDelta::FromMilliseconds(500);
@@ -59,19 +75,22 @@
   last_write_time_ = base::Time::Now();
 #endif
 
+  // Write audio parameters to shared memory.
   uint8* ptr = static_cast<uint8*>(shared_memory_->memory());
   ptr += current_segment_id_ * shared_memory_segment_size_;
   media::AudioInputBuffer* buffer =
       reinterpret_cast<media::AudioInputBuffer*>(ptr);
   buffer->params.volume = volume;
-  buffer->params.size = size;
+  buffer->params.size = audio_bus_memory_size_;
   buffer->params.key_pressed = key_pressed;
-  memcpy(buffer->audio, data, size);
+
+  // Copy data from the native audio layer into shared memory using pre-
+  // allocated audio buses.
+  media::AudioBus* audio_bus = audio_buses_[current_segment_id_];
+  data->CopyTo(audio_bus);
 
   if (++current_segment_id_ >= shared_memory_segment_count_)
     current_segment_id_ = 0;
-
-  return size;
 }
 
 void AudioInputSyncWriter::Close() {
diff --git a/content/browser/renderer_host/media/audio_input_sync_writer.h b/content/browser/renderer_host/media/audio_input_sync_writer.h
index 75b2bbf..424d790 100644
--- a/content/browser/renderer_host/media/audio_input_sync_writer.h
+++ b/content/browser/renderer_host/media/audio_input_sync_writer.h
@@ -5,10 +5,13 @@
 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_AUDIO_INPUT_SYNC_WRITER_H_
 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_AUDIO_INPUT_SYNC_WRITER_H_
 
+#include "base/memory/scoped_vector.h"
 #include "base/process/process.h"
 #include "base/sync_socket.h"
 #include "base/time/time.h"
 #include "media/audio/audio_input_controller.h"
+#include "media/audio/audio_parameters.h"
+#include "media/base/audio_bus.h"
 
 #if defined(OS_POSIX)
 #include "base/file_descriptor_posix.h"
@@ -26,16 +29,16 @@
 class AudioInputSyncWriter : public media::AudioInputController::SyncWriter {
  public:
   explicit AudioInputSyncWriter(base::SharedMemory* shared_memory,
-                                int shared_memory_segment_count);
+                                int shared_memory_segment_count,
+                                const media::AudioParameters& params);
 
   virtual ~AudioInputSyncWriter();
 
-  // media::AudioOutputController::SyncWriter implementation.
+  // media::AudioInputController::SyncWriter implementation.
   virtual void UpdateRecordedBytes(uint32 bytes) OVERRIDE;
-  virtual uint32 Write(const void* data,
-                       uint32 size,
-                       double volume,
-                       bool key_pressed) OVERRIDE;
+  virtual void Write(const media::AudioBus* data,
+                     double volume,
+                     bool key_pressed) OVERRIDE;
   virtual void Close() OVERRIDE;
 
   bool Init();
@@ -65,6 +68,13 @@
   // The time of the last Write call.
   base::Time last_write_time_;
 
+  // Size in bytes of each audio bus.
+  const int audio_bus_memory_size_;
+
+  // Vector of audio buses allocated during construction and deleted in the
+  // destructor.
+  ScopedVector<media::AudioBus> audio_buses_;
+
   DISALLOW_IMPLICIT_CONSTRUCTORS(AudioInputSyncWriter);
 };
 
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
index 99c701f..a7edd38 100644
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
@@ -36,6 +36,7 @@
 using ::testing::_;
 using ::testing::DeleteArg;
 using ::testing::DoAll;
+using ::testing::InSequence;
 using ::testing::Return;
 using ::testing::SaveArg;
 
@@ -567,12 +568,15 @@
 
   // Generate first stream.
   SetupFakeUI(true);
-  EXPECT_CALL(*host_.get(), OnStreamGenerated(kRenderId, kPageRequestId, 0, 1));
+  {
+    InSequence s;
+    EXPECT_CALL(*host_.get(),
+                OnStreamGenerated(kRenderId, kPageRequestId, 0, 1));
 
-  // Generate second stream.
-  EXPECT_CALL(*host_.get(),
-              OnStreamGenerated(kRenderId, kPageRequestId + 1, 0, 1));
-
+    // Generate second stream.
+    EXPECT_CALL(*host_.get(),
+                OnStreamGenerated(kRenderId, kPageRequestId + 1, 0, 1));
+  }
   base::RunLoop run_loop1;
   base::RunLoop run_loop2;
   host_->OnGenerateStream(kRenderId, kPageRequestId, options, origin_,
diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc
index 9a2779b..2b337ca 100644
--- a/content/browser/renderer_host/media/media_stream_manager.cc
+++ b/content/browser/renderer_host/media/media_stream_manager.cc
@@ -1100,24 +1100,34 @@
   std::string unique_label;
   do {
     unique_label = RandomLabel();
-  } while (requests_.find(unique_label) != requests_.end());
+  } while (FindRequest(unique_label) != NULL);
 
-  requests_.insert(std::make_pair(unique_label, request));
+  requests_.push_back(std::make_pair(unique_label, request));
 
   return unique_label;
 }
 
 MediaStreamManager::DeviceRequest*
 MediaStreamManager::FindRequest(const std::string& label) const {
-  DeviceRequests::const_iterator request_it = requests_.find(label);
-  return request_it == requests_.end() ? NULL : request_it->second;
+  for (DeviceRequests::const_iterator request_it = requests_.begin();
+       request_it != requests_.end(); ++request_it) {
+    if (request_it->first == label)
+      return request_it->second;
+  }
+  return NULL;
 }
 
 void MediaStreamManager::DeleteRequest(const std::string& label) {
   DVLOG(1) << "DeleteRequest({label= " << label << "})";
-  DeviceRequests::iterator it = requests_.find(label);
-  scoped_ptr<DeviceRequest> request(it->second);
-  requests_.erase(it);
+  for (DeviceRequests::iterator request_it = requests_.begin();
+       request_it != requests_.end(); ++request_it) {
+    if (request_it->first == label) {
+      scoped_ptr<DeviceRequest> request(request_it->second);
+      requests_.erase(request_it);
+      return;
+    }
+  }
+  NOTREACHED();
 }
 
 void MediaStreamManager::PostRequestToUI(const std::string& label,
@@ -1648,7 +1658,7 @@
     // to be invalid so that the next media request will trigger the
     // enumeration again. See issue/317673.
     cache->valid = !devices.empty();
- }
+  }
 
   if (need_update_clients && monitoring_started_)
     NotifyDevicesChanged(stream_type, devices);
diff --git a/content/browser/renderer_host/media/media_stream_manager.h b/content/browser/renderer_host/media/media_stream_manager.h
index 2d2ec87..1de659c 100644
--- a/content/browser/renderer_host/media/media_stream_manager.h
+++ b/content/browser/renderer_host/media/media_stream_manager.h
@@ -26,9 +26,10 @@
 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_
 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_
 
-#include <map>
+#include <list>
 #include <set>
 #include <string>
+#include <utility>
 
 #include "base/basictypes.h"
 #include "base/memory/ref_counted.h"
@@ -228,7 +229,10 @@
     StreamDeviceInfoArray devices;
   };
 
-  typedef std::map<std::string, DeviceRequest*> DeviceRequests;
+  // |DeviceRequests| is a list to ensure requests are processed in the order
+  // they arrive. The first member of the pair is the label of the
+  // |DeviceRequest|.
+  typedef std::list<std::pair<std::string, DeviceRequest*> > DeviceRequests;
 
   // Initializes the device managers on IO thread.  Auto-starts the device
   // thread and registers this as a listener with the device managers.
diff --git a/content/browser/renderer_host/pepper/quota_reservation_unittest.cc b/content/browser/renderer_host/pepper/quota_reservation_unittest.cc
index 05eb4bf..e949074 100644
--- a/content/browser/renderer_host/pepper/quota_reservation_unittest.cc
+++ b/content/browser/renderer_host/pepper/quota_reservation_unittest.cc
@@ -14,7 +14,6 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "webkit/browser/fileapi/quota/quota_reservation.h"
 
-using fileapi::FileSystemType;
 using fileapi::QuotaReservationManager;
 
 namespace content {
@@ -22,7 +21,7 @@
 namespace {
 
 const char kOrigin[] = "http://example.com";
-const FileSystemType kType = fileapi::kFileSystemTypeTemporary;
+const fileapi::FileSystemType kType = fileapi::kFileSystemTypeTemporary;
 
 const base::FilePath::StringType file1_name = FILE_PATH_LITERAL("file1");
 const base::FilePath::StringType file2_name = FILE_PATH_LITERAL("file2");
@@ -38,7 +37,7 @@
 
   virtual void ReserveQuota(
       const GURL& origin,
-      FileSystemType type,
+      fileapi::FileSystemType type,
       int64 delta,
       const QuotaReservationManager::ReserveQuotaCallback& callback) OVERRIDE {
     base::MessageLoopProxy::current()->PostTask(
@@ -47,17 +46,17 @@
   }
 
   virtual void ReleaseReservedQuota(const GURL& origin,
-                                    FileSystemType type,
+                                    fileapi::FileSystemType type,
                                     int64 size) OVERRIDE {}
 
   virtual void CommitQuotaUsage(const GURL& origin,
-                                FileSystemType type,
+                                fileapi::FileSystemType type,
                                 int64 delta) OVERRIDE {}
 
   virtual void IncrementDirtyCount(const GURL& origin,
-                                   FileSystemType type) OVERRIDE {}
+                                   fileapi::FileSystemType type) OVERRIDE {}
   virtual void DecrementDirtyCount(const GURL& origin,
-                                   FileSystemType type) OVERRIDE {}
+                                   fileapi::FileSystemType type) OVERRIDE {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(FakeBackend);
@@ -95,7 +94,7 @@
   scoped_refptr<QuotaReservation> CreateQuotaReservation(
       scoped_refptr<fileapi::QuotaReservation> reservation,
       const GURL& origin,
-      FileSystemType type) {
+      fileapi::FileSystemType type) {
     // Sets reservation_ as a side effect.
     return scoped_refptr<QuotaReservation>(
         new QuotaReservation(reservation, origin, type));
@@ -149,7 +148,7 @@
 // 2) Open a file, grow it, close it, and reserve quota with correct sizes.
 TEST_F(QuotaReservationTest, ReserveQuota) {
   GURL origin(kOrigin);
-  FileSystemType type = kType;
+  fileapi::FileSystemType type = kType;
 
   scoped_refptr<fileapi::QuotaReservation> reservation(
       reservation_manager()->CreateReservation(origin, type));
@@ -190,7 +189,7 @@
 // 1) We can open and close multiple files.
 TEST_F(QuotaReservationTest, MultipleFiles) {
   GURL origin(kOrigin);
-  FileSystemType type = kType;
+  fileapi::FileSystemType type = kType;
 
   scoped_refptr<fileapi::QuotaReservation> reservation(
       reservation_manager()->CreateReservation(origin, type));
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index efe852b..2eafd8c 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -170,6 +170,10 @@
 #include "ui/gfx/win/dpi.h"
 #endif
 
+#if defined(OS_MACOSX)
+#include "content/public/common/sandbox_type_mac.h"
+#endif
+
 #if defined(ENABLE_WEBRTC)
 #include "content/browser/media/webrtc_internals.h"
 #include "content/browser/renderer_host/media/media_stream_track_metrics_host.h"
@@ -329,6 +333,11 @@
   virtual int GetIpcFd() OVERRIDE {
     return ipc_fd_;
   }
+#if defined(OS_MACOSX)
+  virtual SandboxType GetSandboxType() OVERRIDE {
+    return SANDBOX_TYPE_RENDERER;
+  }
+#endif
 #endif  // OS_WIN
 
  private:
@@ -1166,6 +1175,7 @@
     switches::kForceDeviceScaleFactor,
     switches::kFullMemoryCrashReport,
     switches::kIgnoreResolutionLimitsForAcceleratedVideoDecode,
+    switches::kIPCConnectionTimeout,
     switches::kJavaScriptFlags,
     switches::kLoggingLevel,
     switches::kMaxUntiledLayerWidth,
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 164f613..e14b364 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -764,7 +764,8 @@
 
     std::string register_name;
     std::string filesystem_id = isolated_context->RegisterFileSystemForPath(
-        file_system_url.type(), file_system_url.path(), &register_name);
+        file_system_url.type(), file_system_url.filesystem_id(),
+        file_system_url.path(), &register_name);
     policy->GrantReadFileSystem(renderer_id, filesystem_id);
 
     // Note: We are using the origin URL provided by the sender here. It may be
diff --git a/content/browser/renderer_host/render_widget_host_unittest.cc b/content/browser/renderer_host/render_widget_host_unittest.cc
index c54a1fb..0e6a9d1 100644
--- a/content/browser/renderer_host/render_widget_host_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_unittest.cc
@@ -454,7 +454,7 @@
     ImageTransportFactory::InitializeForUnitTests(
         scoped_ptr<ui::ContextFactory>(new ui::InProcessContextFactory));
     aura::Env::CreateInstance(true);
-    screen_.reset(aura::TestScreen::Create());
+    screen_.reset(aura::TestScreen::Create(gfx::Size()));
     gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get());
 #endif
     host_.reset(
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 120161d..f421735 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -433,10 +433,21 @@
   }
 }
 
+void RenderWidgetHostViewAndroid::SetTextSurroundingSelectionCallback(
+    const TextSurroundingSelectionCallback& callback) {
+  // Only one outstanding request is allowed at any given time.
+  DCHECK(!callback.is_null());
+  text_surrounding_selection_callback_ = callback;
+}
+
 void RenderWidgetHostViewAndroid::OnTextSurroundingSelectionResponse(
     const base::string16& content,
     size_t start_offset,
     size_t end_offset) {
+  if (text_surrounding_selection_callback_.is_null())
+    return;
+  text_surrounding_selection_callback_.Run(content, start_offset, end_offset);
+  text_surrounding_selection_callback_.Reset();
 }
 
 void RenderWidgetHostViewAndroid::ReleaseLocksOnSurface() {
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
index 267b410..4707734 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -224,6 +224,12 @@
 
   void SetOverlayVideoMode(bool enabled);
 
+  typedef base::Callback<
+      void(const base::string16& content, int start_offset, int end_offset)>
+      TextSurroundingSelectionCallback;
+  void SetTextSurroundingSelectionCallback(
+      const TextSurroundingSelectionCallback& callback);
+
  private:
   void RunAckCallbacks();
 
@@ -283,7 +289,6 @@
   void SetNeedsAnimate();
   bool Animate(base::TimeTicks frame_time);
 
-
   // The model object.
   RenderWidgetHostImpl* host_;
 
@@ -353,6 +358,8 @@
 
   scoped_ptr<LastFrameInfo> last_frame_info_;
 
+  TextSurroundingSelectionCallback text_surrounding_selection_callback_;
+
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid);
 };
 
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 26e425b..3c10f51 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -1331,10 +1331,12 @@
   for (std::vector<ui::CompositionUnderline>::const_iterator it =
            composition.underlines.begin();
        it != composition.underlines.end(); ++it) {
-    underlines.push_back(blink::WebCompositionUnderline(it->start_offset,
-                                                        it->end_offset,
-                                                        it->color,
-                                                        it->thick));
+    underlines.push_back(
+        blink::WebCompositionUnderline(static_cast<unsigned>(it->start_offset),
+                                       static_cast<unsigned>(it->end_offset),
+                                       it->color,
+                                       it->thick,
+                                       it->background_color));
   }
 
   // TODO(suzhe): due to a bug of webkit, we can't use selection range with
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
index 1844246..d05bd44 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
@@ -760,11 +760,11 @@
 
   // Focused segment
   composition_text.underlines.push_back(
-      ui::CompositionUnderline(0, 3, 0xff000000, true));
+      ui::CompositionUnderline(0, 3, 0xff000000, true, 0x78563412));
 
-  // Non-focused segment
+  // Non-focused segment, with different background color.
   composition_text.underlines.push_back(
-      ui::CompositionUnderline(3, 4, 0xff000000, false));
+      ui::CompositionUnderline(3, 4, 0xff000000, false, 0xefcdab90));
 
   const ui::CompositionUnderlines& underlines = composition_text.underlines;
 
@@ -790,6 +790,7 @@
       EXPECT_EQ(underlines[i].end_offset, params.b[i].endOffset);
       EXPECT_EQ(underlines[i].color, params.b[i].color);
       EXPECT_EQ(underlines[i].thick, params.b[i].thick);
+      EXPECT_EQ(underlines[i].background_color, params.b[i].backgroundColor);
     }
     // highlighted range
     EXPECT_EQ(4, params.c) << "Should be the same to the caret pos";
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index 38fb478..dce9a5e 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -278,8 +278,12 @@
         color = WebColorFromNSColor(
             [colorAttr colorUsingColorSpaceName:NSDeviceRGBColorSpace]);
       }
-      underlines->push_back(blink::WebCompositionUnderline(
-          range.location, NSMaxRange(range), color, [style intValue] > 1));
+      underlines->push_back(
+          blink::WebCompositionUnderline(range.location,
+                                         NSMaxRange(range),
+                                         color,
+                                         [style intValue] > 1,
+                                         SK_ColorTRANSPARENT));
     }
     i = range.location + range.length;
   }
@@ -3594,8 +3598,8 @@
     ExtractUnderlines(string, &underlines_);
   } else {
     // Use a thin black underline by default.
-    underlines_.push_back(
-        blink::WebCompositionUnderline(0, length, SK_ColorBLACK, false));
+    underlines_.push_back(blink::WebCompositionUnderline(
+        0, length, SK_ColorBLACK, false, SK_ColorTRANSPARENT));
   }
 
   // If we are handling a key down event, then SetComposition() will be
diff --git a/content/browser/resources/gpu/info_view.js b/content/browser/resources/gpu/info_view.js
index 1d26f93..2dbe5a1 100644
--- a/content/browser/resources/gpu/info_view.js
+++ b/content/browser/resources/gpu/info_view.js
@@ -85,59 +85,70 @@
         'gpu_compositing': 'Compositing',
         'webgl': 'WebGL',
         'multisampling': 'WebGL multisampling',
-        'flash_3d': 'Flash 3D',
+        'flash_3d': 'Flash',
         'flash_stage3d': 'Flash Stage3D',
         'flash_stage3d_baseline': 'Flash Stage3D Baseline profile',
         'texture_sharing': 'Texture Sharing',
         'video_decode': 'Video Decode',
         'video_encode': 'Video Encode',
-        // GPU Switching
-        'gpu_switching': 'GPU Switching',
         'panel_fitting': 'Panel Fitting',
         'rasterization': 'Rasterization',
-      };
-      var statusLabelMap = {
-        'disabled_software': 'Software only. Hardware acceleration disabled.',
-        'disabled_software_animated': 'Software animated.',
-        'disabled_software_multithreaded': 'Software only, multi-threaded',
-        'disabled_off': 'Unavailable. Hardware acceleration disabled.',
-        'software': 'Software rendered. Hardware acceleration not enabled.',
-        'unavailable_off': 'Unavailable. Hardware acceleration unavailable',
-        'unavailable_software':
-            'Software only, hardware acceleration unavailable',
-        'unavailable_software_threaded':
-            'Software only and threaded. Hardware acceleration unavailable.',
-        'enabled_readback': 'Hardware accelerated, but at reduced performance',
-        'enabled_force': 'Hardware accelerated',
-        'enabled_threaded': 'Hardware accelerated and threaded.',
-        'enabled': 'Hardware accelerated',
-        'accelerated': 'Accelerated',
-        'accelerated_threaded': 'Accelerated and threaded',
-        // GPU Switching
-        'gpu_switching_automatic': 'Automatic switching',
-        'gpu_switching_force_discrete': 'Always on discrete GPU',
-        'gpu_switching_force_integrated': 'Always on integrated GPU',
+        'threaded_rasterization': 'Threaded Rasterization',
       };
 
-      var statusClassMap = {
-        'disabled_software': 'feature-yellow',
-        'disabled_software_animated': 'feature-yellow',
-        'disabled_software_multithreaded': 'feature-yellow',
-        'disabled_off': 'feature-red',
-        'software': 'feature-yellow',
-        'unavailable_off': 'feature-red',
-        'unavailable_software': 'feature-yellow',
-        'unavailable_software_threaded': 'feature-yellow',
-        'enabled_force': 'feature-green',
-        'enabled_readback': 'feature-yellow',
-        'enabled_threaded': 'feature-green',
-        'enabled': 'feature-green',
-        'accelerated': 'feature-green',
-        'accelerated_threaded': 'feature-green',
-        // GPU Switching
-        'gpu_switching_automatic': 'feature-green',
-        'gpu_switching_force_discrete': 'feature-red',
-        'gpu_switching_force_integrated': 'feature-red',
+      var statusMap =  {
+        'disabled_software': {
+          'label': 'Software only. Hardware acceleration disabled',
+          'class': 'feature-yellow'
+        },
+        'disabled_software_threaded': {
+          'label': 'Software only, threaded. Hardware acceleration disabled',
+          'class': 'feature-yellow'
+        },
+        'disabled_off': {
+          'label': 'Disabled',
+          'class': 'feature-red'
+        },
+        'disabled_off_ok': {
+          'label': 'Disabled',
+          'class': 'feature-yellow'
+        },
+        'unavailable_software': {
+          'label': 'Software only, hardware acceleration unavailable',
+          'class': 'feature-yellow'
+        },
+        'unavailable_software_threaded': {
+          'label': 'Software only, threaded. Hardware acceleration unavailable',
+          'class': 'feature-yellow'
+        },
+        'unavailable_off': {
+          'label': 'Unavailable',
+          'class': 'feature-red'
+        },
+        'unavailable_off_ok': {
+          'label': 'Unavailable',
+          'class': 'feature-yellow'
+        },
+        'enabled_readback': {
+          'label': 'Hardware accelerated but at reduced performance',
+          'class': 'feature-yellow'
+        },
+        'enabled_force': {
+          'label': 'Hardware accelerated on all pages',
+          'class': 'feature-green'
+        },
+        'enabled_threaded': {
+          'label': 'Hardware accelerated and threaded',
+          'class': 'feature-green'
+        },
+        'enabled': {
+          'label': 'Hardware accelerated',
+          'class': 'feature-green'
+        },
+        'enabled_on': {
+          'label': 'Enabled',
+          'class': 'feature-green'
+        }
       };
 
       // GPU info, basic
@@ -169,12 +180,15 @@
             featureEl.appendChild(nameEl);
 
             var statusEl = document.createElement('span');
-            if (!statusLabelMap[featureStatus])
-              console.log('Missing statusLabel for', featureStatus);
-            if (!statusClassMap[featureStatus])
-              console.log('Missing statusClass for', featureStatus);
-            statusEl.textContent = statusLabelMap[featureStatus];
-            statusEl.className = statusClassMap[featureStatus];
+            var statusInfo = statusMap[featureStatus];
+            if (!statusInfo) {
+              console.log('Missing status for ', featureStatus);
+              statusEl.textContent = 'Unknown';
+              statusEl.className = 'feature-red';
+            } else {
+              statusEl.textContent = statusInfo['label'];
+              statusEl.className = statusInfo['class'];
+            }
             featureEl.appendChild(statusEl);
 
             featureStatusList.appendChild(featureEl);
diff --git a/content/browser/service_worker/database_proto.target.darwin-arm.mk b/content/browser/service_worker/database_proto.target.darwin-arm.mk
index 5ef274a..4136249 100644
--- a/content/browser/service_worker/database_proto.target.darwin-arm.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-arm.mk
@@ -117,6 +117,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -223,6 +224,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-arm64.mk b/content/browser/service_worker/database_proto.target.darwin-arm64.mk
index 6096b8a..2a29273 100644
--- a/content/browser/service_worker/database_proto.target.darwin-arm64.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-arm64.mk
@@ -107,6 +107,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-mips.mk b/content/browser/service_worker/database_proto.target.darwin-mips.mk
index acff46c..ca7604b 100644
--- a/content/browser/service_worker/database_proto.target.darwin-mips.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-mips.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -213,6 +214,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-x86.mk b/content/browser/service_worker/database_proto.target.darwin-x86.mk
index e7cfd13..16e948e 100644
--- a/content/browser/service_worker/database_proto.target.darwin-x86.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-x86.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-x86_64.mk b/content/browser/service_worker/database_proto.target.darwin-x86_64.mk
index 72e5f2c..9149056 100644
--- a/content/browser/service_worker/database_proto.target.darwin-x86_64.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-x86_64.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -210,6 +211,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.linux-arm.mk b/content/browser/service_worker/database_proto.target.linux-arm.mk
index 5ef274a..4136249 100644
--- a/content/browser/service_worker/database_proto.target.linux-arm.mk
+++ b/content/browser/service_worker/database_proto.target.linux-arm.mk
@@ -117,6 +117,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -223,6 +224,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.linux-arm64.mk b/content/browser/service_worker/database_proto.target.linux-arm64.mk
index 6096b8a..2a29273 100644
--- a/content/browser/service_worker/database_proto.target.linux-arm64.mk
+++ b/content/browser/service_worker/database_proto.target.linux-arm64.mk
@@ -107,6 +107,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.linux-mips.mk b/content/browser/service_worker/database_proto.target.linux-mips.mk
index acff46c..ca7604b 100644
--- a/content/browser/service_worker/database_proto.target.linux-mips.mk
+++ b/content/browser/service_worker/database_proto.target.linux-mips.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -213,6 +214,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.linux-x86.mk b/content/browser/service_worker/database_proto.target.linux-x86.mk
index e7cfd13..16e948e 100644
--- a/content/browser/service_worker/database_proto.target.linux-x86.mk
+++ b/content/browser/service_worker/database_proto.target.linux-x86.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/database_proto.target.linux-x86_64.mk b/content/browser/service_worker/database_proto.target.linux-x86_64.mk
index 72e5f2c..9149056 100644
--- a/content/browser/service_worker/database_proto.target.linux-x86_64.mk
+++ b/content/browser/service_worker/database_proto.target.linux-x86_64.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -210,6 +211,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc
index 97ff8f0..8e5b887 100644
--- a/content/browser/service_worker/service_worker_browsertest.cc
+++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -612,7 +612,13 @@
   return result;
 }
 
-IN_PROC_BROWSER_TEST_F(ServiceWorkerBlackBoxBrowserTest, Registration) {
+// Crashes on Android: http://crbug.com/387045
+#if defined(OS_ANDROID)
+#define MAYBE_Registration DISABLED_Registration
+#else
+#define MAYBE_Registration Registration
+#endif
+IN_PROC_BROWSER_TEST_F(ServiceWorkerBlackBoxBrowserTest, MAYBE_Registration) {
   // Close the only window to be sure we're not re-using its RenderProcessHost.
   shell()->Close();
   EXPECT_EQ(0, CountRenderProcessHosts());
diff --git a/content/browser/service_worker/service_worker_dispatcher_host.cc b/content/browser/service_worker/service_worker_dispatcher_host.cc
index 7e216d2..964a393 100644
--- a/content/browser/service_worker/service_worker_dispatcher_host.cc
+++ b/content/browser/service_worker/service_worker_dispatcher_host.cc
@@ -36,6 +36,22 @@
   EmbeddedWorkerMsgStart,
 };
 
+bool CanRegisterServiceWorker(const GURL& document_url,
+                              const GURL& pattern,
+                              const GURL& script_url) {
+  // TODO: Respect Chrome's content settings, if we add a setting for
+  // controlling whether Service Worker is allowed.
+  return document_url.GetOrigin() == pattern.GetOrigin() &&
+         document_url.GetOrigin() == script_url.GetOrigin();
+}
+
+bool CanUnregisterServiceWorker(const GURL& document_url,
+                                const GURL& pattern) {
+  // TODO: Respect Chrome's content settings, if we add a setting for
+  // controlling whether Service Worker is allowed.
+  return document_url.GetOrigin() == pattern.GetOrigin();
+}
+
 }  // namespace
 
 ServiceWorkerDispatcherHost::ServiceWorkerDispatcherHost(
@@ -161,18 +177,6 @@
     return;
   }
 
-  // TODO(alecflett): This check is insufficient for release. Add a
-  // ServiceWorker-specific policy query in
-  // ChildProcessSecurityImpl. See http://crbug.com/311631.
-  if (pattern.GetOrigin() != script_url.GetOrigin()) {
-    Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError(
-        thread_id,
-        request_id,
-        WebServiceWorkerError::ErrorTypeSecurity,
-        base::ASCIIToUTF16(kDomainMismatchErrorMessage)));
-    return;
-  }
-
   ServiceWorkerProviderHost* provider_host = GetContext()->GetProviderHost(
       render_process_id_, provider_id);
   if (!provider_host) {
@@ -188,6 +192,15 @@
     return;
   }
 
+  if (!CanRegisterServiceWorker(
+      provider_host->document_url(), pattern, script_url)) {
+    Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError(
+        thread_id,
+        request_id,
+        WebServiceWorkerError::ErrorTypeSecurity,
+        base::ASCIIToUTF16(kDomainMismatchErrorMessage)));
+    return;
+  }
   GetContext()->RegisterServiceWorker(
       pattern,
       script_url,
@@ -204,9 +217,6 @@
     int request_id,
     int provider_id,
     const GURL& pattern) {
-  // TODO(alecflett): This check is insufficient for release. Add a
-  // ServiceWorker-specific policy query in
-  // ChildProcessSecurityImpl. See http://crbug.com/311631.
   if (!GetContext() || !ServiceWorkerUtils::IsFeatureEnabled()) {
     Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError(
         thread_id,
@@ -231,6 +241,15 @@
     return;
   }
 
+  if (!CanUnregisterServiceWorker(provider_host->document_url(), pattern)) {
+    Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError(
+        thread_id,
+        request_id,
+        WebServiceWorkerError::ErrorTypeSecurity,
+        base::ASCIIToUTF16(kDomainMismatchErrorMessage)));
+    return;
+  }
+
   GetContext()->UnregisterServiceWorker(
       pattern,
       base::Bind(&ServiceWorkerDispatcherHost::UnregistrationComplete,
diff --git a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
index 1eaeadb..079c8de 100644
--- a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
+++ b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
@@ -23,29 +23,6 @@
 
 static const int kRenderProcessId = 1;
 
-class ServiceWorkerDispatcherHostTest : public testing::Test {
- protected:
-  ServiceWorkerDispatcherHostTest()
-      : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP) {}
-
-  virtual void SetUp() {
-    helper_.reset(new EmbeddedWorkerTestHelper(kRenderProcessId));
-  }
-
-  virtual void TearDown() {
-    helper_.reset();
-  }
-
-  ServiceWorkerContextCore* context() { return helper_->context(); }
-  ServiceWorkerContextWrapper* context_wrapper() {
-    return helper_->context_wrapper();
-  }
-
-  TestBrowserThreadBundle browser_thread_bundle_;
-  scoped_ptr<EmbeddedWorkerTestHelper> helper_;
-};
-
-
 class TestingServiceWorkerDispatcherHost : public ServiceWorkerDispatcherHost {
  public:
   TestingServiceWorkerDispatcherHost(
@@ -75,23 +52,113 @@
   virtual ~TestingServiceWorkerDispatcherHost() {}
 };
 
+class ServiceWorkerDispatcherHostTest : public testing::Test {
+ protected:
+  ServiceWorkerDispatcherHostTest()
+      : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP) {}
+
+  virtual void SetUp() {
+    helper_.reset(new EmbeddedWorkerTestHelper(kRenderProcessId));
+    dispatcher_host_ = new TestingServiceWorkerDispatcherHost(
+        kRenderProcessId, context_wrapper(), helper_.get());
+  }
+
+  virtual void TearDown() {
+    helper_.reset();
+  }
+
+  ServiceWorkerContextCore* context() { return helper_->context(); }
+  ServiceWorkerContextWrapper* context_wrapper() {
+    return helper_->context_wrapper();
+  }
+
+  void Register(int64 provider_id,
+                GURL pattern,
+                GURL worker_url,
+                uint32 expected_message) {
+    dispatcher_host_->OnMessageReceived(
+        ServiceWorkerHostMsg_RegisterServiceWorker(
+            -1, -1, provider_id, pattern, worker_url));
+    base::RunLoop().RunUntilIdle();
+    EXPECT_TRUE(dispatcher_host_->ipc_sink()->GetUniqueMessageMatching(
+        expected_message));
+    dispatcher_host_->ipc_sink()->ClearMessages();
+  }
+
+  void Unregister(int64 provider_id, GURL pattern, uint32 expected_message) {
+    dispatcher_host_->OnMessageReceived(
+        ServiceWorkerHostMsg_UnregisterServiceWorker(
+            -1, -1, provider_id, pattern));
+    base::RunLoop().RunUntilIdle();
+    EXPECT_TRUE(dispatcher_host_->ipc_sink()->GetUniqueMessageMatching(
+        expected_message));
+    dispatcher_host_->ipc_sink()->ClearMessages();
+  }
+
+  TestBrowserThreadBundle browser_thread_bundle_;
+  scoped_ptr<EmbeddedWorkerTestHelper> helper_;
+  scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host_;
+};
+
 TEST_F(ServiceWorkerDispatcherHostTest, DisabledCausesError) {
   DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch(
               switches::kEnableServiceWorker));
 
-  scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host =
-      new TestingServiceWorkerDispatcherHost(
-          kRenderProcessId, context_wrapper(), helper_.get());
-
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, -1, GURL(), GURL()));
 
   // TODO(alecflett): Pump the message loop when this becomes async.
-  ASSERT_EQ(1UL, dispatcher_host->ipc_sink()->message_count());
-  EXPECT_TRUE(dispatcher_host->ipc_sink()->GetUniqueMessageMatching(
+  ASSERT_EQ(1UL, dispatcher_host_->ipc_sink()->message_count());
+  EXPECT_TRUE(dispatcher_host_->ipc_sink()->GetUniqueMessageMatching(
       ServiceWorkerMsg_ServiceWorkerRegistrationError::ID));
 }
 
+// TODO(falken): Enable this test when we remove the
+// --enable-service-worker-flag (see crbug.com/352581)
+TEST_F(ServiceWorkerDispatcherHostTest, DISABLED_RegisterSameOrigin) {
+  const int64 kProviderId = 99;  // Dummy value
+  scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost(
+      kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL));
+  host->SetDocumentUrl(GURL("http://www.example.com/foo"));
+  base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr();
+  context()->AddProviderHost(host.Pass());
+
+  Register(kProviderId,
+           GURL("http://www.example.com/*"),
+           GURL("http://foo.example.com/bar"),
+           ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+  Register(kProviderId,
+           GURL("http://foo.example.com/*"),
+           GURL("http://www.example.com/bar"),
+           ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+  Register(kProviderId,
+           GURL("http://foo.example.com/*"),
+           GURL("http://foo.example.com/bar"),
+           ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+  Register(kProviderId,
+           GURL("http://www.example.com/*"),
+           GURL("http://www.example.com/bar"),
+           ServiceWorkerMsg_ServiceWorkerRegistered::ID);
+}
+
+// TODO(falken): Enable this test when we remove the
+// --enable-service-worker-flag (see crbug.com/352581)
+TEST_F(ServiceWorkerDispatcherHostTest, DISABLED_UnregisterSameOrigin) {
+  const int64 kProviderId = 99;  // Dummy value
+  scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost(
+      kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL));
+  host->SetDocumentUrl(GURL("http://www.example.com/foo"));
+  base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr();
+  context()->AddProviderHost(host.Pass());
+
+  Unregister(kProviderId,
+             GURL("http://foo.example.com/*"),
+             ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+  Unregister(kProviderId,
+             GURL("http://www.example.com/*"),
+             ServiceWorkerMsg_ServiceWorkerUnregistered::ID);
+}
+
 // Disable this since now we cache command-line switch in
 // ServiceWorkerUtils::IsFeatureEnabled() and this could be flaky depending
 // on testing order. (crbug.com/352581)
@@ -103,19 +170,15 @@
   CommandLine::ForCurrentProcess()->AppendSwitch(
       switches::kEnableServiceWorker);
 
-  scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host =
-      new TestingServiceWorkerDispatcherHost(
-          kRenderProcessId, context_wrapper(), helper_.get());
-
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, -1, GURL(), GURL()));
   base::RunLoop().RunUntilIdle();
 
   // TODO(alecflett): Pump the message loop when this becomes async.
-  ASSERT_EQ(2UL, dispatcher_host->ipc_sink()->message_count());
-  EXPECT_TRUE(dispatcher_host->ipc_sink()->GetUniqueMessageMatching(
+  ASSERT_EQ(2UL, dispatcher_host_->ipc_sink()->message_count());
+  EXPECT_TRUE(dispatcher_host_->ipc_sink()->GetUniqueMessageMatching(
       EmbeddedWorkerMsg_StartWorker::ID));
-  EXPECT_TRUE(dispatcher_host->ipc_sink()->GetUniqueMessageMatching(
+  EXPECT_TRUE(dispatcher_host_->ipc_sink()->GetUniqueMessageMatching(
       ServiceWorkerMsg_ServiceWorkerRegistered::ID));
 }
 
@@ -125,56 +188,48 @@
   CommandLine::ForCurrentProcess()->AppendSwitch(
       switches::kEnableServiceWorker);
 
-  scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host =
-      new TestingServiceWorkerDispatcherHost(
-          kRenderProcessId, context_wrapper(), helper_.get());
-
   helper_->ShutdownContext();
 
   // Let the shutdown reach the simulated IO thread.
   base::RunLoop().RunUntilIdle();
 
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, -1, GURL(), GURL()));
 
   // TODO(alecflett): Pump the message loop when this becomes async.
-  ASSERT_EQ(1UL, dispatcher_host->ipc_sink()->message_count());
-  EXPECT_TRUE(dispatcher_host->ipc_sink()->GetUniqueMessageMatching(
+  ASSERT_EQ(1UL, dispatcher_host_->ipc_sink()->message_count());
+  EXPECT_TRUE(dispatcher_host_->ipc_sink()->GetUniqueMessageMatching(
       ServiceWorkerMsg_ServiceWorkerRegistrationError::ID));
 }
 
 TEST_F(ServiceWorkerDispatcherHostTest, ProviderCreatedAndDestroyed) {
-  scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host =
-      new TestingServiceWorkerDispatcherHost(
-          kRenderProcessId, context_wrapper(), helper_.get());
-
   const int kProviderId = 1001;  // Test with a value != kRenderProcessId.
 
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_ProviderCreated(kProviderId));
   EXPECT_TRUE(context()->GetProviderHost(kRenderProcessId, kProviderId));
 
   // Two with the same ID should be seen as a bad message.
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_ProviderCreated(kProviderId));
-  EXPECT_EQ(1, dispatcher_host->bad_messages_received_count_);
+  EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_);
 
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_ProviderDestroyed(kProviderId));
   EXPECT_FALSE(context()->GetProviderHost(kRenderProcessId, kProviderId));
 
   // Destroying an ID that does not exist warrants a bad message.
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_ProviderDestroyed(kProviderId));
-  EXPECT_EQ(2, dispatcher_host->bad_messages_received_count_);
+  EXPECT_EQ(2, dispatcher_host_->bad_messages_received_count_);
 
   // Deletion of the dispatcher_host should cause providers for that
   // process to get deleted as well.
-  dispatcher_host->OnMessageReceived(
+  dispatcher_host_->OnMessageReceived(
       ServiceWorkerHostMsg_ProviderCreated(kProviderId));
   EXPECT_TRUE(context()->GetProviderHost(kRenderProcessId, kProviderId));
-  EXPECT_TRUE(dispatcher_host->HasOneRef());
-  dispatcher_host = NULL;
+  EXPECT_TRUE(dispatcher_host_->HasOneRef());
+  dispatcher_host_ = NULL;
   EXPECT_FALSE(context()->GetProviderHost(kRenderProcessId, kProviderId));
 }
 
diff --git a/content/browser/service_worker/service_worker_job_coordinator.cc b/content/browser/service_worker/service_worker_job_coordinator.cc
index f2b5438..8152b49 100644
--- a/content/browser/service_worker/service_worker_job_coordinator.cc
+++ b/content/browser/service_worker/service_worker_job_coordinator.cc
@@ -41,6 +41,12 @@
     jobs_.front()->Start();
 }
 
+void ServiceWorkerJobCoordinator::JobQueue::AbortAll() {
+  for (size_t i = 0; i < jobs_.size(); ++i)
+    jobs_[i]->Abort();
+  STLDeleteElements(&jobs_);
+}
+
 void ServiceWorkerJobCoordinator::JobQueue::ClearForShutdown() {
   STLDeleteElements(&jobs_);
 }
@@ -52,14 +58,14 @@
 
 ServiceWorkerJobCoordinator::~ServiceWorkerJobCoordinator() {
   if (!context_) {
-    for (RegistrationJobMap::iterator it = jobs_.begin(); it != jobs_.end();
-         ++it) {
+    for (RegistrationJobMap::iterator it = job_queues_.begin();
+         it != job_queues_.end(); ++it) {
       it->second.ClearForShutdown();
     }
-    jobs_.clear();
+    job_queues_.clear();
   }
-  DCHECK(jobs_.empty()) << "Destroying ServiceWorkerJobCoordinator with "
-                        << jobs_.size() << " job queues";
+  DCHECK(job_queues_.empty()) << "Destroying ServiceWorkerJobCoordinator with "
+                              << job_queues_.size() << " job queues";
 }
 
 void ServiceWorkerJobCoordinator::Register(
@@ -70,7 +76,8 @@
   scoped_ptr<ServiceWorkerRegisterJobBase> job(
       new ServiceWorkerRegisterJob(context_, pattern, script_url));
   ServiceWorkerRegisterJob* queued_job =
-      static_cast<ServiceWorkerRegisterJob*>(jobs_[pattern].Push(job.Pass()));
+      static_cast<ServiceWorkerRegisterJob*>(
+          job_queues_[pattern].Push(job.Pass()));
   queued_job->AddCallback(callback, source_process_id);
 }
 
@@ -80,17 +87,26 @@
   scoped_ptr<ServiceWorkerRegisterJobBase> job(
       new ServiceWorkerUnregisterJob(context_, pattern));
   ServiceWorkerUnregisterJob* queued_job =
-      static_cast<ServiceWorkerUnregisterJob*>(jobs_[pattern].Push(job.Pass()));
+      static_cast<ServiceWorkerUnregisterJob*>(
+          job_queues_[pattern].Push(job.Pass()));
   queued_job->AddCallback(callback);
 }
 
+void ServiceWorkerJobCoordinator::AbortAll() {
+  for (RegistrationJobMap::iterator it = job_queues_.begin();
+       it != job_queues_.end(); ++it) {
+    it->second.AbortAll();
+  }
+  job_queues_.clear();
+}
+
 void ServiceWorkerJobCoordinator::FinishJob(const GURL& pattern,
                                             ServiceWorkerRegisterJobBase* job) {
-  RegistrationJobMap::iterator pending_jobs = jobs_.find(pattern);
-  DCHECK(pending_jobs != jobs_.end()) << "Deleting non-existent job.";
+  RegistrationJobMap::iterator pending_jobs = job_queues_.find(pattern);
+  DCHECK(pending_jobs != job_queues_.end()) << "Deleting non-existent job.";
   pending_jobs->second.Pop(job);
   if (pending_jobs->second.empty())
-    jobs_.erase(pending_jobs);
+    job_queues_.erase(pending_jobs);
 }
 
 }  // namespace content
diff --git a/content/browser/service_worker/service_worker_job_coordinator.h b/content/browser/service_worker/service_worker_job_coordinator.h
index 4817a52..06a1057 100644
--- a/content/browser/service_worker/service_worker_job_coordinator.h
+++ b/content/browser/service_worker/service_worker_job_coordinator.h
@@ -35,7 +35,11 @@
       const GURL& pattern,
       const ServiceWorkerUnregisterJob::UnregistrationCallback& callback);
 
-  // Jobs are removed whenever they are finished or canceled.
+  // Calls ServiceWorkerRegisterJobBase::Abort() on all jobs and removes them.
+  void AbortAll();
+
+  // Removes the job. A job that was not aborted must call FinishJob when it is
+  // done.
   void FinishJob(const GURL& pattern, ServiceWorkerRegisterJobBase* job);
 
  private:
@@ -55,6 +59,9 @@
 
     bool empty() { return jobs_.empty(); }
 
+    // Aborts all jobs in the queue and removes them.
+    void AbortAll();
+
     // Marks that the browser is shutting down, so jobs may be destroyed before
     // finishing.
     void ClearForShutdown();
@@ -68,7 +75,7 @@
   // The ServiceWorkerContextCore object should always outlive the
   // job coordinator, the core owns the coordinator.
   base::WeakPtr<ServiceWorkerContextCore> context_;
-  RegistrationJobMap jobs_;
+  RegistrationJobMap job_queues_;
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerJobCoordinator);
 };
diff --git a/content/browser/service_worker/service_worker_job_unittest.cc b/content/browser/service_worker/service_worker_job_unittest.cc
index 8857937..efa8bd1 100644
--- a/content/browser/service_worker/service_worker_job_unittest.cc
+++ b/content/browser/service_worker/service_worker_job_unittest.cc
@@ -584,4 +584,119 @@
   ASSERT_EQ(scoped_refptr<ServiceWorkerRegistration>(), registration);
 }
 
+TEST_F(ServiceWorkerJobTest, AbortAll_Register) {
+  GURL pattern1("http://www1.example.com/*");
+  GURL pattern2("http://www2.example.com/*");
+  GURL script_url1("http://www1.example.com/service_worker.js");
+  GURL script_url2("http://www2.example.com/service_worker.js");
+
+  bool registration_called1 = false;
+  scoped_refptr<ServiceWorkerRegistration> registration1;
+  job_coordinator()->Register(
+      pattern1,
+      script_url1,
+      render_process_id_,
+      SaveRegistration(SERVICE_WORKER_ERROR_ABORT,
+                       &registration_called1, &registration1));
+
+  bool registration_called2 = false;
+  scoped_refptr<ServiceWorkerRegistration> registration2;
+  job_coordinator()->Register(
+      pattern2,
+      script_url2,
+      render_process_id_,
+      SaveRegistration(SERVICE_WORKER_ERROR_ABORT,
+                       &registration_called2, &registration2));
+
+  ASSERT_FALSE(registration_called1);
+  ASSERT_FALSE(registration_called2);
+  job_coordinator()->AbortAll();
+
+  base::RunLoop().RunUntilIdle();
+  ASSERT_TRUE(registration_called1);
+  ASSERT_TRUE(registration_called2);
+
+  bool find_called1 = false;
+  storage()->FindRegistrationForPattern(
+      pattern1,
+      SaveFoundRegistration(
+          SERVICE_WORKER_ERROR_NOT_FOUND, &find_called1, &registration1));
+
+  bool find_called2 = false;
+  storage()->FindRegistrationForPattern(
+      pattern2,
+      SaveFoundRegistration(
+          SERVICE_WORKER_ERROR_NOT_FOUND, &find_called2, &registration2));
+
+  base::RunLoop().RunUntilIdle();
+  ASSERT_TRUE(find_called1);
+  ASSERT_TRUE(find_called2);
+  EXPECT_EQ(scoped_refptr<ServiceWorkerRegistration>(), registration1);
+  EXPECT_EQ(scoped_refptr<ServiceWorkerRegistration>(), registration2);
+}
+
+TEST_F(ServiceWorkerJobTest, AbortAll_Unregister) {
+  GURL pattern1("http://www1.example.com/*");
+  GURL pattern2("http://www2.example.com/*");
+
+  bool unregistration_called1 = false;
+  scoped_refptr<ServiceWorkerRegistration> registration1;
+  job_coordinator()->Unregister(
+      pattern1,
+      SaveUnregistration(SERVICE_WORKER_ERROR_ABORT,
+                         &unregistration_called1));
+
+  bool unregistration_called2 = false;
+  job_coordinator()->Unregister(
+      pattern2,
+      SaveUnregistration(SERVICE_WORKER_ERROR_ABORT,
+                         &unregistration_called2));
+
+  ASSERT_FALSE(unregistration_called1);
+  ASSERT_FALSE(unregistration_called2);
+  job_coordinator()->AbortAll();
+
+  base::RunLoop().RunUntilIdle();
+  ASSERT_TRUE(unregistration_called1);
+  ASSERT_TRUE(unregistration_called2);
+}
+
+TEST_F(ServiceWorkerJobTest, AbortAll_RegUnreg) {
+  GURL pattern("http://www.example.com/*");
+  GURL script_url("http://www.example.com/service_worker.js");
+
+  bool registration_called = false;
+  scoped_refptr<ServiceWorkerRegistration> registration;
+  job_coordinator()->Register(
+      pattern,
+      script_url,
+      render_process_id_,
+      SaveRegistration(SERVICE_WORKER_ERROR_ABORT,
+                       &registration_called, &registration));
+
+  bool unregistration_called = false;
+  job_coordinator()->Unregister(
+      pattern,
+      SaveUnregistration(SERVICE_WORKER_ERROR_ABORT,
+                         &unregistration_called));
+
+  ASSERT_FALSE(registration_called);
+  ASSERT_FALSE(unregistration_called);
+  job_coordinator()->AbortAll();
+
+  base::RunLoop().RunUntilIdle();
+  ASSERT_TRUE(registration_called);
+  ASSERT_TRUE(unregistration_called);
+
+  bool find_called = false;
+  storage()->FindRegistrationForPattern(
+      pattern,
+      SaveFoundRegistration(
+          SERVICE_WORKER_ERROR_NOT_FOUND, &find_called, &registration));
+
+  base::RunLoop().RunUntilIdle();
+  ASSERT_TRUE(find_called);
+  EXPECT_EQ(scoped_refptr<ServiceWorkerRegistration>(), registration);
+}
+
 }  // namespace content
diff --git a/content/browser/service_worker/service_worker_register_job.cc b/content/browser/service_worker/service_worker_register_job.cc
index 6eba2e8..098b6b3 100644
--- a/content/browser/service_worker/service_worker_register_job.cc
+++ b/content/browser/service_worker/service_worker_register_job.cc
@@ -38,7 +38,8 @@
       weak_factory_(this) {}
 
 ServiceWorkerRegisterJob::~ServiceWorkerRegisterJob() {
-  DCHECK(!context_ || phase_ == INITIAL || phase_ == COMPLETE)
+  DCHECK(!context_ ||
+         phase_ == INITIAL || phase_ == COMPLETE || phase_ == ABORT)
       << "Jobs should only be interrupted during shutdown.";
 }
 
@@ -64,6 +65,13 @@
           weak_factory_.GetWeakPtr()));
 }
 
+void ServiceWorkerRegisterJob::Abort() {
+  SetPhase(ABORT);
+  CompleteInternal(SERVICE_WORKER_ERROR_ABORT);
+  // Don't have to call FinishJob() because the caller takes care of removing
+  // the jobs from the queue.
+}
+
 bool ServiceWorkerRegisterJob::Equals(ServiceWorkerRegisterJobBase* job) {
   if (job->GetType() != GetType())
     return false;
@@ -131,6 +139,8 @@
     case COMPLETE:
       DCHECK(phase_ != INITIAL && phase_ != COMPLETE) << phase_;
       break;
+    case ABORT:
+      break;
   }
   phase_ = phase;
 }
@@ -359,6 +369,12 @@
 }
 
 void ServiceWorkerRegisterJob::Complete(ServiceWorkerStatusCode status) {
+  CompleteInternal(status);
+  context_->job_coordinator()->FinishJob(pattern_, this);
+}
+
+void ServiceWorkerRegisterJob::CompleteInternal(
+    ServiceWorkerStatusCode status) {
   SetPhase(COMPLETE);
   if (status != SERVICE_WORKER_OK) {
     if (registration() && registration()->waiting_version()) {
@@ -380,7 +396,6 @@
     context_->storage()->NotifyDoneInstallingRegistration(
         registration(), pending_version(), status);
   }
-  context_->job_coordinator()->FinishJob(pattern_, this);
 }
 
 void ServiceWorkerRegisterJob::ResolvePromise(
diff --git a/content/browser/service_worker/service_worker_register_job.h b/content/browser/service_worker/service_worker_register_job.h
index 2d668ed..db10fa6 100644
--- a/content/browser/service_worker/service_worker_register_job.h
+++ b/content/browser/service_worker/service_worker_register_job.h
@@ -53,6 +53,7 @@
 
   // ServiceWorkerRegisterJobBase implementation:
   virtual void Start() OVERRIDE;
+  virtual void Abort() OVERRIDE;
   virtual bool Equals(ServiceWorkerRegisterJobBase* job) OVERRIDE;
   virtual RegistrationJobType GetType() OVERRIDE;
 
@@ -70,7 +71,8 @@
      INSTALL,
      STORE,
      ACTIVATE,
-     COMPLETE
+     COMPLETE,
+     ABORT,
   };
 
   // Holds internal state of ServiceWorkerRegistrationJob, to compel use of the
@@ -103,6 +105,7 @@
   void ActivateAndContinue();
   void OnActivateFinished(ServiceWorkerStatusCode status);
   void Complete(ServiceWorkerStatusCode status);
+  void CompleteInternal(ServiceWorkerStatusCode status);
 
   void ResolvePromise(ServiceWorkerStatusCode status,
                       ServiceWorkerRegistration* registration,
diff --git a/content/browser/service_worker/service_worker_register_job_base.h b/content/browser/service_worker/service_worker_register_job_base.h
index f292ee3..7995add 100644
--- a/content/browser/service_worker/service_worker_register_job_base.h
+++ b/content/browser/service_worker/service_worker_register_job_base.h
@@ -18,6 +18,10 @@
   // Starts the job. This method should be called once and only once per job.
   virtual void Start() = 0;
 
+  // Aborts the job. This method should be called once and only once per job.
+  // It can be called regardless of whether Start() was called.
+  virtual void Abort() = 0;
+
   // Returns true if this job is identical to |job| for the purpose of
   // collapsing them together in a ServiceWorkerJobCoordinator queue.
   // Registration jobs are equal if they are for the same pattern and script
diff --git a/content/browser/service_worker/service_worker_unregister_job.cc b/content/browser/service_worker/service_worker_unregister_job.cc
index a66f32f..dabcd22 100644
--- a/content/browser/service_worker/service_worker_unregister_job.cc
+++ b/content/browser/service_worker/service_worker_unregister_job.cc
@@ -34,6 +34,10 @@
                  weak_factory_.GetWeakPtr()));
 }
 
+void ServiceWorkerUnregisterJob::Abort() {
+  CompleteInternal(SERVICE_WORKER_ERROR_ABORT);
+}
+
 bool ServiceWorkerUnregisterJob::Equals(ServiceWorkerRegisterJobBase* job) {
   if (job->GetType() != GetType())
     return false;
@@ -70,12 +74,17 @@
 }
 
 void ServiceWorkerUnregisterJob::Complete(ServiceWorkerStatusCode status) {
+  CompleteInternal(status);
+  context_->job_coordinator()->FinishJob(pattern_, this);
+}
+
+void ServiceWorkerUnregisterJob::CompleteInternal(
+    ServiceWorkerStatusCode status) {
   for (std::vector<UnregistrationCallback>::iterator it = callbacks_.begin();
        it != callbacks_.end();
        ++it) {
     it->Run(status);
   }
-  context_->job_coordinator()->FinishJob(pattern_, this);
 }
 
 }  // namespace content
diff --git a/content/browser/service_worker/service_worker_unregister_job.h b/content/browser/service_worker/service_worker_unregister_job.h
index 1be1ac9..4843181 100644
--- a/content/browser/service_worker/service_worker_unregister_job.h
+++ b/content/browser/service_worker/service_worker_unregister_job.h
@@ -40,6 +40,7 @@
 
   // ServiceWorkerRegisterJobBase implementation:
   virtual void Start() OVERRIDE;
+  virtual void Abort() OVERRIDE;
   virtual bool Equals(ServiceWorkerRegisterJobBase* job) OVERRIDE;
   virtual RegistrationJobType GetType() OVERRIDE;
 
@@ -48,6 +49,7 @@
       ServiceWorkerStatusCode status,
       const scoped_refptr<ServiceWorkerRegistration>& registration);
   void Complete(ServiceWorkerStatusCode status);
+  void CompleteInternal(ServiceWorkerStatusCode status);
 
   // The ServiceWorkerStorage object should always outlive this.
   base::WeakPtr<ServiceWorkerContextCore> context_;
diff --git a/content/browser/site_per_process_browsertest.cc b/content/browser/site_per_process_browsertest.cc
index 5193a7d..3adb455 100644
--- a/content/browser/site_per_process_browsertest.cc
+++ b/content/browser/site_per_process_browsertest.cc
@@ -4,7 +4,10 @@
 
 #include "base/command_line.h"
 #include "base/strings/stringprintf.h"
+#include "content/browser/frame_host/cross_process_frame_connector.h"
 #include "content/browser/frame_host/frame_tree.h"
+#include "content/browser/frame_host/render_frame_proxy_host.h"
+#include "content/browser/frame_host/render_widget_host_view_child_frame.h"
 #include "content/browser/renderer_host/render_view_host_impl.h"
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/notification_observer.h"
@@ -212,8 +215,9 @@
   SitePerProcessWebContentsObserver observer(shell()->web_contents());
 
   // Load same-site page into iframe.
+  FrameTreeNode* child = root->child_at(0);
   GURL http_url(test_server()->GetURL("files/title1.html"));
-  NavigateFrameToURL(root->child_at(0), http_url);
+  NavigateFrameToURL(child, http_url);
   EXPECT_EQ(http_url, observer.navigation_url());
   EXPECT_TRUE(observer.navigation_succeeded());
   {
@@ -224,6 +228,10 @@
             ->GetRenderWidgetHostViewsInTree();
     EXPECT_EQ(1U, views_set.size());
   }
+  RenderFrameProxyHost* proxy_to_parent =
+      child->render_manager()->GetRenderFrameProxyHost(
+          shell()->web_contents()->GetSiteInstance());
+  EXPECT_FALSE(proxy_to_parent);
 
   // These must stay in scope with replace_host.
   GURL::Replacements replace_host;
@@ -239,7 +247,6 @@
 
   // Ensure that we have created a new process for the subframe.
   ASSERT_EQ(1U, root->child_count());
-  FrameTreeNode* child = root->child_at(0);
   SiteInstance* site_instance = child->current_frame_host()->GetSiteInstance();
   RenderViewHost* rvh = child->current_frame_host()->render_view_host();
   RenderProcessHost* rph = child->current_frame_host()->GetProcess();
@@ -254,6 +261,12 @@
             ->GetRenderWidgetHostViewsInTree();
     EXPECT_EQ(2U, views_set.size());
   }
+  proxy_to_parent = child->render_manager()->GetProxyToParent();
+  EXPECT_TRUE(proxy_to_parent);
+  EXPECT_TRUE(proxy_to_parent->cross_process_frame_connector());
+  EXPECT_EQ(
+      rvh->GetView(),
+      proxy_to_parent->cross_process_frame_connector()->get_view_for_testing());
 
   // Load another cross-site page into the same iframe.
   cross_site_url = test_server()->GetURL("files/title3.html");
@@ -284,6 +297,11 @@
             ->GetRenderWidgetHostViewsInTree();
     EXPECT_EQ(2U, views_set.size());
   }
+  EXPECT_EQ(proxy_to_parent, child->render_manager()->GetProxyToParent());
+  EXPECT_TRUE(proxy_to_parent->cross_process_frame_connector());
+  EXPECT_EQ(
+      child->current_frame_host()->render_view_host()->GetView(),
+      proxy_to_parent->cross_process_frame_connector()->get_view_for_testing());
 }
 
 // Crash a subframe and ensures its children are cleared from the FrameTree.
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-arm.mk b/content/browser/speech/proto/speech_proto.target.darwin-arm.mk
index 4d246d4..7f856eb 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-arm.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-arm.mk
@@ -117,6 +117,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -223,6 +224,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk b/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk
index daf386b..32c6f70 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk
@@ -107,6 +107,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-mips.mk b/content/browser/speech/proto/speech_proto.target.darwin-mips.mk
index b05819e..b9faacc 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-mips.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-mips.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -213,6 +214,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-x86.mk b/content/browser/speech/proto/speech_proto.target.darwin-x86.mk
index 99c8577..76fe057 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-x86.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-x86.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk b/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk
index cba5af3..58cadc5 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -210,6 +211,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-arm.mk b/content/browser/speech/proto/speech_proto.target.linux-arm.mk
index 4d246d4..7f856eb 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-arm.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-arm.mk
@@ -117,6 +117,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -223,6 +224,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-arm64.mk b/content/browser/speech/proto/speech_proto.target.linux-arm64.mk
index daf386b..32c6f70 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-arm64.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-arm64.mk
@@ -107,6 +107,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-mips.mk b/content/browser/speech/proto/speech_proto.target.linux-mips.mk
index b05819e..b9faacc 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-mips.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-mips.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -213,6 +214,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-x86.mk b/content/browser/speech/proto/speech_proto.target.linux-x86.mk
index 99c8577..76fe057 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-x86.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-x86.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk b/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk
index cba5af3..58cadc5 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
@@ -210,6 +211,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DPROTOBUF_USE_DLLS' \
 	'-DGOOGLE_PROTOBUF_NO_RTTI' \
diff --git a/content/browser/speech/speech_recognition_browsertest.cc b/content/browser/speech/speech_recognition_browsertest.cc
index e734843..5871aa1 100644
--- a/content/browser/speech/speech_recognition_browsertest.cc
+++ b/content/browser/speech/speech_recognition_browsertest.cc
@@ -133,6 +133,7 @@
       size_t buffer_size,
       bool fill_with_noise) {
     DCHECK(controller.get());
+    const media::AudioParameters& audio_params = controller->audio_parameters();
     scoped_ptr<uint8[]> audio_buffer(new uint8[buffer_size]);
     if (fill_with_noise) {
       for (size_t i = 0; i < buffer_size; ++i)
@@ -141,9 +142,13 @@
     } else {
       memset(audio_buffer.get(), 0, buffer_size);
     }
-    controller->event_handler()->OnData(controller,
-                                        audio_buffer.get(),
-                                        buffer_size);
+
+    scoped_ptr<media::AudioBus> audio_bus =
+        media::AudioBus::Create(audio_params);
+    audio_bus->FromInterleaved(&audio_buffer.get()[0],
+                               audio_bus->frames(),
+                               audio_params.bits_per_sample() / 8);
+    controller->event_handler()->OnData(controller, audio_bus.get());
   }
 
   void FeedAudioController(int duration_ms, bool feed_with_noise) {
diff --git a/content/browser/speech/speech_recognizer_impl.cc b/content/browser/speech/speech_recognizer_impl.cc
index 3ba1f08..e49d301 100644
--- a/content/browser/speech/speech_recognizer_impl.cc
+++ b/content/browser/speech/speech_recognizer_impl.cc
@@ -37,10 +37,10 @@
                   const AudioParameters& output_params);
   virtual ~OnDataConverter();
 
-  // Converts input |data| buffer into an AudioChunk where the input format
+  // Converts input audio |data| bus into an AudioChunk where the input format
   // is given by |input_parameters_| and the output format by
   // |output_parameters_|.
-  scoped_refptr<AudioChunk> Convert(const uint8* data, size_t size);
+  scoped_refptr<AudioChunk> Convert(const AudioBus* data);
 
  private:
   // media::AudioConverter::InputCallback implementation.
@@ -132,11 +132,10 @@
 }
 
 scoped_refptr<AudioChunk> SpeechRecognizerImpl::OnDataConverter::Convert(
-    const uint8* data, size_t size) {
-  CHECK_EQ(size, static_cast<size_t>(input_parameters_.GetBytesPerBuffer()));
+    const AudioBus* data) {
+  CHECK_EQ(data->frames(), input_parameters_.frames_per_buffer());
 
-  input_bus_->FromInterleaved(
-      data, input_bus_->frames(), input_parameters_.bits_per_sample() / 8);
+  data->CopyTo(input_bus_.get());
 
   waiting_for_input_ = true;
   audio_converter_.Convert(output_bus_.get());
@@ -272,13 +271,10 @@
 }
 
 void SpeechRecognizerImpl::OnData(AudioInputController* controller,
-                                  const uint8* data, uint32 size) {
-  if (size == 0)  // This could happen when audio capture stops and is normal.
-    return;
-
+                                  const AudioBus* data) {
   // Convert audio from native format to fixed format used by WebSpeech.
   FSMEventArgs event_args(EVENT_AUDIO_DATA);
-  event_args.audio_data = audio_converter_->Convert(data, size);
+  event_args.audio_data = audio_converter_->Convert(data);
 
   BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
                           base::Bind(&SpeechRecognizerImpl::DispatchEvent,
diff --git a/content/browser/speech/speech_recognizer_impl.h b/content/browser/speech/speech_recognizer_impl.h
index abd3ab4..55e07f0 100644
--- a/content/browser/speech/speech_recognizer_impl.h
+++ b/content/browser/speech/speech_recognizer_impl.h
@@ -16,6 +16,7 @@
 #include "net/url_request/url_request_context_getter.h"
 
 namespace media {
+class AudioBus;
 class AudioManager;
 }
 
@@ -132,7 +133,7 @@
   virtual void OnError(media::AudioInputController* controller,
       media::AudioInputController::ErrorCode error_code) OVERRIDE;
   virtual void OnData(media::AudioInputController* controller,
-                      const uint8* data, uint32 size) OVERRIDE;
+                      const media::AudioBus* data) OVERRIDE;
   virtual void OnLog(media::AudioInputController* controller,
                      const std::string& message) OVERRIDE {}
 
diff --git a/content/browser/speech/speech_recognizer_impl_unittest.cc b/content/browser/speech/speech_recognizer_impl_unittest.cc
index 3709024..13d5eba 100644
--- a/content/browser/speech/speech_recognizer_impl_unittest.cc
+++ b/content/browser/speech/speech_recognizer_impl_unittest.cc
@@ -13,6 +13,7 @@
 #include "media/audio/fake_audio_output_stream.h"
 #include "media/audio/mock_audio_manager.h"
 #include "media/audio/test_audio_input_controller_factory.h"
+#include "media/base/audio_bus.h"
 #include "net/base/net_errors.h"
 #include "net/url_request/test_url_fetcher_factory.h"
 #include "net/url_request/url_request_status.h"
@@ -66,6 +67,13 @@
          ChannelLayoutToChannelCount(SpeechRecognizerImpl::kChannelLayout) *
          SpeechRecognizerImpl::kNumBitsPerAudioSample) / (8 * 1000);
     audio_packet_.resize(audio_packet_length_bytes);
+
+    const int channels =
+        ChannelLayoutToChannelCount(SpeechRecognizerImpl::kChannelLayout);
+    bytes_per_sample_ = SpeechRecognizerImpl::kNumBitsPerAudioSample / 8;
+    const int frames = audio_packet_length_bytes / channels / bytes_per_sample_;
+    audio_bus_ = media::AudioBus::Create(channels, frames);
+    audio_bus_->Zero();
   }
 
   void CheckEventsConsistency() {
@@ -147,10 +155,17 @@
     AudioInputController::set_factory_for_testing(NULL);
   }
 
+  void CopyPacketToAudioBus() {
+    // Copy the created signal into an audio bus in a deinterleaved format.
+    audio_bus_->FromInterleaved(
+        &audio_packet_[0], audio_bus_->frames(), bytes_per_sample_);
+  }
+
   void FillPacketWithTestWaveform() {
     // Fill the input with a simple pattern, a 125Hz sawtooth waveform.
     for (size_t i = 0; i < audio_packet_.size(); ++i)
       audio_packet_[i] = static_cast<uint8>(i);
+    CopyPacketToAudioBus();
   }
 
   void FillPacketWithNoise() {
@@ -160,6 +175,7 @@
       value += factor;
       audio_packet_[i] = value % 100;
     }
+    CopyPacketToAudioBus();
   }
 
  protected:
@@ -178,6 +194,8 @@
   net::TestURLFetcherFactory url_fetcher_factory_;
   TestAudioInputControllerFactory audio_input_controller_factory_;
   std::vector<uint8> audio_packet_;
+  scoped_ptr<media::AudioBus> audio_bus_;
+  int bytes_per_sample_;
   float volume_;
   float noise_volume_;
 };
@@ -222,8 +240,7 @@
   // full recording to complete.
   const size_t kNumChunks = 5;
   for (size_t i = 0; i < kNumChunks; ++i) {
-    controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                        audio_packet_.size());
+    controller->event_handler()->OnData(controller, audio_bus_.get());
     base::MessageLoop::current()->RunUntilIdle();
     net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
     ASSERT_TRUE(fetcher);
@@ -264,8 +281,7 @@
   TestAudioInputController* controller =
       audio_input_controller_factory_.controller();
   ASSERT_TRUE(controller);
-  controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                      audio_packet_.size());
+  controller->event_handler()->OnData(controller, audio_bus_.get());
   base::MessageLoop::current()->RunUntilIdle();
   recognizer_->AbortRecognition();
   base::MessageLoop::current()->RunUntilIdle();
@@ -285,8 +301,7 @@
   TestAudioInputController* controller =
       audio_input_controller_factory_.controller();
   ASSERT_TRUE(controller);
-  controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                      audio_packet_.size());
+  controller->event_handler()->OnData(controller, audio_bus_.get());
   base::MessageLoop::current()->RunUntilIdle();
   net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
   ASSERT_TRUE(fetcher);
@@ -323,8 +338,7 @@
   TestAudioInputController* controller =
       audio_input_controller_factory_.controller();
   ASSERT_TRUE(controller);
-  controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                      audio_packet_.size());
+  controller->event_handler()->OnData(controller, audio_bus_.get());
   base::MessageLoop::current()->RunUntilIdle();
   net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
   ASSERT_TRUE(fetcher);
@@ -377,8 +391,7 @@
   TestAudioInputController* controller =
       audio_input_controller_factory_.controller();
   ASSERT_TRUE(controller);
-  controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                      audio_packet_.size());
+  controller->event_handler()->OnData(controller, audio_bus_.get());
   controller->event_handler()->OnError(controller,
       AudioInputController::UNKNOWN_ERROR);
   base::MessageLoop::current()->RunUntilIdle();
@@ -403,8 +416,7 @@
                      GoogleOneShotRemoteEngine::kAudioPacketIntervalMs + 1;
   // The vector is already filled with zero value samples on create.
   for (int i = 0; i < num_packets; ++i) {
-    controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                        audio_packet_.size());
+    controller->event_handler()->OnData(controller, audio_bus_.get());
   }
   base::MessageLoop::current()->RunUntilIdle();
   EXPECT_TRUE(recognition_started_);
@@ -432,14 +444,12 @@
 
   // The vector is already filled with zero value samples on create.
   for (int i = 0; i < num_packets / 2; ++i) {
-    controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                        audio_packet_.size());
+    controller->event_handler()->OnData(controller, audio_bus_.get());
   }
 
   FillPacketWithTestWaveform();
   for (int i = 0; i < num_packets / 2; ++i) {
-    controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                        audio_packet_.size());
+    controller->event_handler()->OnData(controller, audio_bus_.get());
   }
 
   base::MessageLoop::current()->RunUntilIdle();
@@ -470,21 +480,18 @@
                     GoogleOneShotRemoteEngine::kAudioPacketIntervalMs;
   FillPacketWithNoise();
   for (int i = 0; i < num_packets; ++i) {
-    controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                        audio_packet_.size());
+    controller->event_handler()->OnData(controller, audio_bus_.get());
   }
   base::MessageLoop::current()->RunUntilIdle();
   EXPECT_EQ(-1.0f, volume_);  // No audio volume set yet.
 
   // The vector is already filled with zero value samples on create.
-  controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                      audio_packet_.size());
+  controller->event_handler()->OnData(controller, audio_bus_.get());
   base::MessageLoop::current()->RunUntilIdle();
   EXPECT_FLOAT_EQ(0.74939233f, volume_);
 
   FillPacketWithTestWaveform();
-  controller->event_handler()->OnData(controller, &audio_packet_[0],
-                                      audio_packet_.size());
+  controller->event_handler()->OnData(controller, audio_bus_.get());
   base::MessageLoop::current()->RunUntilIdle();
   EXPECT_NEAR(0.89926866f, volume_, 0.00001f);
   EXPECT_FLOAT_EQ(0.75071919f, noise_volume_);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index b76a165..5815141 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -509,6 +509,8 @@
     IPC_MESSAGE_HANDLER(FrameHostMsg_PluginCrashed, OnPluginCrashed)
     IPC_MESSAGE_HANDLER(FrameHostMsg_DomOperationResponse,
                         OnDomOperationResponse)
+    IPC_MESSAGE_HANDLER(FrameHostMsg_DidChangeBrandColor,
+                        OnBrandColorChanged)
     IPC_MESSAGE_HANDLER(FrameHostMsg_DidFinishDocumentLoad,
                         OnDocumentLoadedInFrame)
     IPC_MESSAGE_HANDLER(FrameHostMsg_DidFinishLoad, OnDidFinishLoad)
@@ -2512,6 +2514,11 @@
   return false;
 }
 
+void WebContentsImpl::OnBrandColorChanged(SkColor brand_color) {
+  FOR_EACH_OBSERVER(WebContentsObserver, observers_,
+                    DidChangeBrandColor(brand_color));
+}
+
 void WebContentsImpl::OnDidLoadResourceFromMemoryCache(
     const GURL& url,
     const std::string& security_info,
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 40e0fe4..0b0edb3 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -697,6 +697,7 @@
                          const IPC::Message& message);
 
   // IPC message handlers.
+  void OnBrandColorChanged(SkColor brand_color);
   void OnDidLoadResourceFromMemoryCache(const GURL& url,
                                         const std::string& security_info,
                                         const std::string& http_request,
diff --git a/content/browser/web_contents/web_contents_impl_unittest.cc b/content/browser/web_contents/web_contents_impl_unittest.cc
index b487a16..4c86357 100644
--- a/content/browser/web_contents/web_contents_impl_unittest.cc
+++ b/content/browser/web_contents/web_contents_impl_unittest.cc
@@ -449,7 +449,6 @@
 // Test that navigating across a site boundary creates a new RenderViewHost
 // with a new SiteInstance.  Going back should do the same.
 TEST_F(WebContentsImplTest, CrossSiteBoundaries) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   RenderFrameHostImpl* orig_rfh =
       contents()->GetFrameTree()->root()->current_frame_host();
@@ -550,7 +549,6 @@
 // Test that navigating across a site boundary after a crash creates a new
 // RVH without requiring a cross-site transition (i.e., PENDING state).
 TEST_F(WebContentsImplTest, CrossSiteBoundariesAfterCrash) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   int orig_rvh_delete_count = 0;
   orig_rvh->set_delete_counter(&orig_rvh_delete_count);
@@ -596,7 +594,6 @@
 // both contentses to a new site will place both contentses in a single
 // SiteInstance.
 TEST_F(WebContentsImplTest, NavigateTwoTabsCrossSite) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   SiteInstance* instance1 = contents()->GetSiteInstance();
 
@@ -609,7 +606,6 @@
   // Open a new contents with the same SiteInstance, navigated to the same site.
   scoped_ptr<TestWebContents> contents2(
       TestWebContents::Create(browser_context(), instance1));
-  contents2->transition_cross_site = true;
   contents2->GetController().LoadURL(url, Referrer(),
                                     PAGE_TRANSITION_TYPED,
                                     std::string());
@@ -659,7 +655,6 @@
   WebContentsImplTestBrowserClient browser_client;
   SetBrowserClientForTesting(&browser_client);
 
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   RenderFrameHostImpl* orig_rfh =
       contents()->GetFrameTree()->root()->current_frame_host();
@@ -748,7 +743,6 @@
 // Test that we can find an opener RVH even if it's pending.
 // http://crbug.com/176252.
 TEST_F(WebContentsImplTest, FindOpenerRVHWhenPending) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
 
   // Navigate to a URL.
@@ -778,7 +772,6 @@
 // Tests that WebContentsImpl uses the current URL, not the SiteInstance's site,
 // to determine whether a navigation is cross-site.
 TEST_F(WebContentsImplTest, CrossSiteComparesAgainstCurrentPage) {
-  contents()->transition_cross_site = true;
   RenderViewHost* orig_rvh = rvh();
   SiteInstance* instance1 = contents()->GetSiteInstance();
 
@@ -792,7 +785,6 @@
   // Open a related contents to a second site.
   scoped_ptr<TestWebContents> contents2(
       TestWebContents::Create(browser_context(), instance1));
-  contents2->transition_cross_site = true;
   const GURL url2("http://www.yahoo.com");
   contents2->GetController().LoadURL(url2, Referrer(),
                                     PAGE_TRANSITION_TYPED,
@@ -830,7 +822,6 @@
 // Test that the onbeforeunload and onunload handlers run when navigating
 // across site boundaries.
 TEST_F(WebContentsImplTest, CrossSiteUnloadHandlers) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   SiteInstance* instance1 = contents()->GetSiteInstance();
 
@@ -882,7 +873,6 @@
 // navigate to a different URL and have it displayed, canceling the slow
 // navigation.
 TEST_F(WebContentsImplTest, CrossSiteNavigationPreempted) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   SiteInstance* instance1 = contents()->GetSiteInstance();
 
@@ -917,8 +907,6 @@
 }
 
 TEST_F(WebContentsImplTest, CrossSiteNavigationBackPreempted) {
-  contents()->transition_cross_site = true;
-
   // Start with a web ui page, which gets a new RVH with WebUI bindings.
   const GURL url1("chrome://blah");
   controller().LoadURL(
@@ -1021,7 +1009,6 @@
 // Test that during a slow cross-site navigation, a sub-frame navigation in the
 // original renderer will not cancel the slow navigation (bug 42029).
 TEST_F(WebContentsImplTest, CrossSiteNavigationNotPreemptedByFrame) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
 
   // Navigate to URL.  First URL should use first RenderViewHost.
@@ -1057,8 +1044,6 @@
 // We should only preempt the cross-site navigation if the previous renderer
 // has started a new navigation.  See http://crbug.com/79176.
 TEST_F(WebContentsImplTest, CrossSiteNotPreemptedDuringBeforeUnload) {
-  contents()->transition_cross_site = true;
-
   // Navigate to NTP URL.
   const GURL url("chrome://blah");
   controller().LoadURL(
@@ -1094,7 +1079,6 @@
 // is almost ready to be displayed, and the original renderer is only given a
 // short chance to run an unload handler.  Prevents regression of bug 23942.
 TEST_F(WebContentsImplTest, CrossSiteCantPreemptAfterUnload) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   SiteInstance* instance1 = contents()->GetSiteInstance();
 
@@ -1152,7 +1136,6 @@
 // Test that a cross-site navigation that doesn't commit after the unload
 // handler doesn't leave the contents in a stuck state.  http://crbug.com/88562
 TEST_F(WebContentsImplTest, CrossSiteNavigationCanceled) {
-  contents()->transition_cross_site = true;
   TestRenderViewHost* orig_rvh = test_rvh();
   SiteInstance* instance1 = contents()->GetSiteInstance();
 
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
index 618de03..bf3a43a 100644
--- a/content/child/BUILD.gn
+++ b/content/child/BUILD.gn
@@ -17,6 +17,7 @@
   deps = [
     "//base",
     "//components/tracing",
+    "//mojo/environment:chromium",
     "//mojo/public/interfaces/service_provider",
     "//skia",
     "//third_party/icu",
@@ -24,7 +25,6 @@
     "//ui/gfx",
     "//ui/gfx/geometry",
     "//url",
-    #'../mojo/mojo.gyp:mojo_environment_chromium',  # TODO(GYP)
   ]
 
   if (!use_default_render_theme) {
diff --git a/content/child/child_thread.cc b/content/child/child_thread.cc
index 55cef8f..58db014 100644
--- a/content/child/child_thread.cc
+++ b/content/child/child_thread.cc
@@ -19,6 +19,7 @@
 #include "base/message_loop/timer_slack.h"
 #include "base/process/kill.h"
 #include "base/process/process_handle.h"
+#include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
 #include "base/synchronization/condition_variable.h"
 #include "base/synchronization/lock.h"
@@ -289,11 +290,21 @@
     channel_->AddFilter(new SuicideOnChannelErrorFilter());
 #endif
 
+  int connection_timeout = kConnectionTimeoutS;
+  std::string connection_override =
+      CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
+          switches::kIPCConnectionTimeout);
+  if (!connection_override.empty()) {
+    int temp;
+    if (base::StringToInt(connection_override, &temp))
+      connection_timeout = temp;
+  }
+
   base::MessageLoop::current()->PostDelayedTask(
       FROM_HERE,
       base::Bind(&ChildThread::EnsureConnected,
                  channel_connected_factory_.GetWeakPtr()),
-      base::TimeDelta::FromSeconds(kConnectionTimeoutS));
+      base::TimeDelta::FromSeconds(connection_timeout));
 
 #if defined(OS_ANDROID)
   {
diff --git a/content/child/indexed_db/indexed_db_dispatcher.cc b/content/child/indexed_db/indexed_db_dispatcher.cc
index e6fc2b9..e814cc8 100644
--- a/content/child/indexed_db/indexed_db_dispatcher.cc
+++ b/content/child/indexed_db/indexed_db_dispatcher.cc
@@ -374,9 +374,9 @@
     if (info.isFile()) {
       blob_or_file_info.file_path = info.filePath();
       blob_or_file_info.file_name = info.fileName();
-    } else {
-      blob_or_file_info.size = info.size();
+      blob_or_file_info.last_modified = info.lastModified();
     }
+    blob_or_file_info.size = info.size();
     blob_or_file_info.uuid = info.uuid().latin1();
     DCHECK(blob_or_file_info.uuid.size());
     blob_or_file_info.mime_type = info.type();
diff --git a/content/child/mojo/mojo_application.h b/content/child/mojo/mojo_application.h
index ef05f75..53fd541 100644
--- a/content/child/mojo/mojo_application.h
+++ b/content/child/mojo/mojo_application.h
@@ -6,7 +6,7 @@
 #define CONTENT_CHILD_MOJO_MOJO_APPLICATION_H_
 
 #include "ipc/ipc_platform_file.h"
-#include "mojo/common/channel_init.h"
+#include "mojo/embedder/channel_init.h"
 #include "mojo/public/interfaces/service_provider/service_provider.mojom.h"
 
 namespace IPC {
@@ -36,7 +36,7 @@
  private:
   void OnActivate(const IPC::PlatformFileForTransit& file);
 
-  mojo::common::ChannelInit channel_init_;
+  mojo::embedder::ChannelInit channel_init_;
   mojo::ServiceProviderPtr host_service_provider_;
   mojo::ServiceProvider* service_provider_;
 
diff --git a/content/child/service_worker/service_worker_dispatcher.cc b/content/child/service_worker/service_worker_dispatcher.cc
index 131b714..936f5c8 100644
--- a/content/child/service_worker/service_worker_dispatcher.cc
+++ b/content/child/service_worker/service_worker_dispatcher.cc
@@ -14,6 +14,7 @@
 #include "content/child/thread_safe_sender.h"
 #include "content/child/webmessageportchannel_impl.h"
 #include "content/common/service_worker/service_worker_messages.h"
+#include "content/public/common/url_utils.h"
 #include "third_party/WebKit/public/platform/WebServiceWorkerProviderClient.h"
 #include "third_party/WebKit/public/web/WebSecurityOrigin.h"
 
@@ -78,6 +79,17 @@
     const GURL& script_url,
     WebServiceWorkerProvider::WebServiceWorkerCallbacks* callbacks) {
   DCHECK(callbacks);
+
+  if (pattern.possibly_invalid_spec().size() > GetMaxURLChars() ||
+      script_url.possibly_invalid_spec().size() > GetMaxURLChars()) {
+    scoped_ptr<WebServiceWorkerProvider::WebServiceWorkerCallbacks>
+        owned_callbacks(callbacks);
+    scoped_ptr<WebServiceWorkerError> error(new WebServiceWorkerError(
+        WebServiceWorkerError::ErrorTypeSecurity, "URL too long"));
+    callbacks->onError(error.release());
+    return;
+  }
+
   int request_id = pending_callbacks_.Add(callbacks);
   thread_safe_sender_->Send(new ServiceWorkerHostMsg_RegisterServiceWorker(
       CurrentWorkerId(), request_id, provider_id, pattern, script_url));
@@ -88,6 +100,16 @@
     const GURL& pattern,
     WebServiceWorkerProvider::WebServiceWorkerCallbacks* callbacks) {
   DCHECK(callbacks);
+
+  if (pattern.possibly_invalid_spec().size() > GetMaxURLChars()) {
+    scoped_ptr<WebServiceWorkerProvider::WebServiceWorkerCallbacks>
+        owned_callbacks(callbacks);
+    scoped_ptr<WebServiceWorkerError> error(new WebServiceWorkerError(
+        WebServiceWorkerError::ErrorTypeSecurity, "URL too long"));
+    callbacks->onError(error.release());
+    return;
+  }
+
   int request_id = pending_callbacks_.Add(callbacks);
   thread_safe_sender_->Send(new ServiceWorkerHostMsg_UnregisterServiceWorker(
       CurrentWorkerId(), request_id, provider_id, pattern));
@@ -215,7 +237,7 @@
   if (!callbacks)
     return;
 
-  scoped_ptr<WebServiceWorkerError>  error(
+  scoped_ptr<WebServiceWorkerError> error(
       new WebServiceWorkerError(error_type, message));
   callbacks->onError(error.release());
   pending_callbacks_.Remove(request_id);
diff --git a/content/child/webcrypto/platform_crypto_nss.cc b/content/child/webcrypto/platform_crypto_nss.cc
index 11c84fc..ad1a1a9 100644
--- a/content/child/webcrypto/platform_crypto_nss.cc
+++ b/content/child/webcrypto/platform_crypto_nss.cc
@@ -277,6 +277,65 @@
 
 namespace {
 
+Status NssSupportsAesGcm() {
+  if (g_nss_runtime_support.Get().IsAesGcmSupported())
+    return Status::Success();
+  return Status::ErrorUnsupported(
+      "NSS version doesn't support AES-GCM. Try using version 3.15 or later");
+}
+
+Status NssSupportsRsaOaep() {
+  if (g_nss_runtime_support.Get().IsRsaOaepSupported())
+    return Status::Success();
+  return Status::ErrorUnsupported(
+      "NSS version doesn't support RSA-OAEP. Try using version 3.16.2 or "
+      "later");
+}
+
+#if defined(USE_NSS) && !defined(OS_CHROMEOS)
+Status ErrorRsaKeyImportNotSupported() {
+  return Status::ErrorUnsupported(
+      "NSS version must be at least 3.16.2 for RSA key import. See "
+      "http://crbug.com/380424");
+}
+
+Status NssSupportsKeyImport(blink::WebCryptoAlgorithmId algorithm) {
+  // Prior to NSS 3.16.2 RSA key parameters were not validated. This is
+  // a security problem for RSA private key import from JWK which uses a
+  // CKA_ID based on the public modulus to retrieve the private key.
+
+  if (!IsAlgorithmRsa(algorithm))
+    return Status::Success();
+
+  if (!NSS_VersionCheck("3.16.2"))
+    return ErrorRsaKeyImportNotSupported();
+
+  // Also ensure that the version of Softoken is 3.16.2 or later.
+  crypto::ScopedPK11Slot slot(PK11_GetInternalSlot());
+  CK_SLOT_INFO info = {};
+  if (PK11_GetSlotInfo(slot.get(), &info) != SECSuccess)
+    return ErrorRsaKeyImportNotSupported();
+
+  // CK_SLOT_INFO.hardwareVersion contains the major.minor
+  // version info for Softoken in the corresponding .major/.minor
+  // fields, and .firmwareVersion contains the patch.build
+  // version info (in the .major/.minor fields)
+  if ((info.hardwareVersion.major > 3) ||
+      (info.hardwareVersion.major == 3 &&
+       (info.hardwareVersion.minor > 16 ||
+        (info.hardwareVersion.minor == 16 &&
+         info.firmwareVersion.major >= 2)))) {
+    return Status::Success();
+  }
+
+  return ErrorRsaKeyImportNotSupported();
+}
+#else
+Status NssSupportsKeyImport(blink::WebCryptoAlgorithmId) {
+  return Status::Success();
+}
+#endif
+
 // Creates a SECItem for the data in |buffer|. This does NOT make a copy, so
 // |buffer| should outlive the SECItem.
 SECItem MakeSECItemForBuffer(const CryptoData& buffer) {
@@ -448,8 +507,9 @@
                             const CryptoData& additional_data,
                             unsigned int tag_length_bits,
                             std::vector<uint8>* buffer) {
-  if (!g_nss_runtime_support.Get().IsAesGcmSupported())
-    return Status::ErrorUnsupported();
+  Status status = NssSupportsAesGcm();
+  if (status.IsError())
+    return status;
 
   unsigned int tag_length_bytes = tag_length_bits / 8;
 
@@ -597,8 +657,9 @@
       return Status::Success();
     }
     case blink::WebCryptoAlgorithmIdAesGcm: {
-      if (!g_nss_runtime_support.Get().IsAesGcmSupported())
-        return Status::ErrorUnsupported();
+      Status status = NssSupportsAesGcm();
+      if (status.IsError())
+        return status;
       *mechanism = CKM_AES_GCM;
       *flags = CKF_ENCRYPT | CKF_DECRYPT;
       return Status::Success();
@@ -970,6 +1031,10 @@
                      bool extractable,
                      blink::WebCryptoKeyUsageMask usage_mask,
                      blink::WebCryptoKey* key) {
+  Status status = NssSupportsKeyImport(algorithm.id());
+  if (status.IsError())
+    return status;
+
   DCHECK(key);
 
   if (!key_data.byte_length())
@@ -999,7 +1064,7 @@
     return Status::ErrorUnexpected();
 
   scoped_ptr<PublicKey> key_handle;
-  Status status = PublicKey::Create(sec_public_key.Pass(), &key_handle);
+  status = PublicKey::Create(sec_public_key.Pass(), &key_handle);
   if (status.IsError())
     return status;
 
@@ -1139,6 +1204,10 @@
                       bool extractable,
                       blink::WebCryptoKeyUsageMask usage_mask,
                       blink::WebCryptoKey* key) {
+  Status status = NssSupportsKeyImport(algorithm.id());
+  if (status.IsError())
+    return status;
+
   DCHECK(key);
 
   if (!key_data.byte_length())
@@ -1174,8 +1243,7 @@
     return Status::ErrorUnexpected();
 
   scoped_ptr<PrivateKey> key_handle;
-  Status status =
-      PrivateKey::Create(private_key.Pass(), key_algorithm, &key_handle);
+  status = PrivateKey::Create(private_key.Pass(), key_algorithm, &key_handle);
   if (status.IsError())
     return status;
 
@@ -1237,8 +1305,9 @@
                       const CryptoData& label,
                       const CryptoData& data,
                       std::vector<uint8>* buffer) {
-  if (!g_nss_runtime_support.Get().IsRsaOaepSupported())
-    return Status::ErrorUnsupported();
+  Status status = NssSupportsRsaOaep();
+  if (status.IsError())
+    return status;
 
   CK_RSA_PKCS_OAEP_PARAMS oaep_params = {0};
   if (!InitializeRsaOaepParams(hash, label, &oaep_params))
@@ -1274,8 +1343,9 @@
                       const CryptoData& label,
                       const CryptoData& data,
                       std::vector<uint8>* buffer) {
-  if (!g_nss_runtime_support.Get().IsRsaOaepSupported())
-    return Status::ErrorUnsupported();
+  Status status = NssSupportsRsaOaep();
+  if (status.IsError())
+    return status;
 
   CK_RSA_PKCS_OAEP_PARAMS oaep_params = {0};
   if (!InitializeRsaOaepParams(hash, label, &oaep_params))
@@ -1423,9 +1493,10 @@
                           unsigned long public_exponent,
                           blink::WebCryptoKey* public_key,
                           blink::WebCryptoKey* private_key) {
-  if (algorithm.id() == blink::WebCryptoAlgorithmIdRsaOaep &&
-      !g_nss_runtime_support.Get().IsRsaOaepSupported()) {
-    return Status::ErrorUnsupported();
+  if (algorithm.id() == blink::WebCryptoAlgorithmIdRsaOaep) {
+    Status status = NssSupportsRsaOaep();
+    if (status.IsError())
+      return status;
   }
 
   crypto::ScopedPK11Slot slot(PK11_GetInternalKeySlot());
@@ -1669,6 +1740,10 @@
                            const CryptoData& exponent2,
                            const CryptoData& coefficient,
                            blink::WebCryptoKey* key) {
+  Status status = NssSupportsKeyImport(algorithm.id());
+  if (status.IsError())
+    return status;
+
   CK_OBJECT_CLASS obj_class = CKO_PRIVATE_KEY;
   CK_KEY_TYPE key_type = CKK_RSA;
   CK_BBOOL ck_false = CK_FALSE;
@@ -1750,8 +1825,7 @@
     return Status::ErrorUnexpected();
 
   scoped_ptr<PrivateKey> key_handle;
-  Status status =
-      PrivateKey::Create(private_key.Pass(), key_algorithm, &key_handle);
+  status = PrivateKey::Create(private_key.Pass(), key_algorithm, &key_handle);
   if (status.IsError())
     return status;
 
diff --git a/content/child/webcrypto/shared_crypto_unittest.cc b/content/child/webcrypto/shared_crypto_unittest.cc
index 3e3730c..3586240 100644
--- a/content/child/webcrypto/shared_crypto_unittest.cc
+++ b/content/child/webcrypto/shared_crypto_unittest.cc
@@ -114,7 +114,7 @@
                             &key);
 
   if (status.IsError())
-    EXPECT_EQ(Status::ErrorUnsupported(), status);
+    EXPECT_EQ(blink::WebCryptoErrorTypeNotSupported, status.error_type());
   return status.IsSuccess();
 }
 
@@ -122,6 +122,7 @@
 #if defined(USE_OPENSSL)
   return false;
 #else
+  // TODO(eroman): Exclude version test for OS_CHROMEOS
 #if defined(USE_NSS)
   if (!NSS_VersionCheck("3.16.2"))
     return false;
@@ -131,6 +132,18 @@
 #endif
 }
 
+bool SupportsRsaKeyImport() {
+// TODO(eroman): Exclude version test for OS_CHROMEOS
+#if defined(USE_NSS)
+  if (!NSS_VersionCheck("3.16.2")) {
+    LOG(WARNING) << "RSA key import is not supported by this version of NSS. "
+                    "Skipping some tests";
+    return false;
+  }
+#endif
+  return true;
+}
+
 blink::WebCryptoAlgorithm CreateRsaHashedKeyGenAlgorithm(
     blink::WebCryptoAlgorithmId algorithm_id,
     const blink::WebCryptoAlgorithmId hash_id,
@@ -1503,6 +1516,9 @@
 }
 
 TEST_F(SharedCryptoTest, MAYBE(ImportExportJwkRsaPublicKey)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   const bool supports_rsa_oaep = SupportsRsaOaep();
   if (!supports_rsa_oaep) {
     LOG(WARNING) << "RSA-OAEP not supported on this platform. Skipping some"
@@ -1976,6 +1992,9 @@
 }
 
 TEST_F(SharedCryptoTest, MAYBE(ImportExportSpki)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   // Passing case: Import a valid RSA key in SPKI format.
   blink::WebCryptoKey key = blink::WebCryptoKey::createNull();
   ASSERT_EQ(Status::Success(),
@@ -2062,6 +2081,9 @@
 }
 
 TEST_F(SharedCryptoTest, MAYBE(ImportExportPkcs8)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   // Passing case: Import a valid RSA key in PKCS#8 format.
   blink::WebCryptoKey key = blink::WebCryptoKey::createNull();
   ASSERT_EQ(Status::Success(),
@@ -2129,6 +2151,9 @@
 //
 //   PKCS8 --> JWK --> PKCS8
 TEST_F(SharedCryptoTest, MAYBE(ImportRsaPrivateKeyJwkToPkcs8RoundTrip)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   blink::WebCryptoKey key = blink::WebCryptoKey::createNull();
   ASSERT_EQ(Status::Success(),
             ImportKey(blink::WebCryptoKeyFormatPkcs8,
@@ -2194,6 +2219,9 @@
 // be imported correctly, however every key after that would actually import
 // the first key.
 TEST_F(SharedCryptoTest, MAYBE(ImportMultipleRSAPrivateKeysJwk)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   scoped_ptr<base::ListValue> key_list;
   ASSERT_TRUE(ReadJsonTestFileToList("rsa_private_keys.json", &key_list));
 
@@ -2355,6 +2383,9 @@
 //
 // TODO(eroman): http://crbug/com/374927
 TEST_F(SharedCryptoTest, MAYBE(ImportRsaPrivateKeyJwkIncorrectOptionalEmpty)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   blink::WebCryptoKey key = blink::WebCryptoKey::createNull();
 
   base::DictionaryValue dict;
@@ -2430,36 +2461,39 @@
   EXPECT_EQ(
       Status::Success(),
       ExportKey(blink::WebCryptoKeyFormatSpki, public_key, &public_key_spki));
-  public_key = blink::WebCryptoKey::createNull();
-  EXPECT_EQ(Status::Success(),
-            ImportKey(blink::WebCryptoKeyFormatSpki,
-                      CryptoData(public_key_spki),
-                      CreateRsaHashedImportAlgorithm(
-                          blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5,
-                          blink::WebCryptoAlgorithmIdSha256),
-                      true,
-                      usage_mask,
-                      &public_key));
-  EXPECT_EQ(modulus_length,
-            public_key.algorithm().rsaHashedParams()->modulusLengthBits());
 
-  std::vector<uint8> private_key_pkcs8;
-  EXPECT_EQ(
-      Status::Success(),
-      ExportKey(
-          blink::WebCryptoKeyFormatPkcs8, private_key, &private_key_pkcs8));
-  private_key = blink::WebCryptoKey::createNull();
-  EXPECT_EQ(Status::Success(),
-            ImportKey(blink::WebCryptoKeyFormatPkcs8,
-                      CryptoData(private_key_pkcs8),
-                      CreateRsaHashedImportAlgorithm(
-                          blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5,
-                          blink::WebCryptoAlgorithmIdSha256),
-                      true,
-                      usage_mask,
-                      &private_key));
-  EXPECT_EQ(modulus_length,
-            private_key.algorithm().rsaHashedParams()->modulusLengthBits());
+  if (SupportsRsaKeyImport()) {
+    public_key = blink::WebCryptoKey::createNull();
+    EXPECT_EQ(Status::Success(),
+              ImportKey(blink::WebCryptoKeyFormatSpki,
+                        CryptoData(public_key_spki),
+                        CreateRsaHashedImportAlgorithm(
+                            blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5,
+                            blink::WebCryptoAlgorithmIdSha256),
+                        true,
+                        usage_mask,
+                        &public_key));
+    EXPECT_EQ(modulus_length,
+              public_key.algorithm().rsaHashedParams()->modulusLengthBits());
+
+    std::vector<uint8> private_key_pkcs8;
+    EXPECT_EQ(
+        Status::Success(),
+        ExportKey(
+            blink::WebCryptoKeyFormatPkcs8, private_key, &private_key_pkcs8));
+    private_key = blink::WebCryptoKey::createNull();
+    EXPECT_EQ(Status::Success(),
+              ImportKey(blink::WebCryptoKeyFormatPkcs8,
+                        CryptoData(private_key_pkcs8),
+                        CreateRsaHashedImportAlgorithm(
+                            blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5,
+                            blink::WebCryptoAlgorithmIdSha256),
+                        true,
+                        usage_mask,
+                        &private_key));
+    EXPECT_EQ(modulus_length,
+              private_key.algorithm().rsaHashedParams()->modulusLengthBits());
+  }
 
   // Fail with bad modulus.
   algorithm =
@@ -2602,6 +2636,9 @@
 }
 
 TEST_F(SharedCryptoTest, MAYBE(RsaSsaSignVerifyFailures)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   // Import a key pair.
   blink::WebCryptoAlgorithm import_algorithm =
       CreateRsaHashedImportAlgorithm(blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5,
@@ -2732,6 +2769,9 @@
 }
 
 TEST_F(SharedCryptoTest, MAYBE(RsaSignVerifyKnownAnswer)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   scoped_ptr<base::ListValue> tests;
   ASSERT_TRUE(ReadJsonTestFileToList("pkcs1v15_sign.json", &tests));
 
@@ -4214,6 +4254,9 @@
 // key pair (using SPKI format for public key, PKCS8 format for private key).
 // Then unwrap the wrapped key pair and verify that the key data is the same.
 TEST_F(SharedCryptoTest, MAYBE(WrapUnwrapRoundtripSpkiPkcs8UsingAesCbc)) {
+  if (!SupportsRsaKeyImport())
+    return;
+
   // Generate the wrapping key.
   blink::WebCryptoKey wrapping_key = blink::WebCryptoKey::createNull();
   ASSERT_EQ(Status::Success(),
diff --git a/content/child/webcrypto/status.cc b/content/child/webcrypto/status.cc
index 5ddbf39..fc01c2c 100644
--- a/content/child/webcrypto/status.cc
+++ b/content/child/webcrypto/status.cc
@@ -151,8 +151,11 @@
 }
 
 Status Status::ErrorUnsupported() {
-  return Status(blink::WebCryptoErrorTypeNotSupported,
-                "The requested operation is unsupported");
+  return ErrorUnsupported("The requested operation is unsupported");
+}
+
+Status Status::ErrorUnsupported(const std::string& message) {
+  return Status(blink::WebCryptoErrorTypeNotSupported, message);
 }
 
 Status Status::ErrorUnexpected() {
diff --git a/content/child/webcrypto/status.h b/content/child/webcrypto/status.h
index 70d97e7..103c4ed 100644
--- a/content/child/webcrypto/status.h
+++ b/content/child/webcrypto/status.h
@@ -150,6 +150,7 @@
   // question was unsupported, some parameter combination was unsupported, or
   // something has not yet been implemented.
   static Status ErrorUnsupported();
+  static Status ErrorUnsupported(const std::string& message);
 
   // Something unexpected happened in the code, which implies there is a
   // source-level bug. These should not happen, but safer to fail than simply
diff --git a/content/child/webcrypto/webcrypto_impl.cc b/content/child/webcrypto/webcrypto_impl.cc
index 6c664b1..43b108b 100644
--- a/content/child/webcrypto/webcrypto_impl.cc
+++ b/content/child/webcrypto/webcrypto_impl.cc
@@ -170,6 +170,10 @@
   explicit BaseState(const blink::WebCryptoResult& result)
       : origin_thread(GetCurrentBlinkThread()), result(result) {}
 
+  bool cancelled() {
+    return result.cancelled();
+  }
+
   scoped_refptr<base::TaskRunner> origin_thread;
 
   webcrypto::Status status;
@@ -352,6 +356,8 @@
 
 void DoEncrypt(scoped_ptr<EncryptState> passed_state) {
   EncryptState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status = webcrypto::Encrypt(state->algorithm,
                                      state->key,
                                      webcrypto::CryptoData(state->data),
@@ -366,6 +372,8 @@
 
 void DoDecrypt(scoped_ptr<DecryptState> passed_state) {
   DecryptState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status = webcrypto::Decrypt(state->algorithm,
                                      state->key,
                                      webcrypto::CryptoData(state->data),
@@ -380,6 +388,8 @@
 
 void DoDigest(scoped_ptr<DigestState> passed_state) {
   DigestState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status = webcrypto::Digest(
       state->algorithm, webcrypto::CryptoData(state->data), &state->buffer);
   state->origin_thread->PostTask(
@@ -399,6 +409,8 @@
 
 void DoGenerateKey(scoped_ptr<GenerateKeyState> passed_state) {
   GenerateKeyState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->is_asymmetric =
       webcrypto::IsAlgorithmAsymmetric(state->algorithm.id());
   if (state->is_asymmetric) {
@@ -440,6 +452,8 @@
 
 void DoImportKey(scoped_ptr<ImportKeyState> passed_state) {
   ImportKeyState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status = webcrypto::ImportKey(state->format,
                                        webcrypto::CryptoData(state->key_data),
                                        state->algorithm,
@@ -474,6 +488,8 @@
 
 void DoExportKey(scoped_ptr<ExportKeyState> passed_state) {
   ExportKeyState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status =
       webcrypto::ExportKey(state->format, state->key, &state->buffer);
   state->origin_thread->PostTask(
@@ -486,6 +502,8 @@
 
 void DoSign(scoped_ptr<SignState> passed_state) {
   SignState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status = webcrypto::Sign(state->algorithm,
                                   state->key,
                                   webcrypto::CryptoData(state->data),
@@ -505,6 +523,8 @@
 
 void DoVerify(scoped_ptr<VerifySignatureState> passed_state) {
   VerifySignatureState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status =
       webcrypto::VerifySignature(state->algorithm,
                                  state->key,
@@ -522,6 +542,8 @@
 
 void DoWrapKey(scoped_ptr<WrapKeyState> passed_state) {
   WrapKeyState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status = webcrypto::WrapKey(state->format,
                                      state->key,
                                      state->wrapping_key,
@@ -538,6 +560,8 @@
 
 void DoUnwrapKey(scoped_ptr<UnwrapKeyState> passed_state) {
   UnwrapKeyState* state = passed_state.get();
+  if (state->cancelled())
+    return;
   state->status =
       webcrypto::UnwrapKey(state->format,
                            webcrypto::CryptoData(state->wrapped_key),
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
index 88890f0..511027e 100644
--- a/content/common/BUILD.gn
+++ b/content/common/BUILD.gn
@@ -45,26 +45,27 @@
 
   if (!is_ios) {
     deps += [
+      "//cc",
       "//ipc",
-      "//gpu/command_buffer/client:gles2_c_lib",
-      "//gpu/command_buffer/client:gles2_implementation",
-      "//ui/gl",
-      #'../cc/cc.gyp:cc',
-      #'../gpu/gpu.gyp:command_buffer_service',
+      "//mojo/environment:chromium",
+      "//mojo/system",
       # TODO: the dependency on gl_in_process_context should be decoupled from
       # content and moved to android_webview. See crbug.com/365797.
+      "//gpu/command_buffer/client:gl_in_process_context",
+      "//gpu/command_buffer/client:gles2_c_lib",
+      "//gpu/command_buffer/client:gles2_implementation",
+      "//gpu/command_buffer/service",
+      "//gpu/ipc",
+      "//ui/gl",
+      "//webkit/browser:storage",
+      "//webkit/common",
+      "//webkit/common:storage",
+      "//webkit/common/gpu",
       #'../gpu/gpu.gyp:gl_in_process_context',
-      #'../gpu/gpu.gyp:gpu_ipc',
       #'../gpu/skia_bindings/skia_bindings.gyp:gpu_skia_bindings',
       #'../media/media.gyp:media',
       #'../media/media.gyp:shared_memory_support',
-      #'../mojo/mojo.gyp:mojo_environment_chromium',
-      #'../mojo/mojo.gyp:mojo_system_impl',
       #'../third_party/WebKit/public/blink.gyp:blink',
-      #'../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
-      #'../webkit/common/webkit_common.gyp:webkit_common',
-      #'../webkit/storage_browser.gyp:webkit_storage_browser',
-      #'../webkit/storage_common.gyp:webkit_storage_common',
     ]
   }
 
@@ -156,8 +157,7 @@
 
   if (enable_plugins) {
     deps += [
-      # TODO(GYP) enable once supported in the GN build.
-      #"//ppapi:shared",
+      "//ppapi:ppapi_shared",
     ]
   } else {
     sources -= [
diff --git a/content/common/OWNERS b/content/common/OWNERS
index fd688b2..a211f76 100644
--- a/content/common/OWNERS
+++ b/content/common/OWNERS
@@ -50,3 +50,6 @@
 per-file websocket.*=ricea@chromium.org
 per-file websocket.*=tyoshino@chromium.org
 per-file websocket.*=yhirano@chromium.org
+
+# Compositor
+per-file cc_messages_unittest.cc=danakj@chromium.org
diff --git a/content/common/cc_messages.h b/content/common/cc_messages.h
index a2eaa63..da416eb 100644
--- a/content/common/cc_messages.h
+++ b/content/common/cc_messages.h
@@ -238,6 +238,7 @@
   IPC_STRUCT_TRAITS_MEMBER(is_clipped)
   IPC_STRUCT_TRAITS_MEMBER(opacity)
   IPC_STRUCT_TRAITS_MEMBER(blend_mode)
+  IPC_STRUCT_TRAITS_MEMBER(sorting_context_id)
 IPC_STRUCT_TRAITS_END()
 
 IPC_STRUCT_TRAITS_BEGIN(cc::TransferableResource)
diff --git a/content/common/cc_messages_unittest.cc b/content/common/cc_messages_unittest.cc
index 3d4499d..d0ceb69 100644
--- a/content/common/cc_messages_unittest.cc
+++ b/content/common/cc_messages_unittest.cc
@@ -63,6 +63,7 @@
     EXPECT_EQ(a->is_clipped, b->is_clipped);
     EXPECT_EQ(a->opacity, b->opacity);
     EXPECT_EQ(a->blend_mode, b->blend_mode);
+    EXPECT_EQ(a->sorting_context_id, b->sorting_context_id);
   }
 
   void Compare(const DrawQuad* a, const DrawQuad* b) {
@@ -247,6 +248,9 @@
   bool arbitrary_bool1 = true;
   bool arbitrary_bool2 = false;
   bool arbitrary_bool3 = true;
+  int arbitrary_context_id1 = 12;
+  int arbitrary_context_id2 = 57;
+  int arbitrary_context_id3 = -503;
   int arbitrary_int = 5;
   SkColor arbitrary_color = SkColorSetARGB(25, 36, 47, 58);
   SkXfermode::Mode arbitrary_blend_mode1 = SkXfermode::kScreen_Mode;
@@ -289,7 +293,8 @@
                            arbitrary_rect2,
                            arbitrary_bool1,
                            arbitrary_float1,
-                           arbitrary_blend_mode1);
+                           arbitrary_blend_mode1,
+                           arbitrary_context_id1);
 
   scoped_ptr<RenderPass> pass_cmp = RenderPass::Create();
   pass_cmp->SetAll(arbitrary_id,
@@ -345,7 +350,8 @@
                            arbitrary_rect3,
                            arbitrary_bool1,
                            arbitrary_float2,
-                           arbitrary_blend_mode2);
+                           arbitrary_blend_mode2,
+                           arbitrary_context_id2);
   SharedQuadState* shared_state2_cmp =
       pass_cmp->CreateAndAppendSharedQuadState();
   shared_state2_cmp->CopyFrom(shared_state2_in);
@@ -374,7 +380,8 @@
                            arbitrary_rect1,
                            arbitrary_bool1,
                            arbitrary_float3,
-                           arbitrary_blend_mode3);
+                           arbitrary_blend_mode3,
+                           arbitrary_context_id3);
   SharedQuadState* shared_state3_cmp =
       pass_cmp->CreateAndAppendSharedQuadState();
   shared_state3_cmp->CopyFrom(shared_state3_in);
@@ -553,7 +560,8 @@
                            gfx::Rect(),
                            false,
                            1.f,
-                           SkXfermode::kSrcOver_Mode);
+                           SkXfermode::kSrcOver_Mode,
+                           0);
 
   quad = CheckerboardDrawQuad::Create();
   quad->SetAll(shared_state1_in,
@@ -572,7 +580,8 @@
                            gfx::Rect(),
                            false,
                            1.f,
-                           SkXfermode::kSrcOver_Mode);
+                           SkXfermode::kSrcOver_Mode,
+                           0);
 
   SharedQuadState* shared_state3_in = pass_in->CreateAndAppendSharedQuadState();
   shared_state3_in->SetAll(gfx::Transform(),
@@ -581,7 +590,8 @@
                            gfx::Rect(),
                            false,
                            1.f,
-                           SkXfermode::kSrcOver_Mode);
+                           SkXfermode::kSrcOver_Mode,
+                           0);
 
   // The fourth SharedQuadState is used.
   SharedQuadState* shared_state4_in = pass_in->CreateAndAppendSharedQuadState();
@@ -591,7 +601,8 @@
                            gfx::Rect(),
                            false,
                            1.f,
-                           SkXfermode::kSrcOver_Mode);
+                           SkXfermode::kSrcOver_Mode,
+                           0);
 
   quad = CheckerboardDrawQuad::Create();
   quad->SetAll(shared_state4_in,
@@ -610,7 +621,8 @@
                            gfx::Rect(),
                            false,
                            1.f,
-                           SkXfermode::kSrcOver_Mode);
+                           SkXfermode::kSrcOver_Mode,
+                           0);
 
   // 5 SharedQuadStates go in.
   ASSERT_EQ(5u, pass_in->shared_quad_state_list.size());
diff --git a/content/common/content_param_traits_macros.h b/content/common/content_param_traits_macros.h
index ebb8348..42ce5b1 100644
--- a/content/common/content_param_traits_macros.h
+++ b/content/common/content_param_traits_macros.h
@@ -33,6 +33,7 @@
   IPC_STRUCT_TRAITS_MEMBER(endOffset)
   IPC_STRUCT_TRAITS_MEMBER(color)
   IPC_STRUCT_TRAITS_MEMBER(thick)
+  IPC_STRUCT_TRAITS_MEMBER(backgroundColor)
 IPC_STRUCT_TRAITS_END()
 
 #endif  // CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_
diff --git a/content/common/cursors/webcursor_ozone.cc b/content/common/cursors/webcursor_ozone.cc
index abd4cf0..fe3dbd9 100644
--- a/content/common/cursors/webcursor_ozone.cc
+++ b/content/common/cursors/webcursor_ozone.cc
@@ -7,7 +7,7 @@
 #include "third_party/WebKit/public/platform/WebCursorInfo.h"
 #include "ui/base/cursor/cursor.h"
 #include "ui/base/cursor/cursor_util.h"
-#include "ui/base/cursor/ozone/cursor_factory_ozone.h"
+#include "ui/ozone/public/cursor_factory_ozone.h"
 
 namespace content {
 
diff --git a/content/common/fileapi/file_system_util_unittest.cc b/content/common/fileapi/file_system_util_unittest.cc
index a82dc90..0e8f6f8 100644
--- a/content/common/fileapi/file_system_util_unittest.cc
+++ b/content/common/fileapi/file_system_util_unittest.cc
@@ -9,7 +9,6 @@
 #include "url/gurl.h"
 
 using fileapi::CrackIsolatedFileSystemName;
-using fileapi::FileSystemType;
 using fileapi::GetExternalFileSystemRootURIString;
 using fileapi::GetIsolatedFileSystemName;
 using fileapi::GetIsolatedFileSystemRootURIString;
@@ -24,7 +23,7 @@
 TEST_F(FileSystemUtilTest, ParseFileSystemSchemeURL) {
   GURL uri("filesystem:http://chromium.org/temporary/foo/bar");
   GURL origin_url;
-  FileSystemType type;
+  fileapi::FileSystemType type;
   base::FilePath virtual_path;
   ParseFileSystemSchemeURL(uri, &origin_url, &type, &virtual_path);
   EXPECT_EQ(GURL("http://chromium.org"), origin_url);
diff --git a/content/common/frame_messages.h b/content/common/frame_messages.h
index 6db0b9d..c6aa5a1 100644
--- a/content/common/frame_messages.h
+++ b/content/common/frame_messages.h
@@ -363,6 +363,10 @@
 IPC_MESSAGE_ROUTED1(FrameMsg_TextSurroundingSelectionRequest,
                     size_t /* max_length */)
 
+// Tells the renderer to insert a link to the specified stylesheet. This is
+// needed to support navigation transitions.
+IPC_MESSAGE_ROUTED1(FrameMsg_AddStyleSheetByURL, std::string)
+
 // -----------------------------------------------------------------------------
 // Messages sent from the renderer to the browser.
 
@@ -613,6 +617,10 @@
 IPC_MESSAGE_ROUTED1(FrameHostMsg_MediaPausedNotification,
                     int64 /* player_cookie, distinguishes instances */)
 
+// Notify browser the brand color has been changed.
+IPC_MESSAGE_ROUTED1(FrameHostMsg_DidChangeBrandColor,
+                    SkColor /* brand_color */)
+
 // Response for FrameMsg_TextSurroundingSelectionRequest, |startOffset| and
 // |endOffset| are the offsets of the selection in the returned |content|.
 IPC_MESSAGE_ROUTED3(FrameHostMsg_TextSurroundingSelectionResponse,
diff --git a/content/common/gpu/client/command_buffer_proxy_impl.cc b/content/common/gpu/client/command_buffer_proxy_impl.cc
index 44453df..4dd189c 100644
--- a/content/common/gpu/client/command_buffer_proxy_impl.cc
+++ b/content/common/gpu/client/command_buffer_proxy_impl.cc
@@ -441,15 +441,6 @@
   Send(new GpuCommandBufferMsg_SetSurfaceVisible(route_id_, visible));
 }
 
-void CommandBufferProxyImpl::SendManagedMemoryStats(
-    const gpu::ManagedMemoryStats& stats) {
-  if (last_state_.error != gpu::error::kNoError)
-    return;
-
-  Send(new GpuCommandBufferMsg_SendClientManagedMemoryStats(route_id_,
-                                                            stats));
-}
-
 bool CommandBufferProxyImpl::ProduceFrontBuffer(const gpu::Mailbox& mailbox) {
   if (last_state_.error != gpu::error::kNoError)
     return false;
diff --git a/content/common/gpu/client/command_buffer_proxy_impl.h b/content/common/gpu/client/command_buffer_proxy_impl.h
index 9f2ff4f..ca262b1 100644
--- a/content/common/gpu/client/command_buffer_proxy_impl.h
+++ b/content/common/gpu/client/command_buffer_proxy_impl.h
@@ -113,8 +113,6 @@
   virtual void SignalQuery(uint32 query,
                            const base::Closure& callback) OVERRIDE;
   virtual void SetSurfaceVisible(bool visible) OVERRIDE;
-  virtual void SendManagedMemoryStats(const gpu::ManagedMemoryStats& stats)
-      OVERRIDE;
   virtual void Echo(const base::Closure& callback) OVERRIDE;
   virtual uint32 CreateStreamTexture(uint32 texture_id) OVERRIDE;
 
diff --git a/content/common/gpu/gpu_command_buffer_stub.cc b/content/common/gpu/gpu_command_buffer_stub.cc
index 3795fa7..37f50a8 100644
--- a/content/common/gpu/gpu_command_buffer_stub.cc
+++ b/content/common/gpu/gpu_command_buffer_stub.cc
@@ -235,8 +235,6 @@
                         OnSignalSyncPoint)
     IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalQuery,
                         OnSignalQuery)
-    IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SendClientManagedMemoryStats,
-                        OnReceivedClientManagedMemoryStats)
     IPC_MESSAGE_HANDLER(
         GpuCommandBufferMsg_SetClientHasMemoryAllocationChangedCallback,
         OnSetClientHasMemoryAllocationChangedCallback)
@@ -902,15 +900,6 @@
 }
 
 
-void GpuCommandBufferStub::OnReceivedClientManagedMemoryStats(
-    const gpu::ManagedMemoryStats& stats) {
-  TRACE_EVENT0(
-      "gpu",
-      "GpuCommandBufferStub::OnReceivedClientManagedMemoryStats");
-  if (memory_manager_client_state_)
-    memory_manager_client_state_->SetManagedMemoryStats(stats);
-}
-
 void GpuCommandBufferStub::OnSetClientHasMemoryAllocationChangedCallback(
     bool has_callback) {
   TRACE_EVENT0(
diff --git a/content/common/gpu/gpu_command_buffer_stub.h b/content/common/gpu/gpu_command_buffer_stub.h
index 214cb97..f660f1d 100644
--- a/content/common/gpu/gpu_command_buffer_stub.h
+++ b/content/common/gpu/gpu_command_buffer_stub.h
@@ -197,7 +197,6 @@
   void OnSignalSyncPointAck(uint32 id);
   void OnSignalQuery(uint32 query, uint32 id);
 
-  void OnReceivedClientManagedMemoryStats(const gpu::ManagedMemoryStats& stats);
   void OnSetClientHasMemoryAllocationChangedCallback(bool has_callback);
 
   void OnRegisterGpuMemoryBuffer(int32 id,
diff --git a/content/common/gpu/gpu_memory_manager.cc b/content/common/gpu/gpu_memory_manager.cc
index 7937ea1..9a23375 100644
--- a/content/common/gpu/gpu_memory_manager.cc
+++ b/content/common/gpu/gpu_memory_manager.cc
@@ -20,7 +20,6 @@
 #include "gpu/command_buffer/common/gpu_memory_allocation.h"
 #include "gpu/command_buffer/service/gpu_switches.h"
 
-using gpu::ManagedMemoryStats;
 using gpu::MemoryAllocation;
 
 namespace content {
@@ -208,12 +207,6 @@
   ScheduleManage(visible ? kScheduleManageNow : kScheduleManageLater);
 }
 
-void GpuMemoryManager::SetClientStateManagedMemoryStats(
-    GpuMemoryManagerClientState* client_state,
-    const ManagedMemoryStats& stats) {
-  // TODO(ccameron): delete this from the full stack.
-}
-
 uint64 GpuMemoryManager::GetClientMemoryUsage(
     const GpuMemoryManagerClient* client) const {
   TrackingGroupMap::const_iterator tracking_group_it =
diff --git a/content/common/gpu/gpu_memory_manager.h b/content/common/gpu/gpu_memory_manager.h
index 83d344f..0c847e9 100644
--- a/content/common/gpu/gpu_memory_manager.h
+++ b/content/common/gpu/gpu_memory_manager.h
@@ -140,9 +140,6 @@
   // GpuMemoryManagerClientState interface
   void SetClientStateVisible(
       GpuMemoryManagerClientState* client_state, bool visible);
-  void SetClientStateManagedMemoryStats(
-      GpuMemoryManagerClientState* client_state,
-      const gpu::ManagedMemoryStats& stats);
   void OnDestroyClientState(GpuMemoryManagerClientState* client);
 
   // Add or remove a client from its clients list (visible, nonvisible, or
diff --git a/content/common/gpu/gpu_memory_manager_client.cc b/content/common/gpu/gpu_memory_manager_client.cc
index ec4a990..30d5434 100644
--- a/content/common/gpu/gpu_memory_manager_client.cc
+++ b/content/common/gpu/gpu_memory_manager_client.cc
@@ -31,9 +31,4 @@
   memory_manager_->SetClientStateVisible(this, visible);
 }
 
-void GpuMemoryManagerClientState::SetManagedMemoryStats(
-    const gpu::ManagedMemoryStats& stats) {
-  memory_manager_->SetClientStateManagedMemoryStats(this, stats);
-}
-
 }  // namespace content
diff --git a/content/common/gpu/gpu_memory_manager_client.h b/content/common/gpu/gpu_memory_manager_client.h
index ab20f41..2058e46 100644
--- a/content/common/gpu/gpu_memory_manager_client.h
+++ b/content/common/gpu/gpu_memory_manager_client.h
@@ -48,7 +48,6 @@
  public:
   ~GpuMemoryManagerClientState();
   void SetVisible(bool visible);
-  void SetManagedMemoryStats(const gpu::ManagedMemoryStats& stats);
 
  private:
   friend class GpuMemoryManager;
diff --git a/content/common/gpu/gpu_memory_manager_unittest.cc b/content/common/gpu/gpu_memory_manager_unittest.cc
index 42c3941..cf9e7cf 100644
--- a/content/common/gpu/gpu_memory_manager_unittest.cc
+++ b/content/common/gpu/gpu_memory_manager_unittest.cc
@@ -11,7 +11,6 @@
 #include "testing/gtest/include/gtest/gtest.h"
 
 using gpu::MemoryAllocation;
-using gpu::ManagedMemoryStats;
 
 #if defined(COMPILER_GCC)
 namespace BASE_HASH_NAMESPACE {
@@ -150,10 +149,6 @@
     client_state_->SetVisible(visible);
   }
 
-  void SetManagedMemoryStats(const ManagedMemoryStats& stats) {
-    client_state_->SetManagedMemoryStats(stats);
-  }
-
   uint64 BytesWhenVisible() const {
     return allocation_.bytes_limit_when_visible;
   }
@@ -206,14 +201,6 @@
     memmgr_.Manage();
   }
 
-  void SetClientStats(
-      FakeClient* client,
-      uint64 required,
-      uint64 nicetohave) {
-    client->SetManagedMemoryStats(
-        ManagedMemoryStats(required, nicetohave, 0, false));
-  }
-
   GpuMemoryManager memmgr_;
 };
 
diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h
index bd7a5d6..169270e 100644
--- a/content/common/gpu/gpu_messages.h
+++ b/content/common/gpu/gpu_messages.h
@@ -222,13 +222,6 @@
   IPC_STRUCT_TRAITS_MEMBER(priority_cutoff_when_visible)
 IPC_STRUCT_TRAITS_END()
 
-IPC_STRUCT_TRAITS_BEGIN(gpu::ManagedMemoryStats)
-  IPC_STRUCT_TRAITS_MEMBER(bytes_required)
-  IPC_STRUCT_TRAITS_MEMBER(bytes_nice_to_have)
-  IPC_STRUCT_TRAITS_MEMBER(bytes_allocated)
-  IPC_STRUCT_TRAITS_MEMBER(backbuffer_requested)
-IPC_STRUCT_TRAITS_END()
-
 IPC_STRUCT_TRAITS_BEGIN(gfx::GLSurfaceHandle)
   IPC_STRUCT_TRAITS_MEMBER(handle)
   IPC_STRUCT_TRAITS_MEMBER(transport_type)
@@ -608,11 +601,6 @@
 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_SetMemoryAllocation,
                     gpu::MemoryAllocation /* allocation */)
 
-// Sent to stub from the proxy with statistics on managed memory usage and
-// requirements.
-IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_SendClientManagedMemoryStats,
-                    gpu::ManagedMemoryStats /* stats */)
-
 // Sent to stub when proxy is assigned a memory allocation changed callback.
 IPC_MESSAGE_ROUTED1(
     GpuCommandBufferMsg_SetClientHasMemoryAllocationChangedCallback,
diff --git a/content/common/sandbox_mac.mm b/content/common/sandbox_mac.mm
index 9e508df..f4ea8d5 100644
--- a/content/common/sandbox_mac.mm
+++ b/content/common/sandbox_mac.mm
@@ -57,7 +57,6 @@
   { SANDBOX_TYPE_UTILITY,  IDR_UTILITY_SANDBOX_PROFILE },
   { SANDBOX_TYPE_GPU,      IDR_GPU_SANDBOX_PROFILE },
   { SANDBOX_TYPE_PPAPI,    IDR_PPAPI_SANDBOX_PROFILE },
-  { SANDBOX_TYPE_NPAPI,    -1 },
 };
 
 COMPILE_ASSERT(arraysize(kDefaultSandboxTypeToResourceIDMapping) == \
diff --git a/content/common/sandbox_mac_unittest_helper.mm b/content/common/sandbox_mac_unittest_helper.mm
index 5b767b5..faac7ae 100644
--- a/content/common/sandbox_mac_unittest_helper.mm
+++ b/content/common/sandbox_mac_unittest_helper.mm
@@ -56,10 +56,6 @@
   for(int i = static_cast<int>(SANDBOX_TYPE_FIRST_TYPE);
       i < SANDBOX_TYPE_AFTER_LAST_TYPE;
       ++i) {
-    // This sandbox type is not enforced using a Seatbelt policy.
-    if (i == SANDBOX_TYPE_NPAPI)
-      continue;
-
     if (!RunTestInSandbox(static_cast<SandboxType>(i),
             test_name, test_data)) {
       LOG(ERROR) << "Sandboxed test (" << test_name << ")" <<
diff --git a/content/common/sandbox_win.cc b/content/common/sandbox_win.cc
index 18b30e2..d733213 100644
--- a/content/common/sandbox_win.cc
+++ b/content/common/sandbox_win.cc
@@ -12,6 +12,7 @@
 #include "base/debug/trace_event.h"
 #include "base/file_util.h"
 #include "base/hash.h"
+#include "base/metrics/field_trial.h"
 #include "base/path_service.h"
 #include "base/process/launch.h"
 #include "base/strings/string_util.h"
@@ -28,6 +29,7 @@
 #include "sandbox/win/src/sandbox.h"
 #include "sandbox/win/src/sandbox_nt_util.h"
 #include "sandbox/win/src/win_utils.h"
+#include "ui/gfx/win/dpi.h"
 
 static sandbox::BrokerServices* g_broker_services = NULL;
 static sandbox::TargetServices* g_target_services = NULL;
@@ -564,11 +566,33 @@
 bool ShouldUseDirectWrite() {
   // If the flag is currently on, and we're on Win7 or above, we enable
   // DirectWrite. Skia does not require the additions to DirectWrite in QFE
-  // 2670838, so a Win7 check is sufficient. We do not currently attempt to
-  // support Vista, where SP2 and the Platform Update are required.
+  // 2670838, but a simple 'better than XP' check is not enough.
+  if (base::win::GetVersion() < base::win::VERSION_WIN7)
+    return false;
+
+  base::win::OSInfo::VersionNumber os_version =
+      base::win::OSInfo::GetInstance()->version_number();
+  if ((os_version.major == 6) && (os_version.minor == 1)) {
+    // We can't use DirectWrite for pre-release versions of Windows 7.
+    if (os_version.build < 7600)
+      return false;
+  }
+
+  // If forced off, don't use it.
   const CommandLine& command_line = *CommandLine::ForCurrentProcess();
-  return !command_line.HasSwitch(switches::kDisableDirectWrite) &&
-         base::win::GetVersion() >= base::win::VERSION_WIN7;
+  if (command_line.HasSwitch(switches::kDisableDirectWrite))
+    return false;
+
+#if !defined(NACL_WIN64)
+  // Can't use GDI on HiDPI.
+  if (gfx::GetDPIScale() > 1.0f)
+    return true;
+#endif
+
+  // Otherwise, check the field trial.
+  const std::string group_name =
+      base::FieldTrialList::FindFullName("DirectWrite");
+  return group_name != "Disabled";
 }
 
 base::ProcessHandle StartSandboxedProcess(
diff --git a/content/common_aidl.target.darwin-arm.mk b/content/common_aidl.target.darwin-arm.mk
index da8ffb8..a88d3b7 100644
--- a/content/common_aidl.target.darwin-arm.mk
+++ b/content/common_aidl.target.darwin-arm.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -114,6 +114,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.darwin-arm64.mk b/content/common_aidl.target.darwin-arm64.mk
index 26c7fc0..30ae269 100644
--- a/content/common_aidl.target.darwin-arm64.mk
+++ b/content/common_aidl.target.darwin-arm64.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.darwin-mips.mk b/content/common_aidl.target.darwin-mips.mk
index 279da5b..21a47d0 100644
--- a/content/common_aidl.target.darwin-mips.mk
+++ b/content/common_aidl.target.darwin-mips.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -200,6 +201,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.darwin-x86.mk b/content/common_aidl.target.darwin-x86.mk
index d8afe8e..225bd5b 100644
--- a/content/common_aidl.target.darwin-x86.mk
+++ b/content/common_aidl.target.darwin-x86.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -109,6 +109,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -201,6 +202,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.darwin-x86_64.mk b/content/common_aidl.target.darwin-x86_64.mk
index e823059..ac910d0 100644
--- a/content/common_aidl.target.darwin-x86_64.mk
+++ b/content/common_aidl.target.darwin-x86_64.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/darwin/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/darwin/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -199,6 +200,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.linux-arm.mk b/content/common_aidl.target.linux-arm.mk
index 917b2f9..f582122 100644
--- a/content/common_aidl.target.linux-arm.mk
+++ b/content/common_aidl.target.linux-arm.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -114,6 +114,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.linux-arm64.mk b/content/common_aidl.target.linux-arm64.mk
index 59a00e5..4ec270b 100644
--- a/content/common_aidl.target.linux-arm64.mk
+++ b/content/common_aidl.target.linux-arm64.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.linux-mips.mk b/content/common_aidl.target.linux-mips.mk
index aef621d..2489649 100644
--- a/content/common_aidl.target.linux-mips.mk
+++ b/content/common_aidl.target.linux-mips.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -200,6 +201,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.linux-x86.mk b/content/common_aidl.target.linux-x86.mk
index 43030c2..863a5f6 100644
--- a/content/common_aidl.target.linux-x86.mk
+++ b/content/common_aidl.target.linux-x86.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -109,6 +109,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -201,6 +202,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/common_aidl.target.linux-x86_64.mk b/content/common_aidl.target.linux-x86_64.mk
index 8d9bfa8..3404b55 100644
--- a/content/common_aidl.target.linux-x86_64.mk
+++ b/content/common_aidl.target.linux-x86_64.mk
@@ -16,13 +16,13 @@
 
 
 ### Generated for rule "content_content_gyp_common_aidl_target_compile_aidl":
-# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
+# "{'inputs': ['$(PWD)/prebuilts/sdk/18/framework.aidl', 'public/android/java/src/org/chromium/content/common/common.aidl', 'public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java', 'public/android/java/src/org/chromium/content/app/ContentApplication.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java', 'public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java', 'public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java', 'public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/browser/BindingManager.java', 'public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java', 'public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/DownloadInfo.java', 'public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/JavascriptInterface.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/NavigationClient.java', 'public/android/java/src/org/chromium/content/browser/NavigationEntry.java', 'public/android/java/src/org/chromium/content/browser/PepperPluginManager.java', 'public/android/java/src/org/chromium/content/browser/PopupZoomer.java', 'public/android/java/src/org/chromium/content/browser/PositionObserver.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ResourceExtractor.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java', 'public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java', 'public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPicker.java', 'public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPicker.java', 'public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopup.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java', 'public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/CursorController.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java', 'public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java', 'public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java', 'public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java', 'public/android/java/src/org/chromium/content/browser/input/GamepadList.java', 'public/android/java/src/org/chromium/content/browser/input/HandleView.java', 'public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java', 'public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DeviceUtils.java', 'public/android/java/src/org/chromium/content/browser/NavigationHistory.java', 'public/android/java/src/org/chromium/content/browser/RenderCoordinates.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentViewClient.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/ContentView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/common/CleanupReference.java', 'public/android/java/src/org/chromium/content/common/ContentSwitches.java', 'public/android/java/src/org/chromium/content/common/SurfaceWrapper.java', 'public/android/java/src/org/chromium/content_public/Referrer.java', 'public/android/java/src/org/chromium/content_public/browser/NavigationController.java', 'public/android/java/src/org/chromium/content_public/browser/WebContents.java', 'public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java'], 'extension': 'aidl', 'rule_sources': ['public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl'], 'rule_name': 'compile_aidl', 'outputs': ['$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java'], 'action': ['$(PWD)/prebuilts/sdk/tools/linux/aidl', '-p$(PWD)/prebuilts/sdk/18/framework.aidl', '-ppublic/android/java/src/org/chromium/content/common/common.aidl', '-Ipublic/android/java/src', '$(RULE_SOURCES)', '$(gyp_shared_intermediate_dir)/common_aidl/aidl/%(INPUT_ROOT)s.java']}":
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_local_path := $(LOCAL_PATH)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_var_prefix := $(GYP_VAR_PREFIX)
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessCallback.java"
 
 
@@ -31,7 +31,7 @@
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
 $(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
-$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(GYP_TARGET_DEPENDENCIES)
+$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl $(PWD)/prebuilts/sdk/18/framework.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/common.aidl $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentApplication.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ContentMain.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService0.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService1.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService10.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService11.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService12.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService2.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService3.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService4.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService5.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService6.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService7.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService8.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService9.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewLegacy.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewStatics.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DownloadInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LocationProviderFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationEntry.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SpeechRecognition.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/VibrationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ViewPositionObserver.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/AccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatBrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateDialogNormalizer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestion.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimeSuggestionListAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MonthPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/WeekPickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupItem.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ChromeDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/CursorController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/DateTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InputDialogContainer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/InsertionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/MultiFieldTimePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectPopupDropdown.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/SelectionHandleController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/TwoFieldDatePickerDialog.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadDevice.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/GamepadList.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/HandleView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationListener.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/ByteArrayGenerator.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/crypto/CipherFactory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/DeviceUtils.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/NavigationHistory.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/JellyBeanContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ActivityContentVideoViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentView.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/CleanupReference.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/common/SurfaceWrapper.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/Referrer.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/NavigationController.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content_public/browser/GestureStateListener.java $(GYP_TARGET_DEPENDENCIES)
 	mkdir -p $(gyp_shared_intermediate_dir)/common_aidl/aidl; cd $(gyp_local_path)/content; "$(PWD)/prebuilts/sdk/tools/linux/aidl" "-p$(PWD)/prebuilts/sdk/18/framework.aidl" -ppublic/android/java/src/org/chromium/content/common/common.aidl -Ipublic/android/java/src public/android/java/src/org/chromium/content/common/IChildProcessService.aidl "$(gyp_shared_intermediate_dir)/common_aidl/aidl/IChildProcessService.java"
 
 
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -199,6 +200,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content.gyp b/content/content.gyp
index cb0353a..fbd3b7d 100644
--- a/content/content.gyp
+++ b/content/content.gyp
@@ -412,6 +412,8 @@
         },
         {
           'target_name': 'content_strings_grd',
+          # The android_webview/Android.mk file depends on this target directly.
+          'android_unmangled_name': 1,
           'type': 'none',
           'variables': {
             'grd_file': '../content/public/android/java/strings/android_content_strings.grd',
diff --git a/content/content_app_both.target.darwin-arm.mk b/content/content_app_both.target.darwin-arm.mk
index f700cbf..ef3049d 100644
--- a/content/content_app_both.target.darwin-arm.mk
+++ b/content/content_app_both.target.darwin-arm.mk
@@ -102,6 +102,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -119,6 +120,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -243,6 +245,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -260,6 +263,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.darwin-arm64.mk b/content/content_app_both.target.darwin-arm64.mk
index 7e65372..2d0611f 100644
--- a/content/content_app_both.target.darwin-arm64.mk
+++ b/content/content_app_both.target.darwin-arm64.mk
@@ -92,6 +92,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -109,6 +110,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -222,6 +224,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -239,6 +242,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.darwin-mips.mk b/content/content_app_both.target.darwin-mips.mk
index a0a37aa..45b8ed9 100644
--- a/content/content_app_both.target.darwin-mips.mk
+++ b/content/content_app_both.target.darwin-mips.mk
@@ -96,6 +96,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -113,6 +114,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -231,6 +233,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -248,6 +251,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.darwin-x86.mk b/content/content_app_both.target.darwin-x86.mk
index 34dba96..08adb18 100644
--- a/content/content_app_both.target.darwin-x86.mk
+++ b/content/content_app_both.target.darwin-x86.mk
@@ -97,6 +97,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DU_USING_ICU_NAMESPACE=0' \
@@ -113,6 +114,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -231,6 +233,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DU_USING_ICU_NAMESPACE=0' \
@@ -247,6 +250,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.darwin-x86_64.mk b/content/content_app_both.target.darwin-x86_64.mk
index a2c068c..6569908 100644
--- a/content/content_app_both.target.darwin-x86_64.mk
+++ b/content/content_app_both.target.darwin-x86_64.mk
@@ -96,6 +96,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -113,6 +114,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -230,6 +232,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -247,6 +250,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.linux-arm.mk b/content/content_app_both.target.linux-arm.mk
index f700cbf..ef3049d 100644
--- a/content/content_app_both.target.linux-arm.mk
+++ b/content/content_app_both.target.linux-arm.mk
@@ -102,6 +102,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -119,6 +120,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -243,6 +245,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -260,6 +263,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.linux-arm64.mk b/content/content_app_both.target.linux-arm64.mk
index 7e65372..2d0611f 100644
--- a/content/content_app_both.target.linux-arm64.mk
+++ b/content/content_app_both.target.linux-arm64.mk
@@ -92,6 +92,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -109,6 +110,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -222,6 +224,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -239,6 +242,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.linux-mips.mk b/content/content_app_both.target.linux-mips.mk
index a0a37aa..45b8ed9 100644
--- a/content/content_app_both.target.linux-mips.mk
+++ b/content/content_app_both.target.linux-mips.mk
@@ -96,6 +96,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -113,6 +114,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -231,6 +233,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -248,6 +251,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.linux-x86.mk b/content/content_app_both.target.linux-x86.mk
index 34dba96..08adb18 100644
--- a/content/content_app_both.target.linux-x86.mk
+++ b/content/content_app_both.target.linux-x86.mk
@@ -97,6 +97,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DU_USING_ICU_NAMESPACE=0' \
@@ -113,6 +114,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -231,6 +233,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DU_USING_ICU_NAMESPACE=0' \
@@ -247,6 +250,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_app_both.target.linux-x86_64.mk b/content/content_app_both.target.linux-x86_64.mk
index a2c068c..6569908 100644
--- a/content/content_app_both.target.linux-x86_64.mk
+++ b/content/content_app_both.target.linux-x86_64.mk
@@ -96,6 +96,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -113,6 +114,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -230,6 +232,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -247,6 +250,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index 5281722..33f796f 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -1283,7 +1283,10 @@
       '<(SHARED_INTERMEDIATE_DIR)/content/browser/devtools/devtools_protocol_constants.h',
     ],
     'android_browser_sources': [
+      'browser/renderer_host/java/gin_java_bound_object.cc',
       'browser/renderer_host/java/gin_java_bound_object.h',
+      'browser/renderer_host/java/gin_java_bound_object_delegate.cc',
+      'browser/renderer_host/java/gin_java_bound_object_delegate.h',
       'browser/renderer_host/java/gin_java_method_invocation_helper.cc',
       'browser/renderer_host/java/gin_java_method_invocation_helper.h',
       'browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc',
diff --git a/content/content_browser.target.darwin-arm.mk b/content/content_browser.target.darwin-arm.mk
index ec5044e..fd0b8b7 100644
--- a/content/content_browser.target.darwin-arm.mk
+++ b/content/content_browser.target.darwin-arm.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -587,6 +589,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -603,6 +606,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -774,6 +778,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -790,6 +795,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.darwin-arm64.mk b/content/content_browser.target.darwin-arm64.mk
index 9f47ec6..fc10a3d 100644
--- a/content/content_browser.target.darwin-arm64.mk
+++ b/content/content_browser.target.darwin-arm64.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -577,6 +579,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -593,6 +596,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -753,6 +757,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -769,6 +774,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.darwin-mips.mk b/content/content_browser.target.darwin-mips.mk
index 5581c4d..73750d8 100644
--- a/content/content_browser.target.darwin-mips.mk
+++ b/content/content_browser.target.darwin-mips.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -581,6 +583,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -597,6 +600,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -762,6 +766,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -778,6 +783,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.darwin-x86.mk b/content/content_browser.target.darwin-x86.mk
index dc677de..8653900 100644
--- a/content/content_browser.target.darwin-x86.mk
+++ b/content/content_browser.target.darwin-x86.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -582,6 +584,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -597,6 +600,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -762,6 +766,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -777,6 +782,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.darwin-x86_64.mk b/content/content_browser.target.darwin-x86_64.mk
index fd557b3..0a53750 100644
--- a/content/content_browser.target.darwin-x86_64.mk
+++ b/content/content_browser.target.darwin-x86_64.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -581,6 +583,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -597,6 +600,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -761,6 +765,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -777,6 +782,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.linux-arm.mk b/content/content_browser.target.linux-arm.mk
index ec5044e..fd0b8b7 100644
--- a/content/content_browser.target.linux-arm.mk
+++ b/content/content_browser.target.linux-arm.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -587,6 +589,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -603,6 +606,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -774,6 +778,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -790,6 +795,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.linux-arm64.mk b/content/content_browser.target.linux-arm64.mk
index 9f47ec6..fc10a3d 100644
--- a/content/content_browser.target.linux-arm64.mk
+++ b/content/content_browser.target.linux-arm64.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -577,6 +579,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -593,6 +596,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -753,6 +757,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -769,6 +774,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.linux-mips.mk b/content/content_browser.target.linux-mips.mk
index 5581c4d..73750d8 100644
--- a/content/content_browser.target.linux-mips.mk
+++ b/content/content_browser.target.linux-mips.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -581,6 +583,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -597,6 +600,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -762,6 +766,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -778,6 +783,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.linux-x86.mk b/content/content_browser.target.linux-x86.mk
index dc677de..8653900 100644
--- a/content/content_browser.target.linux-x86.mk
+++ b/content/content_browser.target.linux-x86.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -582,6 +584,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -597,6 +600,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -762,6 +766,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -777,6 +782,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_browser.target.linux-x86_64.mk b/content/content_browser.target.linux-x86_64.mk
index fd557b3..0a53750 100644
--- a/content/content_browser.target.linux-x86_64.mk
+++ b/content/content_browser.target.linux-x86_64.mk
@@ -510,6 +510,8 @@
 	content/browser/renderer_host/p2p/socket_host_throttler.cc \
 	content/browser/renderer_host/p2p/socket_host_udp.cc \
 	content/browser/renderer_host/p2p/socket_dispatcher_host.cc \
+	content/browser/renderer_host/java/gin_java_bound_object.cc \
+	content/browser/renderer_host/java/gin_java_bound_object_delegate.cc \
 	content/browser/renderer_host/java/gin_java_method_invocation_helper.cc \
 	content/browser/renderer_host/java/gin_java_script_to_java_types_coercion.cc \
 	content/browser/renderer_host/java/java_bound_object.cc \
@@ -581,6 +583,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -597,6 +600,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -761,6 +765,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -777,6 +782,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.darwin-arm.mk b/content/content_child.target.darwin-arm.mk
index 0c43f59..f484226 100644
--- a/content/content_child.target.darwin-arm.mk
+++ b/content/content_child.target.darwin-arm.mk
@@ -181,6 +181,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -196,6 +197,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -339,6 +341,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -354,6 +357,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.darwin-arm64.mk b/content/content_child.target.darwin-arm64.mk
index 5549e4f..e7d66b0 100644
--- a/content/content_child.target.darwin-arm64.mk
+++ b/content/content_child.target.darwin-arm64.mk
@@ -171,6 +171,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -186,6 +187,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -318,6 +320,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -333,6 +336,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.darwin-mips.mk b/content/content_child.target.darwin-mips.mk
index 8e4186b..d0b9a7b 100644
--- a/content/content_child.target.darwin-mips.mk
+++ b/content/content_child.target.darwin-mips.mk
@@ -175,6 +175,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -190,6 +191,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -327,6 +329,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -342,6 +345,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.darwin-x86.mk b/content/content_child.target.darwin-x86.mk
index 9a2d7ab..80f2a01 100644
--- a/content/content_child.target.darwin-x86.mk
+++ b/content/content_child.target.darwin-x86.mk
@@ -176,6 +176,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -191,6 +192,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -327,6 +329,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -342,6 +345,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.darwin-x86_64.mk b/content/content_child.target.darwin-x86_64.mk
index 043c1ba..9d0038a 100644
--- a/content/content_child.target.darwin-x86_64.mk
+++ b/content/content_child.target.darwin-x86_64.mk
@@ -175,6 +175,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -190,6 +191,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -327,6 +329,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -342,6 +345,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.linux-arm.mk b/content/content_child.target.linux-arm.mk
index 0c43f59..f484226 100644
--- a/content/content_child.target.linux-arm.mk
+++ b/content/content_child.target.linux-arm.mk
@@ -181,6 +181,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -196,6 +197,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -339,6 +341,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -354,6 +357,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.linux-arm64.mk b/content/content_child.target.linux-arm64.mk
index 5549e4f..e7d66b0 100644
--- a/content/content_child.target.linux-arm64.mk
+++ b/content/content_child.target.linux-arm64.mk
@@ -171,6 +171,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -186,6 +187,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -318,6 +320,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -333,6 +336,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.linux-mips.mk b/content/content_child.target.linux-mips.mk
index 8e4186b..d0b9a7b 100644
--- a/content/content_child.target.linux-mips.mk
+++ b/content/content_child.target.linux-mips.mk
@@ -175,6 +175,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -190,6 +191,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -327,6 +329,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -342,6 +345,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.linux-x86.mk b/content/content_child.target.linux-x86.mk
index 9a2d7ab..80f2a01 100644
--- a/content/content_child.target.linux-x86.mk
+++ b/content/content_child.target.linux-x86.mk
@@ -176,6 +176,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -191,6 +192,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -327,6 +329,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -342,6 +345,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_child.target.linux-x86_64.mk b/content/content_child.target.linux-x86_64.mk
index 043c1ba..9d0038a 100644
--- a/content/content_child.target.linux-x86_64.mk
+++ b/content/content_child.target.linux-x86_64.mk
@@ -175,6 +175,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -190,6 +191,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -327,6 +329,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -342,6 +345,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.gypi b/content/content_common.gypi
index 240c001..d74a4ac 100644
--- a/content/content_common.gypi
+++ b/content/content_common.gypi
@@ -669,12 +669,6 @@
       'include_dirs': [
         '<(DEPTH)/third_party/khronos',
       ],
-      'link_settings': {
-        'libraries': [
-          '-lEGL',
-          '-lGLESv2',
-        ],
-      },
     }],
     ['target_arch != "arm" and chromeos == 1 and use_x11 == 1', {
       'sources': [
@@ -804,5 +798,10 @@
     }, {
       'defines': ['USE_SECCOMP_BPF'],
     }],
+    ['use_ozone==1', {
+      'dependencies': [
+        '../ui/ozone/ozone.gyp:ozone',
+      ],
+    }],
   ],
 }
diff --git a/content/content_common.target.darwin-arm.mk b/content/content_common.target.darwin-arm.mk
index 73fece6..25026d9 100644
--- a/content/content_common.target.darwin-arm.mk
+++ b/content/content_common.target.darwin-arm.mk
@@ -248,6 +248,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -265,6 +266,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -426,6 +428,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -443,6 +446,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.darwin-arm64.mk b/content/content_common.target.darwin-arm64.mk
index 1e9baa7..077977a 100644
--- a/content/content_common.target.darwin-arm64.mk
+++ b/content/content_common.target.darwin-arm64.mk
@@ -236,6 +236,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -252,6 +253,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -402,6 +404,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -418,6 +421,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.darwin-mips.mk b/content/content_common.target.darwin-mips.mk
index 8a121f9..ba18ded 100644
--- a/content/content_common.target.darwin-mips.mk
+++ b/content/content_common.target.darwin-mips.mk
@@ -240,6 +240,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -256,6 +257,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -411,6 +413,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -427,6 +430,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.darwin-x86.mk b/content/content_common.target.darwin-x86.mk
index 15765a8..2d10452 100644
--- a/content/content_common.target.darwin-x86.mk
+++ b/content/content_common.target.darwin-x86.mk
@@ -243,6 +243,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -259,6 +260,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -414,6 +416,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -430,6 +433,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.darwin-x86_64.mk b/content/content_common.target.darwin-x86_64.mk
index a079a06..53c092a 100644
--- a/content/content_common.target.darwin-x86_64.mk
+++ b/content/content_common.target.darwin-x86_64.mk
@@ -242,6 +242,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -259,6 +260,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -413,6 +415,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -430,6 +433,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.linux-arm.mk b/content/content_common.target.linux-arm.mk
index 73fece6..25026d9 100644
--- a/content/content_common.target.linux-arm.mk
+++ b/content/content_common.target.linux-arm.mk
@@ -248,6 +248,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -265,6 +266,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -426,6 +428,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -443,6 +446,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.linux-arm64.mk b/content/content_common.target.linux-arm64.mk
index 1e9baa7..077977a 100644
--- a/content/content_common.target.linux-arm64.mk
+++ b/content/content_common.target.linux-arm64.mk
@@ -236,6 +236,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -252,6 +253,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -402,6 +404,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -418,6 +421,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.linux-mips.mk b/content/content_common.target.linux-mips.mk
index 8a121f9..ba18ded 100644
--- a/content/content_common.target.linux-mips.mk
+++ b/content/content_common.target.linux-mips.mk
@@ -240,6 +240,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -256,6 +257,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -411,6 +413,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DPOSIX_AVOID_MMAP' \
@@ -427,6 +430,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.linux-x86.mk b/content/content_common.target.linux-x86.mk
index 15765a8..2d10452 100644
--- a/content/content_common.target.linux-x86.mk
+++ b/content/content_common.target.linux-x86.mk
@@ -243,6 +243,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -259,6 +260,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -414,6 +416,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -430,6 +433,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common.target.linux-x86_64.mk b/content/content_common.target.linux-x86_64.mk
index a079a06..53c092a 100644
--- a/content/content_common.target.linux-x86_64.mk
+++ b/content/content_common.target.linux-x86_64.mk
@@ -242,6 +242,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -259,6 +260,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -413,6 +415,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_SECCOMP_BPF' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
@@ -430,6 +433,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_common_mojo_bindings.target.darwin-arm.mk b/content/content_common_mojo_bindings.target.darwin-arm.mk
index 49a3455..36d8e5a 100644
--- a/content/content_common_mojo_bindings.target.darwin-arm.mk
+++ b/content/content_common_mojo_bindings.target.darwin-arm.mk
@@ -117,6 +117,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -218,6 +219,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-arm64.mk b/content/content_common_mojo_bindings.target.darwin-arm64.mk
index 6bf8c49..66c51d2 100644
--- a/content/content_common_mojo_bindings.target.darwin-arm64.mk
+++ b/content/content_common_mojo_bindings.target.darwin-arm64.mk
@@ -107,6 +107,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -197,6 +198,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-mips.mk b/content/content_common_mojo_bindings.target.darwin-mips.mk
index 23a08b0..4df29ee 100644
--- a/content/content_common_mojo_bindings.target.darwin-mips.mk
+++ b/content/content_common_mojo_bindings.target.darwin-mips.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -206,6 +207,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-x86.mk b/content/content_common_mojo_bindings.target.darwin-x86.mk
index 15f8005..1671b82 100644
--- a/content/content_common_mojo_bindings.target.darwin-x86.mk
+++ b/content/content_common_mojo_bindings.target.darwin-x86.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -207,6 +208,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-x86_64.mk b/content/content_common_mojo_bindings.target.darwin-x86_64.mk
index 4f4d6a4..e9d2a5b 100644
--- a/content/content_common_mojo_bindings.target.darwin-x86_64.mk
+++ b/content/content_common_mojo_bindings.target.darwin-x86_64.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -205,6 +206,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-arm.mk b/content/content_common_mojo_bindings.target.linux-arm.mk
index 49a3455..36d8e5a 100644
--- a/content/content_common_mojo_bindings.target.linux-arm.mk
+++ b/content/content_common_mojo_bindings.target.linux-arm.mk
@@ -117,6 +117,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -218,6 +219,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-arm64.mk b/content/content_common_mojo_bindings.target.linux-arm64.mk
index 6bf8c49..66c51d2 100644
--- a/content/content_common_mojo_bindings.target.linux-arm64.mk
+++ b/content/content_common_mojo_bindings.target.linux-arm64.mk
@@ -107,6 +107,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -197,6 +198,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-mips.mk b/content/content_common_mojo_bindings.target.linux-mips.mk
index 23a08b0..4df29ee 100644
--- a/content/content_common_mojo_bindings.target.linux-mips.mk
+++ b/content/content_common_mojo_bindings.target.linux-mips.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -206,6 +207,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-x86.mk b/content/content_common_mojo_bindings.target.linux-x86.mk
index 15f8005..1671b82 100644
--- a/content/content_common_mojo_bindings.target.linux-x86.mk
+++ b/content/content_common_mojo_bindings.target.linux-x86.mk
@@ -112,6 +112,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -207,6 +208,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-x86_64.mk b/content/content_common_mojo_bindings.target.linux-x86_64.mk
index 4f4d6a4..e9d2a5b 100644
--- a/content/content_common_mojo_bindings.target.linux-x86_64.mk
+++ b/content/content_common_mojo_bindings.target.linux-x86_64.mk
@@ -111,6 +111,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -205,6 +206,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_gamepad_mapping.target.darwin-arm.mk b/content/content_gamepad_mapping.target.darwin-arm.mk
index b7aca7e..3c47137 100644
--- a/content/content_gamepad_mapping.target.darwin-arm.mk
+++ b/content/content_gamepad_mapping.target.darwin-arm.mk
@@ -114,6 +114,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.darwin-arm64.mk b/content/content_gamepad_mapping.target.darwin-arm64.mk
index 90343f3..0804e7b 100644
--- a/content/content_gamepad_mapping.target.darwin-arm64.mk
+++ b/content/content_gamepad_mapping.target.darwin-arm64.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.darwin-mips.mk b/content/content_gamepad_mapping.target.darwin-mips.mk
index 38e1641..711eb82 100644
--- a/content/content_gamepad_mapping.target.darwin-mips.mk
+++ b/content/content_gamepad_mapping.target.darwin-mips.mk
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -200,6 +201,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.darwin-x86.mk b/content/content_gamepad_mapping.target.darwin-x86.mk
index 09409cd..63dfc3c 100644
--- a/content/content_gamepad_mapping.target.darwin-x86.mk
+++ b/content/content_gamepad_mapping.target.darwin-x86.mk
@@ -109,6 +109,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -201,6 +202,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.darwin-x86_64.mk b/content/content_gamepad_mapping.target.darwin-x86_64.mk
index 6adaa08..3109dee 100644
--- a/content/content_gamepad_mapping.target.darwin-x86_64.mk
+++ b/content/content_gamepad_mapping.target.darwin-x86_64.mk
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -199,6 +200,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.linux-arm.mk b/content/content_gamepad_mapping.target.linux-arm.mk
index b7aca7e..3c47137 100644
--- a/content/content_gamepad_mapping.target.linux-arm.mk
+++ b/content/content_gamepad_mapping.target.linux-arm.mk
@@ -114,6 +114,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -212,6 +213,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.linux-arm64.mk b/content/content_gamepad_mapping.target.linux-arm64.mk
index 90343f3..0804e7b 100644
--- a/content/content_gamepad_mapping.target.linux-arm64.mk
+++ b/content/content_gamepad_mapping.target.linux-arm64.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.linux-mips.mk b/content/content_gamepad_mapping.target.linux-mips.mk
index 38e1641..711eb82 100644
--- a/content/content_gamepad_mapping.target.linux-mips.mk
+++ b/content/content_gamepad_mapping.target.linux-mips.mk
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -200,6 +201,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.linux-x86.mk b/content/content_gamepad_mapping.target.linux-x86.mk
index 09409cd..63dfc3c 100644
--- a/content/content_gamepad_mapping.target.linux-x86.mk
+++ b/content/content_gamepad_mapping.target.linux-x86.mk
@@ -109,6 +109,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -201,6 +202,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gamepad_mapping.target.linux-x86_64.mk b/content/content_gamepad_mapping.target.linux-x86_64.mk
index 6adaa08..3109dee 100644
--- a/content/content_gamepad_mapping.target.linux-x86_64.mk
+++ b/content/content_gamepad_mapping.target.linux-x86_64.mk
@@ -108,6 +108,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -199,6 +200,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gpu.target.darwin-arm.mk b/content/content_gpu.target.darwin-arm.mk
index b16a5f6..50082d8 100644
--- a/content/content_gpu.target.darwin-arm.mk
+++ b/content/content_gpu.target.darwin-arm.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -114,6 +115,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -238,6 +240,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -253,6 +256,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.darwin-arm64.mk b/content/content_gpu.target.darwin-arm64.mk
index fdcd8b0..2cc7cb1 100644
--- a/content/content_gpu.target.darwin-arm64.mk
+++ b/content/content_gpu.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -104,6 +105,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -217,6 +219,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -232,6 +235,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.darwin-mips.mk b/content/content_gpu.target.darwin-mips.mk
index 9a6506a..e01e1a0 100644
--- a/content/content_gpu.target.darwin-mips.mk
+++ b/content/content_gpu.target.darwin-mips.mk
@@ -93,6 +93,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -108,6 +109,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -226,6 +228,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -241,6 +244,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.darwin-x86.mk b/content/content_gpu.target.darwin-x86.mk
index 5b661b3..469bc42 100644
--- a/content/content_gpu.target.darwin-x86.mk
+++ b/content/content_gpu.target.darwin-x86.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -109,6 +110,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -227,6 +229,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -242,6 +245,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.darwin-x86_64.mk b/content/content_gpu.target.darwin-x86_64.mk
index 3458675..7f0fecb 100644
--- a/content/content_gpu.target.darwin-x86_64.mk
+++ b/content/content_gpu.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -108,6 +109,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -225,6 +227,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -240,6 +243,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.linux-arm.mk b/content/content_gpu.target.linux-arm.mk
index b16a5f6..50082d8 100644
--- a/content/content_gpu.target.linux-arm.mk
+++ b/content/content_gpu.target.linux-arm.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -114,6 +115,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -238,6 +240,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -253,6 +256,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.linux-arm64.mk b/content/content_gpu.target.linux-arm64.mk
index fdcd8b0..2cc7cb1 100644
--- a/content/content_gpu.target.linux-arm64.mk
+++ b/content/content_gpu.target.linux-arm64.mk
@@ -89,6 +89,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -104,6 +105,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -217,6 +219,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -232,6 +235,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.linux-mips.mk b/content/content_gpu.target.linux-mips.mk
index 9a6506a..e01e1a0 100644
--- a/content/content_gpu.target.linux-mips.mk
+++ b/content/content_gpu.target.linux-mips.mk
@@ -93,6 +93,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -108,6 +109,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -226,6 +228,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -241,6 +244,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.linux-x86.mk b/content/content_gpu.target.linux-x86.mk
index 5b661b3..469bc42 100644
--- a/content/content_gpu.target.linux-x86.mk
+++ b/content/content_gpu.target.linux-x86.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -109,6 +110,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -227,6 +229,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -242,6 +245,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_gpu.target.linux-x86_64.mk b/content/content_gpu.target.linux-x86_64.mk
index 3458675..7f0fecb 100644
--- a/content/content_gpu.target.linux-x86_64.mk
+++ b/content/content_gpu.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -108,6 +109,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -225,6 +227,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DSK_ENABLE_INST_COUNT=0' \
@@ -240,6 +243,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_jni_headers.target.darwin-arm.mk b/content/content_jni_headers.target.darwin-arm.mk
index 251b10b..5e777d4 100644
--- a/content/content_jni_headers.target.darwin-arm.mk
+++ b/content/content_jni_headers.target.darwin-arm.mk
@@ -448,6 +448,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -546,6 +547,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.darwin-arm64.mk b/content/content_jni_headers.target.darwin-arm64.mk
index c100139..eb68844 100644
--- a/content/content_jni_headers.target.darwin-arm64.mk
+++ b/content/content_jni_headers.target.darwin-arm64.mk
@@ -438,6 +438,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -525,6 +526,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.darwin-mips.mk b/content/content_jni_headers.target.darwin-mips.mk
index e5a42ed..d0d9dfb 100644
--- a/content/content_jni_headers.target.darwin-mips.mk
+++ b/content/content_jni_headers.target.darwin-mips.mk
@@ -442,6 +442,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -534,6 +535,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.darwin-x86.mk b/content/content_jni_headers.target.darwin-x86.mk
index f5c066d..a7c181a 100644
--- a/content/content_jni_headers.target.darwin-x86.mk
+++ b/content/content_jni_headers.target.darwin-x86.mk
@@ -443,6 +443,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -535,6 +536,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.darwin-x86_64.mk b/content/content_jni_headers.target.darwin-x86_64.mk
index 0c9dc24..eb38a48 100644
--- a/content/content_jni_headers.target.darwin-x86_64.mk
+++ b/content/content_jni_headers.target.darwin-x86_64.mk
@@ -442,6 +442,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -533,6 +534,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.linux-arm.mk b/content/content_jni_headers.target.linux-arm.mk
index 251b10b..5e777d4 100644
--- a/content/content_jni_headers.target.linux-arm.mk
+++ b/content/content_jni_headers.target.linux-arm.mk
@@ -448,6 +448,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -546,6 +547,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.linux-arm64.mk b/content/content_jni_headers.target.linux-arm64.mk
index c100139..eb68844 100644
--- a/content/content_jni_headers.target.linux-arm64.mk
+++ b/content/content_jni_headers.target.linux-arm64.mk
@@ -438,6 +438,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -525,6 +526,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.linux-mips.mk b/content/content_jni_headers.target.linux-mips.mk
index e5a42ed..d0d9dfb 100644
--- a/content/content_jni_headers.target.linux-mips.mk
+++ b/content/content_jni_headers.target.linux-mips.mk
@@ -442,6 +442,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -534,6 +535,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.linux-x86.mk b/content/content_jni_headers.target.linux-x86.mk
index f5c066d..a7c181a 100644
--- a/content/content_jni_headers.target.linux-x86.mk
+++ b/content/content_jni_headers.target.linux-x86.mk
@@ -443,6 +443,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -535,6 +536,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_jni_headers.target.linux-x86_64.mk b/content/content_jni_headers.target.linux-x86_64.mk
index 0c9dc24..eb38a48 100644
--- a/content/content_jni_headers.target.linux-x86_64.mk
+++ b/content/content_jni_headers.target.linux-x86_64.mk
@@ -442,6 +442,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -533,6 +534,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_renderer.target.darwin-arm.mk b/content/content_renderer.target.darwin-arm.mk
index 08c3852..a290627 100644
--- a/content/content_renderer.target.darwin-arm.mk
+++ b/content/content_renderer.target.darwin-arm.mk
@@ -365,6 +365,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -383,6 +384,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -555,6 +557,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -573,6 +576,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.darwin-arm64.mk b/content/content_renderer.target.darwin-arm64.mk
index e89af60..5a0f344 100644
--- a/content/content_renderer.target.darwin-arm64.mk
+++ b/content/content_renderer.target.darwin-arm64.mk
@@ -355,6 +355,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -373,6 +374,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -534,6 +536,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -552,6 +555,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.darwin-mips.mk b/content/content_renderer.target.darwin-mips.mk
index a5d66c1..67b13ab 100644
--- a/content/content_renderer.target.darwin-mips.mk
+++ b/content/content_renderer.target.darwin-mips.mk
@@ -359,6 +359,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -377,6 +378,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -543,6 +545,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -561,6 +564,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.darwin-x86.mk b/content/content_renderer.target.darwin-x86.mk
index 2e15760..507a0ac 100644
--- a/content/content_renderer.target.darwin-x86.mk
+++ b/content/content_renderer.target.darwin-x86.mk
@@ -360,6 +360,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -377,6 +378,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -543,6 +545,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -560,6 +563,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.darwin-x86_64.mk b/content/content_renderer.target.darwin-x86_64.mk
index c518ab4..7b8c09d 100644
--- a/content/content_renderer.target.darwin-x86_64.mk
+++ b/content/content_renderer.target.darwin-x86_64.mk
@@ -359,6 +359,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -377,6 +378,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -542,6 +544,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -560,6 +563,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.linux-arm.mk b/content/content_renderer.target.linux-arm.mk
index 08c3852..a290627 100644
--- a/content/content_renderer.target.linux-arm.mk
+++ b/content/content_renderer.target.linux-arm.mk
@@ -365,6 +365,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -383,6 +384,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -555,6 +557,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -573,6 +576,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.linux-arm64.mk b/content/content_renderer.target.linux-arm64.mk
index e89af60..5a0f344 100644
--- a/content/content_renderer.target.linux-arm64.mk
+++ b/content/content_renderer.target.linux-arm64.mk
@@ -355,6 +355,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -373,6 +374,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -534,6 +536,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -552,6 +555,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.linux-mips.mk b/content/content_renderer.target.linux-mips.mk
index a5d66c1..67b13ab 100644
--- a/content/content_renderer.target.linux-mips.mk
+++ b/content/content_renderer.target.linux-mips.mk
@@ -359,6 +359,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -377,6 +378,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -543,6 +545,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -561,6 +564,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.linux-x86.mk b/content/content_renderer.target.linux-x86.mk
index 2e15760..507a0ac 100644
--- a/content/content_renderer.target.linux-x86.mk
+++ b/content/content_renderer.target.linux-x86.mk
@@ -360,6 +360,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -377,6 +378,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -543,6 +545,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -560,6 +563,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_renderer.target.linux-x86_64.mk b/content/content_renderer.target.linux-x86_64.mk
index c518ab4..7b8c09d 100644
--- a/content/content_renderer.target.linux-x86_64.mk
+++ b/content/content_renderer.target.linux-x86_64.mk
@@ -359,6 +359,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -377,6 +378,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
@@ -542,6 +544,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DLIBPEERCONNECTION_LIB=1' \
@@ -560,6 +563,7 @@
 	'-DSK_SUPPORT_LEGACY_N32_NAME' \
 	'-DSK_SUPPORT_LEGACY_SETCONFIG' \
 	'-DSK_IGNORE_ETC1_SUPPORT' \
+	'-DSK_IGNORE_GPU_DITHER' \
 	'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
 	'-DSK_BUILD_FOR_ANDROID' \
 	'-DSK_USE_POSIX_THREADS' \
diff --git a/content/content_strings_grd.target.darwin-arm.mk b/content/content_strings_grd.target.darwin-arm.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.darwin-arm.mk
+++ b/content/content_strings_grd.target.darwin-arm.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.darwin-arm64.mk b/content/content_strings_grd.target.darwin-arm64.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.darwin-arm64.mk
+++ b/content/content_strings_grd.target.darwin-arm64.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.darwin-mips.mk b/content/content_strings_grd.target.darwin-mips.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.darwin-mips.mk
+++ b/content/content_strings_grd.target.darwin-mips.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.darwin-x86.mk b/content/content_strings_grd.target.darwin-x86.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.darwin-x86.mk
+++ b/content/content_strings_grd.target.darwin-x86.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.darwin-x86_64.mk b/content/content_strings_grd.target.darwin-x86_64.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.darwin-x86_64.mk
+++ b/content/content_strings_grd.target.darwin-x86_64.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.linux-arm.mk b/content/content_strings_grd.target.linux-arm.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.linux-arm.mk
+++ b/content/content_strings_grd.target.linux-arm.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.linux-arm64.mk b/content/content_strings_grd.target.linux-arm64.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.linux-arm64.mk
+++ b/content/content_strings_grd.target.linux-arm64.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.linux-mips.mk b/content/content_strings_grd.target.linux-mips.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.linux-mips.mk
+++ b/content/content_strings_grd.target.linux-mips.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.linux-x86.mk b/content/content_strings_grd.target.linux-x86.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.linux-x86.mk
+++ b/content/content_strings_grd.target.linux-x86.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_strings_grd.target.linux-x86_64.mk b/content/content_strings_grd.target.linux-x86_64.mk
index 22c5ae0..f84e322 100644
--- a/content/content_strings_grd.target.linux-x86_64.mk
+++ b/content/content_strings_grd.target.linux-x86_64.mk
@@ -3,8 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := content_content_strings_grd_gyp
-LOCAL_MODULE_STEM := content_strings_grd
+LOCAL_MODULE := content_strings_grd
 LOCAL_MODULE_SUFFIX := .stamp
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
@@ -133,11 +132,7 @@
 ### Rules for final target.
 # Add target alias to "gyp_all_modules" target.
 .PHONY: gyp_all_modules
-gyp_all_modules: content_content_strings_grd_gyp
-
-# Alias gyp target name.
-.PHONY: content_strings_grd
-content_strings_grd: content_content_strings_grd_gyp
+gyp_all_modules: content_strings_grd
 
 LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
 LOCAL_UNINSTALLABLE_MODULE := true
diff --git a/content/content_tests.gypi b/content/content_tests.gypi
index f662451..d17648d 100644
--- a/content/content_tests.gypi
+++ b/content/content_tests.gypi
@@ -915,7 +915,7 @@
         }],
         ['use_ozone==1', {
           'dependencies': [
-            '../ui/gfx/ozone/gfx_ozone.gyp:gfx_ozone',
+            '../ui/ozone/ozone.gyp:ozone_base',
           ],
         }],
       ],
@@ -1102,6 +1102,8 @@
             'browser/gpu/compositor_util_browsertest.cc',
             'browser/gpu/gpu_ipc_browsertests.cc',
             'browser/indexed_db/indexed_db_browsertest.cc',
+            'browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc',
+            'browser/indexed_db/mock_browsertest_indexed_db_class_factory.h',
             'browser/loader/resource_dispatcher_host_browsertest.cc',
             'browser/media/encrypted_media_browsertest.cc',
             'browser/media/media_browsertest.cc',
diff --git a/content/content_utility.target.darwin-arm.mk b/content/content_utility.target.darwin-arm.mk
index 33a5e1d..e284e43 100644
--- a/content/content_utility.target.darwin-arm.mk
+++ b/content/content_utility.target.darwin-arm.mk
@@ -96,6 +96,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -204,6 +205,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.darwin-arm64.mk b/content/content_utility.target.darwin-arm64.mk
index dea05a3..0f45b4a 100644
--- a/content/content_utility.target.darwin-arm64.mk
+++ b/content/content_utility.target.darwin-arm64.mk
@@ -86,6 +86,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -183,6 +184,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.darwin-mips.mk b/content/content_utility.target.darwin-mips.mk
index 1d71a2e..9a06eda 100644
--- a/content/content_utility.target.darwin-mips.mk
+++ b/content/content_utility.target.darwin-mips.mk
@@ -90,6 +90,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -192,6 +193,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.darwin-x86.mk b/content/content_utility.target.darwin-x86.mk
index 0638856..af204b4 100644
--- a/content/content_utility.target.darwin-x86.mk
+++ b/content/content_utility.target.darwin-x86.mk
@@ -91,6 +91,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -193,6 +194,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.darwin-x86_64.mk b/content/content_utility.target.darwin-x86_64.mk
index e96f88a..5f839a5 100644
--- a/content/content_utility.target.darwin-x86_64.mk
+++ b/content/content_utility.target.darwin-x86_64.mk
@@ -90,6 +90,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.linux-arm.mk b/content/content_utility.target.linux-arm.mk
index 33a5e1d..e284e43 100644
--- a/content/content_utility.target.linux-arm.mk
+++ b/content/content_utility.target.linux-arm.mk
@@ -96,6 +96,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -204,6 +205,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.linux-arm64.mk b/content/content_utility.target.linux-arm64.mk
index dea05a3..0f45b4a 100644
--- a/content/content_utility.target.linux-arm64.mk
+++ b/content/content_utility.target.linux-arm64.mk
@@ -86,6 +86,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -183,6 +184,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.linux-mips.mk b/content/content_utility.target.linux-mips.mk
index 1d71a2e..9a06eda 100644
--- a/content/content_utility.target.linux-mips.mk
+++ b/content/content_utility.target.linux-mips.mk
@@ -90,6 +90,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -192,6 +193,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.linux-x86.mk b/content/content_utility.target.linux-x86.mk
index 0638856..af204b4 100644
--- a/content/content_utility.target.linux-x86.mk
+++ b/content/content_utility.target.linux-x86.mk
@@ -91,6 +91,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -193,6 +194,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/content_utility.target.linux-x86_64.mk b/content/content_utility.target.linux-x86_64.mk
index e96f88a..5f839a5 100644
--- a/content/content_utility.target.linux-x86_64.mk
+++ b/content/content_utility.target.linux-x86_64.mk
@@ -90,6 +90,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DMOJO_USE_SYSTEM_IMPL' \
 	'-DUSE_OPENSSL=1' \
diff --git a/content/gesture_event_type_java.target.darwin-arm.mk b/content/gesture_event_type_java.target.darwin-arm.mk
index 59dbed2..fb29f99 100644
--- a/content/gesture_event_type_java.target.darwin-arm.mk
+++ b/content/gesture_event_type_java.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.darwin-arm64.mk b/content/gesture_event_type_java.target.darwin-arm64.mk
index ce5fa13..5f6eeb6 100644
--- a/content/gesture_event_type_java.target.darwin-arm64.mk
+++ b/content/gesture_event_type_java.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.darwin-mips.mk b/content/gesture_event_type_java.target.darwin-mips.mk
index c3d793f..c22722d 100644
--- a/content/gesture_event_type_java.target.darwin-mips.mk
+++ b/content/gesture_event_type_java.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.darwin-x86.mk b/content/gesture_event_type_java.target.darwin-x86.mk
index a75800c..57d0ea5 100644
--- a/content/gesture_event_type_java.target.darwin-x86.mk
+++ b/content/gesture_event_type_java.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.darwin-x86_64.mk b/content/gesture_event_type_java.target.darwin-x86_64.mk
index ef1226b..b1d2567 100644
--- a/content/gesture_event_type_java.target.darwin-x86_64.mk
+++ b/content/gesture_event_type_java.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.linux-arm.mk b/content/gesture_event_type_java.target.linux-arm.mk
index 59dbed2..fb29f99 100644
--- a/content/gesture_event_type_java.target.linux-arm.mk
+++ b/content/gesture_event_type_java.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.linux-arm64.mk b/content/gesture_event_type_java.target.linux-arm64.mk
index ce5fa13..5f6eeb6 100644
--- a/content/gesture_event_type_java.target.linux-arm64.mk
+++ b/content/gesture_event_type_java.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.linux-mips.mk b/content/gesture_event_type_java.target.linux-mips.mk
index c3d793f..c22722d 100644
--- a/content/gesture_event_type_java.target.linux-mips.mk
+++ b/content/gesture_event_type_java.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.linux-x86.mk b/content/gesture_event_type_java.target.linux-x86.mk
index a75800c..57d0ea5 100644
--- a/content/gesture_event_type_java.target.linux-x86.mk
+++ b/content/gesture_event_type_java.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.linux-x86_64.mk b/content/gesture_event_type_java.target.linux-x86_64.mk
index ef1226b..b1d2567 100644
--- a/content/gesture_event_type_java.target.linux-x86_64.mk
+++ b/content/gesture_event_type_java.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc
index 74864cb..ab0636d 100644
--- a/content/gpu/gpu_child_thread.cc
+++ b/content/gpu/gpu_child_thread.cc
@@ -19,6 +19,11 @@
 #include "ipc/ipc_sync_message_filter.h"
 #include "ui/gl/gl_implementation.h"
 
+#if defined(USE_OZONE)
+#include "ui/ozone/ozone_platform.h"
+#include "ui/ozone/public/gpu_platform_support.h"
+#endif
+
 namespace content {
 namespace {
 
@@ -113,6 +118,13 @@
   if (handled)
     return true;
 
+#if defined(USE_OZONE)
+  if (ui::OzonePlatform::GetInstance()
+          ->GetGpuPlatformSupport()
+          ->OnMessageReceived(msg))
+    return true;
+#endif
+
   return gpu_channel_manager_.get() &&
       gpu_channel_manager_->OnMessageReceived(msg);
 }
@@ -152,6 +164,12 @@
                             watchdog_thread_.get(),
                             ChildProcess::current()->io_message_loop_proxy(),
                             ChildProcess::current()->GetShutDownEvent()));
+
+#if defined(USE_OZONE)
+  ui::OzonePlatform::GetInstance()
+      ->GetGpuPlatformSupport()
+      ->OnChannelEstablished(this);
+#endif
 }
 
 void GpuChildThread::StopWatchdog() {
diff --git a/content/java_set_jni_headers.target.darwin-arm.mk b/content/java_set_jni_headers.target.darwin-arm.mk
index 802e6ac..731910c 100644
--- a/content/java_set_jni_headers.target.darwin-arm.mk
+++ b/content/java_set_jni_headers.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.darwin-arm64.mk b/content/java_set_jni_headers.target.darwin-arm64.mk
index 33ada2a..2a2a310 100644
--- a/content/java_set_jni_headers.target.darwin-arm64.mk
+++ b/content/java_set_jni_headers.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.darwin-mips.mk b/content/java_set_jni_headers.target.darwin-mips.mk
index e83323d..26683be 100644
--- a/content/java_set_jni_headers.target.darwin-mips.mk
+++ b/content/java_set_jni_headers.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.darwin-x86.mk b/content/java_set_jni_headers.target.darwin-x86.mk
index 1c3cdf4..ab012f1 100644
--- a/content/java_set_jni_headers.target.darwin-x86.mk
+++ b/content/java_set_jni_headers.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.darwin-x86_64.mk b/content/java_set_jni_headers.target.darwin-x86_64.mk
index bfcf94b..f76a397 100644
--- a/content/java_set_jni_headers.target.darwin-x86_64.mk
+++ b/content/java_set_jni_headers.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.linux-arm.mk b/content/java_set_jni_headers.target.linux-arm.mk
index 802e6ac..731910c 100644
--- a/content/java_set_jni_headers.target.linux-arm.mk
+++ b/content/java_set_jni_headers.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.linux-arm64.mk b/content/java_set_jni_headers.target.linux-arm64.mk
index 33ada2a..2a2a310 100644
--- a/content/java_set_jni_headers.target.linux-arm64.mk
+++ b/content/java_set_jni_headers.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.linux-mips.mk b/content/java_set_jni_headers.target.linux-mips.mk
index e83323d..26683be 100644
--- a/content/java_set_jni_headers.target.linux-mips.mk
+++ b/content/java_set_jni_headers.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.linux-x86.mk b/content/java_set_jni_headers.target.linux-x86.mk
index 1c3cdf4..ab012f1 100644
--- a/content/java_set_jni_headers.target.linux-x86.mk
+++ b/content/java_set_jni_headers.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/java_set_jni_headers.target.linux-x86_64.mk b/content/java_set_jni_headers.target.linux-x86_64.mk
index bfcf94b..f76a397 100644
--- a/content/java_set_jni_headers.target.linux-x86_64.mk
+++ b/content/java_set_jni_headers.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.darwin-arm.mk b/content/motionevent_jni_headers.target.darwin-arm.mk
index 9f9f7a5..d17363d 100644
--- a/content/motionevent_jni_headers.target.darwin-arm.mk
+++ b/content/motionevent_jni_headers.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.darwin-arm64.mk b/content/motionevent_jni_headers.target.darwin-arm64.mk
index df2e412..53b0851 100644
--- a/content/motionevent_jni_headers.target.darwin-arm64.mk
+++ b/content/motionevent_jni_headers.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.darwin-mips.mk b/content/motionevent_jni_headers.target.darwin-mips.mk
index fe9890e..dfd69b2 100644
--- a/content/motionevent_jni_headers.target.darwin-mips.mk
+++ b/content/motionevent_jni_headers.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.darwin-x86.mk b/content/motionevent_jni_headers.target.darwin-x86.mk
index 9e941dd..2d88830 100644
--- a/content/motionevent_jni_headers.target.darwin-x86.mk
+++ b/content/motionevent_jni_headers.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.darwin-x86_64.mk b/content/motionevent_jni_headers.target.darwin-x86_64.mk
index 5810772..817bff3 100644
--- a/content/motionevent_jni_headers.target.darwin-x86_64.mk
+++ b/content/motionevent_jni_headers.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.linux-arm.mk b/content/motionevent_jni_headers.target.linux-arm.mk
index 9f9f7a5..d17363d 100644
--- a/content/motionevent_jni_headers.target.linux-arm.mk
+++ b/content/motionevent_jni_headers.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.linux-arm64.mk b/content/motionevent_jni_headers.target.linux-arm64.mk
index df2e412..53b0851 100644
--- a/content/motionevent_jni_headers.target.linux-arm64.mk
+++ b/content/motionevent_jni_headers.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.linux-mips.mk b/content/motionevent_jni_headers.target.linux-mips.mk
index fe9890e..dfd69b2 100644
--- a/content/motionevent_jni_headers.target.linux-mips.mk
+++ b/content/motionevent_jni_headers.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.linux-x86.mk b/content/motionevent_jni_headers.target.linux-x86.mk
index 9e941dd..2d88830 100644
--- a/content/motionevent_jni_headers.target.linux-x86.mk
+++ b/content/motionevent_jni_headers.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/motionevent_jni_headers.target.linux-x86_64.mk b/content/motionevent_jni_headers.target.linux-x86_64.mk
index 5810772..817bff3 100644
--- a/content/motionevent_jni_headers.target.linux-x86_64.mk
+++ b/content/motionevent_jni_headers.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.darwin-arm.mk b/content/page_transition_types_java.target.darwin-arm.mk
index 3174551..ca7007b 100644
--- a/content/page_transition_types_java.target.darwin-arm.mk
+++ b/content/page_transition_types_java.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.darwin-arm64.mk b/content/page_transition_types_java.target.darwin-arm64.mk
index 0f7969a..6a4bede 100644
--- a/content/page_transition_types_java.target.darwin-arm64.mk
+++ b/content/page_transition_types_java.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.darwin-mips.mk b/content/page_transition_types_java.target.darwin-mips.mk
index 3e07286..bd3da4d 100644
--- a/content/page_transition_types_java.target.darwin-mips.mk
+++ b/content/page_transition_types_java.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.darwin-x86.mk b/content/page_transition_types_java.target.darwin-x86.mk
index 3e72ec8..e058d61 100644
--- a/content/page_transition_types_java.target.darwin-x86.mk
+++ b/content/page_transition_types_java.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.darwin-x86_64.mk b/content/page_transition_types_java.target.darwin-x86_64.mk
index dbb0c71..9dd0fd8 100644
--- a/content/page_transition_types_java.target.darwin-x86_64.mk
+++ b/content/page_transition_types_java.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.linux-arm.mk b/content/page_transition_types_java.target.linux-arm.mk
index 3174551..ca7007b 100644
--- a/content/page_transition_types_java.target.linux-arm.mk
+++ b/content/page_transition_types_java.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.linux-arm64.mk b/content/page_transition_types_java.target.linux-arm64.mk
index 0f7969a..6a4bede 100644
--- a/content/page_transition_types_java.target.linux-arm64.mk
+++ b/content/page_transition_types_java.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.linux-mips.mk b/content/page_transition_types_java.target.linux-mips.mk
index 3e07286..bd3da4d 100644
--- a/content/page_transition_types_java.target.linux-mips.mk
+++ b/content/page_transition_types_java.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.linux-x86.mk b/content/page_transition_types_java.target.linux-x86.mk
index 3e72ec8..e058d61 100644
--- a/content/page_transition_types_java.target.linux-x86.mk
+++ b/content/page_transition_types_java.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/page_transition_types_java.target.linux-x86_64.mk b/content/page_transition_types_java.target.linux-x86_64.mk
index dbb0c71..9dd0fd8 100644
--- a/content/page_transition_types_java.target.linux-x86_64.mk
+++ b/content/page_transition_types_java.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/plugin/plugin_main_mac.mm b/content/plugin/plugin_main_mac.mm
index 557deb7..91deed8 100644
--- a/content/plugin/plugin_main_mac.mm
+++ b/content/plugin/plugin_main_mac.mm
@@ -3,14 +3,11 @@
 // found in the LICENSE file.
 
 #import <AppKit/AppKit.h>
-#include <servers/bootstrap.h>
 
 #include "base/environment.h"
-#include "base/mac/mach_logging.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/strings/string_util.h"
 #include "content/common/plugin_carbon_interpose_constants_mac.h"
-#include "content/common/sandbox_init_mac.h"
 #include "content/plugin/plugin_interpose_util_mac.h"
 #include "content/public/common/content_client.h"
 
@@ -49,27 +46,6 @@
 #endif
 
 void InitializeChromeApplication() {
-  // The bootstrap sandbox has taken over the bootstrap port. However, NPAPI
-  // plugins request servers with the BOOTSTRAP_PER_PID_SERVICE flag. This
-  // will fail, since the browser will be forwarding the message on behalf of
-  // the plugin, and the browser has already created these per-pid services
-  // for itself.
-  //
-  // Instead, request the real bootstrap port from the sandbox server, which
-  // can then be used by the plugin.
-  mach_port_t new_bootstrap_port = MACH_PORT_NULL;
-  kern_return_t kr = bootstrap_look_up(bootstrap_port,
-      kBootstrapPortNameForNPAPIPlugins, &new_bootstrap_port);
-  BOOTSTRAP_LOG_IF(ERROR, kr != KERN_SUCCESS, kr)
-      << "Failed to look up original bootstrap port.";
-  if (kr == KERN_SUCCESS) {
-    bootstrap_port = new_bootstrap_port;
-    kr = task_set_bootstrap_port(mach_task_self(), new_bootstrap_port);
-    MACH_LOG_IF(ERROR, kr != KERN_SUCCESS, kr)
-        << "Failed to reset TASK_BOOTSTRAP_PORT.";
-  }
-
-
   [NSApplication sharedApplication];
   mac_plugin_interposing::SetUpCocoaInterposing();
 }
diff --git a/content/popup_item_type_java.target.darwin-arm.mk b/content/popup_item_type_java.target.darwin-arm.mk
index 75e4120..1a7a07e 100644
--- a/content/popup_item_type_java.target.darwin-arm.mk
+++ b/content/popup_item_type_java.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.darwin-arm64.mk b/content/popup_item_type_java.target.darwin-arm64.mk
index d9a57e6..35d9ccc 100644
--- a/content/popup_item_type_java.target.darwin-arm64.mk
+++ b/content/popup_item_type_java.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.darwin-mips.mk b/content/popup_item_type_java.target.darwin-mips.mk
index e2d0ef1..003a148 100644
--- a/content/popup_item_type_java.target.darwin-mips.mk
+++ b/content/popup_item_type_java.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.darwin-x86.mk b/content/popup_item_type_java.target.darwin-x86.mk
index 270f749..dad3ac2 100644
--- a/content/popup_item_type_java.target.darwin-x86.mk
+++ b/content/popup_item_type_java.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.darwin-x86_64.mk b/content/popup_item_type_java.target.darwin-x86_64.mk
index cc57c21..bef3d18 100644
--- a/content/popup_item_type_java.target.darwin-x86_64.mk
+++ b/content/popup_item_type_java.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.linux-arm.mk b/content/popup_item_type_java.target.linux-arm.mk
index 75e4120..1a7a07e 100644
--- a/content/popup_item_type_java.target.linux-arm.mk
+++ b/content/popup_item_type_java.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.linux-arm64.mk b/content/popup_item_type_java.target.linux-arm64.mk
index d9a57e6..35d9ccc 100644
--- a/content/popup_item_type_java.target.linux-arm64.mk
+++ b/content/popup_item_type_java.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.linux-mips.mk b/content/popup_item_type_java.target.linux-mips.mk
index e2d0ef1..003a148 100644
--- a/content/popup_item_type_java.target.linux-mips.mk
+++ b/content/popup_item_type_java.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.linux-x86.mk b/content/popup_item_type_java.target.linux-x86.mk
index 270f749..dad3ac2 100644
--- a/content/popup_item_type_java.target.linux-x86.mk
+++ b/content/popup_item_type_java.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/popup_item_type_java.target.linux-x86_64.mk b/content/popup_item_type_java.target.linux-x86_64.mk
index cc57c21..bef3d18 100644
--- a/content/popup_item_type_java.target.linux-x86_64.mk
+++ b/content/popup_item_type_java.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/public/android/java/res/drawable/bubble.9.png b/content/public/android/java/res/drawable-mdpi/bubble.9.png
similarity index 100%
rename from content/public/android/java/res/drawable/bubble.9.png
rename to content/public/android/java/res/drawable-mdpi/bubble.9.png
Binary files differ
diff --git a/content/public/android/java/res/drawable/bubble_arrow_up.png b/content/public/android/java/res/drawable-mdpi/bubble_arrow_up.png
similarity index 100%
rename from content/public/android/java/res/drawable/bubble_arrow_up.png
rename to content/public/android/java/res/drawable-mdpi/bubble_arrow_up.png
Binary files differ
diff --git a/content/public/android/java/res/drawable/ic_menu_search_holo_light.png b/content/public/android/java/res/drawable-mdpi/ic_menu_search_holo_light.png
similarity index 100%
rename from content/public/android/java/res/drawable/ic_menu_search_holo_light.png
rename to content/public/android/java/res/drawable-mdpi/ic_menu_search_holo_light.png
Binary files differ
diff --git a/content/public/android/java/res/drawable/ic_menu_share_holo_light.png b/content/public/android/java/res/drawable-mdpi/ic_menu_share_holo_light.png
similarity index 100%
rename from content/public/android/java/res/drawable/ic_menu_share_holo_light.png
rename to content/public/android/java/res/drawable-mdpi/ic_menu_share_holo_light.png
Binary files differ
diff --git a/content/public/android/java/res/drawable/ondemand_overlay.9.png b/content/public/android/java/res/drawable-mdpi/ondemand_overlay.9.png
similarity index 100%
rename from content/public/android/java/res/drawable/ondemand_overlay.9.png
rename to content/public/android/java/res/drawable-mdpi/ondemand_overlay.9.png
Binary files differ
diff --git a/content/public/android/java/res/drawable/pageinfo_warning_major.png b/content/public/android/java/res/drawable-mdpi/pageinfo_warning_major.png
similarity index 100%
rename from content/public/android/java/res/drawable/pageinfo_warning_major.png
rename to content/public/android/java/res/drawable-mdpi/pageinfo_warning_major.png
Binary files differ
diff --git a/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java b/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java
index c7fb259..e0846cb 100644
--- a/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java
+++ b/content/public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java
@@ -9,6 +9,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.os.BatteryManager;
+import android.os.Build;
 import android.util.Log;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -88,24 +89,44 @@
            return;
        }
 
+       boolean present = ignoreBatteryPresentState() ?
+               true : intent.getBooleanExtra(BatteryManager.EXTRA_PRESENT, false);
+
+       if (!present) {
+           // No battery, return default values.
+           gotBatteryStatus(true, 0, Double.POSITIVE_INFINITY, 1);
+           return;
+       }
+
        int current = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
        int max = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
        double level = (double)current / (double)max;
+       if (level < 0 || level > 1) {
+           // Sanity check, assume default value in this case.
+           level = 1.0;
+       }
 
        int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
-       // by default assume a battery is present
-       boolean present = intent.getBooleanExtra(BatteryManager.EXTRA_PRESENT, true);
-       boolean charging = (present && status == BatteryManager.BATTERY_STATUS_DISCHARGING)
-               ? false : true;
+       boolean charging = !(status == BatteryManager.BATTERY_STATUS_DISCHARGING);
 
-       //TODO(timvolodine) : add proper projection for chargingTime, dischargingTime.
-       double chargingTime = (!present || status == BatteryManager.BATTERY_STATUS_FULL)
-               ? 0 : Double.POSITIVE_INFINITY;
+       // TODO(timvolodine) : add proper projection for chargingTime, dischargingTime.
+       double chargingTime = (status == BatteryManager.BATTERY_STATUS_FULL) ?
+               0 : Double.POSITIVE_INFINITY;
        double dischargingTime = Double.POSITIVE_INFINITY;
 
        gotBatteryStatus(charging, chargingTime, dischargingTime, level);
     }
 
+    /**
+     * Returns whether the BatteryStatusManager should ignore the battery present state.
+     * It is required for some devices that incorrectly set the EXTRA_PRESENT property.
+     */
+    protected boolean ignoreBatteryPresentState() {
+        // BatteryManager.EXTRA_PRESENT appears to be unreliable on Galaxy Nexus,
+        // Android 4.2.1, it always reports false. See crbug.com/384348.
+        return Build.MODEL.equals("Galaxy Nexus");
+    }
+
     protected void gotBatteryStatus(boolean charging, double chargingTime,
             double dischargingTime, double level) {
         synchronized (mNativePtrLock) {
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentView.java b/content/public/android/java/src/org/chromium/content/browser/ContentView.java
index d479be6..d1c8d0e 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentView.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentView.java
@@ -29,8 +29,6 @@
 
     protected final ContentViewCore mContentViewCore;
 
-    private final int[] mLocationInWindow = new int[2];
-
     /**
      * Creates an instance of a ContentView.
      * @param context The Context the view is running in, through which it can
@@ -81,15 +79,6 @@
     }
 
     @Override
-    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
-        super.onLayout(changed, left, top, right, bottom);
-        if (changed) {
-            getLocationInWindow(mLocationInWindow);
-            mContentViewCore.onLocationInWindowChanged(mLocationInWindow[0], mLocationInWindow[1]);
-        }
-    }
-
-    @Override
     public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
         return mContentViewCore.onCreateInputConnection(outAttrs);
     }
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 50044ae..7f6d364 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
@@ -257,8 +257,6 @@
     private int mOverdrawBottomHeightPix;
     private int mViewportSizeOffsetWidthPix;
     private int mViewportSizeOffsetHeightPix;
-    private int mLocationInWindowX;
-    private int mLocationInWindowY;
 
     // Cached copy of all positions and scales as reported by the renderer.
     private final RenderCoordinates mRenderCoordinates;
@@ -1297,6 +1295,14 @@
         }
     }
 
+    /**
+     * Requests the renderer insert a link to the specified stylesheet in the
+     * main frame's document.
+     */
+    void addStyleSheetByURL(String url) {
+        nativeAddStyleSheetByURL(mNativeContentViewCore, url);
+    }
+
     /** Callback interface for evaluateJavaScript(). */
     public interface JavaScriptCallback {
         void handleJavaScriptResult(String jsonResult);
@@ -1494,15 +1500,6 @@
     }
 
     /**
-     * Called when the ContentView's position in the activity window changed. This information is
-     * used for cropping screenshots.
-     */
-    public void onLocationInWindowChanged(int x, int y) {
-        mLocationInWindowX = x;
-        mLocationInWindowY = y;
-    }
-
-    /**
      * Called when the underlying surface the compositor draws to changes size.
      * This may be larger than the viewport size.
      */
@@ -2996,16 +2993,6 @@
     }
 
     @CalledByNative
-    private int getLocationInWindowX() {
-        return mLocationInWindowX;
-    }
-
-    @CalledByNative
-    private int getLocationInWindowY() {
-        return mLocationInWindowY;
-    }
-
-    @CalledByNative
     private static Rect createRect(int x, int y, int right, int bottom) {
         return new Rect(x, y, right, bottom);
     }
@@ -3196,6 +3183,9 @@
 
     private native void nativeClearHistory(long nativeContentViewCoreImpl);
 
+    private native void nativeAddStyleSheetByURL(long nativeContentViewCoreImpl,
+            String stylesheetUrl);
+
     private native void nativeEvaluateJavaScript(long nativeContentViewCoreImpl,
             String script, JavaScriptCallback callback, boolean startRenderer);
 
diff --git a/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java b/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java
index b497d90..73a9f59 100644
--- a/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java
+++ b/content/public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java
@@ -6,6 +6,8 @@
 
 import org.chromium.base.CalledByNative;
 import org.chromium.base.JNINamespace;
+import org.chromium.base.ThreadUtils;
+import org.chromium.content_public.browser.WebContents;
 
 /**
  * This class receives callbacks that act as hooks for various a native web contents events related
@@ -15,8 +17,14 @@
 public abstract class WebContentsObserverAndroid {
     private long mNativeWebContentsObserverAndroid;
 
+    // TODO(yfriedman): Switch everyone to use the WebContents constructor.
     public WebContentsObserverAndroid(ContentViewCore contentViewCore) {
-        mNativeWebContentsObserverAndroid = nativeInit(contentViewCore.getNativeContentViewCore());
+        this(contentViewCore.getWebContents());
+    }
+
+    public WebContentsObserverAndroid(WebContents webContents) {
+        ThreadUtils.assertOnUiThread();
+        mNativeWebContentsObserverAndroid = nativeInit(webContents);
     }
 
     @CalledByNative
@@ -165,6 +173,6 @@
         }
     }
 
-    private native long nativeInit(long contentViewCorePtr);
+    private native long nativeInit(WebContents webContents);
     private native void nativeDestroy(long nativeWebContentsObserverAndroid);
 }
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 f2ae829..9352f37 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
@@ -216,8 +216,7 @@
         if (maybePerformEmptyCompositionWorkaround(text)) return true;
         super.setComposingText(text, newCursorPosition);
         updateSelectionIfRequired();
-        return mImeAdapter.checkCompositionQueueAndCallNative(text.toString(),
-                newCursorPosition, false);
+        return mImeAdapter.checkCompositionQueueAndCallNative(text, newCursorPosition, false);
     }
 
     /**
@@ -229,8 +228,8 @@
         if (maybePerformEmptyCompositionWorkaround(text)) return true;
         super.commitText(text, newCursorPosition);
         updateSelectionIfRequired();
-        return mImeAdapter.checkCompositionQueueAndCallNative(text.toString(),
-                newCursorPosition, text.length() > 0);
+        return mImeAdapter.checkCompositionQueueAndCallNative(text, newCursorPosition,
+                text.length() > 0);
     }
 
     /**
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 cffc903..1126a80 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
@@ -8,6 +8,10 @@
 import android.os.ResultReceiver;
 import android.os.SystemClock;
 import android.text.Editable;
+import android.text.SpannableString;
+import android.text.style.BackgroundColorSpan;
+import android.text.style.CharacterStyle;
+import android.text.style.UnderlineSpan;
 import android.view.KeyCharacterMap;
 import android.view.KeyEvent;
 import android.view.View;
@@ -15,6 +19,8 @@
 
 import com.google.common.annotations.VisibleForTesting;
 
+import java.lang.CharSequence;
+
 import org.chromium.base.CalledByNative;
 import org.chromium.base.JNINamespace;
 
@@ -325,14 +331,15 @@
 
     // Calls from Java to C++
 
-    boolean checkCompositionQueueAndCallNative(String text, int newCursorPosition,
+    boolean checkCompositionQueueAndCallNative(CharSequence text, int newCursorPosition,
             boolean isCommit) {
         if (mNativeImeAdapterAndroid == 0) return false;
+        String textStr = text.toString();
 
         // Committing an empty string finishes the current composition.
-        boolean isFinish = text.isEmpty();
+        boolean isFinish = textStr.isEmpty();
         mViewEmbedder.onImeEvent(isFinish);
-        int keyCode = shouldSendKeyEventWithKeyCode(text);
+        int keyCode = shouldSendKeyEventWithKeyCode(textStr);
         long timeStampMs = SystemClock.uptimeMillis();
 
         if (keyCode != COMPOSITION_KEY_CODE) {
@@ -342,9 +349,9 @@
             nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, sEventTypeRawKeyDown,
                     timeStampMs, keyCode, 0);
             if (isCommit) {
-                nativeCommitText(mNativeImeAdapterAndroid, text);
+                nativeCommitText(mNativeImeAdapterAndroid, textStr);
             } else {
-                nativeSetComposingText(mNativeImeAdapterAndroid, text, newCursorPosition);
+                nativeSetComposingText(mNativeImeAdapterAndroid, text, textStr, newCursorPosition);
             }
             nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, sEventTypeKeyUp,
                     timeStampMs, keyCode, 0);
@@ -517,6 +524,25 @@
     }
 
     @CalledByNative
+    private void populateUnderlinesFromSpans(CharSequence text, long underlines) {
+        if (!(text instanceof SpannableString)) return;
+
+        SpannableString spannableString = ((SpannableString) text);
+        CharacterStyle spans[] =
+                spannableString.getSpans(0, text.length(), CharacterStyle.class);
+        for (CharacterStyle span : spans) {
+            if (span instanceof BackgroundColorSpan) {
+                nativeAppendBackgroundColorSpan(underlines, spannableString.getSpanStart(span),
+                        spannableString.getSpanEnd(span),
+                        ((BackgroundColorSpan) span).getBackgroundColor());
+            } else if (span instanceof UnderlineSpan) {
+                nativeAppendUnderlineSpan(underlines, spannableString.getSpanStart(span),
+                        spannableString.getSpanEnd(span));
+            }
+        }
+    }
+
+    @CalledByNative
     private void cancelComposition() {
         if (mInputConnection != null) mInputConnection.restartInput();
     }
@@ -535,10 +561,15 @@
             int action, int modifiers, long timestampMs, int keyCode, boolean isSystemKey,
             int unicodeChar);
 
-    private native void nativeSetComposingText(long nativeImeAdapterAndroid, String text,
-            int newCursorPosition);
+    private static native void nativeAppendUnderlineSpan(long underlinePtr, int start, int end);
 
-    private native void nativeCommitText(long nativeImeAdapterAndroid, String text);
+    private static native void nativeAppendBackgroundColorSpan(long underlinePtr, int start,
+            int end, int backgroundColor);
+
+    private native void nativeSetComposingText(long nativeImeAdapterAndroid, CharSequence text,
+            String textStr, int newCursorPosition);
+
+    private native void nativeCommitText(long nativeImeAdapterAndroid, String textStr);
 
     private native void nativeFinishComposingText(long nativeImeAdapterAndroid);
 
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java b/content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java
index a82e6f4..d1b6cc8 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java
@@ -28,6 +28,7 @@
     @SmallTest
     public void testOnReceiveBatteryDischarging() {
         Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
+        intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
         intent.putExtra(BatteryManager.EXTRA_LEVEL, 10);
         intent.putExtra(BatteryManager.EXTRA_SCALE, 100);
         intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_DISCHARGING);
@@ -42,6 +43,7 @@
     @SmallTest
     public void testOnReceiveBatteryCharging() {
         Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
+        intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
         intent.putExtra(BatteryManager.EXTRA_LEVEL, 50);
         intent.putExtra(BatteryManager.EXTRA_SCALE, 100);
         intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
@@ -56,6 +58,7 @@
     @SmallTest
     public void testOnReceiveBatteryFull() {
         Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
+        intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
         intent.putExtra(BatteryManager.EXTRA_LEVEL, 100);
         intent.putExtra(BatteryManager.EXTRA_SCALE, 100);
         intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_FULL);
@@ -114,6 +117,11 @@
         }
 
         @Override
+        protected boolean ignoreBatteryPresentState() {
+            return false;
+        }
+
+        @Override
         protected void gotBatteryStatus(boolean charging, double chargingTime,
                 double dischargingTime, double level) {
             mCharging = charging;
diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn
index 9289ec9..05cb6f1 100644
--- a/content/public/browser/BUILD.gn
+++ b/content/public/browser/BUILD.gn
@@ -33,4 +33,7 @@
     "//content/browser",
     "//skia",
   ]
+
+  # We expose skia headers in the public API.
+  forward_dependent_configs_from = [ "//skia" ]
 }
diff --git a/content/public/browser/android/content_view_core.h b/content/public/browser/android/content_view_core.h
index 1501985..cf620c0 100644
--- a/content/public/browser/android/content_view_core.h
+++ b/content/public/browser/android/content_view_core.h
@@ -68,6 +68,13 @@
       const gfx::Vector2dF& scroll_offset,
       float page_scale_factor)> UpdateFrameInfoCallback;
 
+  // Text surrounding selection.
+  virtual void RequestTextSurroundingSelection(
+      int max_length,
+      const base::Callback<void(const base::string16& content,
+                                int start_offset,
+                                int end_offset)>& callback) = 0;
+
  protected:
   virtual ~ContentViewCore() {};
 };
diff --git a/content/public/browser/browser_plugin_guest_delegate.h b/content/public/browser/browser_plugin_guest_delegate.h
index 24dc3a8..7abd737 100644
--- a/content/public/browser/browser_plugin_guest_delegate.h
+++ b/content/public/browser/browser_plugin_guest_delegate.h
@@ -27,8 +27,13 @@
  public:
   virtual ~BrowserPluginGuestDelegate() {}
 
+  // Notification that the embedder will begin attachment. This is called
+  // prior to resuming resource loads.
+  virtual void WillAttach(content::WebContents* embedder_web_contents,
+                          const base::DictionaryValue& extra_params) {}
+
   // Notification that the embedder has completed attachment.
-  virtual void DidAttach(const base::DictionaryValue& extra_params) {}
+  virtual void DidAttach() {}
 
   // Notifies that the content size of the guest has changed in autosize mode.
   virtual void SizeChanged(const gfx::Size& old_size,
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 3305e5f..e8da55e 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -324,7 +324,9 @@
   return false;
 }
 
-bool ContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs() {
+bool ContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs(
+    BrowserContext* browser_context,
+    const GURL& url) {
   return false;
 }
 
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index d29b30e..d355596 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -159,16 +159,6 @@
       BrowserPluginGuestDelegate** guest_delegate,
       scoped_ptr<base::DictionaryValue> extra_params) {}
 
-  // Notifies that a guest WebContents has been attached to a BrowserPlugin.
-  // A guest is attached to a BrowserPlugin when the guest has acquired an
-  // embedder WebContents. This happens on initial navigation or when a new
-  // window is attached to a BrowserPlugin. |extra_params| are params sent
-  // from javascript.
-  virtual void GuestWebContentsAttached(
-      WebContents* guest_web_contents,
-      WebContents* embedder_web_contents,
-      const base::DictionaryValue& extra_params) {}
-
   // Notifies that a render process will be created. This is called before
   // the content layer adds its own BrowserMessageFilters, so that the
   // embedder's IPC filters have priority.
@@ -641,7 +631,9 @@
       const GURL& url);
 
   // Returns true if dev channel APIs are available for plugins.
-  virtual bool IsPluginAllowedToUseDevChannelAPIs();
+  virtual bool IsPluginAllowedToUseDevChannelAPIs(
+      BrowserContext* browser_context,
+      const GURL& url);
 
   // Returns a special cookie store to use for a given render process, or NULL
   // if the default cookie store should be used
diff --git a/content/public/browser/plugin_service.h b/content/public/browser/plugin_service.h
index 4cf5f98..696800f 100644
--- a/content/public/browser/plugin_service.h
+++ b/content/public/browser/plugin_service.h
@@ -161,7 +161,8 @@
 #endif
 
   // Returns true iff PPAPI "dev channel" methods are supported.
-  virtual bool PpapiDevChannelSupported() = 0;
+  virtual bool PpapiDevChannelSupported(BrowserContext* browser_context,
+                                        const GURL& document_url) = 0;
 };
 
 }  // namespace content
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
index 4f600ac..c946b02 100644
--- a/content/public/browser/web_contents_observer.h
+++ b/content/public/browser/web_contents_observer.h
@@ -13,6 +13,7 @@
 #include "content/public/common/page_transition_types.h"
 #include "ipc/ipc_listener.h"
 #include "ipc/ipc_sender.h"
+#include "third_party/skia/include/core/SkColor.h"
 #include "ui/base/window_open_disposition.h"
 
 namespace content {
@@ -328,6 +329,9 @@
   virtual void AccessibilityEventReceived(
       const std::vector<AXEventNotificationDetails>& details) {}
 
+  // Invoked when brand color is changed to |brand_color|.
+  virtual void DidChangeBrandColor(SkColor brand_color) {}
+
   // Invoked if an IPC message is coming from a specific RenderFrameHost.
   virtual bool OnMessageReceived(const IPC::Message& message,
                                  RenderFrameHost* render_frame_host);
diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc
index 5973fc0..f10bed1 100644
--- a/content/public/common/content_switches.cc
+++ b/content/public/common/content_switches.cc
@@ -604,6 +604,10 @@
 // Run the GPU process as a thread in the browser process.
 const char kInProcessGPU[]                  = "in-process-gpu";
 
+// Overrides the timeout, in seconds, that a child process waits for a
+// connection from the browser before killing itself.
+const char kIPCConnectionTimeout[]          = "ipc-connection-timeout";
+
 // Specifies the flags passed to JS engine
 const char kJavaScriptFlags[]               = "js-flags";
 
diff --git a/content/public/common/content_switches.h b/content/public/common/content_switches.h
index f763e20..6b7042a 100644
--- a/content/public/common/content_switches.h
+++ b/content/public/common/content_switches.h
@@ -172,6 +172,7 @@
 CONTENT_EXPORT extern const char kIgnoreCertificateErrors[];
 CONTENT_EXPORT extern const char kIgnoreGpuBlacklist[];
 extern const char kInProcessGPU[];
+CONTENT_EXPORT extern const char kIPCConnectionTimeout[];
 CONTENT_EXPORT extern const char kJavaScriptFlags[];
 extern const char kLoadPlugin[];
 CONTENT_EXPORT extern const char kLogGpuControlListDecisions[];
diff --git a/content/public/common/sandbox_type_mac.h b/content/public/common/sandbox_type_mac.h
index 4121ae4..4c7faaa 100644
--- a/content/public/common/sandbox_type_mac.h
+++ b/content/public/common/sandbox_type_mac.h
@@ -34,10 +34,6 @@
   // The PPAPI plugin process.
   SANDBOX_TYPE_PPAPI,
 
-  // The NPAPI plugin process. This does not use a Seatbelt/.sb sandbox policy,
-  // but it uses a bootstrap sandbox.
-  SANDBOX_TYPE_NPAPI,
-
   SANDBOX_TYPE_AFTER_LAST_TYPE,  // Placeholder to ease iteration.
 };
 
diff --git a/content/public/renderer/BUILD.gn b/content/public/renderer/BUILD.gn
index 7e0bd4f..4140205 100644
--- a/content/public/renderer/BUILD.gn
+++ b/content/public/renderer/BUILD.gn
@@ -12,13 +12,13 @@
   configs += [
     "//content:content_implementation",
     "//content:libjingle_stub_config",
-    "//content:widevine_stub_config",
   ]
 
   deps = [
     "//content/renderer",
     "//skia",
     "//third_party/WebKit/public:blink_headers",
+    "//third_party/widevine/cdm:version_h",
     "//v8",
   ]
 
diff --git a/content/public/renderer/renderer_gamepad_provider.h b/content/public/renderer/renderer_gamepad_provider.h
new file mode 100644
index 0000000..ba6ec9f
--- /dev/null
+++ b/content/public/renderer/renderer_gamepad_provider.h
@@ -0,0 +1,30 @@
+// 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 CONTENT_GAMEPAD_RENDERER_PROVIDER_H_
+#define CONTENT_GAMEPAD_RENDERER_PROVIDER_H_
+
+namespace blink {
+class WebGamepadListener;
+class WebGamepads;
+}
+
+namespace content {
+
+// Provides gamepad data and events for blink.
+class RendererGamepadProvider {
+ public:
+  // Provides latest snapshot of gamepads.
+  virtual void SampleGamepads(blink::WebGamepads& gamepads) = 0;
+
+  // Registers listener for be notified of events.
+  virtual void SetGamepadListener(blink::WebGamepadListener* listener) = 0;
+
+ protected:
+  virtual ~RendererGamepadProvider() {}
+};
+
+} // namespace content
+
+#endif
diff --git a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestCallbackHelperContainer.java b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestCallbackHelperContainer.java
index f02ba51..1fb05e7 100644
--- a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestCallbackHelperContainer.java
+++ b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestCallbackHelperContainer.java
@@ -5,6 +5,7 @@
 package org.chromium.content.browser.test.util;
 
 
+import org.chromium.base.ThreadUtils;
 import org.chromium.content.browser.ContentViewCore;
 
 import java.util.concurrent.TimeUnit;
@@ -15,12 +16,20 @@
  */
 public class TestCallbackHelperContainer {
     private final TestContentViewClient mTestContentViewClient;
-    private final TestWebContentsObserver mTestWebContentsObserver;
+    private TestWebContentsObserver mTestWebContentsObserver;
 
-    public TestCallbackHelperContainer(ContentViewCore contentViewCore) {
+    public TestCallbackHelperContainer(final ContentViewCore contentViewCore) {
         mTestContentViewClient = new TestContentViewClient();
         contentViewCore.setContentViewClient(mTestContentViewClient);
-        mTestWebContentsObserver = new TestWebContentsObserver(contentViewCore);
+        // TODO(yfriedman): Change callers to be executed on the UI thread. Unfortunately this is
+        // super convenient as the caller is nearly always on the test thread which is fine to block
+        // and it's cumbersome to keep bouncing to the UI thread.
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                mTestWebContentsObserver = new TestWebContentsObserver(contentViewCore);
+            }
+        });
     }
 
     protected TestCallbackHelperContainer(
diff --git a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestWebContentsObserver.java b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestWebContentsObserver.java
index 1e25a92..5872be1 100644
--- a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestWebContentsObserver.java
+++ b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestWebContentsObserver.java
@@ -9,6 +9,7 @@
 import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnPageFinishedHelper;
 import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnPageStartedHelper;
 import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnReceivedErrorHelper;
+import org.chromium.content_public.browser.WebContents;
 
 /**
  * The default WebContentsObserverAndroid used by ContentView tests. The below callbacks can be
@@ -16,12 +17,17 @@
  */
 public class TestWebContentsObserver extends WebContentsObserverAndroid {
 
-    private OnPageStartedHelper mOnPageStartedHelper;
-    private OnPageFinishedHelper mOnPageFinishedHelper;
-    private OnReceivedErrorHelper mOnReceivedErrorHelper;
+    private final OnPageStartedHelper mOnPageStartedHelper;
+    private final OnPageFinishedHelper mOnPageFinishedHelper;
+    private final OnReceivedErrorHelper mOnReceivedErrorHelper;
 
+    // TODO(yfriedman): Switch everyone to use the WebContents constructor.
     public TestWebContentsObserver(ContentViewCore contentViewCore) {
-        super(contentViewCore);
+        this(contentViewCore.getWebContents());
+    }
+
+    public TestWebContentsObserver(WebContents webContents) {
+        super(webContents);
         mOnPageStartedHelper = new OnPageStartedHelper();
         mOnPageFinishedHelper = new OnPageFinishedHelper();
         mOnReceivedErrorHelper = new OnReceivedErrorHelper();
diff --git a/content/public/test/browser_test_base.cc b/content/public/test/browser_test_base.cc
index c8f23e5..cbeedb1 100644
--- a/content/public/test/browser_test_base.cc
+++ b/content/public/test/browser_test_base.cc
@@ -9,7 +9,9 @@
 #include "base/debug/stack_trace.h"
 #include "base/i18n/icu_util.h"
 #include "base/message_loop/message_loop.h"
+#include "base/strings/string_number_conversions.h"
 #include "base/sys_info.h"
+#include "base/test/test_timeouts.h"
 #include "content/public/app/content_main.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
 #include "content/public/browser/browser_thread.h"
@@ -157,6 +159,12 @@
 void BrowserTestBase::SetUp() {
   CommandLine* command_line = CommandLine::ForCurrentProcess();
 
+  // Override the child process connection timeout since tests can exceed that
+  // when sharded.
+  command_line->AppendSwitchASCII(
+      switches::kIPCConnectionTimeout,
+      base::IntToString(TestTimeouts::action_max_timeout().InSeconds()));
+
   // The tests assume that file:// URIs can freely access other file:// URIs.
   command_line->AppendSwitch(switches::kAllowFileAccessFromFiles);
 
diff --git a/content/public/test/content_browser_test.cc b/content/public/test/content_browser_test.cc
index 73fc7ca..aa4c44a 100644
--- a/content/public/test/content_browser_test.cc
+++ b/content/public/test/content_browser_test.cc
@@ -104,7 +104,7 @@
   BrowserTestBase::TearDown();
 
   // LinuxInputMethodContextFactory has to be shutdown.
-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(USE_X11)
+#if !defined(OS_CHROMEOS) && defined(OS_LINUX)
   ui::ShutdownInputMethodForTesting();
 #endif
 
diff --git a/content/public/test/layouttest_support.h b/content/public/test/layouttest_support.h
index f374bdd..db751c8 100644
--- a/content/public/test/layouttest_support.h
+++ b/content/public/test/layouttest_support.h
@@ -26,6 +26,7 @@
 
 class PageState;
 class RenderFrame;
+class RendererGamepadProvider;
 class RenderView;
 class WebTestProxyBase;
 
@@ -44,15 +45,8 @@
 void EnableWebTestProxyCreation(
     const base::Callback<void(RenderView*, WebTestProxyBase*)>& callback);
 
-// Sets the WebGamepads that should be returned by
-// WebKitPlatformSupport::sampleGamepads().
-void SetMockGamepads(const blink::WebGamepads& pads);
-
-// Notifies blink about a new gamepad.
-void MockGamepadConnected(int index, const blink::WebGamepad& pad);
-
-// Notifies blink that a gamepad has been disconnected.
-void MockGamepadDisconnected(int index, const blink::WebGamepad& pad);
+// Sets gamepad provider to be used for layout tests.
+void SetMockGamepadProvider(RendererGamepadProvider* provider);
 
 // Sets WebDeviceMotionData that should be used when registering
 // a listener through WebKitPlatformSupport::setDeviceMotionListener().
diff --git a/content/public/test/sandbox_file_system_test_helper.cc b/content/public/test/sandbox_file_system_test_helper.cc
index 96c47ce..e0bb59f 100644
--- a/content/public/test/sandbox_file_system_test_helper.cc
+++ b/content/public/test/sandbox_file_system_test_helper.cc
@@ -23,13 +23,13 @@
 using fileapi::FileSystemContext;
 using fileapi::FileSystemOperationContext;
 using fileapi::FileSystemOperationRunner;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 
 namespace content {
 
 SandboxFileSystemTestHelper::SandboxFileSystemTestHelper(
-    const GURL& origin, FileSystemType type)
+    const GURL& origin,
+    fileapi::FileSystemType type)
     : origin_(origin), type_(type), file_util_(NULL) {
 }
 
diff --git a/content/public/test/test_file_system_backend.cc b/content/public/test/test_file_system_backend.cc
index 8c37a9e..aa14959 100644
--- a/content/public/test/test_file_system_backend.cc
+++ b/content/public/test/test_file_system_backend.cc
@@ -26,7 +26,6 @@
 using fileapi::FileSystemContext;
 using fileapi::FileSystemOperation;
 using fileapi::FileSystemOperationContext;
-using fileapi::FileSystemType;
 using fileapi::FileSystemURL;
 
 namespace content {
@@ -71,27 +70,27 @@
       FileSystemContext* context,
       quota::QuotaManagerProxy* proxy,
       const GURL& origin_url,
-      FileSystemType type) OVERRIDE {
+      fileapi::FileSystemType type) OVERRIDE {
     NOTREACHED();
     return base::File::FILE_OK;
   }
 
   virtual scoped_refptr<fileapi::QuotaReservation>
-      CreateQuotaReservationOnFileTaskRunner(
-          const GURL& origin_url,
-          FileSystemType type) OVERRIDE {
+  CreateQuotaReservationOnFileTaskRunner(
+      const GURL& origin_url,
+      fileapi::FileSystemType type) OVERRIDE {
     NOTREACHED();
     return scoped_refptr<fileapi::QuotaReservation>();
   }
 
   virtual void GetOriginsForTypeOnFileTaskRunner(
-      FileSystemType type,
+      fileapi::FileSystemType type,
       std::set<GURL>* origins) OVERRIDE {
     NOTREACHED();
   }
 
   virtual void GetOriginsForHostOnFileTaskRunner(
-      FileSystemType type,
+      fileapi::FileSystemType type,
       const std::string& host,
       std::set<GURL>* origins) OVERRIDE {
     NOTREACHED();
@@ -100,43 +99,43 @@
   virtual int64 GetOriginUsageOnFileTaskRunner(
       FileSystemContext* context,
       const GURL& origin_url,
-      FileSystemType type) OVERRIDE {
+      fileapi::FileSystemType type) OVERRIDE {
     return usage_;
   }
 
   virtual void AddFileUpdateObserver(
-      FileSystemType type,
+      fileapi::FileSystemType type,
       FileUpdateObserver* observer,
       base::SequencedTaskRunner* task_runner) OVERRIDE {
     NOTIMPLEMENTED();
   }
 
   virtual void AddFileChangeObserver(
-      FileSystemType type,
+      fileapi::FileSystemType type,
       fileapi::FileChangeObserver* observer,
       base::SequencedTaskRunner* task_runner) OVERRIDE {
     change_observers_ = change_observers_.AddObserver(observer, task_runner);
   }
 
   virtual void AddFileAccessObserver(
-      FileSystemType type,
+      fileapi::FileSystemType type,
       fileapi::FileAccessObserver* observer,
       base::SequencedTaskRunner* task_runner) OVERRIDE {
     NOTIMPLEMENTED();
   }
 
   virtual const fileapi::UpdateObserverList* GetUpdateObservers(
-      FileSystemType type) const OVERRIDE {
+      fileapi::FileSystemType type) const OVERRIDE {
     return &update_observers_;
   }
 
   virtual const fileapi::ChangeObserverList* GetChangeObservers(
-      FileSystemType type) const OVERRIDE {
+      fileapi::FileSystemType type) const OVERRIDE {
     return &change_observers_;
   }
 
   virtual const fileapi::AccessObserverList* GetAccessObservers(
-      FileSystemType type) const OVERRIDE {
+      fileapi::FileSystemType type) const OVERRIDE {
     return NULL;
   }
 
@@ -171,7 +170,7 @@
 TestFileSystemBackend::~TestFileSystemBackend() {
 }
 
-bool TestFileSystemBackend::CanHandleType(FileSystemType type) const {
+bool TestFileSystemBackend::CanHandleType(fileapi::FileSystemType type) const {
   return (type == fileapi::kFileSystemTypeTest);
 }
 
@@ -187,13 +186,14 @@
 }
 
 fileapi::AsyncFileUtil* TestFileSystemBackend::GetAsyncFileUtil(
-    FileSystemType type) {
+    fileapi::FileSystemType type) {
   return file_util_.get();
 }
 
 fileapi::CopyOrMoveFileValidatorFactory*
 TestFileSystemBackend::GetCopyOrMoveFileValidatorFactory(
-    FileSystemType type, base::File::Error* error_code) {
+    fileapi::FileSystemType type,
+    base::File::Error* error_code) {
   DCHECK(error_code);
   *error_code = base::File::FILE_OK;
   if (require_copy_or_move_validator_) {
@@ -253,7 +253,7 @@
 }
 
 const fileapi::UpdateObserverList* TestFileSystemBackend::GetUpdateObservers(
-    FileSystemType type) const {
+    fileapi::FileSystemType type) const {
   return quota_util_->GetUpdateObservers(type);
 }
 
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
index d675a1e..4dde197 100644
--- a/content/renderer/BUILD.gn
+++ b/content/renderer/BUILD.gn
@@ -16,7 +16,6 @@
   configs += [
     "//content:content_implementation",
     "//content:libjingle_stub_config",
-    "//content:widevine_stub_config",
   ]
 
   deps = [
@@ -28,6 +27,7 @@
     "//content:resources",
     "//content/common:mojo_bindings",
     "//gin",
+    "//mojo/environment:chromium",
     "//mojo/public/js/bindings",
     "//mojo/public/interfaces/service_provider",
     "//net",
@@ -35,6 +35,7 @@
     "//third_party/icu",
     "//third_party/npapi",
     "//third_party/WebKit/public:blink_headers",
+    "//third_party/widevine/cdm:version_h",
     "//ui/accessibility",
     "//ui/events:dom4_keycode_converter",
     "//ui/native_theme",
@@ -47,10 +48,8 @@
     # TODO(GYP)
     #'../jingle/jingle.gyp:jingle_glue',
     #'../media/media.gyp:media',
-    #'../mojo/mojo.gyp:mojo_environment_chromium',
     #'../third_party/WebKit/public/blink.gyp:blink',
     #'../third_party/libjingle/libjingle.gyp:libjingle',
-    #'../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
   ]
 
   if (!enable_notifications) {
diff --git a/content/renderer/child_frame_compositing_helper.cc b/content/renderer/child_frame_compositing_helper.cc
index fee5ab7..8790ae2 100644
--- a/content/renderer/child_frame_compositing_helper.cc
+++ b/content/renderer/child_frame_compositing_helper.cc
@@ -20,6 +20,7 @@
 #include "content/renderer/browser_plugin/browser_plugin_manager.h"
 #include "content/renderer/compositor_bindings/web_layer_impl.h"
 #include "content/renderer/render_frame_impl.h"
+#include "content/renderer/render_frame_proxy.h"
 #include "content/renderer/render_thread_impl.h"
 #include "skia/ext/image_operations.h"
 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
@@ -48,16 +49,17 @@
 ChildFrameCompositingHelper*
 ChildFrameCompositingHelper::CreateCompositingHelperForRenderFrame(
     blink::WebFrame* frame,
-    RenderFrameImpl* render_frame,
+    RenderFrameProxy* render_frame_proxy,
     int host_routing_id) {
   return new ChildFrameCompositingHelper(
-      base::WeakPtr<BrowserPlugin>(), frame, render_frame, host_routing_id);
+      base::WeakPtr<BrowserPlugin>(), frame, render_frame_proxy,
+      host_routing_id);
 }
 
 ChildFrameCompositingHelper::ChildFrameCompositingHelper(
     const base::WeakPtr<BrowserPlugin>& browser_plugin,
     blink::WebFrame* frame,
-    RenderFrameImpl* render_frame,
+    RenderFrameProxy* render_frame_proxy,
     int host_routing_id)
     : host_routing_id_(host_routing_id),
       last_route_id_(0),
@@ -68,7 +70,7 @@
       software_ack_pending_(false),
       opaque_(true),
       browser_plugin_(browser_plugin),
-      render_frame_(render_frame),
+      render_frame_proxy_(render_frame_proxy),
       frame_(frame) {}
 
 ChildFrameCompositingHelper::~ChildFrameCompositingHelper() {}
@@ -102,8 +104,8 @@
     GetBrowserPluginManager()->Send(
         new BrowserPluginHostMsg_CompositorFrameSwappedACK(
             host_routing_id_, GetInstanceID(), params));
-  } else if (render_frame_) {
-    render_frame_->Send(
+  } else if (render_frame_proxy_) {
+    render_frame_proxy_->Send(
         new FrameHostMsg_CompositorFrameSwappedACK(host_routing_id_, params));
   }
 }
@@ -115,8 +117,8 @@
   if (GetBrowserPluginManager()) {
     GetBrowserPluginManager()->Send(new BrowserPluginHostMsg_BuffersSwappedACK(
         host_routing_id_, params));
-  } else if (render_frame_) {
-    render_frame_->Send(
+  } else if (render_frame_proxy_) {
+    render_frame_proxy_->Send(
         new FrameHostMsg_BuffersSwappedACK(host_routing_id_, params));
   }
 }
@@ -129,8 +131,8 @@
     GetBrowserPluginManager()->Send(
         new BrowserPluginHostMsg_ReclaimCompositorResources(
             host_routing_id_, GetInstanceID(), params));
-  } else if (render_frame_) {
-    render_frame_->Send(
+  } else if (render_frame_proxy_) {
+    render_frame_proxy_->Send(
         new FrameHostMsg_ReclaimCompositorResources(host_routing_id_, params));
   }
 }
diff --git a/content/renderer/child_frame_compositing_helper.h b/content/renderer/child_frame_compositing_helper.h
index c33083e..d66ae3f 100644
--- a/content/renderer/child_frame_compositing_helper.h
+++ b/content/renderer/child_frame_compositing_helper.h
@@ -50,7 +50,7 @@
 
 class BrowserPlugin;
 class BrowserPluginManager;
-class RenderFrameImpl;
+class RenderFrameProxy;
 
 class CONTENT_EXPORT ChildFrameCompositingHelper
     : public base::RefCounted<ChildFrameCompositingHelper>,
@@ -60,7 +60,7 @@
       const base::WeakPtr<BrowserPlugin>& browser_plugin);
   static ChildFrameCompositingHelper* CreateCompositingHelperForRenderFrame(
       blink::WebFrame* frame,
-      RenderFrameImpl* render_frame,
+      RenderFrameProxy* render_frame_proxy,
       int host_routing_id);
 
   void CopyFromCompositingSurface(int request_id,
@@ -94,7 +94,7 @@
   ChildFrameCompositingHelper(
       const base::WeakPtr<BrowserPlugin>& browser_plugin,
       blink::WebFrame* frame,
-      RenderFrameImpl* render_frame,
+      RenderFrameProxy* render_frame_proxy,
       int host_routing_id);
 
   enum SwapBuffersType {
@@ -157,7 +157,7 @@
   // other member objects, as they may access this pointer during their
   // destruction.
   base::WeakPtr<BrowserPlugin> browser_plugin_;
-  RenderFrameImpl* render_frame_;
+  RenderFrameProxy* render_frame_proxy_;
 
   scoped_refptr<cc::DelegatedFrameResourceCollection> resource_collection_;
   scoped_refptr<cc::DelegatedFrameProvider> frame_provider_;
diff --git a/content/renderer/compositor_bindings/web_layer_impl.cc b/content/renderer/compositor_bindings/web_layer_impl.cc
index a575412..1dde06b 100644
--- a/content/renderer/compositor_bindings/web_layer_impl.cc
+++ b/content/renderer/compositor_bindings/web_layer_impl.cc
@@ -212,7 +212,7 @@
 }
 
 void WebLayerImpl::setRenderingContext(int context) {
-  layer_->SetIs3dSorted(context != 0);
+  layer_->Set3dSortingContextId(context);
 }
 
 void WebLayerImpl::setUseParentBackfaceVisibility(
diff --git a/content/renderer/devtools/devtools_agent.cc b/content/renderer/devtools/devtools_agent.cc
index c10a790..5ba456b 100644
--- a/content/renderer/devtools/devtools_agent.cc
+++ b/content/renderer/devtools/devtools_agent.cc
@@ -121,10 +121,6 @@
                                                          message.utf8()));
 }
 
-int DevToolsAgent::hostIdentifier() {
-  return routing_id();
-}
-
 int DevToolsAgent::debuggerId() {
   return routing_id();
 }
diff --git a/content/renderer/devtools/devtools_agent.h b/content/renderer/devtools/devtools_agent.h
index 3dee087..67c08d8 100644
--- a/content/renderer/devtools/devtools_agent.h
+++ b/content/renderer/devtools/devtools_agent.h
@@ -50,7 +50,6 @@
   // WebDevToolsAgentClient implementation
   virtual void sendMessageToInspectorFrontend(const blink::WebString& data);
 
-  virtual int hostIdentifier() OVERRIDE;
   virtual int debuggerId() OVERRIDE;
   virtual void saveAgentRuntimeState(const blink::WebString& state) OVERRIDE;
   virtual blink::WebDevToolsAgentClient::WebKitClientMessageLoop*
diff --git a/content/renderer/gamepad_shared_memory_reader.cc b/content/renderer/gamepad_shared_memory_reader.cc
index 3bfe0d0..e74f025 100644
--- a/content/renderer/gamepad_shared_memory_reader.cc
+++ b/content/renderer/gamepad_shared_memory_reader.cc
@@ -6,19 +6,22 @@
 
 #include "base/debug/trace_event.h"
 #include "base/metrics/histogram.h"
+#include "content/common/gamepad_hardware_buffer.h"
 #include "content/common/gamepad_user_gesture.h"
 #include "content/public/renderer/render_thread.h"
-#include "content/common/gamepad_hardware_buffer.h"
+#include "content/renderer/renderer_webkitplatformsupport_impl.h"
 #include "ipc/ipc_sync_message_filter.h"
 #include "third_party/WebKit/public/platform/WebGamepadListener.h"
 
 namespace content {
 
-GamepadSharedMemoryReader::GamepadSharedMemoryReader()
+GamepadSharedMemoryReader::GamepadSharedMemoryReader(
+    RendererWebKitPlatformSupportImpl* webkit_platform_support)
     : gamepad_hardware_buffer_(NULL),
       gamepad_listener_(NULL),
       is_polling_(false),
       ever_interacted_with_(false) {
+  webkit_platform_support->set_gamepad_provider(this);
 }
 
 void GamepadSharedMemoryReader::StartPollingIfNecessary() {
diff --git a/content/renderer/gamepad_shared_memory_reader.h b/content/renderer/gamepad_shared_memory_reader.h
index 3846176..eb63867 100644
--- a/content/renderer/gamepad_shared_memory_reader.h
+++ b/content/renderer/gamepad_shared_memory_reader.h
@@ -9,21 +9,27 @@
 #include "base/memory/shared_memory.h"
 #include "content/common/gamepad_messages.h"
 #include "content/public/renderer/render_process_observer.h"
+#include "content/public/renderer/renderer_gamepad_provider.h"
 #include "third_party/WebKit/public/platform/WebGamepads.h"
 
-namespace blink { class WebGamepadListener; }
-
 namespace content {
 
 struct GamepadHardwareBuffer;
+class RendererWebKitPlatformSupportImpl;
 
-class GamepadSharedMemoryReader : public RenderProcessObserver {
+class GamepadSharedMemoryReader
+    : public RenderProcessObserver,
+      public RendererGamepadProvider {
  public:
-  GamepadSharedMemoryReader();
+  GamepadSharedMemoryReader(
+      RendererWebKitPlatformSupportImpl* webkit_platform_support);
   virtual ~GamepadSharedMemoryReader();
 
-  void SampleGamepads(blink::WebGamepads& gamepads);
-  void SetGamepadListener(blink::WebGamepadListener* listener);
+  // RendererGamepadProvider implementation.
+  virtual void SampleGamepads(
+      blink::WebGamepads& gamepads) OVERRIDE;
+  virtual void SetGamepadListener(
+      blink::WebGamepadListener* listener) OVERRIDE;
 
   // RenderProcessObserver implementation.
   virtual bool OnControlMessageReceived(const IPC::Message& message) OVERRIDE;
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
index fe393c7..4bea594 100644
--- a/content/renderer/gpu/render_widget_compositor.cc
+++ b/content/renderer/gpu/render_widget_compositor.cc
@@ -709,8 +709,4 @@
   provider->ContextGL()->RateLimitOffscreenContextCHROMIUM();
 }
 
-bool RenderWidgetCompositor::usesGpuRasterization() {
-  return layer_tree_host_->UseGpuRasterization();
-}
-
 }  // namespace content
diff --git a/content/renderer/gpu/render_widget_compositor.h b/content/renderer/gpu/render_widget_compositor.h
index d973c20..4160df2 100644
--- a/content/renderer/gpu/render_widget_compositor.h
+++ b/content/renderer/gpu/render_widget_compositor.h
@@ -120,7 +120,6 @@
   virtual void setShowDebugBorders(bool show);
   virtual void setContinuousPaintingEnabled(bool enabled);
   virtual void setShowScrollBottleneckRects(bool show);
-  virtual bool usesGpuRasterization() OVERRIDE;
 
   // cc::LayerTreeHostClient implementation.
   virtual void WillBeginMainFrame(int frame_id) OVERRIDE;
diff --git a/content/renderer/java/gin_java_bridge_dispatcher.cc b/content/renderer/java/gin_java_bridge_dispatcher.cc
index bacc23c..88d502e 100644
--- a/content/renderer/java/gin_java_bridge_dispatcher.cc
+++ b/content/renderer/java/gin_java_bridge_dispatcher.cc
@@ -15,7 +15,8 @@
 namespace content {
 
 GinJavaBridgeDispatcher::GinJavaBridgeDispatcher(RenderFrame* render_frame)
-    : RenderFrameObserver(render_frame) {
+    : RenderFrameObserver(render_frame),
+      inside_did_clear_window_object_(false) {
 }
 
 GinJavaBridgeDispatcher::~GinJavaBridgeDispatcher() {
@@ -31,7 +32,32 @@
   return handled;
 }
 
+namespace {
+
+class ScopedFlag {
+ public:
+  ScopedFlag(bool* flag) : flag_(flag) {
+    DCHECK(!*flag_);
+    *flag_ = true;
+  }
+  ~ScopedFlag() {
+    DCHECK(*flag_);
+    *flag_ = false;
+  }
+ private:
+  bool* flag_;
+
+  DISALLOW_COPY_AND_ASSIGN(ScopedFlag);
+};
+
+}  // namespace
+
 void GinJavaBridgeDispatcher::DidClearWindowObject() {
+  // Accessing window object when adding properties to it may trigger
+  // a nested call to DidClearWindowObject.
+  if (inside_did_clear_window_object_)
+    return;
+  ScopedFlag flag(&inside_did_clear_window_object_);
   for (NamedObjectMap::const_iterator iter = named_objects_.begin();
        iter != named_objects_.end(); ++iter) {
     // Always create a new GinJavaBridgeObject, so we don't pull any of the V8
diff --git a/content/renderer/java/gin_java_bridge_dispatcher.h b/content/renderer/java/gin_java_bridge_dispatcher.h
index c5348b9..13c6777 100644
--- a/content/renderer/java/gin_java_bridge_dispatcher.h
+++ b/content/renderer/java/gin_java_bridge_dispatcher.h
@@ -63,6 +63,7 @@
   typedef std::map<std::string, ObjectID> NamedObjectMap;
   NamedObjectMap named_objects_;
   ObjectMap objects_;
+  bool inside_did_clear_window_object_;
 
   DISALLOW_COPY_AND_ASSIGN(GinJavaBridgeDispatcher);
 };
diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc
index 088d545..12153ee 100644
--- a/content/renderer/media/webmediaplayer_impl.cc
+++ b/content/renderer/media/webmediaplayer_impl.cc
@@ -168,7 +168,6 @@
       incremented_externally_allocated_memory_(false),
       gpu_factories_(RenderThreadImpl::current()->GetGpuFactories()),
       supports_save_(true),
-      starting_(false),
       chunk_demuxer_(NULL),
       // Threaded compositing isn't enabled universally yet.
       compositor_task_runner_(
@@ -341,7 +340,7 @@
 
   base::TimeDelta seek_time = ConvertSecondsToTimestamp(seconds);
 
-  if (starting_ || seeking_) {
+  if (seeking_) {
     pending_seek_ = true;
     pending_seek_seconds_ = seconds;
     if (chunk_demuxer_)
@@ -902,7 +901,6 @@
 void WebMediaPlayerImpl::OnPipelineSeek(PipelineStatus status) {
   DVLOG(1) << __FUNCTION__ << "(" << status << ")";
   DCHECK(main_loop_->BelongsToCurrentThread());
-  starting_ = false;
   seeking_ = false;
   if (pending_seek_) {
     pending_seek_ = false;
@@ -1199,7 +1197,7 @@
   }
 
   // ... and we're ready to go!
-  starting_ = true;
+  seeking_ = true;
   pipeline_.Start(
       filter_collection.Pass(),
       BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineEnded),
diff --git a/content/renderer/media/webmediaplayer_impl.h b/content/renderer/media/webmediaplayer_impl.h
index 87c180e..ad932b8 100644
--- a/content/renderer/media/webmediaplayer_impl.h
+++ b/content/renderer/media/webmediaplayer_impl.h
@@ -310,8 +310,6 @@
 
   bool supports_save_;
 
-  bool starting_;
-
   // These two are mutually exclusive:
   //   |data_source_| is used for regular resource loads.
   //   |chunk_demuxer_| is used for Media Source resource loads.
diff --git a/content/renderer/media/webmediasource_impl.cc b/content/renderer/media/webmediasource_impl.cc
index 963175d..b3078f7 100644
--- a/content/renderer/media/webmediasource_impl.cc
+++ b/content/renderer/media/webmediasource_impl.cc
@@ -36,19 +36,15 @@
 WebMediaSource::AddStatus WebMediaSourceImpl::addSourceBuffer(
     const blink::WebString& type,
     const blink::WebVector<blink::WebString>& codecs,
-    const WebMediaSource::FrameProcessorChoice frame_processor_choice,
     blink::WebSourceBuffer** source_buffer) {
   std::string id = base::GenerateGUID();
   std::vector<std::string> new_codecs(codecs.size());
   for (size_t i = 0; i < codecs.size(); ++i)
     new_codecs[i] = codecs[i].utf8().data();
 
-  // Ignore |frame_processor_choice|. Instead, request the new FrameProcessor.
-  // TODO(wolenetz): Remove |frame_processor_choice| and LegacyFrameProcessor
-  // once the new FrameProcessor has stabilized. See http://crbug.com/249422.
   WebMediaSource::AddStatus result =
       static_cast<WebMediaSource::AddStatus>(
-          demuxer_->AddId(id, type.utf8().data(), new_codecs, false));
+          demuxer_->AddId(id, type.utf8().data(), new_codecs));
 
   if (result == WebMediaSource::AddStatusOk)
     *source_buffer = new WebSourceBufferImpl(id, demuxer_);
diff --git a/content/renderer/media/webmediasource_impl.h b/content/renderer/media/webmediasource_impl.h
index e9dae1b..c788a66 100644
--- a/content/renderer/media/webmediasource_impl.h
+++ b/content/renderer/media/webmediasource_impl.h
@@ -26,7 +26,6 @@
   virtual AddStatus addSourceBuffer(
       const blink::WebString& type,
       const blink::WebVector<blink::WebString>& codecs,
-      const FrameProcessorChoice frame_processor_choice,
       blink::WebSourceBuffer** source_buffer);
   virtual double duration();
   virtual void setDuration(double duration);
diff --git a/content/renderer/pepper/pepper_compositor_host.cc b/content/renderer/pepper/pepper_compositor_host.cc
index 47c0fcc..f7e32b6 100644
--- a/content/renderer/pepper/pepper_compositor_host.cc
+++ b/content/renderer/pepper/pepper_compositor_host.cc
@@ -10,6 +10,7 @@
 #include "cc/layers/solid_color_layer.h"
 #include "cc/layers/texture_layer.h"
 #include "cc/resources/texture_mailbox.h"
+#include "cc/trees/layer_tree_host.h"
 #include "content/public/renderer/renderer_ppapi_host.h"
 #include "content/renderer/pepper/gfx_conversion.h"
 #include "content/renderer/pepper/host_globals.h"
@@ -157,10 +158,35 @@
   if (bound_instance_ && new_instance)
     return false;  // Can't change a bound device.
   bound_instance_ = new_instance;
+  if (!bound_instance_)
+    SendCommitLayersReplyIfNecessary();
+
   return true;
 }
 
 void PepperCompositorHost::ViewInitiatedPaint() {
+  SendCommitLayersReplyIfNecessary();
+}
+
+void PepperCompositorHost::ViewFlushedPaint() {}
+
+void PepperCompositorHost::ImageReleased(
+    int32_t id,
+    const scoped_ptr<base::SharedMemory>& shared_memory,
+    uint32_t sync_point,
+    bool is_lost) {
+  ResourceReleased(id, sync_point, is_lost);
+}
+
+void PepperCompositorHost::ResourceReleased(int32_t id,
+                                            uint32_t sync_point,
+                                            bool is_lost) {
+  host()->SendUnsolicitedReply(
+      pp_resource(),
+      PpapiPluginMsg_Compositor_ReleaseResource(id, sync_point, is_lost));
+}
+
+void PepperCompositorHost::SendCommitLayersReplyIfNecessary() {
   if (!commit_layers_reply_context_.is_valid())
     return;
   host()->SendReply(commit_layers_reply_context_,
@@ -168,8 +194,6 @@
   commit_layers_reply_context_ = ppapi::host::ReplyMessageContext();
 }
 
-void PepperCompositorHost::ViewFlushedPaint() {}
-
 void PepperCompositorHost::UpdateLayer(
     const scoped_refptr<cc::Layer>& layer,
     const ppapi::CompositorLayerData* old_layer,
@@ -276,22 +300,6 @@
   NOTREACHED();
 }
 
-void PepperCompositorHost::ResourceReleased(int32_t id,
-                                            uint32_t sync_point,
-                                            bool is_lost) {
-  host()->SendUnsolicitedReply(
-      pp_resource(),
-      PpapiPluginMsg_Compositor_ReleaseResource(id, sync_point, is_lost));
-}
-
-void PepperCompositorHost::ImageReleased(
-    int32_t id,
-    const scoped_ptr<base::SharedMemory>& shared_memory,
-    uint32_t sync_point,
-    bool is_lost) {
-  ResourceReleased(id, sync_point, is_lost);
-}
-
 int32_t PepperCompositorHost::OnResourceMessageReceived(
     const IPC::Message& msg,
     HostMessageContext* context) {
@@ -310,15 +318,9 @@
     HostMessageContext* context,
     const std::vector<ppapi::CompositorLayerData>& layers,
     bool reset) {
-  // Do not support CommitLayers() on an unbounded compositor.
-  if (!bound_instance_)
-    return PP_ERROR_FAILED;
-
   if (commit_layers_reply_context_.is_valid())
     return PP_ERROR_INPROGRESS;
 
-  commit_layers_reply_context_ = context->MakeReplyMessageContext();
-
   scoped_ptr<scoped_ptr<base::SharedMemory>[]> image_shms;
   if (layers.size() > 0) {
     image_shms.reset(new scoped_ptr<base::SharedMemory>[layers.size()]);
@@ -366,6 +368,17 @@
       layers_.push_back(LayerData(cc_layer, *pp_layer));
   }
 
+  // We need to force a commit for each CommitLayers() call, even if no layers
+  // changed since the last call to CommitLayers(). This is so
+  // WiewInitiatedPaint() will always be called.
+  if (layer_->layer_tree_host())
+    layer_->layer_tree_host()->SetNeedsCommit();
+
+  // If the host is not bound to the instance, return PP_OK immediately.
+  if (!bound_instance_)
+    return PP_OK;
+
+  commit_layers_reply_context_ = context->MakeReplyMessageContext();
   return PP_OK_COMPLETIONPENDING;
 }
 
diff --git a/content/renderer/pepper/pepper_compositor_host.h b/content/renderer/pepper/pepper_compositor_host.h
index 6d5a3ef..de2f72b 100644
--- a/content/renderer/pepper/pepper_compositor_host.h
+++ b/content/renderer/pepper/pepper_compositor_host.h
@@ -44,17 +44,18 @@
  private:
   virtual ~PepperCompositorHost();
 
-  void UpdateLayer(const scoped_refptr<cc::Layer>& layer,
-                   const ppapi::CompositorLayerData* old_layer,
-                   const ppapi::CompositorLayerData* new_layer,
-                   scoped_ptr<base::SharedMemory> image_shm);
-  void ResourceReleased(int32_t id,
-                        uint32_t sync_point,
-                        bool is_lost);
   void ImageReleased(int32_t id,
                      const scoped_ptr<base::SharedMemory>& shared_memory,
                      uint32_t sync_point,
                      bool is_lost);
+  void ResourceReleased(int32_t id,
+                        uint32_t sync_point,
+                        bool is_lost);
+  void SendCommitLayersReplyIfNecessary();
+  void UpdateLayer(const scoped_refptr<cc::Layer>& layer,
+                   const ppapi::CompositorLayerData* old_layer,
+                   const ppapi::CompositorLayerData* new_layer,
+                   scoped_ptr<base::SharedMemory> image_shm);
 
   // ResourceMessageHandler overrides:
   virtual int32_t OnResourceMessageReceived(
diff --git a/content/renderer/pepper/pepper_plugin_instance_impl.cc b/content/renderer/pepper/pepper_plugin_instance_impl.cc
index a26b13b..4aaad86 100644
--- a/content/renderer/pepper/pepper_plugin_instance_impl.cc
+++ b/content/renderer/pepper/pepper_plugin_instance_impl.cc
@@ -1237,6 +1237,11 @@
   view_data_.css_scale =
       container_->pageZoomFactor() * container_->pageScaleFactor();
 
+  gfx::Size scroll_offset =
+      container_->element().document().frame()->scrollOffset();
+  view_data_.scroll_offset = PP_MakePoint(scroll_offset.width(),
+                                          scroll_offset.height());
+
   if (desired_fullscreen_state_ || view_data_.is_fullscreen) {
     WebElement element = container_->element();
     WebDocument document = element.document();
@@ -1872,7 +1877,7 @@
     return;
   }
 
-  UpdateLayer();
+  UpdateLayer(false);
 
   bool old_plugin_focus = PluginHasFocus();
   flash_fullscreen_ = flash_fullscreen;
@@ -2011,7 +2016,7 @@
 #endif
 }
 
-void PepperPluginInstanceImpl::UpdateLayer() {
+void PepperPluginInstanceImpl::UpdateLayer(bool device_changed) {
   if (!container_)
     return;
 
@@ -2026,7 +2031,8 @@
   bool want_texture_layer = want_3d_layer || want_2d_layer;
   bool want_compositor_layer = !!bound_compositor_;
 
-  if ((want_texture_layer == !!texture_layer_.get()) &&
+  if (!device_changed &&
+      (want_texture_layer == !!texture_layer_.get()) &&
       (want_3d_layer == layer_is_hardware_) &&
       (want_compositor_layer == !!compositor_layer_) &&
       layer_bound_to_fullscreen_ == !!fullscreen_container_) {
@@ -2267,7 +2273,7 @@
 
   // Special-case clearing the current device.
   if (!device) {
-    UpdateLayer();
+    UpdateLayer(true);
     InvalidateRect(gfx::Rect());
     return PP_TRUE;
   }
@@ -2303,13 +2309,13 @@
   if (compositor) {
     if (compositor->BindToInstance(this)) {
       bound_compositor_ = compositor;
-      UpdateLayer();
+      UpdateLayer(true);
       return PP_TRUE;
     }
   } else if (graphics_2d) {
     if (graphics_2d->BindToInstance(this)) {
       bound_graphics_2d_platform_ = graphics_2d;
-      UpdateLayer();
+      UpdateLayer(true);
       return PP_TRUE;
     }
   } else if (graphics_3d) {
@@ -2318,7 +2324,7 @@
     if (graphics_3d->pp_instance() == pp_instance() &&
         graphics_3d->BindToInstance(true)) {
       bound_graphics_3d_ = graphics_3d;
-      UpdateLayer();
+      UpdateLayer(true);
       return PP_TRUE;
     }
   }
@@ -3089,7 +3095,7 @@
     DCHECK(!fullscreen_container_);
     fullscreen_container_ =
         render_frame_->CreatePepperFullscreenContainer(this);
-    UpdateLayer();
+    UpdateLayer(false);
   } else {
     DCHECK(fullscreen_container_);
     fullscreen_container_->Destroy();
diff --git a/content/renderer/pepper/pepper_plugin_instance_impl.h b/content/renderer/pepper/pepper_plugin_instance_impl.h
index ea21418..ee66136 100644
--- a/content/renderer/pepper/pepper_plugin_instance_impl.h
+++ b/content/renderer/pepper/pepper_plugin_instance_impl.h
@@ -635,7 +635,10 @@
   // - we are not in Flash full-screen mode (or transitioning to it)
   // Otherwise it destroys the layer.
   // It does either operation lazily.
-  void UpdateLayer();
+  // device_changed: true if the bound device has been changed, and
+  // UpdateLayer() will be forced to recreate the layer and attaches to the
+  // container.
+  void UpdateLayer(bool device_changed);
 
   // Internal helper function for PrintPage().
   bool PrintPageHelper(PP_PrintPageNumberRange_Dev* page_ranges,
diff --git a/content/renderer/pepper/video_decoder_shim.cc b/content/renderer/pepper/video_decoder_shim.cc
index 32f80bf..afd7f57 100644
--- a/content/renderer/pepper/video_decoder_shim.cc
+++ b/content/renderer/pepper/video_decoder_shim.cc
@@ -256,8 +256,8 @@
   scoped_ptr<PendingFrame> pending_frame;
   if (!frame->end_of_stream()) {
     pending_frame.reset(new PendingFrame(decode_id_, frame->coded_size()));
-    // Convert the VideoFrame pixels to ARGB.
-    libyuv::I420ToARGB(frame->data(media::VideoFrame::kYPlane),
+    // Convert the VideoFrame pixels to ABGR to match VideoDecodeAccelerator.
+    libyuv::I420ToABGR(frame->data(media::VideoFrame::kYPlane),
                        frame->stride(media::VideoFrame::kYPlane),
                        frame->data(media::VideoFrame::kUPlane),
                        frame->stride(media::VideoFrame::kUPlane),
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 55c5994..335bd75 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -683,10 +683,6 @@
     IPC_MESSAGE_HANDLER(FrameMsg_Navigate, OnNavigate)
     IPC_MESSAGE_HANDLER(FrameMsg_BeforeUnload, OnBeforeUnload)
     IPC_MESSAGE_HANDLER(FrameMsg_SwapOut, OnSwapOut)
-    IPC_MESSAGE_HANDLER(FrameMsg_BuffersSwapped, OnBuffersSwapped)
-    IPC_MESSAGE_HANDLER_GENERIC(FrameMsg_CompositorFrameSwapped,
-                                OnCompositorFrameSwapped(msg))
-    IPC_MESSAGE_HANDLER(FrameMsg_ChildFrameProcessGone, OnChildFrameProcessGone)
     IPC_MESSAGE_HANDLER(FrameMsg_ContextMenuClosed, OnContextMenuClosed)
     IPC_MESSAGE_HANDLER(FrameMsg_CustomContextMenuAction,
                         OnCustomContextMenuAction)
@@ -714,6 +710,8 @@
     IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload)
     IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest,
                         OnTextSurroundingSelectionRequest)
+    IPC_MESSAGE_HANDLER(FrameMsg_AddStyleSheetByURL,
+                        OnAddStyleSheetByURL)
 #if defined(OS_MACOSX)
     IPC_MESSAGE_HANDLER(InputMsg_CopyToFindPboard, OnCopyToFindPboard)
 #endif
@@ -969,9 +967,6 @@
     // beforeunload handler. For now, we just run it a second time silently.
     render_view_->NavigateToSwappedOutURL(frame_);
 
-    if (frame_->parent())
-      render_view_->RegisterSwappedOutChildFrame(this);
-
     // Let WebKit know that this view is hidden so it can drop resources and
     // stop compositing.
     // TODO(creis): Support this for subframes as well.
@@ -994,42 +989,6 @@
     set_render_frame_proxy(proxy);
 }
 
-void RenderFrameImpl::OnBuffersSwapped(
-    const FrameMsg_BuffersSwapped_Params& params) {
-  if (!compositing_helper_.get()) {
-    compositing_helper_ =
-        ChildFrameCompositingHelper::CreateCompositingHelperForRenderFrame(
-            frame_, this, routing_id_);
-    compositing_helper_->EnableCompositing(true);
-  }
-  compositing_helper_->OnBuffersSwapped(
-      params.size,
-      params.mailbox,
-      params.gpu_route_id,
-      params.gpu_host_id,
-      render_view_->GetWebView()->deviceScaleFactor());
-}
-
-void RenderFrameImpl::OnCompositorFrameSwapped(const IPC::Message& message) {
-  FrameMsg_CompositorFrameSwapped::Param param;
-  if (!FrameMsg_CompositorFrameSwapped::Read(&message, &param))
-    return;
-  scoped_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame);
-  param.a.frame.AssignTo(frame.get());
-
-  if (!compositing_helper_.get()) {
-    compositing_helper_ =
-        ChildFrameCompositingHelper::CreateCompositingHelperForRenderFrame(
-            frame_, this, routing_id_);
-    compositing_helper_->EnableCompositing(true);
-  }
-  compositing_helper_->OnCompositorFrameSwapped(frame.Pass(),
-                                                param.a.producing_route_id,
-                                                param.a.output_surface_id,
-                                                param.a.producing_host_id,
-                                                param.a.shared_memory_handle);
-}
-
 void RenderFrameImpl::OnContextMenuClosed(
     const CustomContextMenuContext& custom_context) {
   if (custom_context.request_id) {
@@ -1220,6 +1179,10 @@
       surroundingText.endOffsetInTextContent()));
 }
 
+void RenderFrameImpl::OnAddStyleSheetByURL(const std::string& url) {
+  frame_->addStyleSheetByURL(WebString::fromUTF8(url));
+}
+
 bool RenderFrameImpl::ShouldUpdateSelectionTextFromContextMenuParams(
     const base::string16& selection_text,
     size_t selection_text_offset,
@@ -1277,8 +1240,6 @@
 }
 
 void RenderFrameImpl::DidCommitCompositorFrame() {
-  if (compositing_helper_)
-    compositing_helper_->DidCommitCompositorFrame();
   FOR_EACH_OBSERVER(
       RenderFrameObserver, observers_, DidCommitCompositorFrame());
 }
@@ -1355,11 +1316,6 @@
   OnJavaScriptExecuteRequest(javascript, 0, false);
 }
 
-void RenderFrameImpl::OnChildFrameProcessGone() {
-  if (compositing_helper_)
-    compositing_helper_->ChildFrameGone();
-}
-
 // blink::WebFrameClient implementation ----------------------------------------
 
 blink::WebPlugin* RenderFrameImpl::createPlugin(
@@ -1554,8 +1510,6 @@
 
   Send(new FrameHostMsg_Detach(routing_id_));
 
-  render_view_->UnregisterSwappedOutChildFrame(this);
-
   // The |is_detaching_| flag disables Send(). FrameHostMsg_Detach must be
   // sent before setting |is_detaching_| to true. In contrast, Observers
   // should only be notified afterwards so they cannot call back into here and
@@ -2207,6 +2161,14 @@
   render_view_->didUpdateCurrentHistoryItem(frame);
 }
 
+void RenderFrameImpl::didChangeBrandColor() {
+  if (frame_->parent())
+    return;
+
+  Send(new FrameHostMsg_DidChangeBrandColor(
+      routing_id_, frame_->document().brandColor()));
+}
+
 blink::WebNotificationPresenter* RenderFrameImpl::notificationPresenter() {
   return notification_provider_;
 }
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index fd255f0..71be416 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -31,8 +31,6 @@
 #endif
 
 class TransportDIB;
-struct FrameMsg_BuffersSwapped_Params;
-struct FrameMsg_CompositorFrameSwapped_Params;
 struct FrameMsg_Navigate_Params;
 
 namespace blink {
@@ -309,6 +307,7 @@
                                      const blink::WebHistoryItem& item,
                                      blink::WebHistoryCommitType commit_type);
   virtual void didUpdateCurrentHistoryItem(blink::WebLocalFrame* frame);
+  virtual void didChangeBrandColor();
   virtual blink::WebNotificationPresenter* notificationPresenter();
   virtual void didChangeSelection(bool is_empty_selection);
   virtual blink::WebColorChooser* createColorChooser(
@@ -432,9 +431,6 @@
   // content/common/*_messages.h for the message that the function is handling.
   void OnBeforeUnload();
   void OnSwapOut(int proxy_routing_id);
-  void OnChildFrameProcessGone();
-  void OnBuffersSwapped(const FrameMsg_BuffersSwapped_Params& params);
-  void OnCompositorFrameSwapped(const IPC::Message& message);
   void OnShowContextMenu(const gfx::Point& location);
   void OnContextMenuClosed(const CustomContextMenuContext& custom_context);
   void OnCustomContextMenuAction(const CustomContextMenuContext& custom_context,
@@ -462,6 +458,7 @@
   void OnExtendSelectionAndDelete(int before, int after);
   void OnReload(bool ignore_cache);
   void OnTextSurroundingSelectionRequest(size_t max_length);
+  void OnAddStyleSheetByURL(const std::string& url);
 #if defined(OS_MACOSX)
   void OnCopyToFindPboard();
 #endif
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc
index f964324..2e85a52 100644
--- a/content/renderer/render_frame_proxy.cc
+++ b/content/renderer/render_frame_proxy.cc
@@ -9,9 +9,11 @@
 #include "base/lazy_instance.h"
 #include "content/common/frame_messages.h"
 #include "content/common/swapped_out_messages.h"
+#include "content/renderer/child_frame_compositing_helper.h"
 #include "content/renderer/render_frame_impl.h"
 #include "content/renderer/render_thread_impl.h"
 #include "content/renderer/render_view_impl.h"
+#include "third_party/WebKit/public/web/WebView.h"
 
 namespace content {
 
@@ -48,17 +50,32 @@
 
   render_frame_ = RenderFrameImpl::FromRoutingID(frame_routing_id);
   CHECK(render_frame_);
+  render_frame_->render_view()->RegisterRenderFrameProxy(this);
 }
 
 RenderFrameProxy::~RenderFrameProxy() {
+  render_frame_->render_view()->UnregisterRenderFrameProxy(this);
   RenderThread::Get()->RemoveRoute(routing_id_);
   g_routing_id_proxy_map.Get().erase(routing_id_);
 }
 
+blink::WebFrame* RenderFrameProxy::GetWebFrame() {
+  return render_frame_->GetWebFrame();
+}
+
+void RenderFrameProxy::DidCommitCompositorFrame() {
+  if (compositing_helper_)
+    compositing_helper_->DidCommitCompositorFrame();
+}
+
 bool RenderFrameProxy::OnMessageReceived(const IPC::Message& msg) {
   bool handled = true;
   IPC_BEGIN_MESSAGE_MAP(RenderFrameProxy, msg)
     IPC_MESSAGE_HANDLER(FrameMsg_DeleteProxy, OnDeleteProxy)
+    IPC_MESSAGE_HANDLER(FrameMsg_ChildFrameProcessGone, OnChildFrameProcessGone)
+    IPC_MESSAGE_HANDLER(FrameMsg_BuffersSwapped, OnBuffersSwapped)
+    IPC_MESSAGE_HANDLER_GENERIC(FrameMsg_CompositorFrameSwapped,
+                                OnCompositorFrameSwapped(msg))
     IPC_MESSAGE_UNHANDLED(handled = false)
   IPC_END_MESSAGE_MAP()
 
@@ -86,4 +103,46 @@
   delete this;
 }
 
+void RenderFrameProxy::OnChildFrameProcessGone() {
+  if (compositing_helper_)
+    compositing_helper_->ChildFrameGone();
+}
+
+void RenderFrameProxy::OnBuffersSwapped(
+    const FrameMsg_BuffersSwapped_Params& params) {
+  if (!compositing_helper_.get()) {
+    compositing_helper_ =
+        ChildFrameCompositingHelper::CreateCompositingHelperForRenderFrame(
+            GetWebFrame(), this, routing_id_);
+    compositing_helper_->EnableCompositing(true);
+  }
+  compositing_helper_->OnBuffersSwapped(
+      params.size,
+      params.mailbox,
+      params.gpu_route_id,
+      params.gpu_host_id,
+      render_frame_->render_view()->GetWebView()->deviceScaleFactor());
+}
+
+void RenderFrameProxy::OnCompositorFrameSwapped(const IPC::Message& message) {
+  FrameMsg_CompositorFrameSwapped::Param param;
+  if (!FrameMsg_CompositorFrameSwapped::Read(&message, &param))
+    return;
+
+  scoped_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame);
+  param.a.frame.AssignTo(frame.get());
+
+  if (!compositing_helper_.get()) {
+    compositing_helper_ =
+        ChildFrameCompositingHelper::CreateCompositingHelperForRenderFrame(
+            GetWebFrame(), this, routing_id_);
+    compositing_helper_->EnableCompositing(true);
+  }
+  compositing_helper_->OnCompositorFrameSwapped(frame.Pass(),
+                                                param.a.producing_route_id,
+                                                param.a.output_surface_id,
+                                                param.a.producing_host_id,
+                                                param.a.shared_memory_handle);
+}
+
 }  // namespace
diff --git a/content/renderer/render_frame_proxy.h b/content/renderer/render_frame_proxy.h
index f05371d..54c6361 100644
--- a/content/renderer/render_frame_proxy.h
+++ b/content/renderer/render_frame_proxy.h
@@ -6,6 +6,7 @@
 #define CONTENT_RENDERER_RENDER_FRAME_PROXY_H_
 
 #include "base/basictypes.h"
+#include "base/memory/ref_counted.h"
 #include "content/common/content_export.h"
 #include "ipc/ipc_listener.h"
 #include "ipc/ipc_sender.h"
@@ -13,8 +14,12 @@
 #include "third_party/WebKit/public/web/WebFrameClient.h"
 #include "third_party/WebKit/public/web/WebRemoteFrame.h"
 
+struct FrameMsg_BuffersSwapped_Params;
+struct FrameMsg_CompositorFrameSwapped_Params;
+
 namespace content {
 
+class ChildFrameCompositingHelper;
 class RenderFrameImpl;
 class RenderViewImpl;
 
@@ -58,6 +63,10 @@
     return render_frame_;
   }
 
+  // Out-of-process child frames receive a signal from RenderWidgetCompositor
+  // when a compositor frame has committed.
+  void DidCommitCompositorFrame();
+
  private:
   RenderFrameProxy(int routing_id, int frame_routing_id);
 
@@ -66,11 +75,18 @@
 
   // IPC handlers
   void OnDeleteProxy();
+  void OnChildFrameProcessGone();
+  void OnBuffersSwapped(const FrameMsg_BuffersSwapped_Params& params);
+  void OnCompositorFrameSwapped(const IPC::Message& message);
+
+  blink::WebFrame* GetWebFrame();
 
   int routing_id_;
   int frame_routing_id_;
   RenderFrameImpl* render_frame_;
 
+  scoped_refptr<ChildFrameCompositingHelper> compositing_helper_;
+
   DISALLOW_COPY_AND_ASSIGN(RenderFrameProxy);
 };
 
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 8934a31..6e124b3 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -405,9 +405,6 @@
 
   AddFilter((new EmbeddedWorkerContextMessageFilter())->GetFilter());
 
-  gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader());
-  AddObserver(gamepad_shared_memory_reader_.get());
-
   GetContentClient()->renderer()->RenderThreadStarted();
 
   InitSkiaEventTracer();
@@ -792,6 +789,10 @@
       CompositorOutputSurface::CreateFilter(output_surface_loop.get());
   AddFilter(compositor_output_surface_filter_.get());
 
+  gamepad_shared_memory_reader_.reset(
+      new GamepadSharedMemoryReader(webkit_platform_support_.get()));
+  AddObserver(gamepad_shared_memory_reader_.get());
+
   RenderThreadImpl::RegisterSchemes();
 
   EnableBlinkPlatformLogChannels(
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index 4afe3ed..d8d50c8 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -192,6 +192,11 @@
     layout_test_mode_ = layout_test_mode;
   }
 
+  RendererWebKitPlatformSupportImpl* webkit_platform_support() const {
+    DCHECK(webkit_platform_support_);
+    return webkit_platform_support_.get();
+  }
+
   IPC::ForwardingMessageFilter* compositor_output_surface_filter() const {
     return compositor_output_surface_filter_.get();
   }
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index dd278d6..38af273 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -43,6 +43,7 @@
 #include "content/renderer/input/input_handler_manager.h"
 #include "content/renderer/pepper/pepper_plugin_instance_impl.h"
 #include "content/renderer/render_frame_impl.h"
+#include "content/renderer/render_frame_proxy.h"
 #include "content/renderer/render_process.h"
 #include "content/renderer/render_thread_impl.h"
 #include "content/renderer/renderer_webkitplatformsupport_impl.h"
@@ -262,14 +263,12 @@
     applied_widget_rect_.set_height(original_size_.height());
 
   if (params_.fitToView && !original_size_.IsEmpty()) {
-    int width_with_gutter =
-        std::max(original_size_.width() - 2 * params_.viewInsets.width, 1);
-    int height_with_gutter =
-        std::max(original_size_.height() - 2 * params_.viewInsets.height, 1);
+    int original_width = std::max(original_size_.width(), 1);
+    int original_height = std::max(original_size_.height(), 1);
     float width_ratio =
-        static_cast<float>(applied_widget_rect_.width()) / width_with_gutter;
+        static_cast<float>(applied_widget_rect_.width()) / original_width;
     float height_ratio =
-        static_cast<float>(applied_widget_rect_.height()) / height_with_gutter;
+        static_cast<float>(applied_widget_rect_.height()) / original_height;
     float ratio = std::max(1.0f, std::max(width_ratio, height_ratio));
     scale_ = 1.f / ratio;
 
@@ -279,8 +278,8 @@
     offset_.set_y(
         (original_size_.height() - scale_ * applied_widget_rect_.height()) / 2);
   } else {
-    scale_ = 1.f;
-    offset_.SetPoint(0, 0);
+    scale_ = params_.scale;
+    offset_.SetPoint(params_.offset.x, params_.offset.y);
   }
 
   if (params_.screenPosition == WebDeviceEmulationParams::Desktop) {
@@ -1201,20 +1200,11 @@
 }
 
 void RenderWidget::DidCommitCompositorFrame() {
-  FOR_EACH_OBSERVER(RenderFrameImpl, swapped_out_frames_,
+  FOR_EACH_OBSERVER(RenderFrameProxy, render_frame_proxies_,
                     DidCommitCompositorFrame());
 #if defined(VIDEO_HOLE)
-  // Not using FOR_EACH_OBSERVER because |swapped_out_frames_| and
-  // |video_hole_frames_| may have common frames.
-  if (!video_hole_frames_.might_have_observers())
-    return;
-  ObserverListBase<RenderFrameImpl>::Iterator iter(video_hole_frames_);
-  RenderFrameImpl* frame;
-  while ((frame = iter.GetNext()) != NULL) {
-    // Prevent duplicate notification of DidCommitCompositorFrame().
-    if (!swapped_out_frames_.HasObserver(frame))
-      frame->DidCommitCompositorFrame();
-  }
+  FOR_EACH_OBSERVER(RenderFrameImpl, video_hole_frames_,
+                    DidCommitCompositorFrame());
 #endif  // defined(VIDEO_HOLE)
 }
 
@@ -2050,12 +2040,12 @@
   return context.Pass();
 }
 
-void RenderWidget::RegisterSwappedOutChildFrame(RenderFrameImpl* frame) {
-  swapped_out_frames_.AddObserver(frame);
+void RenderWidget::RegisterRenderFrameProxy(RenderFrameProxy* proxy) {
+  render_frame_proxies_.AddObserver(proxy);
 }
 
-void RenderWidget::UnregisterSwappedOutChildFrame(RenderFrameImpl* frame) {
-  swapped_out_frames_.RemoveObserver(frame);
+void RenderWidget::UnregisterRenderFrameProxy(RenderFrameProxy* proxy) {
+  render_frame_proxies_.RemoveObserver(proxy);
 }
 
 void RenderWidget::RegisterRenderFrame(RenderFrameImpl* frame) {
diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h
index fb6c362..7c8e948 100644
--- a/content/renderer/render_widget.h
+++ b/content/renderer/render_widget.h
@@ -69,6 +69,7 @@
 class ExternalPopupMenu;
 class PepperPluginInstanceImpl;
 class RenderFrameImpl;
+class RenderFrameProxy;
 class RenderWidgetCompositor;
 class RenderWidgetTest;
 class ResizingModeSelector;
@@ -110,8 +111,8 @@
   }
 
   // Functions to track out-of-process frames for special notifications.
-  void RegisterSwappedOutChildFrame(RenderFrameImpl* frame);
-  void UnregisterSwappedOutChildFrame(RenderFrameImpl* frame);
+  void RegisterRenderFrameProxy(RenderFrameProxy* proxy);
+  void UnregisterRenderFrameProxy(RenderFrameProxy* proxy);
 
   // Functions to track all RenderFrame objects associated with this
   // RenderWidget.
@@ -692,9 +693,9 @@
 
   scoped_ptr<ResizingModeSelector> resizing_mode_selector_;
 
-  // Lists of swapped out RenderFrames that need to be notified
-  // of compositing-related events (e.g. DidCommitCompositorFrame).
-  ObserverList<RenderFrameImpl> swapped_out_frames_;
+  // Lists of RenderFrameProxy objects that need to be notified of
+  // compositing-related events (e.g. DidCommitCompositorFrame).
+  ObserverList<RenderFrameProxy> render_frame_proxies_;
 #if defined(VIDEO_HOLE)
   ObserverList<RenderFrameImpl> video_hole_frames_;
 #endif  // defined(VIDEO_HOLE)
diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc
index d95287b..a64816a 100644
--- a/content/renderer/renderer_main.cc
+++ b/content/renderer/renderer_main.cc
@@ -178,8 +178,6 @@
 
   base::PlatformThread::SetName("CrRendererMain");
 
-  platform.PlatformInitialize();
-
   bool no_sandbox = parsed_command_line.HasSwitch(switches::kNoSandbox);
 
   // Initialize histogram statistics gathering system.
@@ -200,6 +198,9 @@
     DCHECK(result);
   }
 
+  // PlatformInitialize uses FieldTrials, so this must happen later.
+  platform.PlatformInitialize();
+
 #if defined(ENABLE_PLUGINS)
   // Load pepper plugins before engaging the sandbox.
   PepperPluginRegistry::GetInstance();
diff --git a/content/renderer/renderer_main_platform_delegate_win.cc b/content/renderer/renderer_main_platform_delegate_win.cc
index 1bbd705..8ec7bce 100644
--- a/content/renderer/renderer_main_platform_delegate_win.cc
+++ b/content/renderer/renderer_main_platform_delegate_win.cc
@@ -18,6 +18,7 @@
 #include "content/public/renderer/render_thread.h"
 #include "content/renderer/render_thread_impl.h"
 #include "sandbox/win/src/sandbox.h"
+#include "skia/ext/fontmgr_default_win.h"
 #include "skia/ext/vector_platform_device_emf_win.h"
 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h"
 #include "third_party/WebKit/public/web/win/WebFontRendering.h"
@@ -60,6 +61,7 @@
   SkTypeface* typeface =
       GetPreSandboxWarmupFontMgr()->legacyCreateTypeface("Times New Roman", 0);
   DoPreSandboxWarmupForTypeface(typeface);
+  SetDefaultSkiaFactory(GetPreSandboxWarmupFontMgr());
 }
 
 }  // namespace
diff --git a/content/renderer/renderer_webkitplatformsupport_impl.cc b/content/renderer/renderer_webkitplatformsupport_impl.cc
index fd13072..33fa336 100644
--- a/content/renderer/renderer_webkitplatformsupport_impl.cc
+++ b/content/renderer/renderer_webkitplatformsupport_impl.cc
@@ -141,9 +141,6 @@
 namespace {
 
 static bool g_sandbox_enabled = true;
-static blink::WebGamepadListener* web_gamepad_listener = NULL;
-base::LazyInstance<WebGamepads>::Leaky g_test_gamepads =
-    LAZY_INSTANCE_INITIALIZER;
 base::LazyInstance<blink::WebDeviceMotionData>::Leaky
     g_test_device_motion_data = LAZY_INSTANCE_INITIALIZER;
 base::LazyInstance<blink::WebDeviceOrientationData>::Leaky
@@ -231,7 +228,8 @@
       sudden_termination_disables_(0),
       plugin_refresh_allowed_(true),
       child_thread_loop_(base::MessageLoopProxy::current()),
-      web_scrollbar_behavior_(new WebScrollbarBehaviorImpl) {
+      web_scrollbar_behavior_(new WebScrollbarBehaviorImpl),
+      gamepad_provider_(NULL) {
   if (g_sandbox_enabled && sandboxEnabled()) {
     sandbox_support_.reset(
         new RendererWebKitPlatformSupportImpl::SandboxSupport);
@@ -885,19 +883,14 @@
 //------------------------------------------------------------------------------
 
 void RendererWebKitPlatformSupportImpl::sampleGamepads(WebGamepads& gamepads) {
-  if (g_test_gamepads == 0) {
-    RenderThreadImpl::current()->gamepad_shared_memory_reader()->
-        SampleGamepads(gamepads);
-  } else {
-    gamepads = g_test_gamepads.Get();
-  }
+  DCHECK(gamepad_provider_);
+  gamepad_provider_->SampleGamepads(gamepads);
 }
 
 void RendererWebKitPlatformSupportImpl::setGamepadListener(
       blink::WebGamepadListener* listener) {
-  web_gamepad_listener = listener;
-  RenderThreadImpl::current()->gamepad_shared_memory_reader()->
-      SetGamepadListener(listener);
+  DCHECK(gamepad_provider_);
+  gamepad_provider_->SetGamepadListener(listener);
 }
 
 //------------------------------------------------------------------------------
@@ -945,28 +938,6 @@
   return was_enabled;
 }
 
-// static
-void RendererWebKitPlatformSupportImpl::SetMockGamepadsForTesting(
-    const WebGamepads& pads) {
-  g_test_gamepads.Get() = pads;
-}
-
-// static
-void RendererWebKitPlatformSupportImpl::MockGamepadConnected(
-    int index,
-    const WebGamepad& pad) {
-  if (web_gamepad_listener)
-    web_gamepad_listener->didConnectGamepad(index, pad);
-}
-
-// static
-void RendererWebKitPlatformSupportImpl::MockGamepadDisconnected(
-    int index,
-    const WebGamepad& pad) {
-  if (web_gamepad_listener)
-    web_gamepad_listener->didDisconnectGamepad(index, pad);
-}
-
 //------------------------------------------------------------------------------
 
 blink::WebSpeechSynthesizer*
diff --git a/content/renderer/renderer_webkitplatformsupport_impl.h b/content/renderer/renderer_webkitplatformsupport_impl.h
index ee0ccb1..66b269a 100644
--- a/content/renderer/renderer_webkitplatformsupport_impl.h
+++ b/content/renderer/renderer_webkitplatformsupport_impl.h
@@ -41,6 +41,7 @@
 class QuotaMessageFilter;
 class RendererClipboardClient;
 class RenderView;
+class RendererGamepadProvider;
 class ThreadSafeSender;
 class WebClipboardImpl;
 class WebDatabaseObserverImpl;
@@ -148,6 +149,10 @@
   virtual void setBatteryStatusListener(
       blink::WebBatteryStatusListener* listener);
 
+  void set_gamepad_provider(RendererGamepadProvider* provider) {
+    gamepad_provider_ = provider;
+  }
+
   // Disables the WebSandboxSupport implementation for testing.
   // Tests that do not set up a full sandbox environment should call
   // SetSandboxEnabledForTesting(false) _before_ creating any instances
@@ -157,17 +162,6 @@
   // Returns the previous |enable| value.
   static bool SetSandboxEnabledForTesting(bool enable);
 
-  // Set WebGamepads to return when sampleGamepads() is invoked.
-  static void SetMockGamepadsForTesting(const blink::WebGamepads& pads);
-
-  // Notifies blink::WebGamepadListener about a new gamepad if a listener
-  // has been set via setGamepadListener.
-  static void MockGamepadConnected(int index, const blink::WebGamepad& pad);
-
-  // Notifies blink::WebGamepadListener that a gamepad has been disconnected if
-  // a listener has been set via setGamepadListener.
-  static void MockGamepadDisconnected(int index, const blink::WebGamepad& pad);
-
   // Set WebDeviceMotionData to return when setDeviceMotionListener is invoked.
   static void SetMockDeviceMotionDataForTesting(
       const blink::WebDeviceMotionData& data);
@@ -236,6 +230,8 @@
 
   scoped_ptr<BatteryStatusDispatcher> battery_status_dispatcher_;
 
+  RendererGamepadProvider* gamepad_provider_;
+
   DISALLOW_COPY_AND_ASSIGN(RendererWebKitPlatformSupportImpl);
 };
 
diff --git a/content/renderer/skia_benchmarking_extension_unittest.cc b/content/renderer/skia_benchmarking_extension_unittest.cc
index b21c973..3a6e02c 100644
--- a/content/renderer/skia_benchmarking_extension_unittest.cc
+++ b/content/renderer/skia_benchmarking_extension_unittest.cc
@@ -66,7 +66,6 @@
   cmd = canvas.getDrawCommandAt(idx)->getType();
   EXPECT_EQ(cmd, SAVE);
   EXPECT_STREQ(SkDrawCommand::GetCommandString(cmd), "Save");
-  EXPECT_TRUE(HasInfoField(canvas, idx, "SaveFlags"));
 
   ASSERT_TRUE(canvas.getDrawCommandAt(++idx) != NULL);
   cmd = canvas.getDrawCommandAt(idx)->getType();
diff --git a/content/result_codes_java.target.darwin-arm.mk b/content/result_codes_java.target.darwin-arm.mk
index f7085df..f274b5a 100644
--- a/content/result_codes_java.target.darwin-arm.mk
+++ b/content/result_codes_java.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.darwin-arm64.mk b/content/result_codes_java.target.darwin-arm64.mk
index 33b434d..d3f831d 100644
--- a/content/result_codes_java.target.darwin-arm64.mk
+++ b/content/result_codes_java.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.darwin-mips.mk b/content/result_codes_java.target.darwin-mips.mk
index 5fe7be7..e4e0cc0 100644
--- a/content/result_codes_java.target.darwin-mips.mk
+++ b/content/result_codes_java.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.darwin-x86.mk b/content/result_codes_java.target.darwin-x86.mk
index c15e571..d8ba42e 100644
--- a/content/result_codes_java.target.darwin-x86.mk
+++ b/content/result_codes_java.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.darwin-x86_64.mk b/content/result_codes_java.target.darwin-x86_64.mk
index 5f9f487..a3d2746 100644
--- a/content/result_codes_java.target.darwin-x86_64.mk
+++ b/content/result_codes_java.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.linux-arm.mk b/content/result_codes_java.target.linux-arm.mk
index f7085df..f274b5a 100644
--- a/content/result_codes_java.target.linux-arm.mk
+++ b/content/result_codes_java.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.linux-arm64.mk b/content/result_codes_java.target.linux-arm64.mk
index 33b434d..d3f831d 100644
--- a/content/result_codes_java.target.linux-arm64.mk
+++ b/content/result_codes_java.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.linux-mips.mk b/content/result_codes_java.target.linux-mips.mk
index 5fe7be7..e4e0cc0 100644
--- a/content/result_codes_java.target.linux-mips.mk
+++ b/content/result_codes_java.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.linux-x86.mk b/content/result_codes_java.target.linux-x86.mk
index c15e571..d8ba42e 100644
--- a/content/result_codes_java.target.linux-x86.mk
+++ b/content/result_codes_java.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/result_codes_java.target.linux-x86_64.mk b/content/result_codes_java.target.linux-x86_64.mk
index 5f9f487..a3d2746 100644
--- a/content/result_codes_java.target.linux-x86_64.mk
+++ b/content/result_codes_java.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.darwin-arm.mk b/content/screen_orientation_values_java.target.darwin-arm.mk
index 8ce068c..2aad762 100644
--- a/content/screen_orientation_values_java.target.darwin-arm.mk
+++ b/content/screen_orientation_values_java.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.darwin-arm64.mk b/content/screen_orientation_values_java.target.darwin-arm64.mk
index faea101..7740c5e 100644
--- a/content/screen_orientation_values_java.target.darwin-arm64.mk
+++ b/content/screen_orientation_values_java.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.darwin-mips.mk b/content/screen_orientation_values_java.target.darwin-mips.mk
index cdf1133..f293ed0 100644
--- a/content/screen_orientation_values_java.target.darwin-mips.mk
+++ b/content/screen_orientation_values_java.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.darwin-x86.mk b/content/screen_orientation_values_java.target.darwin-x86.mk
index 5ed57d4..c1aac6d 100644
--- a/content/screen_orientation_values_java.target.darwin-x86.mk
+++ b/content/screen_orientation_values_java.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.darwin-x86_64.mk b/content/screen_orientation_values_java.target.darwin-x86_64.mk
index 907fd9d..f375e3c 100644
--- a/content/screen_orientation_values_java.target.darwin-x86_64.mk
+++ b/content/screen_orientation_values_java.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.linux-arm.mk b/content/screen_orientation_values_java.target.linux-arm.mk
index 8ce068c..2aad762 100644
--- a/content/screen_orientation_values_java.target.linux-arm.mk
+++ b/content/screen_orientation_values_java.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.linux-arm64.mk b/content/screen_orientation_values_java.target.linux-arm64.mk
index faea101..7740c5e 100644
--- a/content/screen_orientation_values_java.target.linux-arm64.mk
+++ b/content/screen_orientation_values_java.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.linux-mips.mk b/content/screen_orientation_values_java.target.linux-mips.mk
index cdf1133..f293ed0 100644
--- a/content/screen_orientation_values_java.target.linux-mips.mk
+++ b/content/screen_orientation_values_java.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.linux-x86.mk b/content/screen_orientation_values_java.target.linux-x86.mk
index 5ed57d4..c1aac6d 100644
--- a/content/screen_orientation_values_java.target.linux-x86.mk
+++ b/content/screen_orientation_values_java.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/screen_orientation_values_java.target.linux-x86_64.mk b/content/screen_orientation_values_java.target.linux-x86_64.mk
index 907fd9d..f375e3c 100644
--- a/content/screen_orientation_values_java.target.linux-x86_64.mk
+++ b/content/screen_orientation_values_java.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/shell/browser/shell_aura.cc b/content/shell/browser/shell_aura.cc
index 5f945d4..edc83ef 100644
--- a/content/shell/browser/shell_aura.cc
+++ b/content/shell/browser/shell_aura.cc
@@ -16,7 +16,7 @@
 // static
 void Shell::PlatformInitialize(const gfx::Size& default_window_size) {
   CHECK(!platform_);
-  aura::TestScreen* screen = aura::TestScreen::Create();
+  aura::TestScreen* screen = aura::TestScreen::Create(gfx::Size());
   gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen);
   platform_ = new ShellPlatformDataAura(default_window_size);
 }
diff --git a/content/shell/browser/shell_views.cc b/content/shell/browser/shell_views.cc
index dcdd890..d1f4862 100644
--- a/content/shell/browser/shell_views.cc
+++ b/content/shell/browser/shell_views.cc
@@ -423,8 +423,8 @@
 #endif
 #if defined(OS_CHROMEOS)
   chromeos::DBusThreadManager::Initialize();
-  gfx::Screen::SetScreenInstance(
-      gfx::SCREEN_TYPE_NATIVE, aura::TestScreen::Create());
+  gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE,
+                                 aura::TestScreen::Create(gfx::Size()));
   wm_test_helper_ = new wm::WMTestHelper(default_window_size,
                                          GetContextFactory());
 #else
@@ -437,6 +437,7 @@
 void Shell::PlatformExit() {
 #if defined(OS_CHROMEOS)
   delete wm_test_helper_;
+  wm_test_helper_ = NULL;
 #endif
   delete views_delegate_;
   views_delegate_ = NULL;
diff --git a/content/shell/renderer/test_runner/WebTestDelegate.h b/content/shell/renderer/test_runner/WebTestDelegate.h
index 31a9ad7..8d9f004 100644
--- a/content/shell/renderer/test_runner/WebTestDelegate.h
+++ b/content/shell/renderer/test_runner/WebTestDelegate.h
@@ -29,6 +29,7 @@
 
 namespace content {
 
+class RendererGamepadProvider;
 class WebTask;
 class WebTestProxyBase;
 struct TestPreferences;
@@ -40,14 +41,8 @@
     virtual void clearEditCommand() = 0;
     virtual void setEditCommand(const std::string& name, const std::string& value) = 0;
 
-    // Set the gamepads to return from Platform::sampleGamepads().
-    virtual void setGamepadData(const blink::WebGamepads&) = 0;
-
-    // Notifies blink about a new gamepad.
-    virtual void didConnectGamepad(int index, const blink::WebGamepad&) = 0;
-
-    // Notifies blink that a gamepad has been disconnected.
-    virtual void didDisconnectGamepad(int index, const blink::WebGamepad&) = 0;
+    // Sets gamepad provider to be used for tests.
+    virtual void setGamepadProvider(RendererGamepadProvider*) = 0;
 
     // Set data to return when registering via Platform::setDeviceMotionListener().
     virtual void setDeviceMotionData(const blink::WebDeviceMotionData&) = 0;
diff --git a/content/shell/renderer/test_runner/gamepad_controller.cc b/content/shell/renderer/test_runner/gamepad_controller.cc
index 7efe712..bbf648c 100644
--- a/content/shell/renderer/test_runner/gamepad_controller.cc
+++ b/content/shell/renderer/test_runner/gamepad_controller.cc
@@ -10,6 +10,7 @@
 #include "gin/handle.h"
 #include "gin/object_template_builder.h"
 #include "gin/wrappable.h"
+#include "third_party/WebKit/public/platform/WebGamepadListener.h"
 #include "third_party/WebKit/public/web/WebFrame.h"
 #include "third_party/WebKit/public/web/WebKit.h"
 #include "v8/include/v8.h"
@@ -136,7 +137,9 @@
     controller_->SetAxisData(index, axis, data);
 }
 
-GamepadController::GamepadController() : delegate_(NULL), weak_factory_(this) {
+GamepadController::GamepadController()
+    : listener_(NULL),
+      weak_factory_(this) {
   Reset();
 }
 
@@ -151,7 +154,16 @@
 }
 
 void GamepadController::SetDelegate(WebTestDelegate* delegate) {
-  delegate_ = delegate;
+  delegate->setGamepadProvider(this);
+}
+
+void GamepadController::SampleGamepads(blink::WebGamepads& gamepads) {
+  memcpy(&gamepads, &gamepads_, sizeof(blink::WebGamepads));
+}
+
+void GamepadController::SetGamepadListener(
+    blink::WebGamepadListener* listener) {
+  listener_ = listener;
 }
 
 void GamepadController::Connect(int index) {
@@ -163,16 +175,15 @@
     if (gamepads_.items[i].connected)
       gamepads_.length = i + 1;
   }
-  if (delegate_)
-    delegate_->setGamepadData(gamepads_);
 }
 
 void GamepadController::DispatchConnected(int index) {
-  if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap))
+  if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)
+      || !gamepads_.items[index].connected)
     return;
   const WebGamepad& pad = gamepads_.items[index];
-  if (pad.connected && delegate_)
-    delegate_->didConnectGamepad(index, pad);
+  if (listener_)
+    listener_->didConnectGamepad(index, pad);
 }
 
 void GamepadController::Disconnect(int index) {
@@ -185,10 +196,8 @@
     if (gamepads_.items[i].connected)
       gamepads_.length = i + 1;
   }
-  if (delegate_) {
-    delegate_->setGamepadData(gamepads_);
-    delegate_->didDisconnectGamepad(index, pad);
-  }
+  if (listener_)
+    listener_->didDisconnectGamepad(index, pad);
 }
 
 void GamepadController::SetId(int index, const std::string& src) {
@@ -198,8 +207,6 @@
   memset(gamepads_.items[index].id, 0, sizeof(gamepads_.items[index].id));
   for (unsigned i = 0; *p && i < WebGamepad::idLengthCap - 1; ++i)
     gamepads_.items[index].id[i] = *p++;
-  if (delegate_)
-    delegate_->setGamepadData(gamepads_);
 }
 
 void GamepadController::SetButtonCount(int index, int buttons) {
@@ -208,8 +215,6 @@
   if (buttons < 0 || buttons >= static_cast<int>(WebGamepad::buttonsLengthCap))
     return;
   gamepads_.items[index].buttonsLength = buttons;
-  if (delegate_)
-    delegate_->setGamepadData(gamepads_);
 }
 
 void GamepadController::SetButtonData(int index, int button, double data) {
@@ -219,8 +224,6 @@
     return;
   gamepads_.items[index].buttons[button].value = data;
   gamepads_.items[index].buttons[button].pressed = data > 0.1f;
-  if (delegate_)
-    delegate_->setGamepadData(gamepads_);
 }
 
 void GamepadController::SetAxisCount(int index, int axes) {
@@ -229,8 +232,6 @@
   if (axes < 0 || axes >= static_cast<int>(WebGamepad::axesLengthCap))
     return;
   gamepads_.items[index].axesLength = axes;
-  if (delegate_)
-    delegate_->setGamepadData(gamepads_);
 }
 
 void GamepadController::SetAxisData(int index, int axis, double data) {
@@ -239,8 +240,6 @@
   if (axis < 0 || axis >= static_cast<int>(WebGamepad::axesLengthCap))
     return;
   gamepads_.items[index].axes[axis] = data;
-  if (delegate_)
-    delegate_->setGamepadData(gamepads_);
 }
 
 }  // namespace content
diff --git a/content/shell/renderer/test_runner/gamepad_controller.h b/content/shell/renderer/test_runner/gamepad_controller.h
index b648fd0..99b7efc 100644
--- a/content/shell/renderer/test_runner/gamepad_controller.h
+++ b/content/shell/renderer/test_runner/gamepad_controller.h
@@ -5,26 +5,38 @@
 #ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_GAMEPAD_CONTROLLER_H_
 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_GAMEPAD_CONTROLLER_H_
 
+#include <map>
+
 #include "base/memory/weak_ptr.h"
+#include "content/public/renderer/renderer_gamepad_provider.h"
 #include "third_party/WebKit/public/platform/WebGamepads.h"
 
 namespace blink {
 class WebFrame;
+class WebGamepadListener;
 }
 
 namespace content {
 
 class WebTestDelegate;
 
-class GamepadController : public base::SupportsWeakPtr<GamepadController> {
+class GamepadController
+    : public base::SupportsWeakPtr<GamepadController>,
+      public RendererGamepadProvider {
  public:
   GamepadController();
-  ~GamepadController();
+  virtual ~GamepadController();
 
   void Reset();
   void Install(blink::WebFrame* frame);
   void SetDelegate(WebTestDelegate* delegate);
 
+  // RendererGamepadProvider implementation.
+  virtual void SampleGamepads(
+      blink::WebGamepads& gamepads) OVERRIDE;
+  virtual void SetGamepadListener(
+      blink::WebGamepadListener* listener) OVERRIDE;
+
  private:
   friend class GamepadControllerBindings;
 
@@ -46,7 +58,10 @@
 
   blink::WebGamepads gamepads_;
 
-  WebTestDelegate* delegate_;
+  blink::WebGamepadListener* listener_;
+
+  // Mapping from gamepad index to connection state.
+  std::map<int, bool> pending_changes_;
 
   base::WeakPtrFactory<GamepadController> weak_factory_;
 
diff --git a/content/shell/renderer/webkit_test_runner.cc b/content/shell/renderer/webkit_test_runner.cc
index b251935..f6247ba 100644
--- a/content/shell/renderer/webkit_test_runner.cc
+++ b/content/shell/renderer/webkit_test_runner.cc
@@ -201,20 +201,9 @@
   render_view()->SetEditCommandForNextKeyEvent(name, value);
 }
 
-void WebKitTestRunner::setGamepadData(const WebGamepads& gamepads) {
-  SetMockGamepads(gamepads);
-}
-
-void WebKitTestRunner::didConnectGamepad(
-    int index,
-    const blink::WebGamepad& gamepad) {
-  MockGamepadConnected(index, gamepad);
-}
-
-void WebKitTestRunner::didDisconnectGamepad(
-    int index,
-    const blink::WebGamepad& gamepad) {
-  MockGamepadDisconnected(index, gamepad);
+void WebKitTestRunner::setGamepadProvider(
+    RendererGamepadProvider* provider) {
+  SetMockGamepadProvider(provider);
 }
 
 void WebKitTestRunner::setDeviceMotionData(const WebDeviceMotionData& data) {
diff --git a/content/shell/renderer/webkit_test_runner.h b/content/shell/renderer/webkit_test_runner.h
index 6ed22a2..9cd1941 100644
--- a/content/shell/renderer/webkit_test_runner.h
+++ b/content/shell/renderer/webkit_test_runner.h
@@ -55,11 +55,7 @@
   virtual void clearEditCommand() OVERRIDE;
   virtual void setEditCommand(const std::string& name,
                               const std::string& value) OVERRIDE;
-  virtual void setGamepadData(const blink::WebGamepads& gamepads) OVERRIDE;
-  virtual void didConnectGamepad(int index,
-                                const blink::WebGamepad& gamepad) OVERRIDE;
-  virtual void didDisconnectGamepad(int index,
-                                   const blink::WebGamepad& gamepad) OVERRIDE;
+  virtual void setGamepadProvider(RendererGamepadProvider*) OVERRIDE;
   virtual void setDeviceMotionData(
       const blink::WebDeviceMotionData& data) OVERRIDE;
   virtual void setDeviceOrientationData(
diff --git a/content/speech_recognition_error_java.target.darwin-arm.mk b/content/speech_recognition_error_java.target.darwin-arm.mk
index 58dae17..ba485ce 100644
--- a/content/speech_recognition_error_java.target.darwin-arm.mk
+++ b/content/speech_recognition_error_java.target.darwin-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.darwin-arm64.mk b/content/speech_recognition_error_java.target.darwin-arm64.mk
index ef1a9d9..cdc2dbe 100644
--- a/content/speech_recognition_error_java.target.darwin-arm64.mk
+++ b/content/speech_recognition_error_java.target.darwin-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.darwin-mips.mk b/content/speech_recognition_error_java.target.darwin-mips.mk
index 4e6c3e7..2f1aeb6 100644
--- a/content/speech_recognition_error_java.target.darwin-mips.mk
+++ b/content/speech_recognition_error_java.target.darwin-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.darwin-x86.mk b/content/speech_recognition_error_java.target.darwin-x86.mk
index 4e0fd09..c35451c 100644
--- a/content/speech_recognition_error_java.target.darwin-x86.mk
+++ b/content/speech_recognition_error_java.target.darwin-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.darwin-x86_64.mk b/content/speech_recognition_error_java.target.darwin-x86_64.mk
index f28382b..cb6fb91 100644
--- a/content/speech_recognition_error_java.target.darwin-x86_64.mk
+++ b/content/speech_recognition_error_java.target.darwin-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.linux-arm.mk b/content/speech_recognition_error_java.target.linux-arm.mk
index 58dae17..ba485ce 100644
--- a/content/speech_recognition_error_java.target.linux-arm.mk
+++ b/content/speech_recognition_error_java.target.linux-arm.mk
@@ -104,6 +104,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -202,6 +203,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.linux-arm64.mk b/content/speech_recognition_error_java.target.linux-arm64.mk
index ef1a9d9..cdc2dbe 100644
--- a/content/speech_recognition_error_java.target.linux-arm64.mk
+++ b/content/speech_recognition_error_java.target.linux-arm64.mk
@@ -94,6 +94,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -181,6 +182,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.linux-mips.mk b/content/speech_recognition_error_java.target.linux-mips.mk
index 4e6c3e7..2f1aeb6 100644
--- a/content/speech_recognition_error_java.target.linux-mips.mk
+++ b/content/speech_recognition_error_java.target.linux-mips.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -190,6 +191,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.linux-x86.mk b/content/speech_recognition_error_java.target.linux-x86.mk
index 4e0fd09..c35451c 100644
--- a/content/speech_recognition_error_java.target.linux-x86.mk
+++ b/content/speech_recognition_error_java.target.linux-x86.mk
@@ -99,6 +99,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -191,6 +192,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/speech_recognition_error_java.target.linux-x86_64.mk b/content/speech_recognition_error_java.target.linux-x86_64.mk
index f28382b..cb6fb91 100644
--- a/content/speech_recognition_error_java.target.linux-x86_64.mk
+++ b/content/speech_recognition_error_java.target.linux-x86_64.mk
@@ -98,6 +98,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
@@ -189,6 +190,7 @@
 	'-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \
 	'-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \
 	'-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \
+	'-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \
 	'-DVIDEO_HOLE=1' \
 	'-DUSE_OPENSSL=1' \
 	'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/test/data/indexeddb/corrupted_open_db_detection.html b/content/test/data/indexeddb/corrupted_open_db_detection.html
index 5e1b4e2..9fe0aa4 100644
--- a/content/test/data/indexeddb/corrupted_open_db_detection.html
+++ b/content/test/data/indexeddb/corrupted_open_db_detection.html
@@ -21,7 +21,7 @@
   indexedDBTest(upgradeCallback, openCallback);
 }
 
-var numObjectsWrittenToDb = 500;
+var numObjectsWrittenToDb = 5;
 var numTransactions = 0;
 var numTransactionErrors = 0;
 var numTransactionAborts = 0;
@@ -110,7 +110,8 @@
     objectStore = transaction.objectStore('storeName');
   },
   get: function() {
-    testXhr("/corrupt/test/corruptdb?storeName", function() {
+    testXhr("/corrupt/test/fail?class=LevelDBTransaction&method=Get&instNum=1",
+            function() {
       tests.testCommon('readonly');
       request = objectStore.get('key-0');
       request.onsuccess = unexpectedSuccessCallback;
diff --git a/content/test/gpu/gpu_tests/memory.py b/content/test/gpu/gpu_tests/memory.py
index dddb472..939af86 100644
--- a/content/test/gpu/gpu_tests/memory.py
+++ b/content/test/gpu/gpu_tests/memory.py
@@ -83,7 +83,9 @@
         '--force-gpu-mem-available-mb=%s' % MEMORY_LIMIT_MB)
 
   def WillNavigateToPage(self, page, tab):
-    custom_categories = ['webkit.console', 'gpu']
+    # FIXME: Remove webkit.console when blink.console lands in chromium and the
+    # ref builds are updated. crbug.com/386847
+    custom_categories = ['webkit.console', 'blink.console', 'gpu']
     tab.browser.StartTracing(','.join(custom_categories), 60)
 
   def _FormatException(self, low_or_high, mb_used):
diff --git a/content/test/gpu/gpu_tests/pixel_expectations.py b/content/test/gpu/gpu_tests/pixel_expectations.py
index 1d9594a..270c550 100644
--- a/content/test/gpu/gpu_tests/pixel_expectations.py
+++ b/content/test/gpu/gpu_tests/pixel_expectations.py
@@ -24,4 +24,8 @@
     # self.Fail('Pixel.Canvas2DRedBox',
     #     ['mac', 'amd', ('nvidia', 0x1234)], bug=123)
 
+    self.Fail('Pixel.Canvas2DRedBox', bug=384551)
+    self.Fail('Pixel.CSS3DBlueBox', bug=384551)
+    self.Fail('Pixel.WebGLGreenTriangle', bug=384551)
+
     pass
diff --git a/content/test/gpu/page_sets/pixel_tests.py b/content/test/gpu/page_sets/pixel_tests.py
index 720af30..c2e1390 100644
--- a/content/test/gpu/page_sets/pixel_tests.py
+++ b/content/test/gpu/page_sets/pixel_tests.py
@@ -32,19 +32,19 @@
       url='file://../../data/gpu/pixel_canvas2d.html',
       name='Pixel.Canvas2DRedBox',
       test_rect=[0, 0, 300, 300],
-      revision=3,
+      revision=4,
       page_set=self))
 
     self.AddPage(PixelTestsPage(
       url='file://../../data/gpu/pixel_css3d.html',
       name='Pixel.CSS3DBlueBox',
       test_rect=[0, 0, 300, 300],
-      revision=8,
+      revision=9,
       page_set=self))
 
     self.AddPage(PixelTestsPage(
       url='file://../../data/gpu/pixel_webgl.html',
       name='Pixel.WebGLGreenTriangle',
       test_rect=[0, 0, 300, 300],
-      revision=7,
+      revision=8,
       page_set=self))
diff --git a/content/test/layouttest_support.cc b/content/test/layouttest_support.cc
index 3c43e8b..7e87254 100644
--- a/content/test/layouttest_support.cc
+++ b/content/test/layouttest_support.cc
@@ -81,16 +81,9 @@
   RenderFrameImpl::InstallCreateHook(CreateWebFrameTestProxy);
 }
 
-void SetMockGamepads(const WebGamepads& pads) {
-  RendererWebKitPlatformSupportImpl::SetMockGamepadsForTesting(pads);
-}
-
-void MockGamepadConnected(int index, const WebGamepad& pad) {
-  RendererWebKitPlatformSupportImpl::MockGamepadConnected(index, pad);
-}
-
-void MockGamepadDisconnected(int index, const WebGamepad& pad) {
-  RendererWebKitPlatformSupportImpl::MockGamepadDisconnected(index, pad);
+void SetMockGamepadProvider(RendererGamepadProvider* provider) {
+  RenderThreadImpl::current()->webkit_platform_support()->
+      set_gamepad_provider(provider);
 }
 
 void SetMockDeviceMotionData(const WebDeviceMotionData& data) {
diff --git a/content/test/test_web_contents.cc b/content/test/test_web_contents.cc
index a9c239e..c337e2b 100644
--- a/content/test/test_web_contents.cc
+++ b/content/test/test_web_contents.cc
@@ -26,7 +26,6 @@
 
 TestWebContents::TestWebContents(BrowserContext* browser_context)
     : WebContentsImpl(browser_context, NULL),
-      transition_cross_site(false),
       delegate_view_override_(NULL),
       expect_set_history_length_and_prune_(false),
       expect_set_history_length_and_prune_site_instance_(NULL),
diff --git a/content/test/test_web_contents.h b/content/test/test_web_contents.h
index e42abfe..9afa72d 100644
--- a/content/test/test_web_contents.h
+++ b/content/test/test_web_contents.h
@@ -51,10 +51,6 @@
     return GetRenderManager()->cross_navigation_pending_;
   }
 
-  // Overrides WebContentsImpl::ShouldTransitionCrossSite so that we can test
-  // both alternatives without using command-line switches.
-  bool ShouldTransitionCrossSite() { return transition_cross_site; }
-
   // Prevent interaction with views.
   virtual bool CreateRenderViewForRenderManager(
       RenderViewHost* render_view_host,
@@ -67,9 +63,6 @@
   // TestWebContents. The caller owns the returned object.
   virtual WebContents* Clone() OVERRIDE;
 
-  // Set by individual tests.
-  bool transition_cross_site;
-
   // Allow mocking of the RenderViewHostDelegateView.
   virtual RenderViewHostDelegateView* GetDelegateView() OVERRIDE;
   void set_delegate_view(RenderViewHostDelegateView* view) {
diff --git a/content/test/web_layer_tree_view_impl_for_testing.cc b/content/test/web_layer_tree_view_impl_for_testing.cc
index 9da4896..23c55f6 100644
--- a/content/test/web_layer_tree_view_impl_for_testing.cc
+++ b/content/test/web_layer_tree_view_impl_for_testing.cc
@@ -167,8 +167,4 @@
                                            scoped_refptr<cc::Layer>());
 }
 
-bool WebLayerTreeViewImplForTesting::usesGpuRasterization() {
-  return false;
-}
-
 }  // namespace content
diff --git a/content/test/web_layer_tree_view_impl_for_testing.h b/content/test/web_layer_tree_view_impl_for_testing.h
index 329f37b..c2b60c5 100644
--- a/content/test/web_layer_tree_view_impl_for_testing.h
+++ b/content/test/web_layer_tree_view_impl_for_testing.h
@@ -59,7 +59,6 @@
       const blink::WebLayer* innerViewportScrollLayer,
       const blink::WebLayer* outerViewportScrollLayer) OVERRIDE;
   virtual void clearViewportLayers() OVERRIDE;
-  virtual bool usesGpuRasterization() OVERRIDE;
 
   // cc::LayerTreeHostClient implementation.
   virtual void WillBeginMainFrame(int frame_id) OVERRIDE {}