| Index: athena/content/content_proxy.h
|
| diff --git a/athena/content/content_proxy.h b/athena/content/content_proxy.h
|
| deleted file mode 100644
|
| index aafc82a9bcc6b827e0e662733d0b0e1c0716cf1f..0000000000000000000000000000000000000000
|
| --- a/athena/content/content_proxy.h
|
| +++ /dev/null
|
| @@ -1,115 +0,0 @@
|
| -// 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 ATHENA_CONTENT_CONTENT_PROXY_H_
|
| -#define ATHENA_CONTENT_CONTENT_PROXY_H_
|
| -
|
| -#include "base/macros.h"
|
| -#include "base/memory/ref_counted_memory.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "content/public/browser/readback_types.h"
|
| -#include "ui/gfx/image/image_skia.h"
|
| -
|
| -namespace views {
|
| -class WebView;
|
| -}
|
| -
|
| -namespace athena {
|
| -
|
| -class ProxyImageData;
|
| -
|
| -// This object creates and holds proxy content which gets shown instead of the
|
| -// actual web content, generated from the passed |web_view|.
|
| -// The created |proxy_content_| will be destroyed with the destruction of this
|
| -// object.
|
| -// Calling EvictContent() will release the rendered content.
|
| -// When ContentGetsDestroyed() gets called, the old view will be made visible
|
| -// and then the link to the |web_view_| will get severed.
|
| -class ContentProxy {
|
| - public:
|
| - // Creates the object by creating a sized down |web_view| layer.
|
| - explicit ContentProxy(views::WebView* web_view);
|
| - // TODO(skuhne): Add a function to create this object from a passed PNG, so
|
| - // that we can create it from a session restore.
|
| -
|
| - // With the destruction of the object, the layer should get destroyed and the
|
| - // content should become visible again.
|
| - virtual ~ContentProxy();
|
| -
|
| - // Called when the content will get unloaded.
|
| - void ContentWillUnload();
|
| -
|
| - // Can be called to save resources by creating a layer with a solid color
|
| - // instead of creating a content image layer.
|
| - // Note: Currently the GPU does create a full size texture and fills it with
|
| - // the given color - so there isn't really memory savings yet.
|
| - void EvictContent();
|
| -
|
| - // Get the image of the content. If there is no image known, an empty image
|
| - // will be returned.
|
| - gfx::ImageSkia GetContentImage();
|
| -
|
| - // The content is about to get destroyed by its creator.
|
| - // Note: This function should only be used by AppActivity.
|
| - void OnPreContentDestroyed();
|
| -
|
| - private:
|
| - // Make the original (web)content visible. This call should only be paired
|
| - // with HideOriginalContent.
|
| - void ShowOriginalContent();
|
| -
|
| - // Make the content invisible. This call should only be paired with
|
| - // MakeVisible.
|
| - void HideOriginalContent();
|
| -
|
| - // Creates proxy content from |web_view_|.
|
| - void CreateProxyContent();
|
| -
|
| - // Creates an image from the current content.
|
| - bool CreateContentImage();
|
| -
|
| - // Called once the content was read back.
|
| - void OnContentImageRead(const SkBitmap& bitmap,
|
| - content::ReadbackResponse response);
|
| -
|
| - // Called once the image content has been converted to PNG.
|
| - void OnContentImageEncodeComplete(scoped_refptr<ProxyImageData> image);
|
| -
|
| - // The web view which was passed on creation and is associated with this
|
| - // object. It will be shown when OnPreContentDestroyed() gets called and then
|
| - // set to nullptr. The ownership remains with the creator.
|
| - views::WebView* web_view_;
|
| -
|
| - // While we are doing our PNG encode, we keep the read back image to have
|
| - // something which we can pass back to the overview mode. (It would make no
|
| - // sense to the user to see that more recent windows get painted later than
|
| - // older ones).
|
| - gfx::ImageSkia raw_image_;
|
| -
|
| - // True if the content is visible.
|
| - bool content_visible_;
|
| -
|
| - // True if the content is loaded and needs a re-layout when it gets shown
|
| - // again.
|
| - bool content_loaded_;
|
| -
|
| - // True if a content creation was kicked off once. This ensures that the
|
| - // function is never called twice.
|
| - bool content_creation_called_;
|
| -
|
| - // The PNG image data.
|
| - scoped_refptr<base::RefCountedBytes> png_data_;
|
| -
|
| - // Creating an encoded image from the content will be asynchronous. Use a
|
| - // weakptr for the callback to make sure that the read back / encoding image
|
| - // completion callback does not trigger on a destroyed ContentProxy.
|
| - base::WeakPtrFactory<ContentProxy> proxy_content_to_image_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ContentProxy);
|
| -};
|
| -
|
| -} // namespace athena
|
| -
|
| -#endif // ATHENA_CONTENT_CONTENT_PROXY_H_
|
|
|