问:如何在IO线程的浏览器进程中获取铬框架层次结构(引用程序)

时间:2019-04-03 15:40:52

标签: c++ chromium

我想知道在IO线程中,尤其是在此处理程序中,为浏览器进程处理的请求获取帧层次结构(父URL)的最佳方法是什么:

int ChromeNetworkDelegate::OnBeforeStartTransaction(
    net::URLRequest* request,
    net::CompletionOnceCallback callback,
    net::HttpRequestHeaders* headers) {...}

重要的是,该解决方案不能基于URLRequest / HttpRequestHeaders对象中的HTTP引用标头,因为在某些情况下HTTP引用标的值可能为空。

我发现一个潜在的解决方案是使用WebContents API构建框架层次结构,但这是不可能的,因为:

  1. WebContents API只能在浏览器进程的UI线程中执行
  2. chromium不支持阻塞线程之间的调用/消息(在这种情况下,是从IO线程到UI线程)-可以被黑客入侵,但这不是重点。

我想知道是否有人遇到这个问题,解决方案是什么?

0 个答案:

没有答案