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

Unified Diff: sky/engine/core/loader/ImageLoader.h

Issue 1214513003: Remove references into sky/engine/core/fetch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 5 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 | « sky/engine/core/loader/FrameLoader.cpp ('k') | sky/engine/core/loader/ImageLoader.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/loader/ImageLoader.h
diff --git a/sky/engine/core/loader/ImageLoader.h b/sky/engine/core/loader/ImageLoader.h
deleted file mode 100644
index 79aa9b1bfa430ce7632920ae22288296454e8366..0000000000000000000000000000000000000000
--- a/sky/engine/core/loader/ImageLoader.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
- * (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004, 2009 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef SKY_ENGINE_CORE_LOADER_IMAGELOADER_H_
-#define SKY_ENGINE_CORE_LOADER_IMAGELOADER_H_
-
-#include "sky/engine/core/fetch/ImageResource.h"
-#include "sky/engine/core/fetch/ImageResourceClient.h"
-#include "sky/engine/core/fetch/ResourcePtr.h"
-#include "sky/engine/platform/heap/Handle.h"
-#include "sky/engine/wtf/HashSet.h"
-#include "sky/engine/wtf/WeakPtr.h"
-#include "sky/engine/wtf/text/AtomicString.h"
-
-namespace blink {
-
-class IncrementLoadEventDelayCount;
-class FetchRequest;
-class Document;
-
-class ImageLoaderClient {
-public:
- virtual void notifyImageSourceChanged() = 0;
-
- // Determines whether the observed ImageResource should have higher priority in the decoded resources cache.
- virtual bool requestsHighLiveResourceCachePriority() { return false; }
-
-protected:
- ImageLoaderClient() { }
-};
-
-class Element;
-class ImageLoader;
-
-template<typename T> class EventSender;
-typedef EventSender<ImageLoader> ImageEventSender;
-
-class ImageLoader : public ImageResourceClient {
-public:
- explicit ImageLoader(Element*);
- virtual ~ImageLoader();
-
- enum LoadType {
- LoadNormally,
- ForceLoadImmediately
- };
-
- enum UpdateFromElementBehavior {
- // This should be the update behavior when the element is attached to a document, or when DOM mutations trigger a new load.
- // Starts loading if a load hasn't already been started.
- UpdateNormal,
- // This should be the update behavior when the resource was changed (via 'src', 'srcset' or 'sizes').
- // Starts a new load even if a previous load of the same resource have failed, to match Firefox's behavior.
- // FIXME - Verify that this is the right behavior according to the spec.
- UpdateIgnorePreviousError,
- // This forces the image to update its intrinsic size, even if the image source has not changed.
- UpdateSizeChanged
- };
-
- void updateFromElement(UpdateFromElementBehavior = UpdateNormal, LoadType = LoadNormally);
-
- void elementDidMoveToNewDocument();
-
- Element* element() const { return m_element; }
- bool imageComplete() const
- {
- return m_imageComplete && !m_pendingTask;
- }
-
- ImageResource* image() const { return m_image.get(); }
- void setImage(ImageResource*); // Cancels pending load events, and doesn't dispatch new ones.
-
- bool hasPendingActivity() const
- {
- return m_hasPendingLoadEvent || m_hasPendingErrorEvent || m_pendingTask;
- }
-
- void dispatchPendingEvent(ImageEventSender*);
-
- static void dispatchPendingLoadEvents();
- static void dispatchPendingErrorEvents();
-
- void addClient(ImageLoaderClient*);
- void removeClient(ImageLoaderClient*);
-
-protected:
- virtual void notifyFinished(Resource*) override;
-
-private:
- class Task;
-
- // Called from the task or from updateFromElement to initiate the load.
- void doUpdateFromElement(UpdateFromElementBehavior);
-
- virtual void dispatchLoadEvent() = 0;
- virtual String sourceURI(const AtomicString&) const = 0;
-
- void updatedHasPendingEvent();
-
- void dispatchPendingLoadEvent();
- void dispatchPendingErrorEvent();
-
- void updateRenderer();
-
- void setImageWithoutConsideringPendingLoadEvent(ImageResource*);
- void sourceImageChanged();
- void clearFailedLoadURL();
- void crossSiteOrCSPViolationOccured(AtomicString);
- void enqueueImageLoadingMicroTask(UpdateFromElementBehavior);
-
- void timerFired(Timer<ImageLoader>*);
-
- KURL imageSourceToKURL(AtomicString) const;
-
- // Used to determine whether to immediately initiate the load
- // or to schedule a microtask.
- bool shouldLoadImmediately(const KURL&, LoadType) const;
-
- void willRemoveClient(ImageLoaderClient&);
-
- RawPtr<Element> m_element;
- ResourcePtr<ImageResource> m_image;
- RefPtr<Element> m_keepAlive;
- HashSet<ImageLoaderClient*> m_clients;
- Timer<ImageLoader> m_derefElementTimer;
- AtomicString m_failedLoadURL;
- WeakPtr<Task> m_pendingTask; // owned by Microtask
- OwnPtr<IncrementLoadEventDelayCount> m_loadDelayCounter;
- bool m_hasPendingLoadEvent : 1;
- bool m_hasPendingErrorEvent : 1;
- bool m_imageComplete : 1;
- bool m_elementIsProtected : 1;
- unsigned m_highPriorityClientCount;
-};
-
-}
-
-#endif // SKY_ENGINE_CORE_LOADER_IMAGELOADER_H_
« no previous file with comments | « sky/engine/core/loader/FrameLoader.cpp ('k') | sky/engine/core/loader/ImageLoader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698