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 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 while (renderer) { | 379 while (renderer) { |
380 if (renderer->style()) { | 380 if (renderer->style()) { |
381 EXPECT_EQ(1, renderer->style()->textAutosizingMultiplier()); | 381 EXPECT_EQ(1, renderer->style()->textAutosizingMultiplier()); |
382 multiplierCheckedAtLeastOnce = true; | 382 multiplierCheckedAtLeastOnce = true; |
383 } | 383 } |
384 renderer = renderer->nextInPreOrder(); | 384 renderer = renderer->nextInPreOrder(); |
385 } | 385 } |
386 EXPECT_TRUE(multiplierCheckedAtLeastOnce); | 386 EXPECT_TRUE(multiplierCheckedAtLeastOnce); |
387 } | 387 } |
388 | 388 |
| 389 TEST_F(WebFrameTest, FixedLayoutLockStopsResizeFromChangingFixedLayoutSize) |
| 390 { |
| 391 registerMockedHttpURLLoad("fixed_layout.html"); |
| 392 |
| 393 int viewportWidth = 640; |
| 394 int viewportHeight = 480; |
| 395 |
| 396 int fixedLayoutWidth = viewportWidth / 2; |
| 397 int fixedLayoutHeight = viewportHeight / 2; |
| 398 |
| 399 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html"); |
| 400 m_webView->enableFixedLayoutMode(true); |
| 401 m_webView->settings()->setViewportEnabled(true); |
| 402 m_webView->setFixedLayoutSize(WebSize(fixedLayoutWidth, fixedLayoutHeight)); |
| 403 m_webView->setFixedLayoutSizeLock(true); |
| 404 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 405 m_webView->layout(); |
| 406 |
| 407 EXPECT_EQ(fixedLayoutWidth, m_webView->fixedLayoutSize().width); |
| 408 EXPECT_EQ(fixedLayoutHeight, m_webView->fixedLayoutSize().height); |
| 409 } |
| 410 |
| 411 TEST_F(WebFrameTest, FixedLayoutLockPreventsResizeFromChangingPageScale) |
| 412 { |
| 413 registerMockedHttpURLLoad("fixed_layout.html"); |
| 414 |
| 415 int viewportWidth = 640; |
| 416 int viewportHeight = 480; |
| 417 |
| 418 int fixedLayoutWidth = viewportWidth / 2; |
| 419 int fixedLayoutHeight = viewportHeight / 2; |
| 420 |
| 421 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html"); |
| 422 m_webView->enableFixedLayoutMode(true); |
| 423 m_webView->settings()->setViewportEnabled(true); |
| 424 m_webView->setFixedLayoutSize(WebSize(fixedLayoutWidth, fixedLayoutHeight)); |
| 425 m_webView->setFixedLayoutSizeLock(true); |
| 426 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 427 m_webView->layout(); |
| 428 float pageScaleFactor = m_webView->pageScaleFactor(); |
| 429 |
| 430 m_webView->resize(WebSize(viewportWidth * 2, viewportHeight * 2)); |
| 431 |
| 432 EXPECT_EQ(pageScaleFactor, m_webView->pageScaleFactor()); |
| 433 } |
| 434 |
| 435 TEST_F(WebFrameTest, FixedLayoutLockPreventsLayoutFromChangingPageScale) |
| 436 { |
| 437 registerMockedHttpURLLoad("fixed_layout.html"); |
| 438 |
| 439 int viewportWidth = 640; |
| 440 int viewportHeight = 480; |
| 441 |
| 442 int fixedLayoutWidth = viewportWidth * 2; |
| 443 int fixedLayoutHeight = viewportHeight * 2; |
| 444 |
| 445 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html"); |
| 446 m_webView->enableFixedLayoutMode(true); |
| 447 m_webView->settings()->setViewportEnabled(true); |
| 448 m_webView->setFixedLayoutSize(WebSize(viewportWidth, viewportHeight)); |
| 449 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 450 m_webView->layout(); |
| 451 float pageScaleFactor = m_webView->pageScaleFactor(); |
| 452 |
| 453 m_webView->setFixedLayoutSize(WebSize(fixedLayoutWidth, fixedLayoutHeight)); |
| 454 m_webView->setFixedLayoutSizeLock(true); |
| 455 m_webView->layout(); |
| 456 |
| 457 EXPECT_EQ(pageScaleFactor, m_webView->pageScaleFactor()); |
| 458 } |
| 459 |
| 460 TEST_F(WebFrameTest, FixedLayoutLockPreventsContentRectScaling) |
| 461 { |
| 462 registerMockedHttpURLLoad("fixed_layout.html"); |
| 463 |
| 464 int viewportWidth = 640; |
| 465 int viewportHeight = 480; |
| 466 |
| 467 FixedLayoutTestWebViewClient client; |
| 468 client.m_screenInfo.deviceScaleFactor = 1; |
| 469 |
| 470 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout
.html", true, 0, &client); |
| 471 m_webView->enableFixedLayoutMode(true); |
| 472 m_webView->settings()->setViewportEnabled(true); |
| 473 m_webView->setFixedLayoutSize(WebSize(viewportWidth, viewportHeight)); |
| 474 m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
| 475 m_webView->layout(); |
| 476 |
| 477 m_webView->setPageScaleFactor(1, WebPoint()); |
| 478 int contentRectWidth = m_webView->mainFrame()->visibleContentRect().width; |
| 479 int contentRectHeight = m_webView->mainFrame()->visibleContentRect().height; |
| 480 |
| 481 m_webView->setFixedLayoutSizeLock(true); |
| 482 m_webView->setPageScaleFactor(2, WebPoint()); |
| 483 EXPECT_EQ(contentRectWidth, m_webView->mainFrame()->visibleContentRect().wid
th); |
| 484 EXPECT_EQ(contentRectHeight, m_webView->mainFrame()->visibleContentRect().he
ight); |
| 485 } |
| 486 |
| 487 TEST_F(WebFrameTest, PreferredSizeAndContentSizeReportedCorrectlyWithZeroHeightF
ixedLayout) |
| 488 { |
| 489 registerMockedHttpURLLoad("200-by-300.html"); |
| 490 |
| 491 int windowWidth = 100; |
| 492 int windowHeight = 100; |
| 493 int viewportWidth = 100; |
| 494 int viewportHeight = 0; |
| 495 int divWidth = 200; |
| 496 int divHeight = 300; |
| 497 |
| 498 FixedLayoutTestWebViewClient client; |
| 499 client.m_screenInfo.deviceScaleFactor = 1; |
| 500 |
| 501 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "200-by-300.h
tml", true, 0, &client); |
| 502 m_webView->enableFixedLayoutMode(true); |
| 503 m_webView->settings()->setViewportEnabled(true); |
| 504 m_webView->resize(WebSize(windowWidth, windowHeight)); |
| 505 m_webView->setFixedLayoutSize(WebSize(viewportWidth, viewportHeight)); |
| 506 m_webView->setFixedLayoutSizeLock(true); |
| 507 m_webView->layout(); |
| 508 |
| 509 EXPECT_EQ(divWidth, m_webView->mainFrame()->contentsSize().width); |
| 510 EXPECT_EQ(divHeight, m_webView->mainFrame()->contentsSize().height); |
| 511 |
| 512 EXPECT_EQ(divWidth, m_webView->contentsPreferredMinimumSize().width); |
| 513 EXPECT_EQ(divHeight, m_webView->contentsPreferredMinimumSize().height); |
| 514 } |
| 515 |
389 TEST_F(WebFrameTest, DeviceScaleFactorUsesDefaultWithoutViewportTag) | 516 TEST_F(WebFrameTest, DeviceScaleFactorUsesDefaultWithoutViewportTag) |
390 { | 517 { |
391 registerMockedHttpURLLoad("no_viewport_tag.html"); | 518 registerMockedHttpURLLoad("no_viewport_tag.html"); |
392 | 519 |
393 int viewportWidth = 640; | 520 int viewportWidth = 640; |
394 int viewportHeight = 480; | 521 int viewportHeight = 480; |
395 | 522 |
396 FixedLayoutTestWebViewClient client; | 523 FixedLayoutTestWebViewClient client; |
397 client.m_screenInfo.deviceScaleFactor = 2; | 524 client.m_screenInfo.deviceScaleFactor = 2; |
398 | 525 |
(...skipping 3279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3678 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "push_state.h
tml", true, 0, &client); | 3805 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "push_state.h
tml", true, 0, &client); |
3679 runPendingTasks(); | 3806 runPendingTasks(); |
3680 | 3807 |
3681 EXPECT_EQ(client.startLoadingCount(), 2); | 3808 EXPECT_EQ(client.startLoadingCount(), 2); |
3682 EXPECT_EQ(client.stopLoadingCount(), 2); | 3809 EXPECT_EQ(client.stopLoadingCount(), 2); |
3683 m_webView->close(); | 3810 m_webView->close(); |
3684 m_webView = 0; | 3811 m_webView = 0; |
3685 } | 3812 } |
3686 | 3813 |
3687 } // namespace | 3814 } // namespace |
OLD | NEW |