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 |