WebGraphicsLayer* WebGraphicsLayer::layerByID(WebKit::WebLayerID id) { HashMap<WebLayerID, WebGraphicsLayer*>& table = layerByIDMap(); HashMap<WebLayerID, WebGraphicsLayer*>::iterator it = table.find(id); if (it == table.end()) return 0; return it->second; }
WebGraphicsLayer::~WebGraphicsLayer() { layerByIDMap().remove(id()); // This would tell the UI process to release the backing store. setContentsToImage(0); if (m_layerTreeTileClient) m_layerTreeTileClient->didDeleteLayer(id()); }
WebGraphicsLayer::~WebGraphicsLayer() { layerByIDMap().remove(id()); if (m_webGraphicsLayerClient) { purgeBackingStores(); m_webGraphicsLayerClient->detachLayer(this); } willBeDestroyed(); }
WebGraphicsLayer::WebGraphicsLayer(GraphicsLayerClient* client) : GraphicsLayer(client) , m_maskTarget(0) , m_inUpdateMode(false) , m_shouldUpdateVisibleRect(true) , m_shouldSyncLayerState(true) , m_shouldSyncChildren(true) , m_webGraphicsLayerClient(0) , m_contentsScale(1) { static WebLayerID nextLayerID = 1; m_id = nextLayerID++; layerByIDMap().add(id(), this); }
WebGraphicsLayer::WebGraphicsLayer(GraphicsLayerClient* client) : GraphicsLayer(client) , m_maskTarget(0) , m_needsDisplay(false) , m_modified(true) , m_contentNeedsDisplay(false) , m_hasPendingAnimations(false) , m_inUpdateMode(false) #if USE(TILED_BACKING_STORE) , m_layerTreeTileClient(0) , m_mainBackingStore(adoptPtr(new TiledBackingStore(this, TiledBackingStoreRemoteTileBackend::create(this)))) , m_contentsScale(1.f) #endif { m_mainBackingStore->setContentsScale(1.0); static WebLayerID nextLayerID = 1; m_layerInfo.id = nextLayerID++; layerByIDMap().add(id(), this); }