WebCore в WebKit GTK - PullRequest
       4

WebCore в WebKit GTK

2 голосов
/ 25 февраля 2011

В моем проекте (который основан на WebKit GTK), я хочу вызвать некоторый класс в WebCore. Но webkit инкапсулирует webkit, поэтому я не могу вызвать эти функции напрямую (я знаю их через Google, поэтому я не знаю, правильно ли это). например:

Frame* frame = m_pPage->focusController()->focusedOrMainFrame();
Document* focusedDocument = frame->document();
frame = frame->tree()->top();
Node* focusedNode = focusedDocument->focusedNode();

Эти класс и функция определены в webcore, поэтому я не могу вызвать их напрямую. Я хочу знать, как получить к ним доступ? Изменить веб-набор?

Мне просто нужен модуль webcore, так как я могу установить webcore без webkit?

1 Ответ

1 голос
/ 16 сентября 2012

Вы можете попробовать загрузить исходный код webkit и перейти к последней строке «Source / WebKit / gtk / webkit / webkitwebview.cpp», чтобы увидеть ядро ​​«WebCore :: Page * (WebKitWebView * webView);»функция, это ядро ​​преобразования вещей webkit в вещи webcore.

Вам необходимо сообщить компилятору структуру "WebKitWebViewPrivate", которая определена в файле "webkitwebviewprivate.h".(или вы можете определить свой собственный WebKitWebViewPrivate, чтобы обмануть компилятор. На этом этапе вы только даете компилятору знать смещение поля «corePage»)

Но сложная вещь заключается в том, что вам нужно экспортировать класс Frame,Узел, Dcoument и многие другие класс.

Так что это возможно, но сложно.


Если вы действительно хотите использовать только Frame, Node ... Вы можете собрать webkit, и в build / .libs dir будет libWebCore.a, который содержит все ваши потребности, кроме заголовочных файлов..

...