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

Side by Side Diff: android_webview/renderer/aw_render_view_ext.cc

Issue 475633002: Pass TouchMajor to HitTestResult (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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 "android_webview/renderer/aw_render_view_ext.h" 5 #include "android_webview/renderer/aw_render_view_ext.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "android_webview/common/aw_hit_test_data.h" 9 #include "android_webview/common/aw_hit_test_data.h"
10 #include "android_webview/common/render_view_messages.h" 10 #include "android_webview/common/render_view_messages.h"
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 GetAbsoluteSrcUrl(child_img); 259 GetAbsoluteSrcUrl(child_img);
260 } 260 }
261 261
262 PopulateHitTestData(absolute_link_url, 262 PopulateHitTestData(absolute_link_url,
263 absolute_image_url, 263 absolute_image_url,
264 render_view()->IsEditableNode(node), 264 render_view()->IsEditableNode(node),
265 &data); 265 &data);
266 Send(new AwViewHostMsg_UpdateHitTestData(routing_id(), data)); 266 Send(new AwViewHostMsg_UpdateHitTestData(routing_id(), data));
267 } 267 }
268 268
269 void AwRenderViewExt::OnDoHitTest(int view_x, int view_y) { 269 void AwRenderViewExt::OnDoHitTest(int view_x,
270 int view_y,
271 float touch_major_0,
272 float touch_major_1) {
270 if (!render_view() || !render_view()->GetWebView()) 273 if (!render_view() || !render_view()->GetWebView())
271 return; 274 return;
272 275
276 // touch_major_1 refers to the touch area radius of the 2nd finger, if there
277 // are 2 fingers touching
278 // the screen. Some devices can report multiple movement traces at the same
279 // time, but not all.
280 // This follows what WebInputEventUtil::CreateWebTouchPoint is doing.
281 int radius = 0.5f * std::max(touch_major_0, touch_major_1);
boliu 2014/08/14 16:36:53 hmm, should we do max or min here...?
jdduke (slow) 2014/08/14 17:01:57 Sorry for the drive-by, but why put this max logic
hush (inactive) 2014/08/14 17:03:32 Sorry. I'm probably just doing a random thing here
boliu 2014/08/14 17:05:18 Use the first point here.
hush (inactive) 2014/08/14 17:25:22 Thanks Jared for the comments! By "following what
282 const blink::WebSize touch_area(radius, radius);
273 const blink::WebHitTestResult result = 283 const blink::WebHitTestResult result =
274 render_view()->GetWebView()->hitTestResultAt( 284 render_view()->GetWebView()->hitTestResultAt(
275 blink::WebPoint(view_x, view_y)); 285 blink::WebPoint(view_x, view_y), touch_area);
276 AwHitTestData data; 286 AwHitTestData data;
277 287
278 if (!result.urlElement().isNull()) { 288 if (!result.urlElement().isNull()) {
279 data.anchor_text = result.urlElement().innerText(); 289 data.anchor_text = result.urlElement().innerText();
280 data.href = GetHref(result.urlElement()); 290 data.href = GetHref(result.urlElement());
281 } 291 }
282 292
283 PopulateHitTestData(result.absoluteLinkURL(), 293 PopulateHitTestData(result.absoluteLinkURL(),
284 result.absoluteImageURL(), 294 result.absoluteImageURL(),
285 result.isContentEditable(), 295 result.isContentEditable(),
(...skipping 28 matching lines...) Expand all
314 render_view()->GetWebView()->setFixedLayoutSize(size); 324 render_view()->GetWebView()->setFixedLayoutSize(size);
315 } 325 }
316 326
317 void AwRenderViewExt::OnSetBackgroundColor(SkColor c) { 327 void AwRenderViewExt::OnSetBackgroundColor(SkColor c) {
318 if (!render_view() || !render_view()->GetWebView()) 328 if (!render_view() || !render_view()->GetWebView())
319 return; 329 return;
320 render_view()->GetWebView()->setBaseBackgroundColor(c); 330 render_view()->GetWebView()->setBaseBackgroundColor(c);
321 } 331 }
322 332
323 } // namespace android_webview 333 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698