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"
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
)
21 NS_IMPL_CYCLE_COLLECTING_ADDREF(ScriptedNotificationObserver
)
22 NS_IMPL_CYCLE_COLLECTING_RELEASE(ScriptedNotificationObserver
)
24 ScriptedNotificationObserver::ScriptedNotificationObserver(
25 imgIScriptedNotificationObserver
* aInner
)
31 ScriptedNotificationObserver::Notify(imgIRequest
* aRequest
,
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
);
55 } // namespace mozilla