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

Side by Side Diff: chrome/renderer/chrome_render_view_observer.cc

Issue 63273002: Rename WebKit namespace to blink (part 4) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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) 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 "chrome/renderer/chrome_render_view_observer.h" 5 #include "chrome/renderer/chrome_render_view_observer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 #include "ui/base/ui_base_switches_util.h" 52 #include "ui/base/ui_base_switches_util.h"
53 #include "ui/gfx/favicon_size.h" 53 #include "ui/gfx/favicon_size.h"
54 #include "ui/gfx/size.h" 54 #include "ui/gfx/size.h"
55 #include "ui/gfx/size_f.h" 55 #include "ui/gfx/size_f.h"
56 #include "ui/gfx/skbitmap_operations.h" 56 #include "ui/gfx/skbitmap_operations.h"
57 #include "v8/include/v8-testing.h" 57 #include "v8/include/v8-testing.h"
58 #include "webkit/glue/webkit_glue.h" 58 #include "webkit/glue/webkit_glue.h"
59 59
60 using base::string16; 60 using base::string16;
61 using extensions::APIPermission; 61 using extensions::APIPermission;
62 using WebKit::WebAXObject; 62 using blink::WebAXObject;
63 using WebKit::WebCString; 63 using blink::WebCString;
64 using WebKit::WebDataSource; 64 using blink::WebDataSource;
65 using WebKit::WebDocument; 65 using blink::WebDocument;
66 using WebKit::WebElement; 66 using blink::WebElement;
67 using WebKit::WebFrame; 67 using blink::WebFrame;
68 using WebKit::WebGestureEvent; 68 using blink::WebGestureEvent;
69 using WebKit::WebIconURL; 69 using blink::WebIconURL;
70 using WebKit::WebNode; 70 using blink::WebNode;
71 using WebKit::WebNodeList; 71 using blink::WebNodeList;
72 using WebKit::WebRect; 72 using blink::WebRect;
73 using WebKit::WebSecurityOrigin; 73 using blink::WebSecurityOrigin;
74 using WebKit::WebSize; 74 using blink::WebSize;
75 using WebKit::WebString; 75 using blink::WebString;
76 using WebKit::WebTouchEvent; 76 using blink::WebTouchEvent;
77 using WebKit::WebURL; 77 using blink::WebURL;
78 using WebKit::WebURLRequest; 78 using blink::WebURLRequest;
79 using WebKit::WebView; 79 using blink::WebView;
80 using WebKit::WebVector; 80 using blink::WebVector;
81 using WebKit::WebWindowFeatures; 81 using blink::WebWindowFeatures;
82 82
83 // Delay in milliseconds that we'll wait before capturing the page contents 83 // Delay in milliseconds that we'll wait before capturing the page contents
84 // and thumbnail. 84 // and thumbnail.
85 static const int kDelayForCaptureMs = 500; 85 static const int kDelayForCaptureMs = 500;
86 86
87 // Typically, we capture the page data once the page is loaded. 87 // Typically, we capture the page data once the page is loaded.
88 // Sometimes, the page never finishes to load, preventing the page capture 88 // Sometimes, the page never finishes to load, preventing the page capture
89 // To workaround this problem, we always perform a capture after the following 89 // To workaround this problem, we always perform a capture after the following
90 // delay. 90 // delay.
91 static const int kDelayForForcedCaptureMs = 6000; 91 static const int kDelayForForcedCaptureMs = 6000;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 GURL StripRef(const GURL& url) { 173 GURL StripRef(const GURL& url) {
174 GURL::Replacements replacements; 174 GURL::Replacements replacements;
175 replacements.ClearRef(); 175 replacements.ClearRef();
176 return url.ReplaceComponents(replacements); 176 return url.ReplaceComponents(replacements);
177 } 177 }
178 178
179 // If the source image is null or occupies less area than 179 // If the source image is null or occupies less area than
180 // |thumbnail_min_area_pixels|, we return the image unmodified. Otherwise, we 180 // |thumbnail_min_area_pixels|, we return the image unmodified. Otherwise, we
181 // scale down the image so that the width and height do not exceed 181 // scale down the image so that the width and height do not exceed
182 // |thumbnail_max_size_pixels|, preserving the original aspect ratio. 182 // |thumbnail_max_size_pixels|, preserving the original aspect ratio.
183 SkBitmap Downscale(WebKit::WebImage image, 183 SkBitmap Downscale(blink::WebImage image,
184 int thumbnail_min_area_pixels, 184 int thumbnail_min_area_pixels,
185 gfx::Size thumbnail_max_size_pixels) { 185 gfx::Size thumbnail_max_size_pixels) {
186 if (image.isNull()) 186 if (image.isNull())
187 return SkBitmap(); 187 return SkBitmap();
188 188
189 gfx::Size image_size = image.size(); 189 gfx::Size image_size = image.size();
190 190
191 if (image_size.GetArea() < thumbnail_min_area_pixels) 191 if (image_size.GetArea() < thumbnail_min_area_pixels)
192 return image.getSkBitmap(); 192 return image.getSkBitmap();
193 193
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 } 433 }
434 } 434 }
435 } 435 }
436 } else { 436 } else {
437 success = false; 437 success = false;
438 } 438 }
439 439
440 bool is_only_apple_mobile_webapp_capable = 440 bool is_only_apple_mobile_webapp_capable =
441 is_apple_mobile_webapp_capable && !is_mobile_webapp_capable; 441 is_apple_mobile_webapp_capable && !is_mobile_webapp_capable;
442 if (main_frame && is_only_apple_mobile_webapp_capable) { 442 if (main_frame && is_only_apple_mobile_webapp_capable) {
443 WebKit::WebConsoleMessage message( 443 blink::WebConsoleMessage message(
444 WebKit::WebConsoleMessage::LevelWarning, 444 blink::WebConsoleMessage::LevelWarning,
445 "<meta name=\"apple-mobile-web-app-capable\" content=\"yes\"> is " 445 "<meta name=\"apple-mobile-web-app-capable\" content=\"yes\"> is "
446 "deprecated. Please include <meta name=\"mobile-web-app-capable\" " 446 "deprecated. Please include <meta name=\"mobile-web-app-capable\" "
447 "content=\"yes\"> - " 447 "content=\"yes\"> - "
448 "http://developers.google.com/chrome/mobile/docs/installtohomescreen"); 448 "http://developers.google.com/chrome/mobile/docs/installtohomescreen");
449 main_frame->addMessageToConsole(message); 449 main_frame->addMessageToConsole(message);
450 } 450 }
451 451
452 Send(new ChromeViewHostMsg_DidRetrieveWebappInformation( 452 Send(new ChromeViewHostMsg_DidRetrieveWebappInformation(
453 routing_id(), 453 routing_id(),
454 success, 454 success,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 dimmed_color_overlay_.reset(); 494 dimmed_color_overlay_.reset();
495 } 495 }
496 } 496 }
497 497
498 void ChromeRenderViewObserver::OnRequestThumbnailForContextNode( 498 void ChromeRenderViewObserver::OnRequestThumbnailForContextNode(
499 int thumbnail_min_area_pixels, gfx::Size thumbnail_max_size_pixels) { 499 int thumbnail_min_area_pixels, gfx::Size thumbnail_max_size_pixels) {
500 WebNode context_node = render_view()->GetContextMenuNode(); 500 WebNode context_node = render_view()->GetContextMenuNode();
501 SkBitmap thumbnail; 501 SkBitmap thumbnail;
502 gfx::Size original_size; 502 gfx::Size original_size;
503 if (!context_node.isNull() && context_node.isElementNode()) { 503 if (!context_node.isNull() && context_node.isElementNode()) {
504 WebKit::WebImage image = context_node.to<WebElement>().imageContents(); 504 blink::WebImage image = context_node.to<WebElement>().imageContents();
505 original_size = image.size(); 505 original_size = image.size();
506 thumbnail = Downscale(image, 506 thumbnail = Downscale(image,
507 thumbnail_min_area_pixels, 507 thumbnail_min_area_pixels,
508 thumbnail_max_size_pixels); 508 thumbnail_max_size_pixels);
509 } 509 }
510 Send(new ChromeViewHostMsg_RequestThumbnailForContextNode_ACK( 510 Send(new ChromeViewHostMsg_RequestThumbnailForContextNode_ACK(
511 routing_id(), thumbnail, original_size)); 511 routing_id(), thumbnail, original_size));
512 } 512 }
513 513
514 void ChromeRenderViewObserver::OnGetFPS() { 514 void ChromeRenderViewObserver::OnGetFPS() {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 const extensions::Extension* extension = GetExtension(origin); 626 const extensions::Extension* extension = GetExtension(origin);
627 return !extension || !extension->is_platform_app(); 627 return !extension || !extension->is_platform_app();
628 } 628 }
629 629
630 static void SendInsecureContentSignal(int signal) { 630 static void SendInsecureContentSignal(int signal) {
631 UMA_HISTOGRAM_ENUMERATION("SSL.InsecureContent", signal, 631 UMA_HISTOGRAM_ENUMERATION("SSL.InsecureContent", signal,
632 INSECURE_CONTENT_NUM_EVENTS); 632 INSECURE_CONTENT_NUM_EVENTS);
633 } 633 }
634 634
635 bool ChromeRenderViewObserver::allowDisplayingInsecureContent( 635 bool ChromeRenderViewObserver::allowDisplayingInsecureContent(
636 WebKit::WebFrame* frame, 636 blink::WebFrame* frame,
637 bool allowed_per_settings, 637 bool allowed_per_settings,
638 const WebKit::WebSecurityOrigin& origin, 638 const blink::WebSecurityOrigin& origin,
639 const WebKit::WebURL& resource_url) { 639 const blink::WebURL& resource_url) {
640 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY); 640 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY);
641 641
642 std::string origin_host(origin.host().utf8()); 642 std::string origin_host(origin.host().utf8());
643 GURL frame_gurl(frame->document().url()); 643 GURL frame_gurl(frame->document().url());
644 if (isHostInDomain(origin_host, kGoogleDotCom)) { 644 if (isHostInDomain(origin_host, kGoogleDotCom)) {
645 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_GOOGLE); 645 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_GOOGLE);
646 if (StartsWithASCII(frame_gurl.path(), kGoogleSupportPathPrefix, false)) { 646 if (StartsWithASCII(frame_gurl.path(), kGoogleSupportPathPrefix, false)) {
647 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_GOOGLE_SUPPORT); 647 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_GOOGLE_SUPPORT);
648 } else if (StartsWithASCII(frame_gurl.path(), 648 } else if (StartsWithASCII(frame_gurl.path(),
649 kGoogleIntlPathPrefix, 649 kGoogleIntlPathPrefix,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 682
683 if (allowed_per_settings || allow_displaying_insecure_content_) 683 if (allowed_per_settings || allow_displaying_insecure_content_)
684 return true; 684 return true;
685 685
686 Send(new ChromeViewHostMsg_DidBlockDisplayingInsecureContent(routing_id())); 686 Send(new ChromeViewHostMsg_DidBlockDisplayingInsecureContent(routing_id()));
687 687
688 return false; 688 return false;
689 } 689 }
690 690
691 bool ChromeRenderViewObserver::allowRunningInsecureContent( 691 bool ChromeRenderViewObserver::allowRunningInsecureContent(
692 WebKit::WebFrame* frame, 692 blink::WebFrame* frame,
693 bool allowed_per_settings, 693 bool allowed_per_settings,
694 const WebKit::WebSecurityOrigin& origin, 694 const blink::WebSecurityOrigin& origin,
695 const WebKit::WebURL& resource_url) { 695 const blink::WebURL& resource_url) {
696 std::string origin_host(origin.host().utf8()); 696 std::string origin_host(origin.host().utf8());
697 GURL frame_gurl(frame->document().url()); 697 GURL frame_gurl(frame->document().url());
698 DCHECK_EQ(frame_gurl.host(), origin_host); 698 DCHECK_EQ(frame_gurl.host(), origin_host);
699 699
700 bool is_google = isHostInDomain(origin_host, kGoogleDotCom); 700 bool is_google = isHostInDomain(origin_host, kGoogleDotCom);
701 if (is_google) { 701 if (is_google) {
702 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GOOGLE); 702 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GOOGLE);
703 if (StartsWithASCII(frame_gurl.path(), kGoogleSupportPathPrefix, false)) { 703 if (StartsWithASCII(frame_gurl.path(), kGoogleSupportPathPrefix, false)) {
704 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GOOGLE_SUPPORT); 704 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GOOGLE_SUPPORT);
705 } else if (StartsWithASCII(frame_gurl.path(), 705 } else if (StartsWithASCII(frame_gurl.path(),
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 826
827 void ChromeRenderViewObserver::DidClearWindowObject(WebFrame* frame) { 827 void ChromeRenderViewObserver::DidClearWindowObject(WebFrame* frame) {
828 if (render_view()->GetEnabledBindings() & 828 if (render_view()->GetEnabledBindings() &
829 content::BINDINGS_POLICY_EXTERNAL_HOST) { 829 content::BINDINGS_POLICY_EXTERNAL_HOST) {
830 GetExternalHostBindings()->BindToJavascript(frame, "externalHost"); 830 GetExternalHostBindings()->BindToJavascript(frame, "externalHost");
831 } 831 }
832 } 832 }
833 833
834 void ChromeRenderViewObserver::DidHandleGestureEvent( 834 void ChromeRenderViewObserver::DidHandleGestureEvent(
835 const WebGestureEvent& event) { 835 const WebGestureEvent& event) {
836 if (event.type != WebKit::WebGestureEvent::GestureTap) 836 if (event.type != blink::WebGestureEvent::GestureTap)
837 return; 837 return;
838 838
839 WebKit::WebTextInputType text_input_type = 839 blink::WebTextInputType text_input_type =
840 render_view()->GetWebView()->textInputInfo().type; 840 render_view()->GetWebView()->textInputInfo().type;
841 841
842 render_view()->Send(new ChromeViewHostMsg_FocusedNodeTouched( 842 render_view()->Send(new ChromeViewHostMsg_FocusedNodeTouched(
843 routing_id(), 843 routing_id(),
844 text_input_type != WebKit::WebTextInputTypeNone)); 844 text_input_type != blink::WebTextInputTypeNone));
845 } 845 }
846 846
847 void ChromeRenderViewObserver::DetailedConsoleMessageAdded( 847 void ChromeRenderViewObserver::DetailedConsoleMessageAdded(
848 const base::string16& message, 848 const base::string16& message,
849 const base::string16& source, 849 const base::string16& source,
850 const base::string16& stack_trace_string, 850 const base::string16& stack_trace_string,
851 int32 line_number, 851 int32 line_number,
852 int32 severity_level) { 852 int32 severity_level) {
853 string16 trimmed_message = message; 853 string16 trimmed_message = message;
854 extensions::StackTrace stack_trace = GetStackTraceFromMessage( 854 extensions::StackTrace stack_trace = GetStackTraceFromMessage(
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 WebElement element = node.to<WebElement>(); 1032 WebElement element = node.to<WebElement>();
1033 if (!element.hasTagName(tag_name)) 1033 if (!element.hasTagName(tag_name))
1034 continue; 1034 continue;
1035 WebString value = element.getAttribute(attribute_name); 1035 WebString value = element.getAttribute(attribute_name);
1036 if (value.isNull() || !LowerCaseEqualsASCII(value, "refresh")) 1036 if (value.isNull() || !LowerCaseEqualsASCII(value, "refresh"))
1037 continue; 1037 continue;
1038 return true; 1038 return true;
1039 } 1039 }
1040 return false; 1040 return false;
1041 } 1041 }
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_render_view_observer.h ('k') | chrome/renderer/content_settings_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698