bool BaseLayerAndroid::isReady()
{
    ZoomManager* zoomManager = m_state->zoomManager();
    if (ZoomManager::kNoScaleRequest != zoomManager->scaleRequestState()) {
        XLOG("base layer not ready, still zooming");
        return false; // still zooming
    }

    if (!m_state->frontPage()->isReady(m_state->preZoomBounds())) {
        XLOG("base layer not ready, front page not done painting");
        return false;
    }

    LayerAndroid* compositedRoot = static_cast<LayerAndroid*>(getChild(0));
    if (compositedRoot) {
        XLOG("base layer is ready, how about children?");
        return compositedRoot->isReady();
    }

    return true;
}