Changeset 95472 in webkit
- Timestamp:
- Sep 19, 2011 2:09:56 PM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r95448 r95472 1 2011-09-19 Alexis Menard <alexis.menard@openbossa.org> 2 3 [Qt][WK2] Make loading errors API easier to use. 4 https://bugs.webkit.org/show_bug.cgi?id=68357 5 6 Reviewed by Tor Arne Vestbø. 7 8 Make the API to get loading errors easier to use. 95197 introduced 9 a QJSValue API that is a bit opaque for the client code. Rather than 10 using a dedicated object, we can just pass the needed information as 11 parameters of the slot. 12 13 * UIProcess/API/qt/qdesktopwebview.cpp: 14 (QDesktopWebViewPrivate::loadDidFail): 15 * UIProcess/API/qt/qdesktopwebview.h: 16 * UIProcess/API/qt/qdesktopwebview_p.h: 17 * UIProcess/API/qt/qtouchwebpage.h: 18 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 19 (tst_CommonViewTests::loadNonexistentFileUrl): 20 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 21 (WebViewAbstraction::WebViewAbstraction): 22 (WebViewAbstraction::touchViewLoadFailed): 23 (WebViewAbstraction::desktopViewLoadFailed): 24 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 25 * UIProcess/qt/QtWebPageProxy.cpp: 26 (QtWebPageProxy::loadDidFail): 27 * UIProcess/qt/TouchViewInterface.cpp: 28 (WebKit::TouchViewInterface::loadDidFail): 29 * UIProcess/qt/TouchViewInterface.h: 30 * UIProcess/qt/ViewInterface.h: 31 1 32 2011-09-19 Dan Bernstein <mitz@apple.com> 2 33 -
trunk/Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp
r95197 r95472 22 22 #include "qdesktopwebview.h" 23 23 #include "qdesktopwebview_p.h" 24 #include "qweberror.h" 24 25 25 26 #include <QGraphicsSceneResizeEvent> … … 145 146 } 146 147 147 void QDesktopWebViewPrivate::loadDidFail(const Q JSValue& error)148 { 149 emit q->loadFailed( error);148 void QDesktopWebViewPrivate::loadDidFail(const QWebError& error) 149 { 150 emit q->loadFailed(static_cast<QDesktopWebView::ErrorType>(error.type()), error.errorCode(), error.url()); 150 151 } 151 152 -
trunk/Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h
r95197 r95472 55 55 Q_PROPERTY(QWebNavigationController* navigation READ navigationController CONSTANT) 56 56 Q_ENUMS(NavigationPolicy) 57 57 Q_ENUMS(ErrorType) 58 58 public: 59 59 enum NavigationPolicy { … … 61 61 DownloadPolicy, 62 62 IgnorePolicy 63 }; 64 65 enum ErrorType { 66 EngineError, 67 NetworkError, 68 HttpError, 63 69 }; 64 70 … … 80 86 void loadStarted(); 81 87 void loadSucceeded(); 82 // The parameter needs to be explicitly named to work in QML. 83 void loadFailed(const QJSValue& error); 88 void loadFailed(QDesktopWebView::ErrorType errorType, int errorCode, const QUrl& url); 84 89 void loadProgressChanged(int progress); 85 90 void urlChanged(const QUrl&); -
trunk/Source/WebKit2/UIProcess/API/qt/qdesktopwebview_p.h
r95197 r95472 72 72 virtual void loadDidCommit(); 73 73 virtual void loadDidSucceed(); 74 virtual void loadDidFail(const Q JSValue&);74 virtual void loadDidFail(const QWebError&); 75 75 virtual void didChangeLoadProgress(int); 76 76 -
trunk/Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h
r95197 r95472 42 42 Q_PROPERTY(int loadProgress READ loadProgress NOTIFY loadProgressChanged) 43 43 Q_PROPERTY(QWebNavigationController* navigation READ navigationController CONSTANT) 44 Q_ENUMS(ErrorType) 45 public: 46 enum ErrorType { 47 EngineError, 48 NetworkError, 49 HttpError, 50 }; 44 51 45 public:46 52 QTouchWebPage(QSGItem* parent = 0); 47 53 … … 64 70 void loadStarted(); 65 71 void loadSucceeded(); 66 // The parameter needs to be explicitly named to work in QML. 67 void loadFailed(const QJSValue& error); 72 void loadFailed(QTouchWebPage::ErrorType errorType, int errorCode, const QUrl& url); 68 73 void loadProgressChanged(int progress); 69 74 -
trunk/Source/WebKit2/UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp
r95197 r95472 98 98 99 99 viewAbstraction->load(QUrl::fromLocalFile(QLatin1String(TESTS_SOURCE_DIR "/html/file_that_does_not_exist.html"))); 100 QVERIFY(waitForSignal(viewAbstraction.data(), SIGNAL(loadFailed(Q JSValue))));100 QVERIFY(waitForSignal(viewAbstraction.data(), SIGNAL(loadFailed(QDesktopWebView::ErrorType, int, QUrl)))); 101 101 102 102 QCOMPARE(loadFailedSpy.size(), 1); -
trunk/Source/WebKit2/UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp
r95197 r95472 36 36 connect(touchWebView()->page(), SIGNAL(loadStarted()), this, SLOT(touchViewLoadStarted())); 37 37 connect(touchWebView()->page(), SIGNAL(loadSucceeded()), this, SLOT(touchViewLoadSucceeded())); 38 connect(touchWebView()->page(), SIGNAL(loadFailed(Q JSValue)), this, SLOT(touchViewLoadFailed(QJSValue)));38 connect(touchWebView()->page(), SIGNAL(loadFailed(QTouchWebPage::ErrorType, int, const QUrl&)), this, SLOT(touchViewLoadFailed(QTouchWebPage::ErrorType, int, const QUrl&))); 39 39 connect(touchWebView()->page(), SIGNAL(loadProgressChanged(int)), this, SLOT(touchViewLoadProgressChanged(int))); 40 40 … … 44 44 connect(desktopWebView(), SIGNAL(loadStarted()), this, SLOT(desktopViewLoadStarted())); 45 45 connect(desktopWebView(), SIGNAL(loadSucceeded()), this, SLOT(desktopViewLoadSucceeded())); 46 connect(desktopWebView(), SIGNAL(loadFailed(Q JSValue)), this, SLOT(desktopViewLoadFailed(QJSValue)));46 connect(desktopWebView(), SIGNAL(loadFailed(QDesktopWebView::ErrorType, int, const QUrl&)), this, SLOT(desktopViewLoadFailed(QDesktopWebView::ErrorType, int, const QUrl&))); 47 47 connect(desktopWebView(), SIGNAL(loadProgressChanged(int)), this, SLOT(desktopViewLoadProgressChanged(int))); 48 48 } … … 134 134 } 135 135 136 void WebViewAbstraction::touchViewLoadFailed( const QJSValue& error)136 void WebViewAbstraction::touchViewLoadFailed(QTouchWebPage::ErrorType errorType, int errorCode, const QUrl& url) 137 137 { 138 m_touchViewSignalsCounter[SIGNAL(loadFailed(Q JSValue))]++;139 if (m_touchViewSignalsCounter[SIGNAL(loadFailed(Q JSValue))] == m_desktopViewSignalsCounter[SIGNAL(loadFailed(QJSValue))])140 emit loadFailed( error);138 m_touchViewSignalsCounter[SIGNAL(loadFailed(QTouchWebPage::ErrorType, int, const QUrl&))]++; 139 if (m_touchViewSignalsCounter[SIGNAL(loadFailed(QTouchWebPage::ErrorType, int, const QUrl&))] == m_desktopViewSignalsCounter[SIGNAL(loadFailed(QTouchWebPage::ErrorType, int, QUrl))]) 140 emit loadFailed(static_cast<QDesktopWebView::ErrorType>(errorType), errorCode, url); 141 141 } 142 142 143 void WebViewAbstraction::desktopViewLoadFailed( const QJSValue& error)143 void WebViewAbstraction::desktopViewLoadFailed(QDesktopWebView::ErrorType errorType, int errorCode, const QUrl& url) 144 144 { 145 m_desktopViewSignalsCounter[SIGNAL(loadFailed(Q JSValue))]++;146 if (m_touchViewSignalsCounter[SIGNAL(loadFailed(Q JSValue))] == m_desktopViewSignalsCounter[SIGNAL(loadFailed(QJSValue))])147 emit loadFailed(error );145 m_desktopViewSignalsCounter[SIGNAL(loadFailed(QDesktopWebView::ErrorType, int, const QUrl&))]++; 146 if (m_touchViewSignalsCounter[SIGNAL(loadFailed(QDesktopWebView::ErrorType, int, const QUrl&))] == m_desktopViewSignalsCounter[SIGNAL(loadFailed(QDesktopWebView::ErrorType, int, QUrl))]) 147 emit loadFailed(errorType, errorCode, url); 148 148 } 149 149 -
trunk/Source/WebKit2/UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h
r95197 r95472 47 47 void loadStarted(); 48 48 void loadSucceeded(); 49 void loadFailed( const QJSValue&);49 void loadFailed(QDesktopWebView::ErrorType, int, const QUrl&); 50 50 void loadProgressChanged(int); 51 51 … … 55 55 void touchViewLoadSucceeded(); 56 56 void desktopViewLoadSucceeded(); 57 void touchViewLoadFailed( const QJSValue&);58 void desktopViewLoadFailed( const QJSValue&);57 void touchViewLoadFailed(QTouchWebPage::ErrorType, int, const QUrl&); 58 void desktopViewLoadFailed(QDesktopWebView::ErrorType, int, const QUrl&); 59 59 void touchViewLoadProgressChanged(int); 60 60 void desktopViewLoadProgressChanged(int); -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp
r95197 r95472 408 408 void QtWebPageProxy::loadDidFail(const QWebError& error) 409 409 { 410 QJSEngine* engine = m_viewInterface->engine(); 411 QJSValue value; 412 if (engine) { 413 value = engine->newObject(); 414 value.setProperty(QLatin1String("errorCode"), error.errorCode()); 415 value.setProperty(QLatin1String("url"), error.url().toString()); 416 value.setProperty(QLatin1String("type"), error.type()); 417 } 418 m_viewInterface->loadDidFail(value); 410 m_viewInterface->loadDidFail(error); 419 411 } 420 412 -
trunk/Source/WebKit2/UIProcess/qt/TouchViewInterface.cpp
r95197 r95472 26 26 #include "qtouchwebview.h" 27 27 #include "qtouchwebview_p.h" 28 #include "qweberror.h" 28 29 29 30 #include <QDeclarativeEngine> … … 132 133 } 133 134 134 void TouchViewInterface::loadDidFail(const Q JSValue& error)135 void TouchViewInterface::loadDidFail(const QWebError& error) 135 136 { 136 emit m_pageView->loadFailed( error);137 emit m_pageView->loadFailed(static_cast<QTouchWebPage::ErrorType>(error.type()), error.errorCode(), error.url()); 137 138 } 138 139 -
trunk/Source/WebKit2/UIProcess/qt/TouchViewInterface.h
r95197 r95472 67 67 virtual void loadDidCommit(); 68 68 virtual void loadDidSucceed(); 69 virtual void loadDidFail(const Q JSValue&);69 virtual void loadDidFail(const QWebError&); 70 70 virtual void didChangeLoadProgress(int); 71 71 -
trunk/Source/WebKit2/UIProcess/qt/ViewInterface.h
r95197 r95472 27 27 #include <WebKit2/WKBase.h> 28 28 29 class QWebError; 30 29 31 QT_BEGIN_NAMESPACE 30 32 class QCursor; … … 32 34 class QImage; 33 35 class QJSEngine; 34 class QJSValue;35 36 class QMimeData; 36 37 class QPoint; … … 76 77 virtual void loadDidCommit() = 0; 77 78 virtual void loadDidSucceed() = 0; 78 virtual void loadDidFail(const Q JSValue&) = 0;79 virtual void loadDidFail(const QWebError&) = 0; 79 80 virtual void didChangeLoadProgress(int) = 0; 80 81
Note: See TracChangeset
for help on using the changeset viewer.