在我的项目(基于webkit gtk)中,我想在webcore中调用一些类。但webkit封装webcore,所以我不能直接调用这些函数(我通过谷歌知道这些,所以我不知道它是否正确)。例如:
Frame* frame = m_pPage->focusController()->focusedOrMainFrame();
Document* focusedDocument = frame->document();
frame = frame->tree()->top();
Node* focusedNode = focusedDocument->focusedNode();
这些类和函数在webcore中定义,所以我无法直接调用它们。我想知道如何访问这些?修改webkit?
我只需要webcore模块,那么如何使用webkit安装webcore?
答案 0 :(得分:1)
您可以尝试下载webkit源代码,然后转到最后一行 “Source / WebKit / gtk / webkit / webkitwebview.cpp”查看“WebCore :: Page * core(WebKitWebView * webView);”功能,这是将webkit事物转换为webcore事物的核心。
您需要让编译器知道在“webkitwebviewprivate.h”文件中定义的“WebKitWebViewPrivate”结构。 (或者你可以定义自己的WebKitWebViewPrivate来欺骗编译器。在这个阶段你只让编译器知道归档“corePage”的偏移量)
但是困难的是你需要导出类Frame,Node,Dcoument和许多其他类。
所以这是可能的但很困难。
如果你真的只想使用Frame,Node ...... 您可以构建webkit,在build / .libs中,dir将包含一个libWebCore.a,其中包含除头文件之外的所有需求。