| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 { | 311 { |
| 312 registerMockedHttpURLLoad("fixed_layout.html"); | 312 registerMockedHttpURLLoad("fixed_layout.html"); |
| 313 | 313 |
| 314 FixedLayoutTestWebViewClient client; | 314 FixedLayoutTestWebViewClient client; |
| 315 int viewportWidth = 640; | 315 int viewportWidth = 640; |
| 316 int viewportHeight = 480; | 316 int viewportHeight = 480; |
| 317 | 317 |
| 318 // Make sure we initialize to minimum scale, even if the window size | 318 // Make sure we initialize to minimum scale, even if the window size |
| 319 // only becomes available after the load begins. | 319 // only becomes available after the load begins. |
| 320 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 320 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 321 m_webView->enableFixedLayoutMode(true); | 321 // m_webView->enableFixedLayoutMode(true); |
| 322 m_webView->settings()->setViewportEnabled(true); | 322 m_webView->settings()->setViewportEnabled(true); |
| 323 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 323 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 324 m_webView->layout(); | 324 m_webView->layout(); |
| 325 | 325 |
| 326 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 326 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 327 webViewImpl->mainFrameImpl()->frameView()->setFixedLayoutSize(WebCore::IntSi
ze(100, 100)); | 327 webViewImpl->mainFrameImpl()->frameView()->setLayoutSize(WebCore::IntSize(10
0, 100)); |
| 328 EXPECT_TRUE(webViewImpl->mainFrameImpl()->frameView()->needsLayout()); | 328 EXPECT_TRUE(webViewImpl->mainFrameImpl()->frameView()->needsLayout()); |
| 329 | 329 |
| 330 int prevLayoutCount = webViewImpl->mainFrameImpl()->frameView()->layoutCount
(); | 330 int prevLayoutCount = webViewImpl->mainFrameImpl()->frameView()->layoutCount
(); |
| 331 webViewImpl->mainFrameImpl()->frameView()->setFrameRect(WebCore::IntRect(0,
0, 641, 481)); | 331 webViewImpl->mainFrameImpl()->frameView()->setFrameRect(WebCore::IntRect(0,
0, 641, 481)); |
| 332 EXPECT_EQ(prevLayoutCount, webViewImpl->mainFrameImpl()->frameView()->layout
Count()); | 332 EXPECT_EQ(prevLayoutCount, webViewImpl->mainFrameImpl()->frameView()->layout
Count()); |
| 333 | 333 |
| 334 webViewImpl->layout(); | 334 webViewImpl->layout(); |
| 335 } | 335 } |
| 336 | 336 |
| 337 TEST_F(WebFrameTest, ChangeInFixedLayoutTriggersTextAutosizingRecalculate) | 337 TEST_F(WebFrameTest, ChangeInFixedLayoutTriggersTextAutosizingRecalculate) |
| 338 { | 338 { |
| 339 registerMockedHttpURLLoad("fixed_layout.html"); | 339 registerMockedHttpURLLoad("fixed_layout.html"); |
| 340 | 340 |
| 341 FixedLayoutTestWebViewClient client; | 341 FixedLayoutTestWebViewClient client; |
| 342 int viewportWidth = 640; | 342 int viewportWidth = 640; |
| 343 int viewportHeight = 480; | 343 int viewportHeight = 480; |
| 344 | 344 |
| 345 // Make sure we initialize to minimum scale, even if the window size | 345 // Make sure we initialize to minimum scale, even if the window size |
| 346 // only becomes available after the load begins. | 346 // only becomes available after the load begins. |
| 347 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 347 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 348 m_webView->enableFixedLayoutMode(true); | 348 // m_webView->enableFixedLayoutMode(true); |
| 349 m_webView->settings()->setViewportEnabled(true); | 349 m_webView->settings()->setViewportEnabled(true); |
| 350 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 350 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 351 | 351 |
| 352 WebCore::Document* document = webViewImpl->page()->mainFrame()->document(); | 352 WebCore::Document* document = webViewImpl->page()->mainFrame()->document(); |
| 353 document->settings()->setTextAutosizingEnabled(true); | 353 document->settings()->setTextAutosizingEnabled(true); |
| 354 EXPECT_TRUE(document->settings()->textAutosizingEnabled()); | 354 EXPECT_TRUE(document->settings()->textAutosizingEnabled()); |
| 355 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); | 355 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); |
| 356 webViewImpl->layout(); | 356 webViewImpl->layout(); |
| 357 | 357 |
| 358 WebCore::RenderObject* renderer = document->renderer(); | 358 WebCore::RenderObject* renderer = document->renderer(); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 389 | 389 |
| 390 int viewportWidth = 640; | 390 int viewportWidth = 640; |
| 391 int viewportHeight = 480; | 391 int viewportHeight = 480; |
| 392 | 392 |
| 393 FixedLayoutTestWebViewClient client; | 393 FixedLayoutTestWebViewClient client; |
| 394 client.m_screenInfo.deviceScaleFactor = 2; | 394 client.m_screenInfo.deviceScaleFactor = 2; |
| 395 | 395 |
| 396 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_viewport_
tag.html", true, 0, &client); | 396 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_viewport_
tag.html", true, 0, &client); |
| 397 | 397 |
| 398 m_webView->settings()->setViewportEnabled(true); | 398 m_webView->settings()->setViewportEnabled(true); |
| 399 m_webView->enableFixedLayoutMode(true); | 399 // m_webView->enableFixedLayoutMode(true); |
| 400 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 400 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 401 m_webView->layout(); | 401 m_webView->layout(); |
| 402 | 402 |
| 403 EXPECT_EQ(2, m_webView->deviceScaleFactor()); | 403 EXPECT_EQ(2, m_webView->deviceScaleFactor()); |
| 404 | 404 |
| 405 // Device scale factor should be independent of page scale. | 405 // Device scale factor should be independent of page scale. |
| 406 m_webView->setPageScaleFactorLimits(1, 2); | 406 m_webView->setPageScaleFactorLimits(1, 2); |
| 407 m_webView->setPageScaleFactorPreservingScrollOffset(0.5); | 407 m_webView->setPageScaleFactorPreservingScrollOffset(0.5); |
| 408 m_webView->layout(); | 408 m_webView->layout(); |
| 409 EXPECT_EQ(1, m_webView->pageScaleFactor()); | 409 EXPECT_EQ(1, m_webView->pageScaleFactor()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 420 registerMockedHttpURLLoad("fixed_layout.html"); | 420 registerMockedHttpURLLoad("fixed_layout.html"); |
| 421 | 421 |
| 422 FixedLayoutTestWebViewClient client; | 422 FixedLayoutTestWebViewClient client; |
| 423 client.m_screenInfo.deviceScaleFactor = 1; | 423 client.m_screenInfo.deviceScaleFactor = 1; |
| 424 int viewportWidth = 640; | 424 int viewportWidth = 640; |
| 425 int viewportHeight = 480; | 425 int viewportHeight = 480; |
| 426 | 426 |
| 427 // Make sure we initialize to minimum scale, even if the window size | 427 // Make sure we initialize to minimum scale, even if the window size |
| 428 // only becomes available after the load begins. | 428 // only becomes available after the load begins. |
| 429 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 429 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 430 m_webView->enableFixedLayoutMode(true); | 430 // m_webView->enableFixedLayoutMode(true); |
| 431 m_webView->settings()->setViewportEnabled(true); | 431 m_webView->settings()->setViewportEnabled(true); |
| 432 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 432 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 433 | 433 |
| 434 int defaultFixedLayoutWidth = 980; | 434 int defaultFixedLayoutWidth = 980; |
| 435 float minimumPageScaleFactor = viewportWidth / (float) defaultFixedLayoutWid
th; | 435 float minimumPageScaleFactor = viewportWidth / (float) defaultFixedLayoutWid
th; |
| 436 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor()); | 436 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor()); |
| 437 EXPECT_EQ(minimumPageScaleFactor, m_webView->minimumPageScaleFactor()); | 437 EXPECT_EQ(minimumPageScaleFactor, m_webView->minimumPageScaleFactor()); |
| 438 | 438 |
| 439 // Assume the user has pinch zoomed to page scale factor 2. | 439 // Assume the user has pinch zoomed to page scale factor 2. |
| 440 float userPinchPageScaleFactor = 2; | 440 float userPinchPageScaleFactor = 2; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 461 registerMockedHttpURLLoad("wide_document.html"); | 461 registerMockedHttpURLLoad("wide_document.html"); |
| 462 | 462 |
| 463 FixedLayoutTestWebViewClient client; | 463 FixedLayoutTestWebViewClient client; |
| 464 client.m_screenInfo.deviceScaleFactor = 1; | 464 client.m_screenInfo.deviceScaleFactor = 1; |
| 465 int viewportWidth = 640; | 465 int viewportWidth = 640; |
| 466 int viewportHeight = 480; | 466 int viewportHeight = 480; |
| 467 | 467 |
| 468 // Make sure we initialize to minimum scale, even if the window size | 468 // Make sure we initialize to minimum scale, even if the window size |
| 469 // only becomes available after the load begins. | 469 // only becomes available after the load begins. |
| 470 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "wide_documen
t.html", true, 0, &client); | 470 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "wide_documen
t.html", true, 0, &client); |
| 471 m_webView->enableFixedLayoutMode(true); | 471 // m_webView->enableFixedLayoutMode(true); |
| 472 m_webView->settings()->setViewportEnabled(true); | 472 m_webView->settings()->setViewportEnabled(true); |
| 473 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 473 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 474 | 474 |
| 475 int wideDocumentWidth = 1500; | 475 int wideDocumentWidth = 1500; |
| 476 float minimumPageScaleFactor = viewportWidth / (float) wideDocumentWidth; | 476 float minimumPageScaleFactor = viewportWidth / (float) wideDocumentWidth; |
| 477 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor()); | 477 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor()); |
| 478 EXPECT_EQ(minimumPageScaleFactor, m_webView->minimumPageScaleFactor()); | 478 EXPECT_EQ(minimumPageScaleFactor, m_webView->minimumPageScaleFactor()); |
| 479 | 479 |
| 480 // Assume the user has pinch zoomed to page scale factor 2. | 480 // Assume the user has pinch zoomed to page scale factor 2. |
| 481 float userPinchPageScaleFactor = 2; | 481 float userPinchPageScaleFactor = 2; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 497 TEST_F(WebFrameTest, setLoadWithOverviewModeToFalse) | 497 TEST_F(WebFrameTest, setLoadWithOverviewModeToFalse) |
| 498 { | 498 { |
| 499 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 499 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
| 500 | 500 |
| 501 FixedLayoutTestWebViewClient client; | 501 FixedLayoutTestWebViewClient client; |
| 502 client.m_screenInfo.deviceScaleFactor = 1; | 502 client.m_screenInfo.deviceScaleFactor = 1; |
| 503 int viewportWidth = 640; | 503 int viewportWidth = 640; |
| 504 int viewportHeight = 480; | 504 int viewportHeight = 480; |
| 505 | 505 |
| 506 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut
o-initial-scale.html", true, 0, &client); | 506 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut
o-initial-scale.html", true, 0, &client); |
| 507 m_webView->enableFixedLayoutMode(true); | 507 // m_webView->enableFixedLayoutMode(true); |
| 508 m_webView->settings()->setViewportEnabled(true); | 508 m_webView->settings()->setViewportEnabled(true); |
| 509 m_webView->settings()->setLoadWithOverviewMode(false); | 509 m_webView->settings()->setLoadWithOverviewMode(false); |
| 510 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 510 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 511 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 511 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 512 | 512 |
| 513 // The page must be displayed at 100% zoom. | 513 // The page must be displayed at 100% zoom. |
| 514 EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); | 514 EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); |
| 515 } | 515 } |
| 516 | 516 |
| 517 TEST_F(WebFrameTest, SetLoadWithOverviewModeToFalseAndNoWideViewport) | 517 TEST_F(WebFrameTest, SetLoadWithOverviewModeToFalseAndNoWideViewport) |
| 518 { | 518 { |
| 519 registerMockedHttpURLLoad("large-div.html"); | 519 registerMockedHttpURLLoad("large-div.html"); |
| 520 | 520 |
| 521 FixedLayoutTestWebViewClient client; | 521 FixedLayoutTestWebViewClient client; |
| 522 client.m_screenInfo.deviceScaleFactor = 1; | 522 client.m_screenInfo.deviceScaleFactor = 1; |
| 523 int viewportWidth = 640; | 523 int viewportWidth = 640; |
| 524 int viewportHeight = 480; | 524 int viewportHeight = 480; |
| 525 | 525 |
| 526 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "large-div.ht
ml", true, 0, &client); | 526 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "large-div.ht
ml", true, 0, &client); |
| 527 m_webView->enableFixedLayoutMode(true); | 527 // m_webView->enableFixedLayoutMode(true); |
| 528 m_webView->settings()->setViewportEnabled(true); | 528 m_webView->settings()->setViewportEnabled(true); |
| 529 m_webView->settings()->setLoadWithOverviewMode(false); | 529 m_webView->settings()->setLoadWithOverviewMode(false); |
| 530 m_webView->settings()->setUseWideViewport(false); | 530 m_webView->settings()->setUseWideViewport(false); |
| 531 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 531 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 532 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 532 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 533 | 533 |
| 534 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. | 534 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. |
| 535 EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); | 535 EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); |
| 536 } | 536 } |
| 537 | 537 |
| 538 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) | 538 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) |
| 539 { | 539 { |
| 540 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 540 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
| 541 | 541 |
| 542 FixedLayoutTestWebViewClient client; | 542 FixedLayoutTestWebViewClient client; |
| 543 client.m_screenInfo.deviceScaleFactor = 1; | 543 client.m_screenInfo.deviceScaleFactor = 1; |
| 544 int viewportWidth = 640; | 544 int viewportWidth = 640; |
| 545 int viewportHeight = 480; | 545 int viewportHeight = 480; |
| 546 | 546 |
| 547 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut
o-initial-scale.html", true, 0, &client); | 547 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut
o-initial-scale.html", true, 0, &client); |
| 548 m_webView->enableFixedLayoutMode(true); | 548 // m_webView->enableFixedLayoutMode(true); |
| 549 m_webView->settings()->setViewportEnabled(true); | 549 m_webView->settings()->setViewportEnabled(true); |
| 550 m_webView->settings()->setUseWideViewport(false); | 550 m_webView->settings()->setUseWideViewport(false); |
| 551 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 551 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 552 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 552 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 553 | 553 |
| 554 // The page sets viewport width to 3000, but with UseWideViewport == false i
s must be ignored. | 554 // The page sets viewport width to 3000, but with UseWideViewport == false i
s must be ignored. |
| 555 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 555 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 556 EXPECT_EQ(viewportWidth, webViewImpl->mainFrameImpl()->frameView()->contents
Size().width()); | 556 EXPECT_EQ(viewportWidth, webViewImpl->mainFrameImpl()->frameView()->contents
Size().width()); |
| 557 EXPECT_EQ(viewportHeight, webViewImpl->mainFrameImpl()->frameView()->content
sSize().height()); | 557 EXPECT_EQ(viewportHeight, webViewImpl->mainFrameImpl()->frameView()->content
sSize().height()); |
| 558 } | 558 } |
| 559 | 559 |
| 560 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidthButAccountsScale) | 560 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidthButAccountsScale) |
| 561 { | 561 { |
| 562 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 562 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
| 563 | 563 |
| 564 FixedLayoutTestWebViewClient client; | 564 FixedLayoutTestWebViewClient client; |
| 565 client.m_screenInfo.deviceScaleFactor = 1; | 565 client.m_screenInfo.deviceScaleFactor = 1; |
| 566 int viewportWidth = 640; | 566 int viewportWidth = 640; |
| 567 int viewportHeight = 480; | 567 int viewportHeight = 480; |
| 568 | 568 |
| 569 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-wid
e-2x-initial-scale.html", true, 0, &client); | 569 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-wid
e-2x-initial-scale.html", true, 0, &client); |
| 570 m_webView->enableFixedLayoutMode(true); | 570 // m_webView->enableFixedLayoutMode(true); |
| 571 m_webView->settings()->setViewportEnabled(true); | 571 m_webView->settings()->setViewportEnabled(true); |
| 572 m_webView->settings()->setUseWideViewport(false); | 572 m_webView->settings()->setUseWideViewport(false); |
| 573 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 573 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 574 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 574 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 575 | 575 |
| 576 // The page sets viewport width to 3000, but with UseWideViewport == false i
s must be ignored. | 576 // The page sets viewport width to 3000, but with UseWideViewport == false i
s must be ignored. |
| 577 // While the initial scale specified by the page must be accounted. | 577 // While the initial scale specified by the page must be accounted. |
| 578 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 578 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 579 EXPECT_EQ(viewportWidth / 2, webViewImpl->mainFrameImpl()->frameView()->cont
entsSize().width()); | 579 EXPECT_EQ(viewportWidth / 2, webViewImpl->mainFrameImpl()->frameView()->cont
entsSize().width()); |
| 580 EXPECT_EQ(viewportHeight / 2, webViewImpl->mainFrameImpl()->frameView()->con
tentsSize().height()); | 580 EXPECT_EQ(viewportHeight / 2, webViewImpl->mainFrameImpl()->frameView()->con
tentsSize().height()); |
| 581 } | 581 } |
| 582 | 582 |
| 583 TEST_F(WebFrameTest, WideViewportSetsTo980WithAutoWidth) | 583 TEST_F(WebFrameTest, WideViewportSetsTo980WithAutoWidth) |
| 584 { | 584 { |
| 585 registerMockedHttpURLLoad("viewport-2x-initial-scale.html"); | 585 registerMockedHttpURLLoad("viewport-2x-initial-scale.html"); |
| 586 | 586 |
| 587 FixedLayoutTestWebViewClient client; | 587 FixedLayoutTestWebViewClient client; |
| 588 client.m_screenInfo.deviceScaleFactor = 1; | 588 client.m_screenInfo.deviceScaleFactor = 1; |
| 589 int viewportWidth = 640; | 589 int viewportWidth = 640; |
| 590 int viewportHeight = 480; | 590 int viewportHeight = 480; |
| 591 | 591 |
| 592 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-2x-
initial-scale.html", true, 0, &client); | 592 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-2x-
initial-scale.html", true, 0, &client); |
| 593 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 593 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 594 m_webView->enableFixedLayoutMode(true); | 594 // m_webView->enableFixedLayoutMode(true); |
| 595 m_webView->settings()->setUseWideViewport(true); | 595 m_webView->settings()->setUseWideViewport(true); |
| 596 m_webView->settings()->setViewportEnabled(true); | 596 m_webView->settings()->setViewportEnabled(true); |
| 597 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 597 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 598 | 598 |
| 599 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 599 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 600 EXPECT_EQ(980, webViewImpl->mainFrameImpl()->frameView()->contentsSize().wid
th()); | 600 EXPECT_EQ(980, webViewImpl->mainFrameImpl()->frameView()->contentsSize().wid
th()); |
| 601 EXPECT_EQ(980.0 / viewportWidth * viewportHeight, webViewImpl->mainFrameImpl
()->frameView()->contentsSize().height()); | 601 EXPECT_EQ(980.0 / viewportWidth * viewportHeight, webViewImpl->mainFrameImpl
()->frameView()->contentsSize().height()); |
| 602 } | 602 } |
| 603 | 603 |
| 604 TEST_F(WebFrameTest, PageViewportInitialScaleOverridesLoadWithOverviewMode) | 604 TEST_F(WebFrameTest, PageViewportInitialScaleOverridesLoadWithOverviewMode) |
| 605 { | 605 { |
| 606 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 606 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
| 607 | 607 |
| 608 FixedLayoutTestWebViewClient client; | 608 FixedLayoutTestWebViewClient client; |
| 609 client.m_screenInfo.deviceScaleFactor = 1; | 609 client.m_screenInfo.deviceScaleFactor = 1; |
| 610 int viewportWidth = 640; | 610 int viewportWidth = 640; |
| 611 int viewportHeight = 480; | 611 int viewportHeight = 480; |
| 612 | 612 |
| 613 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-wid
e-2x-initial-scale.html", true, 0, &client); | 613 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-wid
e-2x-initial-scale.html", true, 0, &client); |
| 614 m_webView->enableFixedLayoutMode(true); | 614 // m_webView->enableFixedLayoutMode(true); |
| 615 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 615 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 616 m_webView->settings()->setViewportEnabled(true); | 616 m_webView->settings()->setViewportEnabled(true); |
| 617 m_webView->settings()->setLoadWithOverviewMode(false); | 617 m_webView->settings()->setLoadWithOverviewMode(false); |
| 618 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 618 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 619 | 619 |
| 620 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. | 620 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. |
| 621 EXPECT_EQ(2.0f, m_webView->pageScaleFactor()); | 621 EXPECT_EQ(2.0f, m_webView->pageScaleFactor()); |
| 622 } | 622 } |
| 623 | 623 |
| 624 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) | 624 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) |
| 625 { | 625 { |
| 626 WebCore::Settings::setMockScrollbarsEnabled(true); | 626 WebCore::Settings::setMockScrollbarsEnabled(true); |
| 627 WebCore::Settings::setUsesOverlayScrollbars(true); | 627 WebCore::Settings::setUsesOverlayScrollbars(true); |
| 628 | 628 |
| 629 registerMockedHttpURLLoad("fixed_layout.html"); | 629 registerMockedHttpURLLoad("fixed_layout.html"); |
| 630 | 630 |
| 631 FixedLayoutTestWebViewClient client; | 631 FixedLayoutTestWebViewClient client; |
| 632 client.m_screenInfo.deviceScaleFactor = 1; | 632 client.m_screenInfo.deviceScaleFactor = 1; |
| 633 float enforcedPageScaleFactor = 2.0f; | 633 float enforcedPageScaleFactor = 2.0f; |
| 634 | 634 |
| 635 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 635 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 636 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 636 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 637 m_webView->settings()->setLoadWithOverviewMode(false); | 637 m_webView->settings()->setLoadWithOverviewMode(false); |
| 638 m_webView->setInitialPageScaleOverride(enforcedPageScaleFactor); | 638 m_webView->setInitialPageScaleOverride(enforcedPageScaleFactor); |
| 639 m_webView->enableFixedLayoutMode(true); | 639 // m_webView->enableFixedLayoutMode(true); |
| 640 m_webView->settings()->setViewportEnabled(true); | 640 m_webView->settings()->setViewportEnabled(true); |
| 641 m_webView->layout(); | 641 m_webView->layout(); |
| 642 | 642 |
| 643 EXPECT_EQ(enforcedPageScaleFactor, m_webView->pageScaleFactor()); | 643 EXPECT_EQ(enforcedPageScaleFactor, m_webView->pageScaleFactor()); |
| 644 | 644 |
| 645 int viewportWidth = 640; | 645 int viewportWidth = 640; |
| 646 int viewportHeight = 480; | 646 int viewportHeight = 480; |
| 647 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 647 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 648 m_webView->layout(); | 648 m_webView->layout(); |
| 649 | 649 |
| 650 EXPECT_EQ(enforcedPageScaleFactor, m_webView->pageScaleFactor()); | 650 EXPECT_EQ(enforcedPageScaleFactor, m_webView->pageScaleFactor()); |
| 651 | 651 |
| 652 m_webView->setInitialPageScaleOverride(-1); | 652 m_webView->setInitialPageScaleOverride(-1); |
| 653 m_webView->layout(); | 653 m_webView->layout(); |
| 654 EXPECT_EQ(1.0, m_webView->pageScaleFactor()); | 654 EXPECT_EQ(1.0, m_webView->pageScaleFactor()); |
| 655 } | 655 } |
| 656 | 656 |
| 657 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesLoadWithOverviewMod
e) | 657 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesLoadWithOverviewMod
e) |
| 658 { | 658 { |
| 659 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 659 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
| 660 | 660 |
| 661 FixedLayoutTestWebViewClient client; | 661 FixedLayoutTestWebViewClient client; |
| 662 client.m_screenInfo.deviceScaleFactor = 1; | 662 client.m_screenInfo.deviceScaleFactor = 1; |
| 663 int viewportWidth = 640; | 663 int viewportWidth = 640; |
| 664 int viewportHeight = 480; | 664 int viewportHeight = 480; |
| 665 float enforcedPageScalePactor = 0.5f; | 665 float enforcedPageScalePactor = 0.5f; |
| 666 | 666 |
| 667 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut
o-initial-scale.html", true, 0, &client); | 667 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut
o-initial-scale.html", true, 0, &client); |
| 668 m_webView->enableFixedLayoutMode(true); | 668 // m_webView->enableFixedLayoutMode(true); |
| 669 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 669 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 670 m_webView->settings()->setViewportEnabled(true); | 670 m_webView->settings()->setViewportEnabled(true); |
| 671 m_webView->settings()->setLoadWithOverviewMode(false); | 671 m_webView->settings()->setLoadWithOverviewMode(false); |
| 672 m_webView->setInitialPageScaleOverride(enforcedPageScalePactor); | 672 m_webView->setInitialPageScaleOverride(enforcedPageScalePactor); |
| 673 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 673 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 674 | 674 |
| 675 EXPECT_EQ(enforcedPageScalePactor, m_webView->pageScaleFactor()); | 675 EXPECT_EQ(enforcedPageScalePactor, m_webView->pageScaleFactor()); |
| 676 } | 676 } |
| 677 | 677 |
| 678 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) | 678 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) |
| 679 { | 679 { |
| 680 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 680 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
| 681 | 681 |
| 682 FixedLayoutTestWebViewClient client; | 682 FixedLayoutTestWebViewClient client; |
| 683 client.m_screenInfo.deviceScaleFactor = 1; | 683 client.m_screenInfo.deviceScaleFactor = 1; |
| 684 int viewportWidth = 640; | 684 int viewportWidth = 640; |
| 685 int viewportHeight = 480; | 685 int viewportHeight = 480; |
| 686 float enforcedPageScalePactor = 0.5f; | 686 float enforcedPageScalePactor = 0.5f; |
| 687 | 687 |
| 688 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-wid
e-2x-initial-scale.html", true, 0, &client); | 688 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-wid
e-2x-initial-scale.html", true, 0, &client); |
| 689 m_webView->enableFixedLayoutMode(true); | 689 // m_webView->enableFixedLayoutMode(true); |
| 690 m_webView->settings()->setViewportEnabled(true); | 690 m_webView->settings()->setViewportEnabled(true); |
| 691 m_webView->setInitialPageScaleOverride(enforcedPageScalePactor); | 691 m_webView->setInitialPageScaleOverride(enforcedPageScalePactor); |
| 692 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 692 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 693 | 693 |
| 694 EXPECT_EQ(enforcedPageScalePactor, m_webView->pageScaleFactor()); | 694 EXPECT_EQ(enforcedPageScalePactor, m_webView->pageScaleFactor()); |
| 695 } | 695 } |
| 696 | 696 |
| 697 TEST_F(WebFrameTest, ScaleFactorShouldNotOscillate) | 697 TEST_F(WebFrameTest, ScaleFactorShouldNotOscillate) |
| 698 { | 698 { |
| 699 registerMockedHttpURLLoad("scale_oscillate.html"); | 699 registerMockedHttpURLLoad("scale_oscillate.html"); |
| 700 | 700 |
| 701 FixedLayoutTestWebViewClient client; | 701 FixedLayoutTestWebViewClient client; |
| 702 client.m_screenInfo.deviceScaleFactor = static_cast<float>(1.325); | 702 client.m_screenInfo.deviceScaleFactor = static_cast<float>(1.325); |
| 703 int viewportWidth = 800; | 703 int viewportWidth = 800; |
| 704 int viewportHeight = 1057; | 704 int viewportHeight = 1057; |
| 705 | 705 |
| 706 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "scale_oscill
ate.html", true, 0, &client); | 706 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "scale_oscill
ate.html", true, 0, &client); |
| 707 m_webView->enableFixedLayoutMode(true); | 707 // m_webView->enableFixedLayoutMode(true); |
| 708 m_webView->settings()->setViewportEnabled(true); | 708 m_webView->settings()->setViewportEnabled(true); |
| 709 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 709 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 710 m_webView->layout(); | 710 m_webView->layout(); |
| 711 } | 711 } |
| 712 | 712 |
| 713 TEST_F(WebFrameTest, setPageScaleFactorDoesNotLayout) | 713 TEST_F(WebFrameTest, setPageScaleFactorDoesNotLayout) |
| 714 { | 714 { |
| 715 registerMockedHttpURLLoad("fixed_layout.html"); | 715 registerMockedHttpURLLoad("fixed_layout.html"); |
| 716 | 716 |
| 717 FixedLayoutTestWebViewClient client; | 717 FixedLayoutTestWebViewClient client; |
| 718 client.m_screenInfo.deviceScaleFactor = 1; | 718 client.m_screenInfo.deviceScaleFactor = 1; |
| 719 // Small viewport to ensure there are always scrollbars. | 719 // Small viewport to ensure there are always scrollbars. |
| 720 int viewportWidth = 64; | 720 int viewportWidth = 64; |
| 721 int viewportHeight = 48; | 721 int viewportHeight = 48; |
| 722 | 722 |
| 723 m_webView = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad
(m_baseURL + "fixed_layout.html", true, 0, &client)); | 723 m_webView = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad
(m_baseURL + "fixed_layout.html", true, 0, &client)); |
| 724 m_webView->enableFixedLayoutMode(true); | 724 // m_webView->enableFixedLayoutMode(true); |
| 725 m_webView->settings()->setViewportEnabled(true); | 725 m_webView->settings()->setViewportEnabled(true); |
| 726 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 726 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 727 m_webView->layout(); | 727 m_webView->layout(); |
| 728 | 728 |
| 729 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 729 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 730 int prevLayoutCount = webViewImpl->mainFrameImpl()->frameView()->layoutCount
(); | 730 int prevLayoutCount = webViewImpl->mainFrameImpl()->frameView()->layoutCount
(); |
| 731 webViewImpl->setPageScaleFactor(3, WebPoint()); | 731 webViewImpl->setPageScaleFactor(3, WebPoint()); |
| 732 EXPECT_FALSE(webViewImpl->mainFrameImpl()->frameView()->needsLayout()); | 732 EXPECT_FALSE(webViewImpl->mainFrameImpl()->frameView()->needsLayout()); |
| 733 EXPECT_EQ(prevLayoutCount, webViewImpl->mainFrameImpl()->frameView()->layout
Count()); | 733 EXPECT_EQ(prevLayoutCount, webViewImpl->mainFrameImpl()->frameView()->layout
Count()); |
| 734 } | 734 } |
| 735 | 735 |
| 736 TEST_F(WebFrameTest, setPageScaleFactorWithOverlayScrollbarsDoesNotLayout) | 736 TEST_F(WebFrameTest, setPageScaleFactorWithOverlayScrollbarsDoesNotLayout) |
| 737 { | 737 { |
| 738 WebCore::Settings::setMockScrollbarsEnabled(true); | 738 WebCore::Settings::setMockScrollbarsEnabled(true); |
| 739 WebCore::Settings::setUsesOverlayScrollbars(true); | 739 WebCore::Settings::setUsesOverlayScrollbars(true); |
| 740 EXPECT_TRUE(WebCore::ScrollbarTheme::theme()->usesOverlayScrollbars()); | 740 EXPECT_TRUE(WebCore::ScrollbarTheme::theme()->usesOverlayScrollbars()); |
| 741 | 741 |
| 742 registerMockedHttpURLLoad("fixed_layout.html"); | 742 registerMockedHttpURLLoad("fixed_layout.html"); |
| 743 | 743 |
| 744 FixedLayoutTestWebViewClient client; | 744 FixedLayoutTestWebViewClient client; |
| 745 client.m_screenInfo.deviceScaleFactor = 1; | 745 client.m_screenInfo.deviceScaleFactor = 1; |
| 746 int viewportWidth = 640; | 746 int viewportWidth = 640; |
| 747 int viewportHeight = 480; | 747 int viewportHeight = 480; |
| 748 | 748 |
| 749 m_webView = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad
(m_baseURL + "fixed_layout.html", true, 0, &client)); | 749 m_webView = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad
(m_baseURL + "fixed_layout.html", true, 0, &client)); |
| 750 m_webView->enableFixedLayoutMode(true); | 750 // m_webView->enableFixedLayoutMode(true); |
| 751 m_webView->settings()->setViewportEnabled(true); | 751 m_webView->settings()->setViewportEnabled(true); |
| 752 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 752 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 753 m_webView->layout(); | 753 m_webView->layout(); |
| 754 | 754 |
| 755 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 755 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 756 int prevLayoutCount = webViewImpl->mainFrameImpl()->frameView()->layoutCount
(); | 756 int prevLayoutCount = webViewImpl->mainFrameImpl()->frameView()->layoutCount
(); |
| 757 webViewImpl->setPageScaleFactor(30, WebPoint()); | 757 webViewImpl->setPageScaleFactor(30, WebPoint()); |
| 758 EXPECT_FALSE(webViewImpl->mainFrameImpl()->frameView()->needsLayout()); | 758 EXPECT_FALSE(webViewImpl->mainFrameImpl()->frameView()->needsLayout()); |
| 759 EXPECT_EQ(prevLayoutCount, webViewImpl->mainFrameImpl()->frameView()->layout
Count()); | 759 EXPECT_EQ(prevLayoutCount, webViewImpl->mainFrameImpl()->frameView()->layout
Count()); |
| 760 | 760 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 779 TEST_F(WebFrameTest, pageScaleFactorWrittenToHistoryItem) | 779 TEST_F(WebFrameTest, pageScaleFactorWrittenToHistoryItem) |
| 780 { | 780 { |
| 781 registerMockedHttpURLLoad("fixed_layout.html"); | 781 registerMockedHttpURLLoad("fixed_layout.html"); |
| 782 | 782 |
| 783 FixedLayoutTestWebViewClient client; | 783 FixedLayoutTestWebViewClient client; |
| 784 client.m_screenInfo.deviceScaleFactor = 1; | 784 client.m_screenInfo.deviceScaleFactor = 1; |
| 785 int viewportWidth = 640; | 785 int viewportWidth = 640; |
| 786 int viewportHeight = 480; | 786 int viewportHeight = 480; |
| 787 | 787 |
| 788 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 788 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 789 m_webView->enableFixedLayoutMode(true); | 789 // m_webView->enableFixedLayoutMode(true); |
| 790 m_webView->settings()->setViewportEnabled(true); | 790 m_webView->settings()->setViewportEnabled(true); |
| 791 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 791 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 792 m_webView->layout(); | 792 m_webView->layout(); |
| 793 | 793 |
| 794 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 794 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 795 m_webView->setPageScaleFactor(3, WebPoint()); | 795 m_webView->setPageScaleFactor(3, WebPoint()); |
| 796 webViewImpl->page()->mainFrame()->loader()->history()->saveDocumentAndScroll
State(); | 796 webViewImpl->page()->mainFrame()->loader()->history()->saveDocumentAndScroll
State(); |
| 797 m_webView->setPageScaleFactor(1, WebPoint()); | 797 m_webView->setPageScaleFactor(1, WebPoint()); |
| 798 webViewImpl->page()->mainFrame()->loader()->history()->restoreScrollPosition
AndViewState(); | 798 webViewImpl->page()->mainFrame()->loader()->history()->restoreScrollPosition
AndViewState(); |
| 799 EXPECT_EQ(3, m_webView->pageScaleFactor()); | 799 EXPECT_EQ(3, m_webView->pageScaleFactor()); |
| 800 } | 800 } |
| 801 | 801 |
| 802 TEST_F(WebFrameTest, pageScaleFactorShrinksViewport) | 802 TEST_F(WebFrameTest, pageScaleFactorShrinksViewport) |
| 803 { | 803 { |
| 804 registerMockedHttpURLLoad("fixed_layout.html"); | 804 registerMockedHttpURLLoad("fixed_layout.html"); |
| 805 | 805 |
| 806 FixedLayoutTestWebViewClient client; | 806 FixedLayoutTestWebViewClient client; |
| 807 client.m_screenInfo.deviceScaleFactor = 1; | 807 client.m_screenInfo.deviceScaleFactor = 1; |
| 808 // Small viewport to ensure there are always scrollbars. | 808 // Small viewport to ensure there are always scrollbars. |
| 809 int viewportWidth = 64; | 809 int viewportWidth = 64; |
| 810 int viewportHeight = 48; | 810 int viewportHeight = 48; |
| 811 | 811 |
| 812 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 812 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 813 m_webView->enableFixedLayoutMode(true); | 813 // m_webView->enableFixedLayoutMode(true); |
| 814 m_webView->settings()->setViewportEnabled(true); | 814 m_webView->settings()->setViewportEnabled(true); |
| 815 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 815 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 816 m_webView->layout(); | 816 m_webView->layout(); |
| 817 | 817 |
| 818 WebCore::FrameView* view = static_cast<WebViewImpl*>(m_webView)->mainFrameIm
pl()->frameView(); | 818 WebCore::FrameView* view = static_cast<WebViewImpl*>(m_webView)->mainFrameIm
pl()->frameView(); |
| 819 int viewportWidthMinusScrollbar = viewportWidth - (view->verticalScrollbar()
->isOverlayScrollbar() ? 0 : 15); | 819 int viewportWidthMinusScrollbar = viewportWidth - (view->verticalScrollbar()
->isOverlayScrollbar() ? 0 : 15); |
| 820 int viewportHeightMinusScrollbar = viewportHeight - (view->horizontalScrollb
ar()->isOverlayScrollbar() ? 0 : 15); | 820 int viewportHeightMinusScrollbar = viewportHeight - (view->horizontalScrollb
ar()->isOverlayScrollbar() ? 0 : 15); |
| 821 | 821 |
| 822 m_webView->setPageScaleFactor(2, WebPoint()); | 822 m_webView->setPageScaleFactor(2, WebPoint()); |
| 823 | 823 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 837 TEST_F(WebFrameTest, pageScaleFactorDoesNotApplyCssTransform) | 837 TEST_F(WebFrameTest, pageScaleFactorDoesNotApplyCssTransform) |
| 838 { | 838 { |
| 839 registerMockedHttpURLLoad("fixed_layout.html"); | 839 registerMockedHttpURLLoad("fixed_layout.html"); |
| 840 | 840 |
| 841 FixedLayoutTestWebViewClient client; | 841 FixedLayoutTestWebViewClient client; |
| 842 client.m_screenInfo.deviceScaleFactor = 1; | 842 client.m_screenInfo.deviceScaleFactor = 1; |
| 843 int viewportWidth = 640; | 843 int viewportWidth = 640; |
| 844 int viewportHeight = 480; | 844 int viewportHeight = 480; |
| 845 | 845 |
| 846 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 846 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 847 m_webView->enableFixedLayoutMode(true); | 847 // m_webView->enableFixedLayoutMode(true); |
| 848 m_webView->settings()->setViewportEnabled(true); | 848 m_webView->settings()->setViewportEnabled(true); |
| 849 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 849 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 850 m_webView->layout(); | 850 m_webView->layout(); |
| 851 | 851 |
| 852 m_webView->setPageScaleFactor(2, WebPoint()); | 852 m_webView->setPageScaleFactor(2, WebPoint()); |
| 853 | 853 |
| 854 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 854 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 855 EXPECT_EQ(980, webViewImpl->page()->mainFrame()->contentRenderer()->unscaled
DocumentRect().width()); | 855 EXPECT_EQ(980, webViewImpl->page()->mainFrame()->contentRenderer()->unscaled
DocumentRect().width()); |
| 856 EXPECT_EQ(980, webViewImpl->mainFrameImpl()->frameView()->contentsSize().wid
th()); | 856 EXPECT_EQ(980, webViewImpl->mainFrameImpl()->frameView()->contentsSize().wid
th()); |
| 857 } | 857 } |
| 858 | 858 |
| 859 TEST_F(WebFrameTest, targetDensityDpiHigh) | 859 TEST_F(WebFrameTest, targetDensityDpiHigh) |
| 860 { | 860 { |
| 861 WebCore::Settings::setMockScrollbarsEnabled(true); | 861 WebCore::Settings::setMockScrollbarsEnabled(true); |
| 862 WebCore::Settings::setUsesOverlayScrollbars(true); | 862 WebCore::Settings::setUsesOverlayScrollbars(true); |
| 863 registerMockedHttpURLLoad("viewport-target-densitydpi-high.html"); | 863 registerMockedHttpURLLoad("viewport-target-densitydpi-high.html"); |
| 864 | 864 |
| 865 FixedLayoutTestWebViewClient client; | 865 FixedLayoutTestWebViewClient client; |
| 866 client.m_screenInfo.deviceScaleFactor = 4.0f / 3.0f; | 866 client.m_screenInfo.deviceScaleFactor = 4.0f / 3.0f; |
| 867 int viewportWidth = 640; | 867 int viewportWidth = 640; |
| 868 int viewportHeight = 480; | 868 int viewportHeight = 480; |
| 869 | 869 |
| 870 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-tar
get-densitydpi-high.html", true, 0, &client); | 870 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-tar
get-densitydpi-high.html", true, 0, &client); |
| 871 m_webView->enableFixedLayoutMode(true); | 871 // m_webView->enableFixedLayoutMode(true); |
| 872 m_webView->settings()->setViewportEnabled(true); | 872 m_webView->settings()->setViewportEnabled(true); |
| 873 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 873 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 874 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 874 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 875 | 875 |
| 876 // high-dpi = 240, device-dpi = 160 | 876 // high-dpi = 240, device-dpi = 160 |
| 877 EXPECT_NEAR(viewportWidth * (240.0f / 160.0f), m_webView->fixedLayoutSize().
width, 1.0f); | 877 EXPECT_NEAR(viewportWidth * (240.0f / 160.0f), m_webView->fixedLayoutSize().
width, 1.0f); |
| 878 EXPECT_NEAR(viewportHeight * (240.0f / 160.0f), m_webView->fixedLayoutSize()
.height, 1.0f); | 878 EXPECT_NEAR(viewportHeight * (240.0f / 160.0f), m_webView->fixedLayoutSize()
.height, 1.0f); |
| 879 EXPECT_NEAR(160.0f / 240.0f, m_webView->pageScaleFactor(), 0.01f); | 879 EXPECT_NEAR(160.0f / 240.0f, m_webView->pageScaleFactor(), 0.01f); |
| 880 } | 880 } |
| 881 | 881 |
| 882 TEST_F(WebFrameTest, targetDensityDpiDevice) | 882 TEST_F(WebFrameTest, targetDensityDpiDevice) |
| 883 { | 883 { |
| 884 WebCore::Settings::setMockScrollbarsEnabled(true); | 884 WebCore::Settings::setMockScrollbarsEnabled(true); |
| 885 WebCore::Settings::setUsesOverlayScrollbars(true); | 885 WebCore::Settings::setUsesOverlayScrollbars(true); |
| 886 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html"); | 886 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html"); |
| 887 | 887 |
| 888 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; | 888 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; |
| 889 | 889 |
| 890 FixedLayoutTestWebViewClient client; | 890 FixedLayoutTestWebViewClient client; |
| 891 int viewportWidth = 640; | 891 int viewportWidth = 640; |
| 892 int viewportHeight = 480; | 892 int viewportHeight = 480; |
| 893 | 893 |
| 894 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { | 894 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { |
| 895 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; | 895 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; |
| 896 | 896 |
| 897 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport
-target-densitydpi-device.html", true, 0, &client); | 897 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport
-target-densitydpi-device.html", true, 0, &client); |
| 898 m_webView->enableFixedLayoutMode(true); | 898 // m_webView->enableFixedLayoutMode(true); |
| 899 m_webView->settings()->setViewportEnabled(true); | 899 m_webView->settings()->setViewportEnabled(true); |
| 900 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); | 900 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
| 901 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 901 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 902 | 902 |
| 903 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, m_web
View->fixedLayoutSize().width, 1.0f); | 903 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, m_web
View->fixedLayoutSize().width, 1.0f); |
| 904 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, m_we
bView->fixedLayoutSize().height, 1.0f); | 904 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, m_we
bView->fixedLayoutSize().height, 1.0f); |
| 905 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, m_webView->pag
eScaleFactor(), 0.01f); | 905 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, m_webView->pag
eScaleFactor(), 0.01f); |
| 906 | 906 |
| 907 m_webView->close(); | 907 m_webView->close(); |
| 908 m_webView = 0; | 908 m_webView = 0; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 923 const float initialPageScaleFacto
r, | 923 const float initialPageScaleFacto
r, |
| 924 const WebSize scrollOffset, | 924 const WebSize scrollOffset, |
| 925 const WebSize viewportSize, | 925 const WebSize viewportSize, |
| 926 const bool shouldScaleRelativeToV
iewportWidth) { | 926 const bool shouldScaleRelativeToV
iewportWidth) { |
| 927 registerMockedHttpURLLoad(url); | 927 registerMockedHttpURLLoad(url); |
| 928 | 928 |
| 929 const float aspectRatio = static_cast<float>(viewportSize.width) / viewp
ortSize.height; | 929 const float aspectRatio = static_cast<float>(viewportSize.width) / viewp
ortSize.height; |
| 930 | 930 |
| 931 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + url, true
); | 931 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + url, true
); |
| 932 m_webView->settings()->setViewportEnabled(true); | 932 m_webView->settings()->setViewportEnabled(true); |
| 933 m_webView->enableFixedLayoutMode(true); | 933 // m_webView->enableFixedLayoutMode(true); |
| 934 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 934 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 935 | 935 |
| 936 // Origin scrollOffsets preserved under resize. | 936 // Origin scrollOffsets preserved under resize. |
| 937 { | 937 { |
| 938 webViewImpl->resize(WebSize(viewportSize.width, viewportSize.height)
); | 938 webViewImpl->resize(WebSize(viewportSize.width, viewportSize.height)
); |
| 939 m_webView->setPageScaleFactor(initialPageScaleFactor, WebPoint()); | 939 m_webView->setPageScaleFactor(initialPageScaleFactor, WebPoint()); |
| 940 webViewImpl->resize(WebSize(viewportSize.height, viewportSize.width)
); | 940 webViewImpl->resize(WebSize(viewportSize.height, viewportSize.width)
); |
| 941 float expectedPageScaleFactor = initialPageScaleFactor * (shouldScal
eRelativeToViewportWidth ? 1 / aspectRatio : 1); | 941 float expectedPageScaleFactor = initialPageScaleFactor * (shouldScal
eRelativeToViewportWidth ? 1 / aspectRatio : 1); |
| 942 EXPECT_NEAR(expectedPageScaleFactor, webViewImpl->pageScaleFactor(),
0.05f); | 942 EXPECT_NEAR(expectedPageScaleFactor, webViewImpl->pageScaleFactor(),
0.05f); |
| 943 EXPECT_EQ(WebSize(), webViewImpl->mainFrame()->scrollOffset()); | 943 EXPECT_EQ(WebSize(), webViewImpl->mainFrame()->scrollOffset()); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1025 TEST_F(WebFrameTest, pageScaleFactorScalesPaintClip) | 1025 TEST_F(WebFrameTest, pageScaleFactorScalesPaintClip) |
| 1026 { | 1026 { |
| 1027 registerMockedHttpURLLoad("fixed_layout.html"); | 1027 registerMockedHttpURLLoad("fixed_layout.html"); |
| 1028 | 1028 |
| 1029 FixedLayoutTestWebViewClient client; | 1029 FixedLayoutTestWebViewClient client; |
| 1030 client.m_screenInfo.deviceScaleFactor = 1; | 1030 client.m_screenInfo.deviceScaleFactor = 1; |
| 1031 int viewportWidth = 50; | 1031 int viewportWidth = 50; |
| 1032 int viewportHeight = 50; | 1032 int viewportHeight = 50; |
| 1033 | 1033 |
| 1034 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 1034 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 1035 m_webView->enableFixedLayoutMode(true); | 1035 // m_webView->enableFixedLayoutMode(true); |
| 1036 m_webView->settings()->setViewportEnabled(true); | 1036 m_webView->settings()->setViewportEnabled(true); |
| 1037 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1037 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1038 m_webView->layout(); | 1038 m_webView->layout(); |
| 1039 | 1039 |
| 1040 // Set <1 page scale so that the clip rect should be larger than | 1040 // Set <1 page scale so that the clip rect should be larger than |
| 1041 // the viewport size as passed into resize(). | 1041 // the viewport size as passed into resize(). |
| 1042 m_webView->setPageScaleFactor(0.5, WebPoint()); | 1042 m_webView->setPageScaleFactor(0.5, WebPoint()); |
| 1043 | 1043 |
| 1044 SkBitmap bitmap; | 1044 SkBitmap bitmap; |
| 1045 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 200, 200); | 1045 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 200, 200); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1065 TEST_F(WebFrameTest, pageScaleFactorUpdatesScrollbars) | 1065 TEST_F(WebFrameTest, pageScaleFactorUpdatesScrollbars) |
| 1066 { | 1066 { |
| 1067 registerMockedHttpURLLoad("fixed_layout.html"); | 1067 registerMockedHttpURLLoad("fixed_layout.html"); |
| 1068 | 1068 |
| 1069 FixedLayoutTestWebViewClient client; | 1069 FixedLayoutTestWebViewClient client; |
| 1070 client.m_screenInfo.deviceScaleFactor = 1; | 1070 client.m_screenInfo.deviceScaleFactor = 1; |
| 1071 int viewportWidth = 640; | 1071 int viewportWidth = 640; |
| 1072 int viewportHeight = 480; | 1072 int viewportHeight = 480; |
| 1073 | 1073 |
| 1074 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); | 1074 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 1075 m_webView->enableFixedLayoutMode(true); | 1075 // m_webView->enableFixedLayoutMode(true); |
| 1076 m_webView->settings()->setViewportEnabled(true); | 1076 m_webView->settings()->setViewportEnabled(true); |
| 1077 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1077 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1078 m_webView->layout(); | 1078 m_webView->layout(); |
| 1079 | 1079 |
| 1080 WebCore::FrameView* view = static_cast<WebViewImpl*>(m_webView)->mainFrameIm
pl()->frameView(); | 1080 WebCore::FrameView* view = static_cast<WebViewImpl*>(m_webView)->mainFrameIm
pl()->frameView(); |
| 1081 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize
().width() - view->visibleContentRect().width()); | 1081 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize
().width() - view->visibleContentRect().width()); |
| 1082 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize()
.height() - view->visibleContentRect().height()); | 1082 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize()
.height() - view->visibleContentRect().height()); |
| 1083 | 1083 |
| 1084 m_webView->setPageScaleFactor(10, WebPoint()); | 1084 m_webView->setPageScaleFactor(10, WebPoint()); |
| 1085 | 1085 |
| 1086 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize
().width() - view->visibleContentRect().width()); | 1086 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize
().width() - view->visibleContentRect().width()); |
| 1087 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize()
.height() - view->visibleContentRect().height()); | 1087 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize()
.height() - view->visibleContentRect().height()); |
| 1088 } | 1088 } |
| 1089 | 1089 |
| 1090 TEST_F(WebFrameTest, CanOverrideScaleLimits) | 1090 TEST_F(WebFrameTest, CanOverrideScaleLimits) |
| 1091 { | 1091 { |
| 1092 WebCore::Settings::setMockScrollbarsEnabled(true); | 1092 WebCore::Settings::setMockScrollbarsEnabled(true); |
| 1093 WebCore::Settings::setUsesOverlayScrollbars(true); | 1093 WebCore::Settings::setUsesOverlayScrollbars(true); |
| 1094 | 1094 |
| 1095 registerMockedHttpURLLoad("no_scale_for_you.html"); | 1095 registerMockedHttpURLLoad("no_scale_for_you.html"); |
| 1096 | 1096 |
| 1097 FixedLayoutTestWebViewClient client; | 1097 FixedLayoutTestWebViewClient client; |
| 1098 client.m_screenInfo.deviceScaleFactor = 1; | 1098 client.m_screenInfo.deviceScaleFactor = 1; |
| 1099 int viewportWidth = 640; | 1099 int viewportWidth = 640; |
| 1100 int viewportHeight = 480; | 1100 int viewportHeight = 480; |
| 1101 | 1101 |
| 1102 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_scale_for
_you.html", true, 0, &client); | 1102 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_scale_for
_you.html", true, 0, &client); |
| 1103 m_webView->enableFixedLayoutMode(true); | 1103 // m_webView->enableFixedLayoutMode(true); |
| 1104 m_webView->settings()->setViewportEnabled(true); | 1104 m_webView->settings()->setViewportEnabled(true); |
| 1105 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1105 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1106 | 1106 |
| 1107 EXPECT_EQ(2.0f, m_webView->minimumPageScaleFactor()); | 1107 EXPECT_EQ(2.0f, m_webView->minimumPageScaleFactor()); |
| 1108 EXPECT_EQ(2.0f, m_webView->maximumPageScaleFactor()); | 1108 EXPECT_EQ(2.0f, m_webView->maximumPageScaleFactor()); |
| 1109 | 1109 |
| 1110 m_webView->setIgnoreViewportTagScaleLimits(true); | 1110 m_webView->setIgnoreViewportTagScaleLimits(true); |
| 1111 m_webView->layout(); | 1111 m_webView->layout(); |
| 1112 | 1112 |
| 1113 EXPECT_EQ(1.0f, m_webView->minimumPageScaleFactor()); | 1113 EXPECT_EQ(1.0f, m_webView->minimumPageScaleFactor()); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1158 registerMockedHttpURLLoad("get_scale_for_auto_zoom_into_div_test.html"); | 1158 registerMockedHttpURLLoad("get_scale_for_auto_zoom_into_div_test.html"); |
| 1159 | 1159 |
| 1160 const float deviceScaleFactor = 2.0f; | 1160 const float deviceScaleFactor = 2.0f; |
| 1161 int viewportWidth = 640 / deviceScaleFactor; | 1161 int viewportWidth = 640 / deviceScaleFactor; |
| 1162 int viewportHeight = 1280 / deviceScaleFactor; | 1162 int viewportHeight = 1280 / deviceScaleFactor; |
| 1163 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_fo
r_auto_zoom_into_div_test.html"); // | 1163 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_fo
r_auto_zoom_into_div_test.html"); // |
| 1164 m_webView->setDeviceScaleFactor(deviceScaleFactor); | 1164 m_webView->setDeviceScaleFactor(deviceScaleFactor); |
| 1165 m_webView->setPageScaleFactorLimits(0.01f, 4); | 1165 m_webView->setPageScaleFactorLimits(0.01f, 4); |
| 1166 m_webView->setPageScaleFactor(0.5f, WebPoint(0, 0)); | 1166 m_webView->setPageScaleFactor(0.5f, WebPoint(0, 0)); |
| 1167 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1167 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1168 m_webView->enableFixedLayoutMode(true); | 1168 // m_webView->enableFixedLayoutMode(true); |
| 1169 m_webView->layout(); | 1169 m_webView->layout(); |
| 1170 | 1170 |
| 1171 WebRect wideDiv(200, 100, 400, 150); | 1171 WebRect wideDiv(200, 100, 400, 150); |
| 1172 WebRect tallDiv(200, 300, 400, 800); | 1172 WebRect tallDiv(200, 300, 400, 800); |
| 1173 WebRect doubleTapPointWide(wideDiv.x + 50, wideDiv.y + 50, 0, 0); | 1173 WebRect doubleTapPointWide(wideDiv.x + 50, wideDiv.y + 50, 0, 0); |
| 1174 WebRect doubleTapPointTall(tallDiv.x + 50, tallDiv.y + 50, 0, 0); | 1174 WebRect doubleTapPointTall(tallDiv.x + 50, tallDiv.y + 50, 0, 0); |
| 1175 float scale; | 1175 float scale; |
| 1176 WebPoint scroll; | 1176 WebPoint scroll; |
| 1177 bool isAnchor; | 1177 bool isAnchor; |
| 1178 | 1178 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1221 | 1221 |
| 1222 TEST_F(WebFrameTest, DivAutoZoomMultipleDivsTest) | 1222 TEST_F(WebFrameTest, DivAutoZoomMultipleDivsTest) |
| 1223 { | 1223 { |
| 1224 registerMockedHttpURLLoad("get_multiple_divs_for_auto_zoom_test.html"); | 1224 registerMockedHttpURLLoad("get_multiple_divs_for_auto_zoom_test.html"); |
| 1225 | 1225 |
| 1226 const float deviceScaleFactor = 2.0f; | 1226 const float deviceScaleFactor = 2.0f; |
| 1227 int viewportWidth = 640 / deviceScaleFactor; | 1227 int viewportWidth = 640 / deviceScaleFactor; |
| 1228 int viewportHeight = 1280 / deviceScaleFactor; | 1228 int viewportHeight = 1280 / deviceScaleFactor; |
| 1229 float doubleTapZoomAlreadyLegibleRatio = 1.2f; | 1229 float doubleTapZoomAlreadyLegibleRatio = 1.2f; |
| 1230 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_multiple
_divs_for_auto_zoom_test.html"); | 1230 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_multiple
_divs_for_auto_zoom_test.html"); |
| 1231 m_webView->enableFixedLayoutMode(true); | 1231 // m_webView->enableFixedLayoutMode(true); |
| 1232 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1232 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1233 m_webView->setPageScaleFactorLimits(0.5f, 4); | 1233 m_webView->setPageScaleFactorLimits(0.5f, 4); |
| 1234 m_webView->setDeviceScaleFactor(deviceScaleFactor); | 1234 m_webView->setDeviceScaleFactor(deviceScaleFactor); |
| 1235 m_webView->setPageScaleFactor(0.5f, WebPoint(0, 0)); | 1235 m_webView->setPageScaleFactor(0.5f, WebPoint(0, 0)); |
| 1236 m_webView->layout(); | 1236 m_webView->layout(); |
| 1237 | 1237 |
| 1238 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 1238 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 1239 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); | 1239 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); |
| 1240 | 1240 |
| 1241 WebRect topDiv(200, 100, 200, 150); | 1241 WebRect topDiv(200, 100, 200, 150); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1270 } | 1270 } |
| 1271 | 1271 |
| 1272 TEST_F(WebFrameTest, DivAutoZoomScaleBoundsTest) | 1272 TEST_F(WebFrameTest, DivAutoZoomScaleBoundsTest) |
| 1273 { | 1273 { |
| 1274 registerMockedHttpURLLoad("get_scale_bounds_check_for_auto_zoom_test.html"); | 1274 registerMockedHttpURLLoad("get_scale_bounds_check_for_auto_zoom_test.html"); |
| 1275 | 1275 |
| 1276 int viewportWidth = 320; | 1276 int viewportWidth = 320; |
| 1277 int viewportHeight = 480; | 1277 int viewportHeight = 480; |
| 1278 float doubleTapZoomAlreadyLegibleRatio = 1.2f; | 1278 float doubleTapZoomAlreadyLegibleRatio = 1.2f; |
| 1279 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_bo
unds_check_for_auto_zoom_test.html"); | 1279 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_bo
unds_check_for_auto_zoom_test.html"); |
| 1280 m_webView->enableFixedLayoutMode(true); | 1280 // m_webView->enableFixedLayoutMode(true); |
| 1281 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1281 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1282 m_webView->setDeviceScaleFactor(1.5f); | 1282 m_webView->setDeviceScaleFactor(1.5f); |
| 1283 m_webView->layout(); | 1283 m_webView->layout(); |
| 1284 | 1284 |
| 1285 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 1285 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 1286 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); | 1286 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); |
| 1287 | 1287 |
| 1288 WebRect div(200, 100, 200, 150); | 1288 WebRect div(200, 100, 200, 150); |
| 1289 WebPoint doubleTapPoint(div.x + 50, div.y + 50); | 1289 WebPoint doubleTapPoint(div.x + 50, div.y + 50); |
| 1290 float scale; | 1290 float scale; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1333 | 1333 |
| 1334 TEST_F(WebFrameTest, DivAutoZoomScaleFontScaleFactorTest) | 1334 TEST_F(WebFrameTest, DivAutoZoomScaleFontScaleFactorTest) |
| 1335 { | 1335 { |
| 1336 registerMockedHttpURLLoad("get_scale_bounds_check_for_auto_zoom_test.html"); | 1336 registerMockedHttpURLLoad("get_scale_bounds_check_for_auto_zoom_test.html"); |
| 1337 | 1337 |
| 1338 int viewportWidth = 320; | 1338 int viewportWidth = 320; |
| 1339 int viewportHeight = 480; | 1339 int viewportHeight = 480; |
| 1340 float doubleTapZoomAlreadyLegibleRatio = 1.2f; | 1340 float doubleTapZoomAlreadyLegibleRatio = 1.2f; |
| 1341 float textAutosizingFontScaleFactor = 1.13f; | 1341 float textAutosizingFontScaleFactor = 1.13f; |
| 1342 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_bo
unds_check_for_auto_zoom_test.html"); | 1342 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_bo
unds_check_for_auto_zoom_test.html"); |
| 1343 m_webView->enableFixedLayoutMode(true); | 1343 // m_webView->enableFixedLayoutMode(true); |
| 1344 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1344 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1345 m_webView->layout(); | 1345 m_webView->layout(); |
| 1346 | 1346 |
| 1347 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 1347 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 1348 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); | 1348 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); |
| 1349 webViewImpl->page()->settings()->setTextAutosizingFontScaleFactor(textAutosi
zingFontScaleFactor); | 1349 webViewImpl->page()->settings()->setTextAutosizingFontScaleFactor(textAutosi
zingFontScaleFactor); |
| 1350 | 1350 |
| 1351 WebRect div(200, 100, 200, 150); | 1351 WebRect div(200, 100, 200, 150); |
| 1352 WebPoint doubleTapPoint(div.x + 50, div.y + 50); | 1352 WebPoint doubleTapPoint(div.x + 50, div.y + 50); |
| 1353 float scale; | 1353 float scale; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1412 TEST_F(WebFrameTest, DivScrollIntoEditableTest) | 1412 TEST_F(WebFrameTest, DivScrollIntoEditableTest) |
| 1413 { | 1413 { |
| 1414 registerMockedHttpURLLoad("get_scale_for_zoom_into_editable_test.html"); | 1414 registerMockedHttpURLLoad("get_scale_for_zoom_into_editable_test.html"); |
| 1415 | 1415 |
| 1416 int viewportWidth = 450; | 1416 int viewportWidth = 450; |
| 1417 int viewportHeight = 300; | 1417 int viewportHeight = 300; |
| 1418 float leftBoxRatio = 0.3f; | 1418 float leftBoxRatio = 0.3f; |
| 1419 int caretPadding = 10; | 1419 int caretPadding = 10; |
| 1420 float minReadableCaretHeight = 18.0f; | 1420 float minReadableCaretHeight = 18.0f; |
| 1421 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_fo
r_zoom_into_editable_test.html"); | 1421 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_fo
r_zoom_into_editable_test.html"); |
| 1422 m_webView->enableFixedLayoutMode(true); | 1422 // m_webView->enableFixedLayoutMode(true); |
| 1423 m_webView->resize(WebSize(viewportWidth, viewportHeight)); | 1423 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 1424 m_webView->setPageScaleFactorLimits(1, 4); | 1424 m_webView->setPageScaleFactorLimits(1, 4); |
| 1425 m_webView->layout(); | 1425 m_webView->layout(); |
| 1426 m_webView->setDeviceScaleFactor(1.5f); | 1426 m_webView->setDeviceScaleFactor(1.5f); |
| 1427 m_webView->settings()->setAutoZoomFocusedNodeToLegibleScale(true); | 1427 m_webView->settings()->setAutoZoomFocusedNodeToLegibleScale(true); |
| 1428 | 1428 |
| 1429 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); | 1429 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
| 1430 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); | 1430 webViewImpl->enableFakeDoubleTapAnimationForTesting(true); |
| 1431 | 1431 |
| 1432 WebRect editBoxWithText(200, 200, 250, 20); | 1432 WebRect editBoxWithText(200, 200, 250, 20); |
| (...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2290 holdSecondFrame.release(); | 2290 holdSecondFrame.release(); |
| 2291 | 2291 |
| 2292 m_webView->close(); | 2292 m_webView->close(); |
| 2293 m_webView = 0; | 2293 m_webView = 0; |
| 2294 } | 2294 } |
| 2295 | 2295 |
| 2296 static WebView* createWebViewForTextSelection(const std::string& url) | 2296 static WebView* createWebViewForTextSelection(const std::string& url) |
| 2297 { | 2297 { |
| 2298 WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true); | 2298 WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true); |
| 2299 webView->settings()->setDefaultFontSize(12); | 2299 webView->settings()->setDefaultFontSize(12); |
| 2300 webView->enableFixedLayoutMode(false); | 2300 // webView->enableFixedLayoutMode(false); |
| 2301 webView->resize(WebSize(640, 480)); | 2301 webView->resize(WebSize(640, 480)); |
| 2302 return webView; | 2302 return webView; |
| 2303 } | 2303 } |
| 2304 | 2304 |
| 2305 static WebPoint topLeft(const WebRect& rect) | 2305 static WebPoint topLeft(const WebRect& rect) |
| 2306 { | 2306 { |
| 2307 return WebPoint(rect.x, rect.y); | 2307 return WebPoint(rect.x, rect.y); |
| 2308 } | 2308 } |
| 2309 | 2309 |
| 2310 static WebPoint bottomRightMinusOne(const WebRect& rect) | 2310 static WebPoint bottomRightMinusOne(const WebRect& rect) |
| (...skipping 1150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3461 webViewImpl->page()->mainFrame()->loader()->load(frameRequest); | 3461 webViewImpl->page()->mainFrame()->loader()->load(frameRequest); |
| 3462 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 3462 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
| 3463 | 3463 |
| 3464 EXPECT_TRUE(client.frameLoadTypeSameSeen()); | 3464 EXPECT_TRUE(client.frameLoadTypeSameSeen()); |
| 3465 m_webView->close(); | 3465 m_webView->close(); |
| 3466 m_webView = 0; | 3466 m_webView = 0; |
| 3467 } | 3467 } |
| 3468 | 3468 |
| 3469 | 3469 |
| 3470 } // namespace | 3470 } // namespace |
| OLD | NEW |