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

Side by Side Diff: Source/WebKit/chromium/src/WebViewImpl.cpp

Issue 12086096: Merge 141019 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 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 | « Source/WebKit/chromium/src/WebViewImpl.h ('k') | Source/WebKit/chromium/tests/WebFrameTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 if (detectContentOnTouch(WebPoint(event.x, event.y))) { 721 if (detectContentOnTouch(WebPoint(event.x, event.y))) {
722 eventSwallowed = true; 722 eventSwallowed = true;
723 break; 723 break;
724 } 724 }
725 725
726 RefPtr<WebCore::PopupContainer> selectPopup; 726 RefPtr<WebCore::PopupContainer> selectPopup;
727 selectPopup = m_selectPopup; 727 selectPopup = m_selectPopup;
728 hideSelectPopup(); 728 hideSelectPopup();
729 ASSERT(!m_selectPopup); 729 ASSERT(!m_selectPopup);
730 730
731 if (event.data.tap.width > 0) { 731 // Don't trigger a disambiguation popup on sites designed for mobile dev ices.
732 // Instead, assume that the page has been designed with big enough butto ns and links.
733 if (event.data.tap.width > 0 && !shouldDisableDesktopWorkarounds()) {
732 IntRect boundingBox(event.x - event.data.tap.width / 2, event.y - ev ent.data.tap.height / 2, event.data.tap.width, event.data.tap.height); 734 IntRect boundingBox(event.x - event.data.tap.width / 2, event.y - ev ent.data.tap.height / 2, event.data.tap.width, event.data.tap.height);
733 Vector<IntRect> goodTargets; 735 Vector<IntRect> goodTargets;
734 findGoodTouchTargets(boundingBox, mainFrameImpl()->frame(), pageScal eFactor(), goodTargets); 736 findGoodTouchTargets(boundingBox, mainFrameImpl()->frame(), pageScal eFactor(), goodTargets);
735 // FIXME: replace touch adjustment code when numberOfGoodTargets == 1? 737 // FIXME: replace touch adjustment code when numberOfGoodTargets == 1?
736 // Single candidate case is currently handled by: https://bugs.webki t.org/show_bug.cgi?id=85101 738 // Single candidate case is currently handled by: https://bugs.webki t.org/show_bug.cgi?id=85101
737 if (goodTargets.size() >= 2 && m_client && m_client->didTapMultipleT argets(event, goodTargets)) { 739 if (goodTargets.size() >= 2 && m_client && m_client->didTapMultipleT argets(event, goodTargets)) {
738 eventSwallowed = true; 740 eventSwallowed = true;
739 break; 741 break;
740 } 742 }
741 } 743 }
(...skipping 3551 matching lines...) Expand 10 before | Expand all | Expand 10 after
4293 4295
4294 const WebMouseEvent& mouseEvent = static_cast<const WebMouseEvent&>(event); 4296 const WebMouseEvent& mouseEvent = static_cast<const WebMouseEvent&>(event);
4295 4297
4296 if (page()) 4298 if (page())
4297 page()->pointerLockController()->dispatchLockedMouseEvent( 4299 page()->pointerLockController()->dispatchLockedMouseEvent(
4298 PlatformMouseEventBuilder(mainFrameImpl()->frameView(), mouseEvent), 4300 PlatformMouseEventBuilder(mainFrameImpl()->frameView(), mouseEvent),
4299 eventType); 4301 eventType);
4300 } 4302 }
4301 #endif 4303 #endif
4302 4304
4305 bool WebViewImpl::shouldDisableDesktopWorkarounds()
4306 {
4307 ViewportArguments arguments = mainFrameImpl()->frame()->document()->viewport Arguments();
4308 return arguments.width == ViewportArguments::ValueDeviceWidth || !arguments. userZoom
4309 || (arguments.minZoom == arguments.maxZoom && arguments.minZoom != Viewp ortArguments::ValueAuto);
4310 }
4311
4303 } // namespace WebKit 4312 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/WebKit/chromium/src/WebViewImpl.h ('k') | Source/WebKit/chromium/tests/WebFrameTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698