Changeset 142755 in webkit
- Timestamp:
- Feb 13, 2013 9:21:42 AM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r142754 r142755 1 2013-02-13 Allan Sandfeld Jensen <allan.jensen@digia.com> 2 3 [Qt] window.open passes height and width parameters even if not defined in a page 4 https://bugs.webkit.org/show_bug.cgi?id=107705 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Do not override width or height of 0, as that indicates default size, and not minimum size. 9 10 Tested by tst_qwebpage. 11 12 * page/DOMWindow.cpp: 13 (WebCore::DOMWindow::adjustWindowRect): 14 1 15 2013-02-13 Rashmi Shyamasundar <rashmi.s2@samsung.com> 2 16 -
trunk/Source/WebCore/page/DOMWindow.cpp
r142739 r142755 342 342 343 343 FloatSize minimumSize = page->chrome()->client()->minimumWindowSize(); 344 window.setWidth(min(max(minimumSize.width(), window.width()), screen.width())); 345 window.setHeight(min(max(minimumSize.height(), window.height()), screen.height())); 344 // Let size 0 pass through, since that indicates default size, not minimum size. 345 if (window.width()) 346 window.setWidth(min(max(minimumSize.width(), window.width()), screen.width())); 347 if (window.height()) 348 window.setHeight(min(max(minimumSize.height(), window.height()), screen.height())); 346 349 347 350 // Constrain the window position within the valid screen area. -
trunk/Source/WebKit/efl/ChangeLog
r142595 r142755 1 2013-02-13 Allan Sandfeld Jensen <allan.jensen@digia.com> 2 3 [Qt] window.open passes height and width parameters even if not defined in a page 4 https://bugs.webkit.org/show_bug.cgi?id=107705 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Do not resize window when default size is requested. 9 10 * WebCoreSupport/ChromeClientEfl.cpp: 11 (WebCore::ChromeClientEfl::setWindowRect): 12 1 13 2013-02-12 Huang Dongsung <luxtella@company100.net> 2 14 -
trunk/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
r139078 r142755 129 129 void ChromeClientEfl::setWindowRect(const FloatRect& rect) 130 130 { 131 if (!ewk_view_setting_enable_auto_resize_window_get(m_view) )131 if (!ewk_view_setting_enable_auto_resize_window_get(m_view) || rect.isEmpty()) 132 132 return; 133 133 -
trunk/Source/WebKit/gtk/ChangeLog
r142731 r142755 1 2013-02-13 Allan Sandfeld Jensen <allan.jensen@digia.com> 2 3 [Qt] window.open passes height and width parameters even if not defined in a page 4 https://bugs.webkit.org/show_bug.cgi?id=107705 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Do not resize window when default size is requested. 9 10 * WebCoreSupport/ChromeClientGtk.cpp: 11 (WebKit::ChromeClient::setWindowRect): 12 1 13 2013-02-13 Andrew Wilson <atwilson@chromium.org> 2 14 -
trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
r142094 r142755 143 143 if (widgetIsOnscreenToplevelWindow(window)) { 144 144 gtk_window_move(GTK_WINDOW(window), intrect.x(), intrect.y()); 145 gtk_window_resize(GTK_WINDOW(window), intrect.width(), intrect.height()); 145 if (!intrect.isEmpty()) 146 gtk_window_resize(GTK_WINDOW(window), intrect.width(), intrect.height()); 146 147 } 147 148 } -
trunk/Source/WebKit/qt/ChangeLog
r142595 r142755 1 2013-02-13 Allan Sandfeld Jensen <allan.jensen@digia.com> 2 3 [Qt] window.open passes height and width parameters even if not defined in a page 4 https://bugs.webkit.org/show_bug.cgi?id=107705 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Test that minimum size is applied only when the requested size is too small, 9 not when default is requested. 10 11 * tests/qwebpage/tst_qwebpage.cpp: 12 (tst_QWebPage): 13 (TestPage): 14 (TestPage::TestPage): 15 (TestPage::createWindow): 16 (TestPage::slotGeometryChangeRequested): 17 (tst_QWebPage::openWindowDefaultSize): 18 1 19 2013-02-12 Huang Dongsung <luxtella@company100.net> 2 20 -
trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
r141582 r142755 187 187 void loadSignalsOrder_data(); 188 188 void loadSignalsOrder(); 189 void openWindowDefaultSize(); 189 190 190 191 #ifdef Q_OS_MAC … … 411 412 } 412 413 413 class TestPage : public QWebPage 414 { 414 class TestPage : public QWebPage { 415 Q_OBJECT 415 416 public: 416 TestPage(QObject* parent = 0) : QWebPage(parent) {} 417 TestPage(QObject* parent = 0) : QWebPage(parent) 418 { 419 connect(this, SIGNAL(geometryChangeRequested(QRect)), this, SLOT(slotGeometryChangeRequested(QRect))); 420 } 417 421 418 422 struct Navigation { … … 423 427 424 428 QList<Navigation> navigations; 425 QList<QWebPage*> createdWindows; 429 QList<TestPage*> createdWindows; 430 QRect requestedGeometry; 426 431 427 432 virtual bool acceptNavigationRequest(QWebFrame* frame, const QNetworkRequest &request, NavigationType type) { … … 435 440 436 441 virtual QWebPage* createWindow(WebWindowType) { 437 QWebPage* page = new TestPage(this);442 TestPage* page = new TestPage(this); 438 443 createdWindows.append(page); 439 444 return page; 445 } 446 447 private Q_SLOTS: 448 void slotGeometryChangeRequested(const QRect& geom) { 449 requestedGeometry = geom; 440 450 } 441 451 }; … … 3253 3263 } 3254 3264 3265 void tst_QWebPage::openWindowDefaultSize() 3266 { 3267 TestPage page; 3268 page.settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true); 3269 // Open a default window. 3270 page.mainFrame()->evaluateJavaScript("window.open()"); 3271 // Open a too small window. 3272 page.mainFrame()->evaluateJavaScript("window.open('', '', 'width=10,height=10')"); 3273 3274 QTest::qWait(500); 3275 // The number of popups created should be two. 3276 QVERIFY(page.createdWindows.size() == 2); 3277 3278 QRect requestedGeometry = page.createdWindows[0]->requestedGeometry; 3279 // Check default size has been requested. 3280 QVERIFY(requestedGeometry.width() == 0); 3281 QVERIFY(requestedGeometry.height() == 0); 3282 3283 requestedGeometry = page.createdWindows[1]->requestedGeometry; 3284 // Check minimum size has been requested. 3285 QVERIFY(requestedGeometry.width() == 100); 3286 QVERIFY(requestedGeometry.height() == 100); 3287 } 3288 3255 3289 QTEST_MAIN(tst_QWebPage) 3256 3290 #include "tst_qwebpage.moc"
Note: See TracChangeset
for help on using the changeset viewer.