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
- Webkit之Port类(ChromeClientQt类)
- WebKit之Port
- WebKit之Port
- 浅谈WebKit之Port
- WebKit之Port
- 浅谈WebKit之Port篇
- 浅谈WebKit之Port篇
- 浅谈WebKit之Port篇
- 浅谈WebKit之Port篇
- WebKit之Port篇幅介绍
- WebKit之常用类
- WebKit之Page类
- WebKit之HTMLConstructionSite类组成
- Webkit For Wince Port
- webkit port 分析
- WebKit Port部分
- 【转】Guidelines to port webkit
- build webkit for gtk port
- web.config 关闭调试模式
- Checklists学习日志之UITableView的全部属性、方法以及代理方法执行顺序
- String,StringBuffer与StringBuilder
- 线性表的基本操作
- 谓词大揭秘
- Webkit之Port类(ChromeClientQt类)
- android 常用调试命令
- 继承方式代理
- Java常用排序算法(快速排序/插入排序/shell排序)
- 学习搭建NDK的环境
- Android日志管理程序
- github_将项目放在github仓库中
- 跨平台照片社交应用Instagram 5岁生日派对4亿用户庆祝!
- Java中数据类型及其之间的转换