Shaka Player Embedded
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
shaka::BackingObject Class Referenceabstract

#include <backing_object.h>

Inheritance diagram for shaka::BackingObject:
shaka::memory::Traceable shaka::js::Console shaka::js::Debug shaka::js::dom::DOMException shaka::js::dom::DOMParser shaka::js::dom::DOMStringList shaka::js::eme::MediaKeys shaka::js::eme::MediaKeySystemAccess shaka::js::events::Event shaka::js::events::EventTarget shaka::js::idb::IDBCursor shaka::js::idb::IDBObjectStore shaka::js::Location shaka::js::mse::MediaError shaka::js::mse::MediaTrack shaka::js::mse::TimeRanges shaka::js::Navigator shaka::js::TestType shaka::js::URL shaka::js::VTTCue

Public Member Functions

 BackingObject ()
 
void Trace (memory::HeapTracer *tracer) const override
 
bool IsRootedAlive () const override
 
std::string name () const
 
virtual BackingObjectFactoryBasefactory () const =0
 
bool DerivedFrom (const std::string &base)
 
ReturnVal< JsValue > JsThis () const
 
void SetJsThis (Handle< JsObject > this_)
 
- Public Member Functions inherited from shaka::memory::Traceable
virtual ~Traceable ()
 
virtual bool IsShortLived () const
 

Static Public Member Functions

static void * operator new[] (size_t size)=delete
 
static void operator delete[] (void *)=delete
 

Static Public Attributes

static constexpr const size_t kInternalFieldCount = 2
 
- Static Public Attributes inherited from shaka::memory::Traceable
static constexpr const uint64_t kShortLiveDurationMs = 5000
 

Protected Member Functions

 ~BackingObject () override
 

Friends

class memory::ObjectTracker
 

Detailed Description

A base type for objects exposed to JavaScript. This is the backing type for a JavaScript object. This contains a weak pointer to the object that it backs.

Definition at line 56 of file backing_object.h.

Constructor & Destructor Documentation

§ BackingObject()

shaka::BackingObject::BackingObject ( )

Definition at line 22 of file backing_object.cc.

§ ~BackingObject()

shaka::BackingObject::~BackingObject ( )
overrideprotected

Definition at line 26 of file backing_object.cc.

Member Function Documentation

§ DerivedFrom()

bool shaka::BackingObject::DerivedFrom ( const std::string &  base)
Returns
Whether this object derives from the type with the given name.

Definition at line 55 of file backing_object.cc.

§ factory()

virtual BackingObjectFactoryBase* shaka::BackingObject::factory ( ) const
pure virtual
Returns
the factory that created this object.

§ IsRootedAlive()

bool shaka::BackingObject::IsRootedAlive ( ) const
overridevirtual

Gets whether this object is defined to be alive because of a JavaScript root reference.

Reimplemented from shaka::memory::Traceable.

Definition at line 43 of file backing_object.cc.

§ JsThis()

ReturnVal< JsValue > shaka::BackingObject::JsThis ( ) const

Gets the JavaScript object that represents this instance. It is only valid to call this method on the Event thread.

Definition at line 59 of file backing_object.cc.

§ name()

std::string shaka::BackingObject::name ( ) const
Returns
The name of the type.

Definition at line 51 of file backing_object.cc.

§ operator delete[]()

static void shaka::BackingObject::operator delete[] ( void *  )
staticdelete

§ operator new[]()

static void* shaka::BackingObject::operator new[] ( size_t  size)
staticdelete

§ SetJsThis()

void shaka::BackingObject::SetJsThis ( Handle< JsObject >  this_)

Sets the JavaScript instance that represents this object.

Definition at line 71 of file backing_object.cc.

§ Trace()

void shaka::BackingObject::Trace ( memory::HeapTracer tracer) const
overridevirtual

Called during a GC run. This should call HeapTracer::Trace on all Traceable members. Be sure to call the base method when overriding.

Implements shaka::memory::Traceable.

Reimplemented in shaka::js::mse::TrackList< AudioTrack, media::MediaTrack >, shaka::js::mse::TrackList< VideoTrack, media::MediaTrack >, and shaka::js::mse::TrackList< TextTrack, media::TextTrack >.

Definition at line 35 of file backing_object.cc.

Friends And Related Function Documentation

§ memory::ObjectTracker

friend class memory::ObjectTracker
friend

Definition at line 92 of file backing_object.h.

Member Data Documentation

§ kInternalFieldCount

constexpr const size_t shaka::BackingObject::kInternalFieldCount = 2
static

The number of internal fields in a wrapper object.

Definition at line 61 of file backing_object.h.


The documentation for this class was generated from the following files: