您的位置:首页 > 编程语言 > Qt开发

Webkit之Port类(ChromeClientQt类)

2015-11-21 21:13 417 查看
## 需要Port的类
ChromeClientQt:实现宿主窗口、刷新窗口、内容、滚动条、滚动、坐标转换、页面Size变迁、
布局更新、窗口/页面Size、焦点、获取焦点、创建/关闭窗口、窗口显示、模式显示
工具栏/状态栏/状态文本/滚动栏/菜单栏、size可变、运行alert/prompt/confirm、
是否可中断js。mouseover事件、打印、创colorChooser/dateChooser
创popup菜单、创Search弹出栏、请求全屏
=======================================================================================================
Chrome析构
ChromeClient->chromeDestoryed()
ChromeClientQt:关闭eventLoop
=======================================================================================================
Chrome:设置窗口Rect
ChromeClient->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)));
=======================================================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: