| Index: chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cc50f6c14d89fc6e05d0101ab616a31d43fc4d66
|
| --- /dev/null
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java
|
| @@ -0,0 +1,151 @@
|
| +// 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.layouts;
|
| +
|
| +import android.content.Context;
|
| +import android.graphics.Bitmap;
|
| +import android.graphics.Rect;
|
| +
|
| +import org.chromium.chrome.browser.compositor.TitleCache;
|
| +import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
|
| +import org.chromium.content.browser.ContentViewCore;
|
| +import org.chromium.ui.resources.ResourceManager;
|
| +
|
| +/**
|
| + * The {@link LayoutManagerHost} usually is based on a {@link android.view.View}. This
|
| + * implementation is stripped down with static sizes but still support 2 different orientations.
|
| + */
|
| +class MockLayoutHost implements LayoutManagerHost, LayoutRenderHost {
|
| +
|
| + public static final int LAYOUT_HOST_PORTRAIT_WIDTH = 320; // dp
|
| + public static final int LAYOUT_HOST_PORTRAIT_HEIGHT = 460; // dp
|
| +
|
| + private final Context mContext;
|
| + private boolean mPortrait = true;
|
| +
|
| + static class MockTitleCache implements TitleCache {
|
| + @Override
|
| + public void put(int tabId, Bitmap titleBitmap, Bitmap faviconBitmap, boolean isIncognito,
|
| + boolean isRtl) { }
|
| +
|
| + @Override
|
| + public void remove(int tabId) { }
|
| +
|
| + @Override
|
| + public void clearExcept(int tabId) { }
|
| + }
|
| +
|
| + private final MockTitleCache mMockTitleCache = new MockTitleCache();
|
| +
|
| + MockLayoutHost(Context context) {
|
| + mContext = context;
|
| + }
|
| +
|
| + public void setOrientation(boolean portrait) {
|
| + mPortrait = portrait;
|
| + }
|
| +
|
| + @Override
|
| + public void requestRender() { }
|
| +
|
| + @Override
|
| + public void onCompositorLayout() { }
|
| +
|
| + @Override
|
| + public void onSwapBuffersCompleted(int pendingSwapBuffersCount) { }
|
| +
|
| + @Override
|
| + public void onSurfaceCreated() { }
|
| +
|
| + @Override
|
| + public void onPhysicalBackingSizeChanged(int width, int height) { }
|
| +
|
| + @Override
|
| + public void onOverdrawBottomHeightChanged(int overdrawHeight) {}
|
| +
|
| + @Override
|
| + public int getCurrentOverdrawBottomHeight() {
|
| + return 0;
|
| + }
|
| +
|
| + @Override
|
| + public Context getContext() {
|
| + return mContext;
|
| + }
|
| +
|
| + @Override
|
| + public int getWidth() {
|
| + final float density = mContext.getResources().getDisplayMetrics().density;
|
| + final float size = mPortrait ? LAYOUT_HOST_PORTRAIT_WIDTH : LAYOUT_HOST_PORTRAIT_HEIGHT;
|
| + return (int) (density * size);
|
| + }
|
| +
|
| + @Override
|
| + public int getHeight() {
|
| + final float density = mContext.getResources().getDisplayMetrics().density;
|
| + final float size = mPortrait ? LAYOUT_HOST_PORTRAIT_HEIGHT : LAYOUT_HOST_PORTRAIT_WIDTH;
|
| + return (int) (density * size);
|
| + }
|
| +
|
| + @Override
|
| + public LayoutRenderHost getLayoutRenderHost() {
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public void pushDebugRect(Rect rect, int color) { }
|
| +
|
| + @Override
|
| + public void loadPersitentTextureDataIfNeeded() { }
|
| +
|
| + @Override
|
| + public int getLayoutTabsDrawnCount() {
|
| + return 0;
|
| + }
|
| +
|
| + @Override
|
| + public void setContentOverlayVisibility(boolean visible) { }
|
| +
|
| + @Override
|
| + public TitleCache getTitleCache() {
|
| + return mMockTitleCache;
|
| + }
|
| +
|
| + @Override
|
| + public ChromeFullscreenManager getFullscreenManager() {
|
| + return null;
|
| + }
|
| +
|
| + @Override
|
| + public Rect getVisibleViewport(Rect rect) {
|
| + if (rect == null) rect = new Rect();
|
| + rect.set(0, 0, getWidth(), getHeight());
|
| + return rect;
|
| + }
|
| +
|
| + @Override
|
| + public int getTopControlsHeightPixels() {
|
| + return 0;
|
| + }
|
| +
|
| + @Override
|
| + public boolean areTopControlsPermanentlyHidden() {
|
| + return false;
|
| + }
|
| +
|
| + @Override
|
| + public ResourceManager getResourceManager() {
|
| + return null;
|
| + }
|
| +
|
| + @Override
|
| + public void invalidateAccessibilityProvider() { }
|
| +
|
| + @Override
|
| + public void onContentViewCoreAdded(ContentViewCore content) { }
|
| +
|
| + @Override
|
| + public void onContentChanged() { }
|
| +}
|
|
|