Esempio n. 1
0
void InspectorClient::openInspectorFrontend(InspectorController* controller)
{
    // This g_object_get will ref the inspector. We're not doing an
    // unref if this method succeeds because the inspector object must
    // be alive even after the inspected WebView is destroyed - the
    // close-window and destroy signals still need to be
    // emitted.
    WebKitWebInspector* webInspector = 0;
    g_object_get(m_inspectedWebView, "web-inspector", &webInspector, NULL);
    ASSERT(webInspector);

    WebKitWebView* inspectorWebView = 0;
    g_signal_emit_by_name(webInspector, "inspect-web-view", m_inspectedWebView, &inspectorWebView);

    if (!inspectorWebView) {
        g_object_unref(webInspector);
        return;
    }

    webkit_web_inspector_set_web_view(webInspector, inspectorWebView);
 
    GOwnPtr<gchar> inspectorPath(g_build_filename(inspectorFilesPath(), "inspector.html", NULL));
    GOwnPtr<gchar> inspectorURI(g_filename_to_uri(inspectorPath.get(), 0, 0));
    webkit_web_view_load_uri(inspectorWebView, inspectorURI.get());

    gtk_widget_show(GTK_WIDGET(inspectorWebView));

    m_frontendPage = core(inspectorWebView);
    OwnPtr<InspectorFrontendClient> frontendClient = adoptPtr(new InspectorFrontendClient(m_inspectedWebView, inspectorWebView, webInspector, m_frontendPage, this));
    m_frontendClient = frontendClient.get();
    m_frontendPage->inspectorController()->setInspectorFrontendClient(frontendClient.release());

    // The inspector must be in it's own PageGroup to avoid deadlock while debugging.
    m_frontendPage->setGroupName("");
}
Esempio n. 2
0
InspectorFrontendChannel* InspectorClientEfl::openInspectorFrontend(InspectorController*)
{
    evas_object_smart_callback_call(m_inspectedView, "inspector,view,create", 0);

    Evas_Object* inspectorView = ewk_view_inspector_view_get(m_inspectedView);
    if (!inspectorView)
        return 0;

    m_inspectorView = inspectorView;

    String inspectorUri = inspectorFilesPath() + "/inspector.html";
    ewk_view_uri_set(m_inspectorView, inspectorUri.utf8().data());

    OwnPtr<InspectorFrontendClientEfl> frontendClient = adoptPtr(new InspectorFrontendClientEfl(m_inspectedView, m_inspectorView, this));
    m_frontendClient = frontendClient.get();

    InspectorController* controller = EWKPrivate::corePage(m_inspectorView)->inspectorController();
    controller->setInspectorFrontendClient(frontendClient.release());
    
    return this;
}
InspectorFrontendChannel* InspectorClientEfl::openInspectorFrontend(InspectorController*)
{
    evas_object_smart_callback_call(m_inspectedView, "inspector,view,create", 0);

    Evas_Object* inspectorView = ewk_view_inspector_view_get(m_inspectedView);
    if (!inspectorView)
        return 0;

    m_inspectorView = inspectorView;

    String inspectorUri = inspectorFilesPath() + "/Main.html";
    ewk_view_uri_set(m_inspectorView, inspectorUri.utf8().data());

    auto frontendClient = std::make_unique<InspectorFrontendClientEfl>(m_inspectedView, m_inspectorView, this);
    m_frontendClient = frontendClient.get();

    InspectorController& controller = EWKPrivate::corePage(m_inspectorView)->inspectorController();
    controller.setInspectorFrontendClient(std::move(frontendClient));
    
    return this;
}