Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: Source/web/tests/WebViewTest.cpp

Issue 201773005: Copy a few selection related methods to WebFrame from WebView. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: update test Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/web/WebViewImpl.cpp ('k') | public/web/WebFrame.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011, 2012 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 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 testInputMode(WebString("verbatim"), "input_mode_type_search_verbatim.html") ; 503 testInputMode(WebString("verbatim"), "input_mode_type_search_verbatim.html") ;
504 testInputMode(WebString(), "input_mode_type_url_verbatim.html"); 504 testInputMode(WebString(), "input_mode_type_url_verbatim.html");
505 testInputMode(WebString("verbatim"), "input_mode_textarea_verbatim.html"); 505 testInputMode(WebString("verbatim"), "input_mode_textarea_verbatim.html");
506 } 506 }
507 507
508 TEST_F(WebViewTest, SetEditableSelectionOffsetsAndTextInputInfo) 508 TEST_F(WebViewTest, SetEditableSelectionOffsetsAndTextInputInfo)
509 { 509 {
510 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html")); 510 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html"));
511 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html"); 511 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html");
512 webView->setInitialFocus(false); 512 webView->setInitialFocus(false);
513 webView->setEditableSelectionOffsets(5, 13);
514 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame()); 513 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
514 frame->setEditableSelectionOffsets(5, 13);
515 EXPECT_EQ("56789abc", frame->selectionAsText()); 515 EXPECT_EQ("56789abc", frame->selectionAsText());
516 WebTextInputInfo info = webView->textInputInfo(); 516 WebTextInputInfo info = webView->textInputInfo();
517 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value); 517 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value);
518 EXPECT_EQ(5, info.selectionStart); 518 EXPECT_EQ(5, info.selectionStart);
519 EXPECT_EQ(13, info.selectionEnd); 519 EXPECT_EQ(13, info.selectionEnd);
520 EXPECT_EQ(-1, info.compositionStart); 520 EXPECT_EQ(-1, info.compositionStart);
521 EXPECT_EQ(-1, info.compositionEnd); 521 EXPECT_EQ(-1, info.compositionEnd);
522 522
523 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("content_editable_populated.html")); 523 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("content_editable_populated.html"));
524 webView = m_webViewHelper.initializeAndLoad(m_baseURL + "content_editable_po pulated.html"); 524 webView = m_webViewHelper.initializeAndLoad(m_baseURL + "content_editable_po pulated.html");
525 webView->setInitialFocus(false); 525 webView->setInitialFocus(false);
526 webView->setEditableSelectionOffsets(8, 19);
527 frame = toWebFrameImpl(webView->mainFrame()); 526 frame = toWebFrameImpl(webView->mainFrame());
527 frame->setEditableSelectionOffsets(8, 19);
528 EXPECT_EQ("89abcdefghi", frame->selectionAsText()); 528 EXPECT_EQ("89abcdefghi", frame->selectionAsText());
529 info = webView->textInputInfo(); 529 info = webView->textInputInfo();
530 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value); 530 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value);
531 EXPECT_EQ(8, info.selectionStart); 531 EXPECT_EQ(8, info.selectionStart);
532 EXPECT_EQ(19, info.selectionEnd); 532 EXPECT_EQ(19, info.selectionEnd);
533 EXPECT_EQ(-1, info.compositionStart); 533 EXPECT_EQ(-1, info.compositionStart);
534 EXPECT_EQ(-1, info.compositionEnd); 534 EXPECT_EQ(-1, info.compositionEnd);
535 } 535 }
536 536
537 TEST_F(WebViewTest, ConfirmCompositionCursorPositionChange) 537 TEST_F(WebViewTest, ConfirmCompositionCursorPositionChange)
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 } 577 }
578 578
579 TEST_F(WebViewTest, InsertNewLinePlacementAfterConfirmComposition) 579 TEST_F(WebViewTest, InsertNewLinePlacementAfterConfirmComposition)
580 { 580 {
581 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("text_area_populated.html")); 581 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("text_area_populated.html"));
582 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_area_ populated.html"); 582 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_area_ populated.html");
583 webView->setInitialFocus(false); 583 webView->setInitialFocus(false);
584 584
585 WebVector<WebCompositionUnderline> emptyUnderlines; 585 WebVector<WebCompositionUnderline> emptyUnderlines;
586 586
587 webView->setEditableSelectionOffsets(4, 4); 587 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
588 webView->setCompositionFromExistingText(8, 12, emptyUnderlines); 588 frame->setEditableSelectionOffsets(4, 4);
589 frame->setCompositionFromExistingText(8, 12, emptyUnderlines);
589 590
590 WebTextInputInfo info = webView->textInputInfo(); 591 WebTextInputInfo info = webView->textInputInfo();
591 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf 8().data())); 592 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf 8().data()));
592 EXPECT_EQ(4, info.selectionStart); 593 EXPECT_EQ(4, info.selectionStart);
593 EXPECT_EQ(4, info.selectionEnd); 594 EXPECT_EQ(4, info.selectionEnd);
594 EXPECT_EQ(8, info.compositionStart); 595 EXPECT_EQ(8, info.compositionStart);
595 EXPECT_EQ(12, info.compositionEnd); 596 EXPECT_EQ(12, info.compositionEnd);
596 597
597 webView->confirmComposition(WebWidget::KeepSelection); 598 webView->confirmComposition(WebWidget::KeepSelection);
598 info = webView->textInputInfo(); 599 info = webView->textInputInfo();
599 EXPECT_EQ(4, info.selectionStart); 600 EXPECT_EQ(4, info.selectionStart);
600 EXPECT_EQ(4, info.selectionEnd); 601 EXPECT_EQ(4, info.selectionEnd);
601 EXPECT_EQ(-1, info.compositionStart); 602 EXPECT_EQ(-1, info.compositionStart);
602 EXPECT_EQ(-1, info.compositionEnd); 603 EXPECT_EQ(-1, info.compositionEnd);
603 604
604 std::string compositionText("\n"); 605 std::string compositionText("\n");
605 webView->confirmComposition(WebString::fromUTF8(compositionText.c_str())); 606 webView->confirmComposition(WebString::fromUTF8(compositionText.c_str()));
606 info = webView->textInputInfo(); 607 info = webView->textInputInfo();
607 EXPECT_EQ(5, info.selectionStart); 608 EXPECT_EQ(5, info.selectionStart);
608 EXPECT_EQ(5, info.selectionEnd); 609 EXPECT_EQ(5, info.selectionEnd);
609 EXPECT_EQ(-1, info.compositionStart); 610 EXPECT_EQ(-1, info.compositionStart);
610 EXPECT_EQ(-1, info.compositionEnd); 611 EXPECT_EQ(-1, info.compositionEnd);
611 EXPECT_EQ("0123\n456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.u tf8().data())); 612 EXPECT_EQ("0123\n456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.u tf8().data()));
612 } 613 }
613 614
614 TEST_F(WebViewTest, ExtendSelectionAndDelete) 615 TEST_F(WebViewTest, ExtendSelectionAndDelete)
615 { 616 {
616 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html")); 617 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html"));
617 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html"); 618 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html");
619 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
618 webView->setInitialFocus(false); 620 webView->setInitialFocus(false);
619 webView->setEditableSelectionOffsets(10, 10); 621 frame->setEditableSelectionOffsets(10, 10);
620 webView->extendSelectionAndDelete(5, 8); 622 frame->extendSelectionAndDelete(5, 8);
621 WebTextInputInfo info = webView->textInputInfo(); 623 WebTextInputInfo info = webView->textInputInfo();
622 EXPECT_EQ("01234ijklmnopqrstuvwxyz", std::string(info.value.utf8().data())); 624 EXPECT_EQ("01234ijklmnopqrstuvwxyz", std::string(info.value.utf8().data()));
623 EXPECT_EQ(5, info.selectionStart); 625 EXPECT_EQ(5, info.selectionStart);
624 EXPECT_EQ(5, info.selectionEnd); 626 EXPECT_EQ(5, info.selectionEnd);
625 webView->extendSelectionAndDelete(10, 0); 627 frame->extendSelectionAndDelete(10, 0);
626 info = webView->textInputInfo(); 628 info = webView->textInputInfo();
627 EXPECT_EQ("ijklmnopqrstuvwxyz", std::string(info.value.utf8().data())); 629 EXPECT_EQ("ijklmnopqrstuvwxyz", std::string(info.value.utf8().data()));
628 } 630 }
629 631
630 TEST_F(WebViewTest, SetCompositionFromExistingText) 632 TEST_F(WebViewTest, SetCompositionFromExistingText)
631 { 633 {
632 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html")); 634 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html"));
633 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html"); 635 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html");
634 webView->setInitialFocus(false); 636 webView->setInitialFocus(false);
635 WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1)); 637 WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1));
636 underlines[0] = blink::WebCompositionUnderline(0, 4, 0, false); 638 underlines[0] = blink::WebCompositionUnderline(0, 4, 0, false);
637 webView->setEditableSelectionOffsets(4, 10); 639 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
638 webView->setCompositionFromExistingText(8, 12, underlines); 640 frame->setEditableSelectionOffsets(4, 10);
641 frame->setCompositionFromExistingText(8, 12, underlines);
639 WebVector<WebCompositionUnderline> underlineResults = toWebViewImpl(webView) ->compositionUnderlines(); 642 WebVector<WebCompositionUnderline> underlineResults = toWebViewImpl(webView) ->compositionUnderlines();
640 EXPECT_EQ(8u, underlineResults[0].startOffset); 643 EXPECT_EQ(8u, underlineResults[0].startOffset);
641 EXPECT_EQ(12u, underlineResults[0].endOffset); 644 EXPECT_EQ(12u, underlineResults[0].endOffset);
642 WebTextInputInfo info = webView->textInputInfo(); 645 WebTextInputInfo info = webView->textInputInfo();
643 EXPECT_EQ(4, info.selectionStart); 646 EXPECT_EQ(4, info.selectionStart);
644 EXPECT_EQ(10, info.selectionEnd); 647 EXPECT_EQ(10, info.selectionEnd);
645 EXPECT_EQ(8, info.compositionStart); 648 EXPECT_EQ(8, info.compositionStart);
646 EXPECT_EQ(12, info.compositionEnd); 649 EXPECT_EQ(12, info.compositionEnd);
647 WebVector<WebCompositionUnderline> emptyUnderlines; 650 WebVector<WebCompositionUnderline> emptyUnderlines;
648 webView->setCompositionFromExistingText(0, 0, emptyUnderlines); 651 frame->setCompositionFromExistingText(0, 0, emptyUnderlines);
649 info = webView->textInputInfo(); 652 info = webView->textInputInfo();
650 EXPECT_EQ(4, info.selectionStart); 653 EXPECT_EQ(4, info.selectionStart);
651 EXPECT_EQ(10, info.selectionEnd); 654 EXPECT_EQ(10, info.selectionEnd);
652 EXPECT_EQ(-1, info.compositionStart); 655 EXPECT_EQ(-1, info.compositionStart);
653 EXPECT_EQ(-1, info.compositionEnd); 656 EXPECT_EQ(-1, info.compositionEnd);
654 } 657 }
655 658
656 TEST_F(WebViewTest, SetCompositionFromExistingTextInTextArea) 659 TEST_F(WebViewTest, SetCompositionFromExistingTextInTextArea)
657 { 660 {
658 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("text_area_populated.html")); 661 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("text_area_populated.html"));
659 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_area_ populated.html"); 662 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_area_ populated.html");
660 webView->setInitialFocus(false); 663 webView->setInitialFocus(false);
661 WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1)); 664 WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1));
662 underlines[0] = blink::WebCompositionUnderline(0, 4, 0, false); 665 underlines[0] = blink::WebCompositionUnderline(0, 4, 0, false);
663 webView->setEditableSelectionOffsets(27, 27); 666 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
667 frame->setEditableSelectionOffsets(27, 27);
664 std::string newLineText("\n"); 668 std::string newLineText("\n");
665 webView->confirmComposition(WebString::fromUTF8(newLineText.c_str())); 669 webView->confirmComposition(WebString::fromUTF8(newLineText.c_str()));
666 WebTextInputInfo info = webView->textInputInfo(); 670 WebTextInputInfo info = webView->textInputInfo();
667 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u tf8().data())); 671 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u tf8().data()));
668 672
669 webView->setEditableSelectionOffsets(31, 31); 673 frame->setEditableSelectionOffsets(31, 31);
670 webView->setCompositionFromExistingText(30, 34, underlines); 674 frame->setCompositionFromExistingText(30, 34, underlines);
671 WebVector<WebCompositionUnderline> underlineResults = toWebViewImpl(webView) ->compositionUnderlines(); 675 WebVector<WebCompositionUnderline> underlineResults = toWebViewImpl(webView) ->compositionUnderlines();
672 EXPECT_EQ(2u, underlineResults[0].startOffset); 676 EXPECT_EQ(2u, underlineResults[0].startOffset);
673 EXPECT_EQ(6u, underlineResults[0].endOffset); 677 EXPECT_EQ(6u, underlineResults[0].endOffset);
674 info = webView->textInputInfo(); 678 info = webView->textInputInfo();
675 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u tf8().data())); 679 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u tf8().data()));
676 EXPECT_EQ(31, info.selectionStart); 680 EXPECT_EQ(31, info.selectionStart);
677 EXPECT_EQ(31, info.selectionEnd); 681 EXPECT_EQ(31, info.selectionEnd);
678 EXPECT_EQ(30, info.compositionStart); 682 EXPECT_EQ(30, info.compositionStart);
679 EXPECT_EQ(34, info.compositionEnd); 683 EXPECT_EQ(34, info.compositionEnd);
680 684
(...skipping 20 matching lines...) Expand all
701 webView->confirmComposition(WebString::fromUTF8(compositionTextFirst.c_str() )); 705 webView->confirmComposition(WebString::fromUTF8(compositionTextFirst.c_str() ));
702 webView->setComposition(WebString::fromUTF8(compositionTextSecond.c_str()), emptyUnderlines, 5, 5); 706 webView->setComposition(WebString::fromUTF8(compositionTextSecond.c_str()), emptyUnderlines, 5, 5);
703 707
704 WebTextInputInfo info = webView->textInputInfo(); 708 WebTextInputInfo info = webView->textInputInfo();
705 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); 709 EXPECT_EQ("hello world", std::string(info.value.utf8().data()));
706 EXPECT_EQ(11, info.selectionStart); 710 EXPECT_EQ(11, info.selectionStart);
707 EXPECT_EQ(11, info.selectionEnd); 711 EXPECT_EQ(11, info.selectionEnd);
708 EXPECT_EQ(6, info.compositionStart); 712 EXPECT_EQ(6, info.compositionStart);
709 EXPECT_EQ(11, info.compositionEnd); 713 EXPECT_EQ(11, info.compositionEnd);
710 714
711 webView->setEditableSelectionOffsets(6, 6); 715 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
716 frame->setEditableSelectionOffsets(6, 6);
712 info = webView->textInputInfo(); 717 info = webView->textInputInfo();
713 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); 718 EXPECT_EQ("hello world", std::string(info.value.utf8().data()));
714 EXPECT_EQ(6, info.selectionStart); 719 EXPECT_EQ(6, info.selectionStart);
715 EXPECT_EQ(6, info.selectionEnd); 720 EXPECT_EQ(6, info.selectionEnd);
716 EXPECT_EQ(6, info.compositionStart); 721 EXPECT_EQ(6, info.compositionStart);
717 EXPECT_EQ(11, info.compositionEnd); 722 EXPECT_EQ(11, info.compositionEnd);
718 723
719 webView->setEditableSelectionOffsets(8, 8); 724 frame->setEditableSelectionOffsets(8, 8);
720 info = webView->textInputInfo(); 725 info = webView->textInputInfo();
721 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); 726 EXPECT_EQ("hello world", std::string(info.value.utf8().data()));
722 EXPECT_EQ(8, info.selectionStart); 727 EXPECT_EQ(8, info.selectionStart);
723 EXPECT_EQ(8, info.selectionEnd); 728 EXPECT_EQ(8, info.selectionEnd);
724 EXPECT_EQ(6, info.compositionStart); 729 EXPECT_EQ(6, info.compositionStart);
725 EXPECT_EQ(11, info.compositionEnd); 730 EXPECT_EQ(11, info.compositionEnd);
726 731
727 webView->setEditableSelectionOffsets(11, 11); 732 frame->setEditableSelectionOffsets(11, 11);
728 info = webView->textInputInfo(); 733 info = webView->textInputInfo();
729 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); 734 EXPECT_EQ("hello world", std::string(info.value.utf8().data()));
730 EXPECT_EQ(11, info.selectionStart); 735 EXPECT_EQ(11, info.selectionStart);
731 EXPECT_EQ(11, info.selectionEnd); 736 EXPECT_EQ(11, info.selectionEnd);
732 EXPECT_EQ(6, info.compositionStart); 737 EXPECT_EQ(6, info.compositionStart);
733 EXPECT_EQ(11, info.compositionEnd); 738 EXPECT_EQ(11, info.compositionEnd);
734 739
735 webView->setEditableSelectionOffsets(6, 11); 740 frame->setEditableSelectionOffsets(6, 11);
736 info = webView->textInputInfo(); 741 info = webView->textInputInfo();
737 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); 742 EXPECT_EQ("hello world", std::string(info.value.utf8().data()));
738 EXPECT_EQ(6, info.selectionStart); 743 EXPECT_EQ(6, info.selectionStart);
739 EXPECT_EQ(11, info.selectionEnd); 744 EXPECT_EQ(11, info.selectionEnd);
740 EXPECT_EQ(6, info.compositionStart); 745 EXPECT_EQ(6, info.compositionStart);
741 EXPECT_EQ(11, info.compositionEnd); 746 EXPECT_EQ(11, info.compositionEnd);
742 747
743 webView->setEditableSelectionOffsets(2, 2); 748 frame->setEditableSelectionOffsets(2, 2);
744 info = webView->textInputInfo(); 749 info = webView->textInputInfo();
745 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); 750 EXPECT_EQ("hello world", std::string(info.value.utf8().data()));
746 EXPECT_EQ(2, info.selectionStart); 751 EXPECT_EQ(2, info.selectionStart);
747 EXPECT_EQ(2, info.selectionEnd); 752 EXPECT_EQ(2, info.selectionEnd);
748 EXPECT_EQ(-1, info.compositionStart); 753 EXPECT_EQ(-1, info.compositionStart);
749 EXPECT_EQ(-1, info.compositionEnd); 754 EXPECT_EQ(-1, info.compositionEnd);
750 } 755 }
751 756
752 TEST_F(WebViewTest, IsSelectionAnchorFirst) 757 TEST_F(WebViewTest, IsSelectionAnchorFirst)
753 { 758 {
754 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html")); 759 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html"));
755 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html"); 760 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html");
756 WebFrame* frame = webView->mainFrame(); 761 WebFrame* frame = webView->mainFrame();
757 762
758 webView->setInitialFocus(false); 763 webView->setInitialFocus(false);
759 webView->setEditableSelectionOffsets(4, 10); 764 frame->setEditableSelectionOffsets(4, 10);
760 EXPECT_TRUE(webView->isSelectionAnchorFirst()); 765 EXPECT_TRUE(webView->isSelectionAnchorFirst());
761 WebRect anchor; 766 WebRect anchor;
762 WebRect focus; 767 WebRect focus;
763 webView->selectionBounds(anchor, focus); 768 webView->selectionBounds(anchor, focus);
764 frame->selectRange(WebPoint(focus.x, focus.y), WebPoint(anchor.x, anchor.y)) ; 769 frame->selectRange(WebPoint(focus.x, focus.y), WebPoint(anchor.x, anchor.y)) ;
765 EXPECT_FALSE(webView->isSelectionAnchorFirst()); 770 EXPECT_FALSE(webView->isSelectionAnchorFirst());
766 } 771 }
767 772
768 TEST_F(WebViewTest, HistoryResetScrollAndScaleState) 773 TEST_F(WebViewTest, HistoryResetScrollAndScaleState)
769 { 774 {
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
1168 TEST_F(WebViewTest, LosingFocusDoesNotTriggerAutofillTextChange) 1173 TEST_F(WebViewTest, LosingFocusDoesNotTriggerAutofillTextChange)
1169 { 1174 {
1170 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html")); 1175 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html"));
1171 MockAutofillClient client; 1176 MockAutofillClient client;
1172 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html"); 1177 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html");
1173 webView->setAutofillClient(&client); 1178 webView->setAutofillClient(&client);
1174 webView->setInitialFocus(false); 1179 webView->setInitialFocus(false);
1175 1180
1176 // Set up a composition that needs to be committed. 1181 // Set up a composition that needs to be committed.
1177 WebVector<WebCompositionUnderline> emptyUnderlines; 1182 WebVector<WebCompositionUnderline> emptyUnderlines;
1178 webView->setEditableSelectionOffsets(4, 10); 1183 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
1179 webView->setCompositionFromExistingText(8, 12, emptyUnderlines); 1184 frame->setEditableSelectionOffsets(4, 10);
1185 frame->setCompositionFromExistingText(8, 12, emptyUnderlines);
1180 WebTextInputInfo info = webView->textInputInfo(); 1186 WebTextInputInfo info = webView->textInputInfo();
1181 EXPECT_EQ(4, info.selectionStart); 1187 EXPECT_EQ(4, info.selectionStart);
1182 EXPECT_EQ(10, info.selectionEnd); 1188 EXPECT_EQ(10, info.selectionEnd);
1183 EXPECT_EQ(8, info.compositionStart); 1189 EXPECT_EQ(8, info.compositionStart);
1184 EXPECT_EQ(12, info.compositionEnd); 1190 EXPECT_EQ(12, info.compositionEnd);
1185 1191
1186 // Clear the focus and track that the subsequent composition commit does not trigger a 1192 // Clear the focus and track that the subsequent composition commit does not trigger a
1187 // text changed notification for autofill. 1193 // text changed notification for autofill.
1188 client.clearChangeCounts(); 1194 client.clearChangeCounts();
1189 webView->setFocus(false); 1195 webView->setFocus(false);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1225 { 1231 {
1226 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html")); 1232 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_populated.html"));
1227 MockAutofillClient client; 1233 MockAutofillClient client;
1228 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html", true); 1234 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_fiel d_populated.html", true);
1229 webView->setAutofillClient(&client); 1235 webView->setAutofillClient(&client);
1230 webView->setInitialFocus(false); 1236 webView->setInitialFocus(false);
1231 1237
1232 WebVector<WebCompositionUnderline> emptyUnderlines; 1238 WebVector<WebCompositionUnderline> emptyUnderlines;
1233 1239
1234 client.clearChangeCounts(); 1240 client.clearChangeCounts();
1235 webView->setCompositionFromExistingText(8, 12, emptyUnderlines); 1241 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
1242 frame->setCompositionFromExistingText(8, 12, emptyUnderlines);
1236 1243
1237 WebTextInputInfo info = webView->textInputInfo(); 1244 WebTextInputInfo info = webView->textInputInfo();
1238 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf 8().data())); 1245 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf 8().data()));
1239 EXPECT_EQ(8, info.compositionStart); 1246 EXPECT_EQ(8, info.compositionStart);
1240 EXPECT_EQ(12, info.compositionEnd); 1247 EXPECT_EQ(12, info.compositionEnd);
1241 1248
1242 EXPECT_EQ(0, client.textChangesWhileIgnored()); 1249 EXPECT_EQ(0, client.textChangesWhileIgnored());
1243 EXPECT_EQ(0, client.textChangesWhileNotIgnored()); 1250 EXPECT_EQ(0, client.textChangesWhileNotIgnored());
1244 1251
1245 WebDocument document = webView->mainFrame()->document(); 1252 WebDocument document = webView->mainFrame()->document();
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
1738 testSelectionRootBounds("select_range_iframe_textarea_overflow.html", 1.0f); 1745 testSelectionRootBounds("select_range_iframe_textarea_overflow.html", 1.0f);
1739 1746
1740 // Basic page with scale factor. 1747 // Basic page with scale factor.
1741 testSelectionRootBounds("select_range_basic.html", 0.0f); 1748 testSelectionRootBounds("select_range_basic.html", 0.0f);
1742 testSelectionRootBounds("select_range_basic.html", 0.1f); 1749 testSelectionRootBounds("select_range_basic.html", 0.1f);
1743 testSelectionRootBounds("select_range_basic.html", 1.5f); 1750 testSelectionRootBounds("select_range_basic.html", 1.5f);
1744 testSelectionRootBounds("select_range_basic.html", 2.0f); 1751 testSelectionRootBounds("select_range_basic.html", 2.0f);
1745 } 1752 }
1746 1753
1747 } // namespace 1754 } // namespace
OLDNEW
« no previous file with comments | « Source/web/WebViewImpl.cpp ('k') | public/web/WebFrame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698