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

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

Issue 866633002: partial PageClickTracker migration to RenderFrameObserver (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: make test happy Created 5 years, 10 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
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2422 matching lines...) Expand 10 before | Expand all | Expand 10 after
2433 } 2433 }
2434 2434
2435 void RenderViewImpl::SetWebkitPreferences(const WebPreferences& preferences) { 2435 void RenderViewImpl::SetWebkitPreferences(const WebPreferences& preferences) {
2436 OnUpdateWebPreferences(preferences); 2436 OnUpdateWebPreferences(preferences);
2437 } 2437 }
2438 2438
2439 blink::WebView* RenderViewImpl::GetWebView() { 2439 blink::WebView* RenderViewImpl::GetWebView() {
2440 return webview(); 2440 return webview();
2441 } 2441 }
2442 2442
2443 blink::WebElement RenderViewImpl::GetFocusedElement() const {
2444 if (!webview())
2445 return WebElement();
2446 WebFrame* focused_frame = webview()->focusedFrame();
2447 if (focused_frame) {
2448 WebDocument doc = focused_frame->document();
2449 if (!doc.isNull())
2450 return doc.focusedElement();
2451 }
2452
2453 return WebElement();
2454 }
2455
2456 bool RenderViewImpl::IsEditableNode(const WebNode& node) const { 2443 bool RenderViewImpl::IsEditableNode(const WebNode& node) const {
2457 if (node.isNull()) 2444 if (node.isNull())
2458 return false; 2445 return false;
2459 2446
2460 if (node.isContentEditable()) 2447 if (node.isContentEditable())
2461 return true; 2448 return true;
2462 2449
2463 if (node.isElementNode()) { 2450 if (node.isElementNode()) {
2464 const WebElement& element = node.toConst<WebElement>(); 2451 const WebElement& element = node.toConst<WebElement>();
2465 if (element.isTextFormControlElement()) { 2452 if (element.isTextFormControlElement()) {
2466 if (!(element.hasAttribute("readonly") || 2453 if (!(element.hasAttribute("readonly") ||
2467 element.hasAttribute("disabled"))) 2454 element.hasAttribute("disabled")))
2468 return true; 2455 return true;
2469 } 2456 }
2470 2457
2471 // Also return true if it has an ARIA role of 'textbox'. 2458 // Also return true if it has an ARIA role of 'textbox'.
2472 for (unsigned i = 0; i < element.attributeCount(); ++i) { 2459 for (unsigned i = 0; i < element.attributeCount(); ++i) {
2473 if (LowerCaseEqualsASCII(element.attributeLocalName(i), "role")) { 2460 if (LowerCaseEqualsASCII(element.attributeLocalName(i), "role")) {
2474 if (LowerCaseEqualsASCII(element.attributeValue(i), "textbox")) 2461 if (LowerCaseEqualsASCII(element.attributeValue(i), "textbox"))
2475 return true; 2462 return true;
2476 break; 2463 break;
2477 } 2464 }
2478 } 2465 }
2479 } 2466 }
2480 2467
2481 return false; 2468 return false;
2482 } 2469 }
2483 2470
2484 bool RenderViewImpl::NodeContainsPoint(const WebNode& node,
2485 const gfx::Point& point) const {
2486 blink::WebHitTestResult hit_test =
2487 webview()->hitTestResultAt(WebPoint(point.x(), point.y()));
2488 return node.containsIncludingShadowDOM(hit_test.node());
2489 }
2490
2491 bool RenderViewImpl::ShouldDisplayScrollbars(int width, int height) const { 2471 bool RenderViewImpl::ShouldDisplayScrollbars(int width, int height) const {
2492 return (!send_preferred_size_changes_ || 2472 return (!send_preferred_size_changes_ ||
2493 (disable_scrollbars_size_limit_.width() <= width || 2473 (disable_scrollbars_size_limit_.width() <= width ||
2494 disable_scrollbars_size_limit_.height() <= height)); 2474 disable_scrollbars_size_limit_.height() <= height));
2495 } 2475 }
2496 2476
2497 int RenderViewImpl::GetEnabledBindings() const { 2477 int RenderViewImpl::GetEnabledBindings() const {
2498 return enabled_bindings_; 2478 return enabled_bindings_;
2499 } 2479 }
2500 2480
(...skipping 12 matching lines...) Expand all
2513 void RenderViewImpl::DidStopLoading() { 2493 void RenderViewImpl::DidStopLoading() {
2514 main_render_frame_->didStopLoading(); 2494 main_render_frame_->didStopLoading();
2515 } 2495 }
2516 2496
2517 void RenderViewImpl::SyncNavigationState() { 2497 void RenderViewImpl::SyncNavigationState() {
2518 if (!webview()) 2498 if (!webview())
2519 return; 2499 return;
2520 SendUpdateState(history_controller_->GetCurrentEntry()); 2500 SendUpdateState(history_controller_->GetCurrentEntry());
2521 } 2501 }
2522 2502
2503 blink::WebElement RenderViewImpl::GetFocusedElement() const {
2504 if (!webview())
2505 return WebElement();
2506 WebFrame* focused_frame = webview()->focusedFrame();
2507 if (focused_frame) {
2508 WebDocument doc = focused_frame->document();
2509 if (!doc.isNull())
2510 return doc.focusedElement();
2511 }
2512
2513 return WebElement();
2514 }
2515
2523 blink::WebPlugin* RenderViewImpl::GetWebPluginForFind() { 2516 blink::WebPlugin* RenderViewImpl::GetWebPluginForFind() {
2524 if (!webview()) 2517 if (!webview())
2525 return NULL; 2518 return NULL;
2526 2519
2527 WebFrame* main_frame = webview()->mainFrame(); 2520 WebFrame* main_frame = webview()->mainFrame();
2528 if (main_frame->isWebLocalFrame() && 2521 if (main_frame->isWebLocalFrame() &&
2529 main_frame->document().isPluginDocument()) 2522 main_frame->document().isPluginDocument())
2530 return webview()->mainFrame()->document().to<WebPluginDocument>().plugin(); 2523 return webview()->mainFrame()->document().to<WebPluginDocument>().plugin();
2531 2524
2532 #if defined(ENABLE_PLUGINS) 2525 #if defined(ENABLE_PLUGINS)
(...skipping 1566 matching lines...) Expand 10 before | Expand all | Expand 10 after
4099 std::vector<gfx::Size> sizes; 4092 std::vector<gfx::Size> sizes;
4100 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 4093 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
4101 if (!url.isEmpty()) 4094 if (!url.isEmpty())
4102 urls.push_back( 4095 urls.push_back(
4103 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 4096 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
4104 } 4097 }
4105 SendUpdateFaviconURL(urls); 4098 SendUpdateFaviconURL(urls);
4106 } 4099 }
4107 4100
4108 } // namespace content 4101 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698