Changeset 80068 in webkit


Ignore:
Timestamp:
Mar 1, 2011 4:59:59 PM (13 years ago)
Author:
Joseph Pecoraro
Message:

2011-03-01 Joseph Pecoraro <Joseph Pecoraro>

Reviewed by Kenneth Rohde Christiansen.

Viewport Warning/Error Messages Are Now Inaccurate
https://bugs.webkit.org/show_bug.cgi?id=53707

Added tests specifically to test Console warnings.

  • fast/viewport/viewport-warnings-1.html: Added.
  • fast/viewport/viewport-warnings-2.html: Added.
  • fast/viewport/viewport-warnings-3.html: Added.
  • fast/viewport/viewport-warnings-4.html: Added.
  • fast/viewport/viewport-warnings-5.html: Added.
  • fast/viewport/viewport-warnings-6.html: Added.
  • fast/viewport/viewport-warnings-7.html: Added.

2011-03-01 Joseph Pecoraro <Joseph Pecoraro>

Reviewed by Kenneth Rohde Christiansen.

Viewport Warning/Error Messages Are Now Inaccurate
https://bugs.webkit.org/show_bug.cgi?id=53707

Correct and improve the error messages for viewport
parsing. Clarify the difference between incorrect
keys, values, and when to use the device-width or
device-height constants.

  • dom/ViewportArguments.cpp: (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height. (WebCore::numericPrefix): (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height. (WebCore::setViewportFeature): report a warning for an unrecognized key. (WebCore::viewportErrorMessageTemplate): added template for unrecognized key. (WebCore::viewportErrorMessageLevel):
  • dom/ViewportArguments.h:
Location:
trunk
Files:
7 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r80066 r80068  
     12011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        Viewport Warning/Error Messages Are Now Inaccurate
     6        https://bugs.webkit.org/show_bug.cgi?id=53707
     7
     8        Added tests specifically to test Console warnings.
     9
     10        * fast/viewport/viewport-warnings-1.html: Added.
     11        * fast/viewport/viewport-warnings-2.html: Added.
     12        * fast/viewport/viewport-warnings-3.html: Added.
     13        * fast/viewport/viewport-warnings-4.html: Added.
     14        * fast/viewport/viewport-warnings-5.html: Added.
     15        * fast/viewport/viewport-warnings-6.html: Added.
     16        * fast/viewport/viewport-warnings-7.html: Added.
     17
    1182011-03-01  Tony Gentilcore  <tonyg@chromium.org>
    219
  • trunk/Source/WebCore/ChangeLog

    r80061 r80068  
     12011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        Viewport Warning/Error Messages Are Now Inaccurate
     6        https://bugs.webkit.org/show_bug.cgi?id=53707
     7
     8        Correct and improve the error messages for viewport
     9        parsing. Clarify the difference between incorrect
     10        keys, values, and when to use the device-width or
     11        device-height constants.
     12
     13        * dom/ViewportArguments.cpp:
     14        (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height.
     15        (WebCore::numericPrefix):
     16        (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height.
     17        (WebCore::setViewportFeature): report a warning for an unrecognized key.
     18        (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
     19        (WebCore::viewportErrorMessageLevel):
     20        * dom/ViewportArguments.h:
     21
    1222011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
    223
  • trunk/Source/WebCore/dom/ViewportArguments.cpp

    r80012 r80068  
    4242namespace WebCore {
    4343
    44 ViewportAttributes computeViewportAttributes(ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, int deviceDPI, IntSize visibleViewport)
     44ViewportAttributes computeViewportAttributes(Document* document, ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, int deviceDPI, IntSize visibleViewport)
    4545{
    4646    ViewportAttributes result;
     
    5050
    5151    ASSERT(availableWidth > 0 && availableHeight > 0);
     52
     53    if (args.width == deviceWidth || args.height == deviceWidth)
     54        reportViewportWarning(document, DeviceWidthShouldBeUsedWarning, String(), String());
     55    if (args.width == deviceHeight || args.height == deviceHeight)
     56        reportViewportWarning(document, DeviceHeightShouldBeUsedWarning, String(), String());
    5257
    5358    switch (int(args.targetDensityDpi)) {
     
    191196        if (!didReadNumber) {
    192197            ASSERT(!value);
    193             reportViewportWarning(document, UnrecognizedViewportArgumentError, valueString, keyString);
     198            reportViewportWarning(document, UnrecognizedViewportArgumentValueError, valueString, keyString);
    194199            return value;
    195200        }
     
    221226    if (value < 0)
    222227        return ViewportArguments::ValueAuto;
    223 
    224     if (keyString == "width")
    225         reportViewportWarning(document, DeviceWidthShouldBeUsedWarning, String(), String());
    226     else if (keyString == "height")
    227         reportViewportWarning(document, DeviceHeightShouldBeUsedWarning, String(), String());
    228228
    229229    return value;
     
    333333    else if (keyString == "target-densitydpi")
    334334        arguments->targetDensityDpi = findTargetDensityDPIValue(keyString, valueString, document);
     335    else
     336        reportViewportWarning(document, UnrecognizedViewportArgumentKeyError, keyString, String());
    335337}
    336338
     
    340342        "Viewport width or height set to physical device width, try using \"device-width\" constant instead for future compatibility.",
    341343        "Viewport height or height set to physical device height, try using \"device-height\" constant instead for future compatibility.",
     344        "Viewport argument key \"%replacement1\" not recognized and ignored.",
    342345        "Viewport argument value \"%replacement1\" for key \"%replacement2\" not recognized. Content ignored.",
    343346        "Viewport argument value \"%replacement1\" for key \"%replacement2\" was truncated to its numeric prefix.",
     
    357360    case TargetDensityDpiTooSmallOrLargeError:
    358361        return TipMessageLevel;
    359     case UnrecognizedViewportArgumentError:
     362    case UnrecognizedViewportArgumentKeyError:
     363    case UnrecognizedViewportArgumentValueError:
    360364    case MaximumScaleTooLargeError:
    361365        return ErrorMessageLevel;
  • trunk/Source/WebCore/dom/ViewportArguments.h

    r80012 r80068  
    3838    DeviceWidthShouldBeUsedWarning,
    3939    DeviceHeightShouldBeUsedWarning,
    40     UnrecognizedViewportArgumentError,
     40    UnrecognizedViewportArgumentKeyError,
     41    UnrecognizedViewportArgumentValueError,
    4142    TruncatedViewportArgumentValueError,
    4243    MaximumScaleTooLargeError,
     
    101102};
    102103
    103 ViewportAttributes computeViewportAttributes(ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, int deviceDPI, IntSize visibleViewport);
     104ViewportAttributes computeViewportAttributes(Document*, ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, int deviceDPI, IntSize visibleViewport);
    104105
    105106void setViewportFeature(const String& keyString, const String& valueString, Document*, void* data);
  • trunk/Source/WebKit/efl/ChangeLog

    r79953 r80068  
     12011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        Viewport Warning/Error Messages Are Now Inaccurate
     6        https://bugs.webkit.org/show_bug.cgi?id=53707
     7
     8        * ewk/ewk_view.cpp:
     9        (_ewk_view_viewport_attributes_compute): pass a Document into computeViewportAttributes for warnings to be reported to.
     10
    1112011-02-28  Chang Shu  <cshu@webkit.org>
    212
  • trunk/Source/WebKit/efl/ewk/ewk_view.cpp

    r79838 r80068  
    10241024    int device_height = (int) priv->page->chrome()->client()->windowRect().height();
    10251025
     1026    WebCore::Document* document = priv->page->mainFrame()->document();
     1027
    10261028    WebCore::IntSize available_size = WebCore::IntSize(available_width, available_height);
    1027     WebCore::ViewportAttributes attributes = WebCore::computeViewportAttributes(priv->viewport_arguments, desktop_width, device_width, device_height, device_dpi, available_size);
     1029    WebCore::ViewportAttributes attributes = WebCore::computeViewportAttributes(document, priv->viewport_arguments, desktop_width, device_width, device_height, device_dpi, available_size);
    10281030
    10291031    return attributes;
  • trunk/Source/WebKit/gtk/ChangeLog

    r80029 r80068  
     12011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        Viewport Warning/Error Messages Are Now Inaccurate
     6        https://bugs.webkit.org/show_bug.cgi?id=53707
     7
     8        * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
     9        (DumpRenderTreeSupportGtk::dumpConfigurationForViewport): pass a Document into computeViewportAttributes for warnings to be reported to.
     10        * webkit/webkitviewportattributes.cpp:
     11        (webkitViewportAttributesRecompute): pass a Document into computeViewportAttributes for warnings to be reported to.
     12
    1132011-03-01  Kamil Blank  <k.blank@samsung.com>
    214
  • trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp

    r79793 r80068  
    627627    g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
    628628
    629     ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments();
    630     ViewportAttributes attrs = computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI, IntSize(availableWidth, availableHeight));
     629    Document* document = webView->priv->corePage->mainFrame()->document();
     630    ViewportArguments arguments = document->viewportArguments();
     631    ViewportAttributes attrs = computeViewportAttributes(document, arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI, IntSize(availableWidth, availableHeight));
    631632
    632633    fprintf(stdout, "viewport size %dx%d scale %f with limits [%f, %f]\n", attrs.layoutSize.width(), attrs.layoutSize.height(), attrs.initialScale, attrs.minimumScale, attrs.maximumScale);
  • trunk/Source/WebKit/gtk/webkit/webkitviewportattributes.cpp

    r74933 r80068  
    533533    g_signal_emit_by_name(webView, "viewport-attributes-recompute-requested", viewportAttributes);
    534534
    535     ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments();
    536 
    537     ViewportAttributes attributes = computeViewportAttributes(arguments, priv->desktopWidth, priv->deviceWidth, priv->deviceHeight, priv->deviceDPI, IntSize(priv->availableWidth, priv->availableHeight));
     535    Document* document = webView->priv->corePage->mainFrame()->document();
     536    ViewportArguments arguments = document->viewportArguments();
     537
     538    ViewportAttributes attributes = computeViewportAttributes(document, arguments, priv->desktopWidth, priv->deviceWidth, priv->deviceHeight, priv->deviceDPI, IntSize(priv->availableWidth, priv->availableHeight));
    538539
    539540    priv->width = attributes.layoutSize.width();
  • trunk/Source/WebKit/qt/Api/qwebpage.cpp

    r79953 r80068  
    25242524    }
    25252525
    2526     WebCore::ViewportAttributes conf = WebCore::computeViewportAttributes(d->viewportArguments(), desktopWidth, deviceWidth, deviceHeight, qt_defaultDpi(), availableSize);
     2526    WebCore::Document* document = d->page->mainFrame()->document();
     2527    WebCore::ViewportAttributes conf = WebCore::computeViewportAttributes(document, d->viewportArguments(), desktopWidth, deviceWidth, deviceHeight, qt_defaultDpi(), availableSize);
    25272528
    25282529    result.m_isValid = true;
  • trunk/Source/WebKit/qt/ChangeLog

    r79999 r80068  
     12011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        Viewport Warning/Error Messages Are Now Inaccurate
     6        https://bugs.webkit.org/show_bug.cgi?id=53707
     7
     8        * Api/qwebpage.cpp:
     9        (QWebPage::viewportAttributesForSize): pass a Document into computeViewportAttributes for warnings to be reported to.
     10        * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
     11        (DumpRenderTreeSupportQt::viewportAsText): pass a Document into computeViewportAttributes for warnings to be reported to.
     12
    1132011-03-01  Andras Becsi  <abecsi@webkit.org>
    214
  • trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp

    r79793 r80068  
    723723QString DumpRenderTreeSupportQt::viewportAsText(QWebPage* page, int deviceDPI, const QSize& deviceSize, const QSize& availableSize)
    724724{
     725    WebCore::Document* document = page->d->page->mainFrame()->document();
    725726    WebCore::ViewportArguments args = page->d->viewportArguments();
    726727
    727     WebCore::ViewportAttributes conf = WebCore::computeViewportAttributes(args,
     728    WebCore::ViewportAttributes conf = WebCore::computeViewportAttributes(document, args,
    728729        /* desktop-width */ 980,
    729730        /* device-width  */ deviceSize.width(),
Note: See TracChangeset for help on using the changeset viewer.