| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 <stddef.h> | 5 #include <stddef.h> | 
| 6 #include <stdint.h> | 6 #include <stdint.h> | 
| 7 #include <tuple> | 7 #include <tuple> | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/callback.h" | 10 #include "base/callback.h" | 
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 515   RenderViewImpl* new_view = RenderViewImpl::FromWebView(new_web_view); | 515   RenderViewImpl* new_view = RenderViewImpl::FromWebView(new_web_view); | 
| 516 | 516 | 
| 517   // Close the view, causing the main RenderFrame to be detached and deleted. | 517   // Close the view, causing the main RenderFrame to be detached and deleted. | 
| 518   new_view->Close(); | 518   new_view->Close(); | 
| 519   EXPECT_FALSE(new_view->GetMainRenderFrame()); | 519   EXPECT_FALSE(new_view->GetMainRenderFrame()); | 
| 520 | 520 | 
| 521   // Clean up after the new view so we don't leak it. | 521   // Clean up after the new view so we don't leak it. | 
| 522   new_view->Release(); | 522   new_view->Release(); | 
| 523 } | 523 } | 
| 524 | 524 | 
| 525 TEST_F(RenderViewImplTest, SaveImageFromDataURL) { |  | 
| 526   const IPC::Message* msg1 = render_thread_->sink().GetFirstMessageMatching( |  | 
| 527       ViewHostMsg_SaveImageFromDataURL::ID); |  | 
| 528   EXPECT_FALSE(msg1); |  | 
| 529   render_thread_->sink().ClearMessages(); |  | 
| 530 |  | 
| 531   const std::string image_data_url = |  | 
| 532       "data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="; |  | 
| 533 |  | 
| 534   view()->saveImageFromDataURL(WebString::fromUTF8(image_data_url)); |  | 
| 535   ProcessPendingMessages(); |  | 
| 536   const IPC::Message* msg2 = render_thread_->sink().GetFirstMessageMatching( |  | 
| 537       ViewHostMsg_SaveImageFromDataURL::ID); |  | 
| 538   EXPECT_TRUE(msg2); |  | 
| 539 |  | 
| 540   ViewHostMsg_SaveImageFromDataURL::Param param1; |  | 
| 541   ViewHostMsg_SaveImageFromDataURL::Read(msg2, ¶m1); |  | 
| 542   EXPECT_EQ(std::get<2>(param1).length(), image_data_url.length()); |  | 
| 543   EXPECT_EQ(std::get<2>(param1), image_data_url); |  | 
| 544 |  | 
| 545   ProcessPendingMessages(); |  | 
| 546   render_thread_->sink().ClearMessages(); |  | 
| 547 |  | 
| 548   const std::string large_data_url(1024 * 1024 * 20 - 1, 'd'); |  | 
| 549 |  | 
| 550   view()->saveImageFromDataURL(WebString::fromUTF8(large_data_url)); |  | 
| 551   ProcessPendingMessages(); |  | 
| 552   const IPC::Message* msg3 = render_thread_->sink().GetFirstMessageMatching( |  | 
| 553       ViewHostMsg_SaveImageFromDataURL::ID); |  | 
| 554   EXPECT_TRUE(msg3); |  | 
| 555 |  | 
| 556   ViewHostMsg_SaveImageFromDataURL::Param param2; |  | 
| 557   ViewHostMsg_SaveImageFromDataURL::Read(msg3, ¶m2); |  | 
| 558   EXPECT_EQ(std::get<2>(param2).length(), large_data_url.length()); |  | 
| 559   EXPECT_EQ(std::get<2>(param2), large_data_url); |  | 
| 560 |  | 
| 561   ProcessPendingMessages(); |  | 
| 562   render_thread_->sink().ClearMessages(); |  | 
| 563 |  | 
| 564   const std::string exceeded_data_url(1024 * 1024 * 20 + 1, 'd'); |  | 
| 565 |  | 
| 566   view()->saveImageFromDataURL(WebString::fromUTF8(exceeded_data_url)); |  | 
| 567   ProcessPendingMessages(); |  | 
| 568   const IPC::Message* msg4 = render_thread_->sink().GetFirstMessageMatching( |  | 
| 569       ViewHostMsg_SaveImageFromDataURL::ID); |  | 
| 570   EXPECT_FALSE(msg4); |  | 
| 571 } |  | 
| 572 |  | 
| 573 // Test that we get form state change notifications when input fields change. | 525 // Test that we get form state change notifications when input fields change. | 
| 574 TEST_F(RenderViewImplTest, OnNavStateChanged) { | 526 TEST_F(RenderViewImplTest, OnNavStateChanged) { | 
| 575   view()->set_send_content_state_immediately(true); | 527   view()->set_send_content_state_immediately(true); | 
| 576   LoadHTML("<input type=\"text\" id=\"elt_text\"></input>"); | 528   LoadHTML("<input type=\"text\" id=\"elt_text\"></input>"); | 
| 577 | 529 | 
| 578   // We should NOT have gotten a form state change notification yet. | 530   // We should NOT have gotten a form state change notification yet. | 
| 579   EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | 531   EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | 
| 580       FrameHostMsg_UpdateState::ID)); | 532       FrameHostMsg_UpdateState::ID)); | 
| 581   EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | 533   EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | 
| 582       ViewHostMsg_UpdateState::ID)); | 534       ViewHostMsg_UpdateState::ID)); | 
| (...skipping 1919 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2502                               "," | 2454                               "," | 
| 2503                               "\"functionDeclaration\":\"function foo(){ " | 2455                               "\"functionDeclaration\":\"function foo(){ " | 
| 2504                               "Promise.resolve().then(() => " | 2456                               "Promise.resolve().then(() => " | 
| 2505                               "console.log(239))}\"" | 2457                               "console.log(239))}\"" | 
| 2506                               "}" | 2458                               "}" | 
| 2507                               "}"); | 2459                               "}"); | 
| 2508   EXPECT_EQ(1, CountNotifications("Console.messageAdded")); | 2460   EXPECT_EQ(1, CountNotifications("Console.messageAdded")); | 
| 2509 } | 2461 } | 
| 2510 | 2462 | 
| 2511 }  // namespace content | 2463 }  // namespace content | 
| OLD | NEW | 
|---|