| Index: chrome/android/java/src/org/chromium/chrome/browser/FrozenNativePage.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/FrozenNativePage.java b/chrome/android/java/src/org/chromium/chrome/browser/FrozenNativePage.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..201718e4e1b6e74a1713bc7ff267e842548b678c
|
| --- /dev/null
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/FrozenNativePage.java
|
| @@ -0,0 +1,71 @@
|
| +// 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.
|
| +
|
| +package org.chromium.chrome.browser;
|
| +
|
| +import android.view.View;
|
| +
|
| +/**
|
| + * A empty stand-in for a native page. An inactive NativePage may be replaced with a
|
| + * FrozenNativePage to free up resources.
|
| + *
|
| + * Any method may be called on this object, except for getView(), which will trigger an assert and
|
| + * return null.
|
| + */
|
| +public class FrozenNativePage implements NativePage {
|
| + private final String mUrl;
|
| + private final String mHost;
|
| + private final String mTitle;
|
| + private final int mBackgroundColor;
|
| +
|
| + /**
|
| + * Creates a FrozenNativePage to replace the given NativePage and destroys the NativePage.
|
| + */
|
| + public static FrozenNativePage freeze(NativePage nativePage) {
|
| + FrozenNativePage fnp = new FrozenNativePage(nativePage);
|
| + nativePage.destroy();
|
| + return fnp;
|
| + }
|
| +
|
| + private FrozenNativePage(NativePage nativePage) {
|
| + mHost = nativePage.getHost();
|
| + mUrl = nativePage.getUrl();
|
| + mTitle = nativePage.getTitle();
|
| + mBackgroundColor = nativePage.getBackgroundColor();
|
| + }
|
| +
|
| + @Override
|
| + public View getView() {
|
| + assert false;
|
| + return null;
|
| + }
|
| +
|
| + @Override
|
| + public String getTitle() {
|
| + return mTitle;
|
| + }
|
| +
|
| + @Override
|
| + public String getUrl() {
|
| + return mUrl;
|
| + }
|
| +
|
| + @Override
|
| + public String getHost() {
|
| + return mHost;
|
| + }
|
| +
|
| + @Override
|
| + public int getBackgroundColor() {
|
| + return mBackgroundColor;
|
| + }
|
| +
|
| + @Override
|
| + public void updateForUrl(String url) {
|
| + }
|
| +
|
| + @Override
|
| + public void destroy() {
|
| + }
|
| +}
|
|
|