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

Side by Side Diff: content/browser/browser_plugin/browser_plugin_host_browsertest.cc

Issue 102593002: Convert string16 to base::string16 in content. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/singleton.h" 6 #include "base/memory/singleton.h"
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_split.h" 8 #include "base/strings/string_split.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 #endif 446 #endif
447 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, MAYBE_EmbedderSameAfterNav) { 447 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, MAYBE_EmbedderSameAfterNav) {
448 const char kEmbedderURL[] = "/browser_plugin_embedder.html"; 448 const char kEmbedderURL[] = "/browser_plugin_embedder.html";
449 StartBrowserPluginTest(kEmbedderURL, kHTMLForGuest, true, std::string()); 449 StartBrowserPluginTest(kEmbedderURL, kHTMLForGuest, true, std::string());
450 WebContentsImpl* embedder_web_contents = test_embedder()->web_contents(); 450 WebContentsImpl* embedder_web_contents = test_embedder()->web_contents();
451 451
452 // Navigate to another page in same host and port, so RenderViewHost swap 452 // Navigate to another page in same host and port, so RenderViewHost swap
453 // does not happen and existing embedder doesn't change in web_contents. 453 // does not happen and existing embedder doesn't change in web_contents.
454 GURL test_url_new(embedded_test_server()->GetURL( 454 GURL test_url_new(embedded_test_server()->GetURL(
455 "/browser_plugin_title_change.html")); 455 "/browser_plugin_title_change.html"));
456 const string16 expected_title = ASCIIToUTF16("done"); 456 const base::string16 expected_title = ASCIIToUTF16("done");
457 content::TitleWatcher title_watcher(shell()->web_contents(), expected_title); 457 content::TitleWatcher title_watcher(shell()->web_contents(), expected_title);
458 NavigateToURL(shell(), test_url_new); 458 NavigateToURL(shell(), test_url_new);
459 VLOG(0) << "Start waiting for title"; 459 VLOG(0) << "Start waiting for title";
460 string16 actual_title = title_watcher.WaitAndGetTitle(); 460 base::string16 actual_title = title_watcher.WaitAndGetTitle();
461 EXPECT_EQ(expected_title, actual_title); 461 EXPECT_EQ(expected_title, actual_title);
462 VLOG(0) << "Done navigating to second page"; 462 VLOG(0) << "Done navigating to second page";
463 463
464 TestBrowserPluginEmbedder* test_embedder_after_nav = 464 TestBrowserPluginEmbedder* test_embedder_after_nav =
465 static_cast<TestBrowserPluginEmbedder*>( 465 static_cast<TestBrowserPluginEmbedder*>(
466 embedder_web_contents->GetBrowserPluginEmbedder()); 466 embedder_web_contents->GetBrowserPluginEmbedder());
467 // Embedder must not change in web_contents. 467 // Embedder must not change in web_contents.
468 ASSERT_EQ(test_embedder_after_nav, test_embedder()); 468 ASSERT_EQ(test_embedder_after_nav, test_embedder());
469 } 469 }
470 470
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, ReloadEmbedder) { 529 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, ReloadEmbedder) {
530 const char kEmbedderURL[] = "/browser_plugin_embedder.html"; 530 const char kEmbedderURL[] = "/browser_plugin_embedder.html";
531 StartBrowserPluginTest(kEmbedderURL, kHTMLForGuest, true, std::string()); 531 StartBrowserPluginTest(kEmbedderURL, kHTMLForGuest, true, std::string());
532 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( 532 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
533 test_embedder()->web_contents()->GetRenderViewHost()); 533 test_embedder()->web_contents()->GetRenderViewHost());
534 534
535 // Change the title of the page to 'modified' so that we know that 535 // Change the title of the page to 'modified' so that we know that
536 // the page has successfully reloaded when it goes back to 'embedder' 536 // the page has successfully reloaded when it goes back to 'embedder'
537 // in the next step. 537 // in the next step.
538 { 538 {
539 const string16 expected_title = ASCIIToUTF16("modified"); 539 const base::string16 expected_title = ASCIIToUTF16("modified");
540 content::TitleWatcher title_watcher(test_embedder()->web_contents(), 540 content::TitleWatcher title_watcher(test_embedder()->web_contents(),
541 expected_title); 541 expected_title);
542 542
543 ExecuteSyncJSFunction(rvh, 543 ExecuteSyncJSFunction(rvh,
544 base::StringPrintf("SetTitle('%s');", "modified")); 544 base::StringPrintf("SetTitle('%s');", "modified"));
545 545
546 string16 actual_title = title_watcher.WaitAndGetTitle(); 546 base::string16 actual_title = title_watcher.WaitAndGetTitle();
547 EXPECT_EQ(expected_title, actual_title); 547 EXPECT_EQ(expected_title, actual_title);
548 } 548 }
549 549
550 // Reload the embedder page, and verify that the reload was successful. 550 // Reload the embedder page, and verify that the reload was successful.
551 // Then navigate the guest to verify that the browser process does not crash. 551 // Then navigate the guest to verify that the browser process does not crash.
552 { 552 {
553 const string16 expected_title = ASCIIToUTF16("embedder"); 553 const base::string16 expected_title = ASCIIToUTF16("embedder");
554 content::TitleWatcher title_watcher(test_embedder()->web_contents(), 554 content::TitleWatcher title_watcher(test_embedder()->web_contents(),
555 expected_title); 555 expected_title);
556 556
557 test_embedder()->web_contents()->GetController().Reload(false); 557 test_embedder()->web_contents()->GetController().Reload(false);
558 string16 actual_title = title_watcher.WaitAndGetTitle(); 558 base::string16 actual_title = title_watcher.WaitAndGetTitle();
559 EXPECT_EQ(expected_title, actual_title); 559 EXPECT_EQ(expected_title, actual_title);
560 560
561 ExecuteSyncJSFunction( 561 ExecuteSyncJSFunction(
562 test_embedder()->web_contents()->GetRenderViewHost(), 562 test_embedder()->web_contents()->GetRenderViewHost(),
563 base::StringPrintf("SetSrc('%s');", kHTMLForGuest)); 563 base::StringPrintf("SetSrc('%s');", kHTMLForGuest));
564 test_guest_manager()->WaitForGuestAdded(); 564 test_guest_manager()->WaitForGuestAdded();
565 565
566 const TestBrowserPluginGuestManager::GuestInstanceMap& instance_map = 566 const TestBrowserPluginGuestManager::GuestInstanceMap& instance_map =
567 test_guest_manager()->guest_web_contents_for_testing(); 567 test_guest_manager()->guest_web_contents_for_testing();
568 WebContentsImpl* test_guest_web_contents = static_cast<WebContentsImpl*>( 568 WebContentsImpl* test_guest_web_contents = static_cast<WebContentsImpl*>(
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 611
612 DropData drop_data; 612 DropData drop_data;
613 GURL url = GURL("https://www.domain.com/index.html"); 613 GURL url = GURL("https://www.domain.com/index.html");
614 drop_data.url = url; 614 drop_data.url = url;
615 615
616 // Pretend that the URL is being dragged over the embedder. Start the drag 616 // Pretend that the URL is being dragged over the embedder. Start the drag
617 // from outside the plugin, then move the drag inside the plugin and drop. 617 // from outside the plugin, then move the drag inside the plugin and drop.
618 // This should trigger appropriate messages from the embedder to the guest, 618 // This should trigger appropriate messages from the embedder to the guest,
619 // and end with a drop on the guest. The guest changes title when a drop 619 // and end with a drop on the guest. The guest changes title when a drop
620 // happens. 620 // happens.
621 const string16 expected_title = ASCIIToUTF16("DROPPED"); 621 const base::string16 expected_title = ASCIIToUTF16("DROPPED");
622 content::TitleWatcher title_watcher(test_guest()->web_contents(), 622 content::TitleWatcher title_watcher(test_guest()->web_contents(),
623 expected_title); 623 expected_title);
624 624
625 rvh->DragTargetDragEnter(drop_data, gfx::Point(start_x, start_y), 625 rvh->DragTargetDragEnter(drop_data, gfx::Point(start_x, start_y),
626 gfx::Point(start_x, start_y), blink::WebDragOperationEvery, 0); 626 gfx::Point(start_x, start_y), blink::WebDragOperationEvery, 0);
627 rvh->DragTargetDragOver(gfx::Point(end_x, end_y), gfx::Point(end_x, end_y), 627 rvh->DragTargetDragOver(gfx::Point(end_x, end_y), gfx::Point(end_x, end_y),
628 blink::WebDragOperationEvery, 0); 628 blink::WebDragOperationEvery, 0);
629 rvh->DragTargetDrop(gfx::Point(end_x, end_y), gfx::Point(end_x, end_y), 0); 629 rvh->DragTargetDrop(gfx::Point(end_x, end_y), gfx::Point(end_x, end_y), 0);
630 630
631 string16 actual_title = title_watcher.WaitAndGetTitle(); 631 base::string16 actual_title = title_watcher.WaitAndGetTitle();
632 EXPECT_EQ(expected_title, actual_title); 632 EXPECT_EQ(expected_title, actual_title);
633 } 633 }
634 634
635 // This test verifies that round trip postMessage works as expected. 635 // This test verifies that round trip postMessage works as expected.
636 // 1. The embedder posts a message 'testing123' to the guest. 636 // 1. The embedder posts a message 'testing123' to the guest.
637 // 2. The guest receives and replies to the message using the event object's 637 // 2. The guest receives and replies to the message using the event object's
638 // source object: event.source.postMessage('foobar', '*') 638 // source object: event.source.postMessage('foobar', '*')
639 // 3. The embedder receives the message and uses the event's source 639 // 3. The embedder receives the message and uses the event's source
640 // object to do one final reply: 'stop' 640 // object to do one final reply: 'stop'
641 // 4. The guest receives the final 'stop' message. 641 // 4. The guest receives the final 'stop' message.
642 // 5. The guest acks the 'stop' message with a 'stop_ack' message. 642 // 5. The guest acks the 'stop' message with a 'stop_ack' message.
643 // 6. The embedder changes its title to 'main guest' when it sees the 'stop_ack' 643 // 6. The embedder changes its title to 'main guest' when it sees the 'stop_ack'
644 // message. 644 // message.
645 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, PostMessage) { 645 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, PostMessage) {
646 const char* kTesting = "testing123"; 646 const char* kTesting = "testing123";
647 const char* kEmbedderURL = "/browser_plugin_embedder.html"; 647 const char* kEmbedderURL = "/browser_plugin_embedder.html";
648 const char* kGuestURL = "/browser_plugin_post_message_guest.html"; 648 const char* kGuestURL = "/browser_plugin_post_message_guest.html";
649 StartBrowserPluginTest(kEmbedderURL, kGuestURL, false, std::string()); 649 StartBrowserPluginTest(kEmbedderURL, kGuestURL, false, std::string());
650 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( 650 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
651 test_embedder()->web_contents()->GetRenderViewHost()); 651 test_embedder()->web_contents()->GetRenderViewHost());
652 { 652 {
653 const string16 expected_title = ASCIIToUTF16("main guest"); 653 const base::string16 expected_title = ASCIIToUTF16("main guest");
654 content::TitleWatcher title_watcher(test_embedder()->web_contents(), 654 content::TitleWatcher title_watcher(test_embedder()->web_contents(),
655 expected_title); 655 expected_title);
656 656
657 // By the time we get here 'contentWindow' should be ready because the 657 // By the time we get here 'contentWindow' should be ready because the
658 // guest has completed loading. 658 // guest has completed loading.
659 ExecuteSyncJSFunction( 659 ExecuteSyncJSFunction(
660 rvh, base::StringPrintf("PostMessage('%s, false');", kTesting)); 660 rvh, base::StringPrintf("PostMessage('%s, false');", kTesting));
661 661
662 // The title will be updated to "main guest" at the last stage of the 662 // The title will be updated to "main guest" at the last stage of the
663 // process described above. 663 // process described above.
664 string16 actual_title = title_watcher.WaitAndGetTitle(); 664 base::string16 actual_title = title_watcher.WaitAndGetTitle();
665 EXPECT_EQ(expected_title, actual_title); 665 EXPECT_EQ(expected_title, actual_title);
666 } 666 }
667 } 667 }
668 668
669 // This is the same as BrowserPluginHostTest.PostMessage but also 669 // This is the same as BrowserPluginHostTest.PostMessage but also
670 // posts a message to an iframe. 670 // posts a message to an iframe.
671 // TODO(fsamuel): This test should replace the previous test once postMessage 671 // TODO(fsamuel): This test should replace the previous test once postMessage
672 // iframe targeting is fixed (see http://crbug.com/153701). 672 // iframe targeting is fixed (see http://crbug.com/153701).
673 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, DISABLED_PostMessageToIFrame) { 673 IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, DISABLED_PostMessageToIFrame) {
674 const char* kTesting = "testing123"; 674 const char* kTesting = "testing123";
675 const char* kEmbedderURL = "/browser_plugin_embedder.html"; 675 const char* kEmbedderURL = "/browser_plugin_embedder.html";
676 const char* kGuestURL = "/browser_plugin_post_message_guest.html"; 676 const char* kGuestURL = "/browser_plugin_post_message_guest.html";
677 StartBrowserPluginTest(kEmbedderURL, kGuestURL, false, std::string()); 677 StartBrowserPluginTest(kEmbedderURL, kGuestURL, false, std::string());
678 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( 678 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
679 test_embedder()->web_contents()->GetRenderViewHost()); 679 test_embedder()->web_contents()->GetRenderViewHost());
680 { 680 {
681 const string16 expected_title = ASCIIToUTF16("main guest"); 681 const base::string16 expected_title = ASCIIToUTF16("main guest");
682 content::TitleWatcher title_watcher(test_embedder()->web_contents(), 682 content::TitleWatcher title_watcher(test_embedder()->web_contents(),
683 expected_title); 683 expected_title);
684 684
685 ExecuteSyncJSFunction( 685 ExecuteSyncJSFunction(
686 rvh, base::StringPrintf("PostMessage('%s, false');", kTesting)); 686 rvh, base::StringPrintf("PostMessage('%s, false');", kTesting));
687 687
688 // The title will be updated to "main guest" at the last stage of the 688 // The title will be updated to "main guest" at the last stage of the
689 // process described above. 689 // process described above.
690 string16 actual_title = title_watcher.WaitAndGetTitle(); 690 base::string16 actual_title = title_watcher.WaitAndGetTitle();
691 EXPECT_EQ(expected_title, actual_title); 691 EXPECT_EQ(expected_title, actual_title);
692 } 692 }
693 { 693 {
694 content::TitleWatcher ready_watcher(test_embedder()->web_contents(), 694 content::TitleWatcher ready_watcher(test_embedder()->web_contents(),
695 ASCIIToUTF16("ready")); 695 ASCIIToUTF16("ready"));
696 696
697 RenderViewHostImpl* guest_rvh = static_cast<RenderViewHostImpl*>( 697 RenderViewHostImpl* guest_rvh = static_cast<RenderViewHostImpl*>(
698 test_guest()->web_contents()->GetRenderViewHost()); 698 test_guest()->web_contents()->GetRenderViewHost());
699 GURL test_url = embedded_test_server()->GetURL( 699 GURL test_url = embedded_test_server()->GetURL(
700 "/browser_plugin_post_message_guest.html"); 700 "/browser_plugin_post_message_guest.html");
701 ExecuteSyncJSFunction( 701 ExecuteSyncJSFunction(
702 guest_rvh, 702 guest_rvh,
703 base::StringPrintf( 703 base::StringPrintf(
704 "CreateChildFrame('%s');", test_url.spec().c_str())); 704 "CreateChildFrame('%s');", test_url.spec().c_str()));
705 705
706 string16 actual_title = ready_watcher.WaitAndGetTitle(); 706 base::string16 actual_title = ready_watcher.WaitAndGetTitle();
707 EXPECT_EQ(ASCIIToUTF16("ready"), actual_title); 707 EXPECT_EQ(ASCIIToUTF16("ready"), actual_title);
708 708
709 content::TitleWatcher iframe_watcher(test_embedder()->web_contents(), 709 content::TitleWatcher iframe_watcher(test_embedder()->web_contents(),
710 ASCIIToUTF16("iframe")); 710 ASCIIToUTF16("iframe"));
711 ExecuteSyncJSFunction( 711 ExecuteSyncJSFunction(
712 rvh, base::StringPrintf("PostMessage('%s', true);", kTesting)); 712 rvh, base::StringPrintf("PostMessage('%s', true);", kTesting));
713 713
714 // The title will be updated to "iframe" at the last stage of the 714 // The title will be updated to "iframe" at the last stage of the
715 // process described above. 715 // process described above.
716 actual_title = iframe_watcher.WaitAndGetTitle(); 716 actual_title = iframe_watcher.WaitAndGetTitle();
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 // Attempt a navigation to chrome-guest://abc123, which is a valid URL. But it 804 // Attempt a navigation to chrome-guest://abc123, which is a valid URL. But it
805 // should be blocked because the scheme isn't web-safe or a pseudo-scheme. 805 // should be blocked because the scheme isn't web-safe or a pseudo-scheme.
806 ExecuteSyncJSFunction( 806 ExecuteSyncJSFunction(
807 test_embedder()->web_contents()->GetRenderViewHost(), 807 test_embedder()->web_contents()->GetRenderViewHost(),
808 base::StringPrintf("SetSrc('%s://abc123');", kGuestScheme)); 808 base::StringPrintf("SetSrc('%s://abc123');", kGuestScheme));
809 EXPECT_TRUE(delegate->load_aborted()); 809 EXPECT_TRUE(delegate->load_aborted());
810 EXPECT_TRUE(delegate->load_aborted_url().is_valid()); 810 EXPECT_TRUE(delegate->load_aborted_url().is_valid());
811 } 811 }
812 812
813 } // namespace content 813 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698