Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java

Issue 2708703004: Reland "Refactor ContentViewClient (4/6)" (Closed)
Patch Set: rebased Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java ('k') | chrome/android/java_sources.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java
new file mode 100644
index 0000000000000000000000000000000000000000..e4689e0e512166228ee0419bf8d85ef1cc9a4e82
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java
@@ -0,0 +1,59 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.tab;
+
+import android.content.ActivityNotFoundException;
+import android.content.Intent;
+import android.view.ViewGroup;
+
+import org.chromium.base.Log;
+import org.chromium.base.metrics.RecordUserAction;
+import org.chromium.ui.base.ViewAndroidDelegate;
+
+/**
+ * Implementation of the abstract class {@link ViewAndroidDelegate} for Chrome.
+ */
+class TabViewAndroidDelegate extends ViewAndroidDelegate {
+ /** Used for logging. */
+ private static final String TAG = "TabVAD";
+
+ private final Tab mTab;
+ private final ViewGroup mContainerView;
+
+ TabViewAndroidDelegate(Tab tab, ViewGroup containerView) {
+ mTab = tab;
+ mContainerView = containerView;
+ }
+
+ @Override
+ public void onBackgroundColorChanged(int color) {
+ mTab.onBackgroundColorChanged(color);
+ }
+
+ @Override
+ public void onTopControlsChanged(float topControlsOffsetY, float topContentOffsetY) {
+ mTab.onOffsetsChanged(topControlsOffsetY, Float.NaN, topContentOffsetY);
+ }
+
+ @Override
+ public void onBottomControlsChanged(float bottomControlsOffsetY, float bottomContentOffsetY) {
+ mTab.onOffsetsChanged(Float.NaN, bottomControlsOffsetY, Float.NaN);
+ }
+
+ @Override
+ public void startContentIntent(Intent intent, String intentUrl, boolean isMainFrame) {
+ try {
+ RecordUserAction.record("Android.ContentDetectorActivated");
+ mContainerView.getContext().startActivity(intent);
+ } catch (ActivityNotFoundException ex) {
+ Log.w(TAG, "No application can handle %s", intentUrl);
+ }
+ }
+
+ @Override
+ public ViewGroup getContainerView() {
+ return mContainerView;
+ }
+}
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java ('k') | chrome/android/java_sources.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698