Exemple #1
0
Page* ChromeClientEfl::createWindow(Frame*, const FrameLoadRequest& frameLoadRequest, const WindowFeatures& features)
{
    Evas_Object* newView = ewk_view_window_create(m_view, EINA_TRUE, &features);
    if (!newView)
        return 0;

    if (!frameLoadRequest.isEmpty())
        ewk_view_uri_set(newView, frameLoadRequest.resourceRequest().url().string().utf8().data());

    return ewk_view_core_page_get(newView);
}
Exemple #2
0
void FrameLoaderClientEfl::didTransferChildFrameToNewDocument(Page*)
{
    ASSERT(m_frame);

    Frame* currentFrame = EWKPrivate::coreFrame(m_frame);
    Evas_Object* currentView = ewk_frame_view_get(m_frame);
    Frame* parentFrame = currentFrame->tree()->parent();

    FrameLoaderClientEfl* client = static_cast<FrameLoaderClientEfl*>(parentFrame->loader()->client());
    Evas_Object* clientFrame = client ? client->webFrame() : 0;
    Evas_Object* clientView = ewk_frame_view_get(clientFrame);

    if (currentView != clientView) {
        ewk_frame_view_set(m_frame, clientView);
        m_view = clientView;
    }

    ASSERT(ewk_view_core_page_get(ewk_frame_view_get(m_frame)) == currentFrame->page());
}