Bumping manifests a=b2g-bump
[gecko.git] / image / src / ScriptedNotificationObserver.cpp
blob5c2a8f0ed53020a96d5f681c80959065c4ab80c1
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "ScriptedNotificationObserver.h"
8 #include "imgIScriptedNotificationObserver.h"
9 #include "nsCycleCollectionParticipant.h"
11 namespace mozilla {
12 namespace image {
14 NS_IMPL_CYCLE_COLLECTION(ScriptedNotificationObserver, mInner)
16 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ScriptedNotificationObserver)
17 NS_INTERFACE_MAP_ENTRY(imgINotificationObserver)
18 NS_INTERFACE_MAP_ENTRY(nsISupports)
19 NS_INTERFACE_MAP_END
21 NS_IMPL_CYCLE_COLLECTING_ADDREF(ScriptedNotificationObserver)
22 NS_IMPL_CYCLE_COLLECTING_RELEASE(ScriptedNotificationObserver)
24 ScriptedNotificationObserver::ScriptedNotificationObserver(
25 imgIScriptedNotificationObserver* aInner)
26 : mInner(aInner)
30 NS_IMETHODIMP
31 ScriptedNotificationObserver::Notify(imgIRequest* aRequest,
32 int32_t aType,
33 const nsIntRect* /*aUnused*/)
35 if (aType == imgINotificationObserver::SIZE_AVAILABLE)
36 return mInner->SizeAvailable(aRequest);
37 if (aType == imgINotificationObserver::FRAME_UPDATE)
38 return mInner->FrameUpdate(aRequest);
39 if (aType == imgINotificationObserver::FRAME_COMPLETE)
40 return mInner->FrameComplete(aRequest);
41 if (aType == imgINotificationObserver::DECODE_COMPLETE)
42 return mInner->DecodeComplete(aRequest);
43 if (aType == imgINotificationObserver::LOAD_COMPLETE)
44 return mInner->LoadComplete(aRequest);
45 if (aType == imgINotificationObserver::DISCARD)
46 return mInner->Discard(aRequest);
47 if (aType == imgINotificationObserver::IS_ANIMATED)
48 return mInner->IsAnimated(aRequest);
49 if (aType == imgINotificationObserver::HAS_TRANSPARENCY)
50 return mInner->HasTransparency(aRequest);
51 return NS_OK;
54 } // namespace image
55 } // namespace mozilla