Set threshold for SmartZoom.
authorEunmi Lee <eunmi15.lee@samsung.com>
Sat, 29 Jun 2013 02:35:07 +0000 (11:35 +0900)
committerEunmi Lee <eunmi15.lee@samsung.com>
Sat, 29 Jun 2013 03:26:37 +0000 (12:26 +0900)
[Title] Set threshold for SmartZoom.
[Issue#] N_SE-43667
[Problem] The SmartZoom seems inconsistent in the Open_Source_Announcement.
[Cause] The zoomable area is similar with contents size, so the scale factor is changed a little.
[Solution] Set threshold (0.1) for SmartZoom to prevent to zooming for small amount of changing.

Change-Id: I91d8fa72f72859cc41ada133d54e612bf700c878

Source/WebKit2/UIProcess/API/efl/tizen/SmartZoom.cpp
Source/WebKit2/UIProcess/API/efl/tizen/SmartZoom.h

index 4c17fc1..0b3d164 100755 (executable)
@@ -92,7 +92,7 @@ void SmartZoom::setZoomableArea(const IntPoint& target, const IntRect& area)
     // Scale to 2.0 if target scale factor is same as current scale factor.
     // If width of area is same as width of contents and contents is fitted to the viewport now,
     // the current scale factor and target scale factor can be same.
-    if (fabs(pageClientImpl->scaleFactor() - targetScale) < numeric_limits<float>::epsilon()) {
+    if (fabs(pageClientImpl->scaleFactor() - targetScale) < s_scaleThreshold) {
         targetScale = 2;
         newContentsRect = FloatRect(target, FloatSize(viewportRect.width() / targetScale, viewportRect.height() / targetScale));
     } else {
index 896479b..aabcff0 100755 (executable)
@@ -50,6 +50,7 @@ private:
     static const int s_numberOfCosineValue = 17;
     static const float s_cosine[s_numberOfCosineValue];
     static const int s_widthMargin = 4;
+    static const float s_scaleThreshold = 0.1;
 
     static Eina_Bool scaleAnimatorCallback(void*);