Webkit之Port类(ChromeClientQt类)

来源:互联网 发布:java.lang.instrument 编辑:程序博客网 时间:2024/05/16 14:17
## 需要Port的类ChromeClientQt:实现宿主窗口、刷新窗口、内容、滚动条、滚动、坐标转换、页面Size变迁、                布局更新、窗口/页面Size、焦点、获取焦点、创建/关闭窗口、窗口显示、模式显示                工具栏/状态栏/状态文本/滚动栏/菜单栏、size可变、运行alert/prompt/confirm、是否可中断js。mouseover事件、打印、创colorChooser/dateChooser创popup菜单、创Search弹出栏、请求全屏=======================================================================================================Chrome析构ChromeClient->chromeDestoryed()ChromeClientQt:关闭eventLoop=======================================================================================================Chrome:设置窗口RectChromeClient->setWindowRect()ChromeClientQt:通知QWebPage发生位置变化的请求=======================================================================================================Chrome:设置focus()ChromeClient->setFocus()ChromeClientQt:通知QWiget进行focus操作,具体的Qt平台(QApplication/QWiget/InputContext相互作用)=======================================================================================================Chrome:createWindow()ChromeClient:createWindow()ChromeClientQt:m_webPage->createWindow(features.dialog ? QWebPage::WebModalDialog : QWebPage::WebBrowserWindow);=======================================================================================================void ChromeClientQt::runModal()>>建立QEventLoop=======================================================================================================void ChromeClientQt::setToolbarsVisible(bool visible)>>通知QWebPage工具栏状态改变=======================================================================================================void ChromeClientQt::addMessageToConsole(>>m_webPage->javaScriptConsoleMessage(x, lineNumber, y);=======================================================================================================void ChromeClientQt::closeWindowSoon()>>m_webPage->mainFrame()->d->frame->loader()->stopAllLoaders();>>emit m_webPage->windowCloseRequested();=======================================================================================================void ChromeClientQt::runJavaScriptAlert(Frame* f, const String& msg)>>m_webPage->javaScriptAlert(webFrame, x);=======================================================================================================void ChromeClientQt::setStatusbarText(const String& msg)>>emit m_webPage->statusBarMessage(x);=======================================================================================================void ChromeClientQt::scroll(const IntSize& delta, const IntRect& scrollViewRect, const IntRect&)>>platformPageClient()->scroll(delta.width(), delta.height(), scrollViewRect);>>emit m_webPage->scrollRequested(delta.width(), delta.height(), scrollViewRect);=======================================================================================================IntRect ChromeClientQt::windowToScreen(const IntRect& rect) const>>screenRect.translate(ownerWidget->mapToGlobal(QPoint(0, 0)));=======================================================================================================void ChromeClientQt::mouseDidMoveOverElement(const HitTestResult& result, unsigned)>>emit m_webPage->linkHovered(lastHoverURL.prettyURL()...)=======================================================================================================void ChromeClientQt::print(Frame* frame)>>emit m_webPage->printRequested(QWebFramePrivate::kit(frame));=======================================================================================================FullScreenVideoQt* ChromeClientQt::fullScreenVideo()>>m_fullScreenVideo = new FullScreenVideoQt(this);=======================================================================================================void ChromeClientQt::enterFullscreenForNode(Node* node)>>fullScreenVideo()->enterFullScreenForNode(node);void ChromeClientQt::exitFullscreenForNode(Node* node)>>fullScreenVideo()->exitFullScreenForNode(node);=======================================================================================================QWebSelectMethod* ChromeClientQt::createSelectPopup() const>>QWebSelectMethod* result = m_platformPlugin.createSelectInputMethod();=======================================================================================================PassRefPtr<PopupMenu> ChromeClientQt::createPopupMenu(PopupMenuClient* client) const>>return adoptRef(new PopupMenuQt(client, this));=======================================================================================================PassRefPtr<SearchPopupMenu> ChromeClientQt::createSearchPopupMenu(PopupMenuClient* client) const>>return adoptRef(new SearchPopupMenuQt(createPopupMenu(client)));=======================================================================================================

0 0
原创粉丝点击