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

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

Issue 1365563003: Prevent guest views from issuing a search for empty text. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: lint Created 5 years, 2 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
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 "content/renderer/render_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 // antialiasing won't have a noticeable effect on text quality. 360 // antialiasing won't have a noticeable effect on text quality.
361 static bool DeviceScaleEnsuresTextQuality(float device_scale_factor) { 361 static bool DeviceScaleEnsuresTextQuality(float device_scale_factor) {
362 #if defined(OS_ANDROID) 362 #if defined(OS_ANDROID)
363 // On Android, we never have subpixel antialiasing. 363 // On Android, we never have subpixel antialiasing.
364 return true; 364 return true;
365 #else 365 #else
366 // 1.5 is a common touchscreen tablet device scale factor. For such 366 // 1.5 is a common touchscreen tablet device scale factor. For such
367 // devices main thread antialiasing is a heavy burden. 367 // devices main thread antialiasing is a heavy burden.
368 return device_scale_factor >= 1.5f; 368 return device_scale_factor >= 1.5f;
369 #endif 369 #endif
370
371 } 370 }
372 371
373 static bool PreferCompositingToLCDText(CompositorDependencies* compositor_deps, 372 static bool PreferCompositingToLCDText(CompositorDependencies* compositor_deps,
374 float device_scale_factor) { 373 float device_scale_factor) {
375 const base::CommandLine& command_line = 374 const base::CommandLine& command_line =
376 *base::CommandLine::ForCurrentProcess(); 375 *base::CommandLine::ForCurrentProcess();
377 if (command_line.HasSwitch(switches::kDisablePreferCompositingToLCDText)) 376 if (command_line.HasSwitch(switches::kDisablePreferCompositingToLCDText))
378 return false; 377 return false;
379 if (command_line.HasSwitch(switches::kEnablePreferCompositingToLCDText)) 378 if (command_line.HasSwitch(switches::kEnablePreferCompositingToLCDText))
380 return true; 379 return true;
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 void RenderViewImpl::Initialize(const ViewMsg_New_Params& params, 666 void RenderViewImpl::Initialize(const ViewMsg_New_Params& params,
668 bool was_created_by_renderer) { 667 bool was_created_by_renderer) {
669 routing_id_ = params.view_id; 668 routing_id_ = params.view_id;
670 669
671 int opener_view_routing_id; 670 int opener_view_routing_id;
672 WebFrame* opener_frame = RenderFrameImpl::ResolveOpener( 671 WebFrame* opener_frame = RenderFrameImpl::ResolveOpener(
673 params.opener_frame_route_id, &opener_view_routing_id); 672 params.opener_frame_route_id, &opener_view_routing_id);
674 if (opener_view_routing_id != MSG_ROUTING_NONE && was_created_by_renderer) 673 if (opener_view_routing_id != MSG_ROUTING_NONE && was_created_by_renderer)
675 opener_id_ = opener_view_routing_id; 674 opener_id_ = opener_view_routing_id;
676 675
677 display_mode_= params.initial_size.display_mode; 676 display_mode_ = params.initial_size.display_mode;
678 677
679 // Ensure we start with a valid next_page_id_ from the browser. 678 // Ensure we start with a valid next_page_id_ from the browser.
680 DCHECK_GE(next_page_id_, 0); 679 DCHECK_GE(next_page_id_, 0);
681 680
682 webwidget_ = WebView::create(this); 681 webwidget_ = WebView::create(this);
683 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); 682 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_));
684 683
685 g_view_map.Get().insert(std::make_pair(webview(), this)); 684 g_view_map.Get().insert(std::make_pair(webview(), this));
686 g_routing_id_view_map.Get().insert(std::make_pair(routing_id_, this)); 685 g_routing_id_view_map.Get().insert(std::make_pair(routing_id_, this));
687 686
(...skipping 1598 matching lines...) Expand 10 before | Expand all | Expand 10 after
2286 if (plugin_find_handler_) 2285 if (plugin_find_handler_)
2287 return plugin_find_handler_->container()->plugin(); 2286 return plugin_find_handler_->container()->plugin();
2288 #endif 2287 #endif
2289 2288
2290 return NULL; 2289 return NULL;
2291 } 2290 }
2292 2291
2293 void RenderViewImpl::OnFind(int request_id, 2292 void RenderViewImpl::OnFind(int request_id,
2294 const base::string16& search_text, 2293 const base::string16& search_text,
2295 const WebFindOptions& options) { 2294 const WebFindOptions& options) {
2295 DCHECK(!search_text.empty());
2296
2296 WebFrame* main_frame = webview()->mainFrame(); 2297 WebFrame* main_frame = webview()->mainFrame();
2297 blink::WebPlugin* plugin = GetWebPluginForFind(); 2298 blink::WebPlugin* plugin = GetWebPluginForFind();
2298 // Check if the plugin still exists in the document. 2299 // Check if the plugin still exists in the document.
2299 if (plugin) { 2300 if (plugin) {
2300 if (options.findNext) { 2301 if (options.findNext) {
2301 // Just navigate back/forward. 2302 // Just navigate back/forward.
2302 plugin->selectFindResult(options.forward); 2303 plugin->selectFindResult(options.forward);
2303 } else { 2304 } else {
2304 if (!plugin->startFind( 2305 if (!plugin->startFind(
2305 search_text, options.matchCase, request_id)) { 2306 search_text, options.matchCase, request_id)) {
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after
3074 (*i)->PageVisibilityChanged(false); 3075 (*i)->PageVisibilityChanged(false);
3075 3076
3076 #if defined(OS_MACOSX) 3077 #if defined(OS_MACOSX)
3077 // Inform NPAPI plugins that their container is no longer visible. 3078 // Inform NPAPI plugins that their container is no longer visible.
3078 std::set<WebPluginDelegateProxy*>::iterator plugin_it; 3079 std::set<WebPluginDelegateProxy*>::iterator plugin_it;
3079 for (plugin_it = plugin_delegates_.begin(); 3080 for (plugin_it = plugin_delegates_.begin();
3080 plugin_it != plugin_delegates_.end(); ++plugin_it) { 3081 plugin_it != plugin_delegates_.end(); ++plugin_it) {
3081 (*plugin_it)->SetContainerVisibility(false); 3082 (*plugin_it)->SetContainerVisibility(false);
3082 } 3083 }
3083 #endif // OS_MACOSX 3084 #endif // OS_MACOSX
3084 #endif // ENABLE_PLUGINS 3085 #endif // ENABLE_PLUGINS
3085 } 3086 }
3086 3087
3087 void RenderViewImpl::OnWasShown(bool needs_repainting, 3088 void RenderViewImpl::OnWasShown(bool needs_repainting,
3088 const ui::LatencyInfo& latency_info) { 3089 const ui::LatencyInfo& latency_info) {
3089 RenderWidget::OnWasShown(needs_repainting, latency_info); 3090 RenderWidget::OnWasShown(needs_repainting, latency_info);
3090 3091
3091 #if defined(OS_ANDROID) && defined(ENABLE_WEBRTC) 3092 #if defined(OS_ANDROID) && defined(ENABLE_WEBRTC)
3092 RenderThreadImpl::current()->video_capture_impl_manager()-> 3093 RenderThreadImpl::current()->video_capture_impl_manager()->
3093 SuspendDevices(false); 3094 SuspendDevices(false);
3094 #endif 3095 #endif
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
3738 std::vector<gfx::Size> sizes; 3739 std::vector<gfx::Size> sizes;
3739 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 3740 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
3740 if (!url.isEmpty()) 3741 if (!url.isEmpty())
3741 urls.push_back( 3742 urls.push_back(
3742 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 3743 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
3743 } 3744 }
3744 SendUpdateFaviconURL(urls); 3745 SendUpdateFaviconURL(urls);
3745 } 3746 }
3746 3747
3747 } // namespace content 3748 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698