OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * Copyright (C) 2013 Apple Inc. All rights reserved. | 3 * Copyright (C) 2013 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 888 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
899 else { | 899 else { |
900 ec = SYNTAX_ERR; | 900 ec = SYNTAX_ERR; |
901 return; | 901 return; |
902 } | 902 } |
903 | 903 |
904 pagination.gap = gap; | 904 pagination.gap = gap; |
905 pagination.pageLength = pageLength; | 905 pagination.pageLength = pageLength; |
906 page->setPagination(pagination); | 906 page->setPagination(pagination); |
907 } | 907 } |
908 | 908 |
909 static FloatSize convertToUserSpace(const FloatSize& deviceSize, float devicePix elRatio) | |
abarth-chromium
2013/05/20 18:22:25
What is "user space" ?
| |
910 { | |
911 FloatSize result = deviceSize; | |
912 if (devicePixelRatio != 1) | |
913 result.scale(1 / devicePixelRatio); | |
914 return result; | |
915 } | |
916 | |
917 static ViewportAttributes computeViewportAttributes(ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, float devicePixelRatio, IntSize visibleViewport) | |
918 { | |
919 FloatSize initialViewportSize = convertToUserSpace(visibleViewport, devicePi xelRatio); | |
920 FloatSize deviceSize = convertToUserSpace(FloatSize(deviceWidth, deviceHeigh t), devicePixelRatio); | |
921 | |
922 return args.resolve(initialViewportSize, deviceSize, desktopWidth); | |
923 } | |
924 | |
925 static float computeMinimumScaleFactorForContentContained(const ViewportAttribut es& result, const IntSize& visibleViewport, const IntSize& contentsSize) | |
926 { | |
927 FloatSize viewportSize(visibleViewport); | |
928 return max<float>(result.minimumScale, max(viewportSize.width() / contentsSi ze.width(), viewportSize.height() / contentsSize.height())); | |
929 } | |
930 | |
931 static void restrictMinimumScaleFactorToViewportSize(ViewportAttributes& result, IntSize visibleViewport, float devicePixelRatio) | |
932 { | |
933 FloatSize viewportSize = convertToUserSpace(visibleViewport, devicePixelRati o); | |
934 | |
935 result.minimumScale = max<float>(result.minimumScale, max(viewportSize.width () / result.layoutSize.width(), viewportSize.height() / result.layoutSize.height ())); | |
936 } | |
abarth-chromium
2013/05/20 18:22:25
I don't understand why we need all of this code in
| |
937 | |
909 String Internals::configurationForViewport(Document* document, float devicePixel Ratio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeigh t, ExceptionCode& ec) | 938 String Internals::configurationForViewport(Document* document, float devicePixel Ratio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeigh t, ExceptionCode& ec) |
910 { | 939 { |
911 if (!document || !document->page()) { | 940 if (!document || !document->page()) { |
912 ec = INVALID_ACCESS_ERR; | 941 ec = INVALID_ACCESS_ERR; |
913 return String(); | 942 return String(); |
914 } | 943 } |
915 Page* page = document->page(); | 944 Page* page = document->page(); |
916 | 945 |
917 const int defaultLayoutWidthForNonMobilePages = 980; | 946 const int defaultLayoutWidthForNonMobilePages = 980; |
918 | 947 |
919 ViewportArguments arguments = page->viewportArguments(); | 948 ViewportArguments arguments = page->viewportArguments(); |
920 ViewportAttributes attributes = computeViewportAttributes(arguments, default LayoutWidthForNonMobilePages, deviceWidth, deviceHeight, devicePixelRatio, IntSi ze(availableWidth, availableHeight)); | 949 ViewportAttributes attributes = computeViewportAttributes(arguments, default LayoutWidthForNonMobilePages, deviceWidth, deviceHeight, devicePixelRatio, IntSi ze(availableWidth, availableHeight)); |
921 restrictMinimumScaleFactorToViewportSize(attributes, IntSize(availableWidth, availableHeight), devicePixelRatio); | 950 restrictMinimumScaleFactorToViewportSize(attributes, IntSize(availableWidth, availableHeight), devicePixelRatio); |
922 restrictScaleFactorToInitialScaleIfNotUserScalable(attributes); | |
923 | 951 |
924 return "viewport size " + String::number(attributes.layoutSize.width()) + "x " + String::number(attributes.layoutSize.height()) + " scale " + String::number( attributes.initialScale) + " with limits [" + String::number(attributes.minimumS cale) + ", " + String::number(attributes.maximumScale) + "] and userScalable " + (attributes.userScalable ? "true" : "false"); | 952 return "viewport size " + String::number(attributes.layoutSize.width()) + "x " + String::number(attributes.layoutSize.height()) + " scale " + String::number( attributes.initialScale) + " with limits [" + String::number(attributes.minimumS cale) + ", " + String::number(attributes.maximumScale) + "] and userScalable " + (arguments.userZoom ? "true" : "false"); |
925 } | 953 } |
926 | 954 |
927 bool Internals::wasLastChangeUserEdit(Element* textField, ExceptionCode& ec) | 955 bool Internals::wasLastChangeUserEdit(Element* textField, ExceptionCode& ec) |
928 { | 956 { |
929 if (!textField) { | 957 if (!textField) { |
930 ec = INVALID_ACCESS_ERR; | 958 ec = INVALID_ACCESS_ERR; |
931 return false; | 959 return false; |
932 } | 960 } |
933 | 961 |
934 if (HTMLInputElement* inputElement = textField->toInputElement()) | 962 if (HTMLInputElement* inputElement = textField->toInputElement()) |
(...skipping 1003 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1938 | 1966 |
1939 RenderObject* renderer = select->renderer(); | 1967 RenderObject* renderer = select->renderer(); |
1940 if (!renderer->isMenuList()) | 1968 if (!renderer->isMenuList()) |
1941 return false; | 1969 return false; |
1942 | 1970 |
1943 RenderMenuList* menuList = toRenderMenuList(renderer); | 1971 RenderMenuList* menuList = toRenderMenuList(renderer); |
1944 return menuList->popupIsVisible(); | 1972 return menuList->popupIsVisible(); |
1945 } | 1973 } |
1946 | 1974 |
1947 } | 1975 } |
OLD | NEW |