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

Side by Side Diff: content/renderer/render_view_browsertest.cc

Issue 6873040: Move the content settings code out of RenderView, since it belongs in the Chrome layer. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/basictypes.h" 5 #include "base/basictypes.h"
6 6
7 #include "base/shared_memory.h" 7 #include "base/shared_memory.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/common/render_messages.h" 10 #include "chrome/common/render_messages.h"
(...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 error.domain.fromUTF8("test_domain"); 764 error.domain.fromUTF8("test_domain");
765 error.reason = net::ERR_ABORTED; 765 error.reason = net::ERR_ABORTED;
766 error.unreachableURL = GURL("http://foo"); 766 error.unreachableURL = GURL("http://foo");
767 WebFrame* web_frame = GetMainFrame(); 767 WebFrame* web_frame = GetMainFrame();
768 // A cancellation occurred. 768 // A cancellation occurred.
769 view_->didFailProvisionalLoad(web_frame, error); 769 view_->didFailProvisionalLoad(web_frame, error);
770 // Frame should stay in view-source mode. 770 // Frame should stay in view-source mode.
771 EXPECT_TRUE(web_frame->isViewSourceModeEnabled()); 771 EXPECT_TRUE(web_frame->isViewSourceModeEnabled());
772 } 772 }
773 773
774 // Regression test for http://crbug.com/35011
775 TEST_F(RenderViewTest, JSBlockSentAfterPageLoad) {
776 // 1. Load page with JS.
777 std::string html = "<html>"
778 "<head>"
779 "<script>document.createElement('div');</script>"
780 "</head>"
781 "<body>"
782 "</body>"
783 "</html>";
784 render_thread_.sink().ClearMessages();
785 LoadHTML(html.c_str());
786
787 // 2. Block JavaScript.
788 ContentSettings settings;
789 for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i)
790 settings.settings[i] = CONTENT_SETTING_ALLOW;
791 settings.settings[CONTENT_SETTINGS_TYPE_JAVASCRIPT] = CONTENT_SETTING_BLOCK;
792 view_->SetContentSettings(settings);
793
794 // Make sure no pending messages are in the queue.
795 ProcessPendingMessages();
796 render_thread_.sink().ClearMessages();
797
798 // 3. Reload page.
799 ViewMsg_Navigate_Params params;
800 std::string url_str = "data:text/html;charset=utf-8,";
801 url_str.append(html);
802 GURL url(url_str);
803 params.url = url;
804 params.navigation_type = ViewMsg_Navigate_Type::RELOAD;
805 view_->OnNavigate(params);
806 ProcessPendingMessages();
807
808 // 4. Verify that the notification that javascript was blocked is sent after
809 // the navigation notifiction is sent.
810 int navigation_index = -1;
811 int block_index = -1;
812 for (size_t i = 0; i < render_thread_.sink().message_count(); ++i) {
813 const IPC::Message* msg = render_thread_.sink().GetMessageAt(i);
814 if (msg->type() == ViewHostMsg_FrameNavigate::ID)
815 navigation_index = i;
816 if (msg->type() == ViewHostMsg_ContentBlocked::ID)
817 block_index = i;
818 }
819 EXPECT_NE(-1, navigation_index);
820 EXPECT_NE(-1, block_index);
821 EXPECT_LT(navigation_index, block_index);
822 }
823
824 // Regression test for http://crbug.com/41562 774 // Regression test for http://crbug.com/41562
825 TEST_F(RenderViewTest, UpdateTargetURLWithInvalidURL) { 775 TEST_F(RenderViewTest, UpdateTargetURLWithInvalidURL) {
826 const GURL invalid_gurl("http://"); 776 const GURL invalid_gurl("http://");
827 view_->setMouseOverURL(WebKit::WebURL(invalid_gurl)); 777 view_->setMouseOverURL(WebKit::WebURL(invalid_gurl));
828 EXPECT_EQ(invalid_gurl, view_->target_url_); 778 EXPECT_EQ(invalid_gurl, view_->target_url_);
829 } 779 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698