Changeset 90837 in webkit
- Timestamp:
- Jul 12, 2011 11:55:41 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r90829 r90837 1 2011-07-12 Andreas Kling <kling@webkit.org> 2 3 [Qt][WK2] Navigation actions should react to web process availability. 4 https://bugs.webkit.org/show_bug.cgi?id=64375 5 6 Reviewed by Benjamin Poulain. 7 8 When the web process is unavailable, the reload and stop actions should 9 behave slightly differently. Stop should always be disabled, and reload 10 should be enabled if there's a reloadable item in the back/forward list. 11 12 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: 13 (tst_QDesktopWebView::navigationActionEnabledStatusAtStartup): 14 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: 15 (tst_QTouchWebView::navigationActionEnabledStatusAtStartup): 16 * UIProcess/qt/QtWebPageProxy.cpp: 17 (QtWebPageProxy::updateAction): 18 (QtWebPageProxy::didRelaunchProcess): 19 (QtWebPageProxy::processDidCrash): 20 1 21 2011-07-12 Andreas Kling <kling@webkit.org> 2 22 -
trunk/Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp
r90458 r90837 18 18 */ 19 19 20 #include <QAction> 20 21 #include <QScopedPointer> 21 22 #include <QtTest/QtTest> … … 29 30 void init(); 30 31 void cleanup(); 32 33 void navigationActionsStatusAtStartup(); 31 34 32 35 private: … … 50 53 } 51 54 55 void tst_QDesktopWebView::navigationActionsStatusAtStartup() 56 { 57 QAction* backAction = webView()->navigationAction(QtWebKit::Back); 58 QVERIFY(backAction); 59 QCOMPARE(backAction->isEnabled(), false); 60 61 QAction* forwardAction = webView()->navigationAction(QtWebKit::Forward); 62 QVERIFY(forwardAction); 63 QCOMPARE(forwardAction->isEnabled(), false); 64 65 QAction* stopAction = webView()->navigationAction(QtWebKit::Stop); 66 QVERIFY(stopAction); 67 QCOMPARE(stopAction->isEnabled(), false); 68 69 QAction* reloadAction = webView()->navigationAction(QtWebKit::Reload); 70 QVERIFY(reloadAction); 71 QCOMPARE(reloadAction->isEnabled(), false); 72 } 73 52 74 QTEST_MAIN(tst_QDesktopWebView) 53 75 -
trunk/Source/WebKit2/UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp
r90458 r90837 18 18 */ 19 19 20 #include <QAction> 20 21 #include <QtTest/QtTest> 21 22 #include <qtouchwebpage.h> … … 34 35 35 36 void accessPage(); 37 void navigationActionsStatusAtStartup(); 36 38 37 39 private: … … 69 71 } 70 72 73 void tst_QTouchWebView::navigationActionsStatusAtStartup() 74 { 75 QAction* backAction = webView()->page()->navigationAction(QtWebKit::Back); 76 QVERIFY(backAction); 77 QCOMPARE(backAction->isEnabled(), false); 78 79 QAction* forwardAction = webView()->page()->navigationAction(QtWebKit::Forward); 80 QVERIFY(forwardAction); 81 QCOMPARE(forwardAction->isEnabled(), false); 82 83 QAction* stopAction = webView()->page()->navigationAction(QtWebKit::Stop); 84 QVERIFY(stopAction); 85 QCOMPARE(stopAction->isEnabled(), false); 86 87 QAction* reloadAction = webView()->page()->navigationAction(QtWebKit::Reload); 88 QVERIFY(reloadAction); 89 QCOMPARE(reloadAction->isEnabled(), false); 90 } 91 92 71 93 QTEST_MAIN(tst_QTouchWebView) 72 94 -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp
r90829 r90837 34 34 #include "NativeWebKeyboardEvent.h" 35 35 #include "NotImplemented.h" 36 #include "WebBackForwardList.h" 36 37 #include "WebContext.h" 37 38 #include "WebContextMenuProxyQt.h" … … 481 482 482 483 RefPtr<WebKit::WebFrameProxy> mainFrame = m_webPageProxy->mainFrame(); 483 if (!mainFrame)484 return;485 484 486 485 bool enabled = a->isEnabled(); 487 bool checked = a->isChecked();488 486 489 487 switch (action) { … … 495 493 break; 496 494 case QtWebPageProxy::Stop: 497 enabled = !(WebFrameProxy::LoadStateFinished == mainFrame->loadState());495 enabled = mainFrame && !(WebFrameProxy::LoadStateFinished == mainFrame->loadState()); 498 496 break; 499 497 case QtWebPageProxy::Reload: 500 enabled = (WebFrameProxy::LoadStateFinished == mainFrame->loadState()); 498 if (mainFrame) 499 enabled = (WebFrameProxy::LoadStateFinished == mainFrame->loadState()); 500 else 501 enabled = m_webPageProxy->backForwardList()->currentItem(); 501 502 break; 502 503 default: 503 break;504 ASSERT_NOT_REACHED(); 504 505 } 505 506 506 507 a->setEnabled(enabled); 507 508 if (a->isCheckable())509 a->setChecked(checked);510 508 } 511 509 … … 529 527 void QtWebPageProxy::didRelaunchProcess() 530 528 { 529 updateNavigationActions(); 531 530 m_viewInterface->didRelaunchProcess(); 532 531 setDrawingAreaSize(m_viewInterface->drawingAreaSize()); … … 535 534 void QtWebPageProxy::processDidCrash() 536 535 { 536 updateNavigationActions(); 537 537 m_viewInterface->processDidCrash(); 538 538 }
Note: See TracChangeset
for help on using the changeset viewer.