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

Unified Diff: chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java

Issue 1141283003: Upstream oodles of Chrome for Android code into Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final patch? Created 5 years, 7 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
Index: chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java
new file mode 100644
index 0000000000000000000000000000000000000000..c6680207c4ae462600de9f11f56e29a716516063
--- /dev/null
+++ b/chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java
@@ -0,0 +1,152 @@
+// Copyright 2015 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.compositor.scene_layer;
+
+import com.google.android.apps.chrome.R;
+
+import org.chromium.base.JNINamespace;
+import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.ContextualSearchPanel;
+import org.chromium.content.browser.ContentViewCore;
+import org.chromium.ui.resources.ResourceManager;
+
+import javax.annotation.Nullable;
+
+/**
+ * A SceneLayer to render layers for ContextualSearchLayout.
+ */
+@JNINamespace("chrome::android")
+public class ContextualSearchSceneLayer extends SceneLayer {
+ // NOTE: If you use SceneLayer's native pointer here, the JNI generator will try to
+ // downcast using reinterpret_cast<>. We keep a separate pointer to avoid it.
+ private long mNativePtr;
+
+ private final float mDpToPx;
+ private final ContextualSearchPanel mSearchPanel;
+
+ public ContextualSearchSceneLayer(float dpToPx, ContextualSearchPanel searchPanel) {
+ mDpToPx = dpToPx;
+ mSearchPanel = searchPanel;
+ }
+
+ /**
+ * Update contextual search's layer tree using the parameters.
+ *
+ * @param contentViewCore The CVC, may be null if only updating the bar.
+ * @param resourceManager
+ */
+ public void update(@Nullable ContentViewCore contentViewCore, ResourceManager resourceManager) {
+ boolean searchPromoVisible = mSearchPanel.getPromoVisible();
+ float searchPromoHeightPx = mSearchPanel.getPromoHeightPx();
+ float searchPromoOpacity = mSearchPanel.getPromoOpacity();
+
+ float searchPanelY = mSearchPanel.getContextualSearchPanelY();
+ float searchPanelWidth = mSearchPanel.getWidth();
+ float searchBarMarginTop = mSearchPanel.getSearchBarMarginTop();
+ float searchBarHeight = mSearchPanel.getSearchBarHeight();
+ float searchBarTextOpacity = mSearchPanel.getSearchBarTextOpacity();
+
+ boolean searchBarBorderVisible = mSearchPanel.isSearchBarBorderVisible();
+ float searchBarBorderY = mSearchPanel.getSearchBarBorderY();
+ float searchBarBorderHeight = mSearchPanel.getSearchBarBorderHeight();
+
+ boolean searchBarShadowVisible = mSearchPanel.getSearchBarShadowVisible();
+ float searchBarShadowOpacity = mSearchPanel.getSearchBarShadowOpacity();
+
+ float searchProviderIconOpacity = mSearchPanel.getSearchProviderIconOpacity();
+ float searchIconPaddingLeft = mSearchPanel.getSearchIconPaddingLeft();
+ float searchIconOpacity = mSearchPanel.getSearchIconOpacity();
+
+ boolean isProgressBarVisible = mSearchPanel.isProgressBarVisible();
+ float progressBarY = mSearchPanel.getProgressBarY();
+ float progressBarHeight = mSearchPanel.getProgressBarHeight();
+ float progressBarOpacity = mSearchPanel.getProgressBarOpacity();
+ int progressBarCompletion = mSearchPanel.getProgressBarCompletion();
+
+ nativeUpdateContextualSearchLayer(mNativePtr,
+ R.drawable.contextual_search_bar_background,
+ R.id.contextual_search_view,
+ R.drawable.contextual_search_bar_shadow,
+ R.drawable.blue_google_icon,
+ R.drawable.ic_search,
+ R.drawable.progress_bar_background,
+ R.drawable.progress_bar_foreground,
+ R.id.contextual_search_opt_out_promo,
+ contentViewCore,
+ searchPromoVisible,
+ searchPromoHeightPx,
+ searchPromoOpacity,
+ searchPanelY * mDpToPx,
+ searchPanelWidth * mDpToPx,
+ searchBarMarginTop * mDpToPx,
+ searchBarHeight * mDpToPx,
+ searchBarTextOpacity,
+ searchBarBorderVisible,
+ searchBarBorderY * mDpToPx,
+ searchBarBorderHeight * mDpToPx,
+ searchBarShadowVisible,
+ searchBarShadowOpacity,
+ searchProviderIconOpacity,
+ searchIconPaddingLeft * mDpToPx,
+ searchIconOpacity,
+ isProgressBarVisible,
+ progressBarY * mDpToPx,
+ progressBarHeight * mDpToPx,
+ progressBarOpacity,
+ progressBarCompletion,
+ resourceManager);
+ }
+
+ @Override
+ protected void initializeNative() {
+ if (mNativePtr == 0) {
+ mNativePtr = nativeInit();
+ }
+ assert mNativePtr != 0;
+ }
+
+ /**
+ * Destroys this object and the corresponding native component.
+ */
+ @Override
+ public void destroy() {
+ super.destroy();
+ mNativePtr = 0;
+ }
+
+ private native long nativeInit();
+ private native void nativeUpdateContextualSearchLayer(
+ long nativeContextualSearchSceneLayer,
+ int searchBarBackgroundResourceId,
+ int searchBarTextResourceId,
+ int searchBarShadowResourceId,
+ int searchProviderIconResourceId,
+ int searchIconResourceId,
+ int progressBarBackgroundResourceId,
+ int progressBarResourceId,
+ int searchPromoResourceId,
+ ContentViewCore contentViewCore,
+ boolean searchPromoVisible,
+ float searchPromoHeight,
+ float searchPromoOpacity,
+ float searchPanelY,
+ float searchPanelWidth,
+ float searchBarMarginTop,
+ float searchBarHeight,
+ float searchBarTextOpacity,
+ boolean searchBarBorderVisible,
+ float searchBarBorderY,
+ float searchBarBorderHeight,
+ boolean searchBarShadowVisible,
+ float searchBarShadowOpacity,
+ float searchProviderIconOpacity,
+ float searchIconPaddingLeft,
+ float searchIconOpacity,
+ boolean isProgressBarVisible,
+ float progressBarY,
+ float progressBarHeight,
+ float progressBarOpacity,
+ int progressBarCompletion,
+ ResourceManager resourceManager);
+}

Powered by Google App Engine
This is Rietveld 408576698