Changeset 52819 in webkit


Ignore:
Timestamp:
Jan 5, 2010 12:32:37 PM (14 years ago)
Author:
Chris Fleizach
Message:

AX: need a way to get the progress of a webpage load
https://bugs.webkit.org/show_bug.cgi?id=33221

Reviewed by Eric Seidel.

WebCore:

Test: platform/mac/accessibility/estimated-progress.html

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::estimatedLoadingProgress):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::estimatedLoadingProgress):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/mac/AccessibilityObjectWrapper.mm:

(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • platform/mac/accessibility/document-attributes-expected.txt:
  • platform/mac/accessibility/estimated-progress-expected.txt: Added.
  • platform/mac/accessibility/estimated-progress.html: Added.
  • platform/mac/accessibility/frame-with-title-expected.txt:
  • platform/mac/accessibility/frame-with-title.html:
Location:
trunk
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r52818 r52819  
     12010-01-05  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        AX: need a way to get the progress of a webpage load
     6        https://bugs.webkit.org/show_bug.cgi?id=33221
     7
     8        * platform/mac/accessibility/document-attributes-expected.txt:
     9        * platform/mac/accessibility/estimated-progress-expected.txt: Added.
     10        * platform/mac/accessibility/estimated-progress.html: Added.
     11        * platform/mac/accessibility/frame-with-title-expected.txt:
     12        * platform/mac/accessibility/frame-with-title.html:
     13
    1142010-01-05  Gustavo Noronha Silva  <gns@gnome.org>
    215
  • trunk/LayoutTests/platform/mac/accessibility/document-attributes-expected.txt

    r48523 r52819  
    2323AXLoaded: 1
    2424AXLayoutCount: 2
     25AXLoadingProgress: 1
    2526AXURL: LayoutTests/platform/mac/accessibility/document-attributes.html
    2627
  • trunk/LayoutTests/platform/mac/accessibility/frame-with-title-expected.txt

    r52756 r52819  
    1 AXRole: AXWebArea
    2 AXSubrole: (null)
    3 AXRoleDescription: HTML content
    4 AXChildren: <array of size 0>
    5 AXHelp:
    6 AXParent: <AXWebArea>
    7 AXSize: NSSize: {100, 100}
    8 AXTitle:
    9 AXDescription: All Packages
    10 AXValue:
    11 AXFocused: 0
    12 AXEnabled: 1
    13 AXWindow: <AXWebArea>
    14 AXSelectedTextMarkerRange: (null)
    15 AXStartTextMarker: (null)
    16 AXEndTextMarker: (null)
    17 AXVisited: 0
    18 AXLinkedUIElements: (null)
    19 AXSelected: 0
    20 AXBlockQuoteLevel: 0
    21 AXTopLevelUIElement: <AXWebArea>
    22 AXLinkUIElements: <array of size 0>
    23 AXLoaded: 1
    24 AXLayoutCount: 4
    25 AXURL: about:blank
     1 
     2This test makes sure that a frame with a title will use that value instead of the name.
     3
     4On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
    265
    276
    28 AXRole: AXWebArea
    29 AXSubrole: (null)
    30 AXRoleDescription: HTML content
    31 AXChildren: <array of size 0>
    32 AXHelp:
    33 AXParent: <AXWebArea>
    34 AXSize: NSSize: {100, 100}
    35 AXTitle:
    36 AXDescription: packageListFrame
    37 AXValue:
    38 AXFocused: 0
    39 AXEnabled: 1
    40 AXWindow: <AXWebArea>
    41 AXSelectedTextMarkerRange: (null)
    42 AXStartTextMarker: (null)
    43 AXEndTextMarker: (null)
    44 AXVisited: 0
    45 AXLinkedUIElements: (null)
    46 AXSelected: 0
    47 AXBlockQuoteLevel: 0
    48 AXTopLevelUIElement: <AXWebArea>
    49 AXLinkUIElements: <array of size 0>
    50 AXLoaded: 1
    51 AXLayoutCount: 5
    52 AXURL: about:blank
     7PASS accessibilityController.focusedElement.description is 'AXDescription: All Packages'
     8PASS accessibilityController.focusedElement.description is 'AXDescription: packageListFrame'
     9PASS successfullyParsed is true
    5310
     11TEST COMPLETE
    5412
    55  
  • trunk/LayoutTests/platform/mac/accessibility/frame-with-title.html

    r41751 r52819  
     1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
    12<html>
     3<head>
     4<link rel="stylesheet" href="../../../fast/js/resources/js-test-style.css">
    25<script>
    3     if (window.layoutTestController)
    4         layoutTestController.dumpAsText();
     6var successfullyParsed = false;
    57</script>
    6 <body>
    7    
    8     <div id="result"></div>
    9    
    10     <iframe id="frame1" src="image-map2.html" width=100 height=100 name="packageListFrame" title="All Packages">
    11     </iframe>
     8<script src="../../../fast/js/resources/js-test-pre.js"></script>
     9</head>
     10<body id="body">
    1211
    13     <iframe id="frame2" src="image-map2.html" width=100 height=100 name="packageListFrame" >
    14     </iframe>
     12<iframe id="frame1" src="image-map2.html" width=100 height=100 name="packageListFrame" title="All Packages">
     13</iframe>
    1514
    16     <script>
    17         if (window.accessibilityController) {
    18             var result = document.getElementById("result");
     15<iframe id="frame2" src="image-map2.html" width=100 height=100 name="packageListFrame" >
     16</iframe>
    1917
    20             var labeledItem = document.getElementById("frame1");
    21             labeledItem.focus();
    22             result.innerText += accessibilityController.focusedElement.allAttributes() + "\n\n";
     18<p id="description"></p>
     19<div id="console"></div>
    2320
    24             var labeledItem = document.getElementById("frame2");
    25             labeledItem.focus();
    26             result.innerText += accessibilityController.focusedElement.allAttributes() + "\n\n";
    27         }
    28     </script>
     21<script>
     22
     23    description("This test makes sure that a frame with a title will use that value instead of the name.");
     24
     25    if (window.accessibilityController) {
     26
     27          document.getElementById("frame1").focus();
     28          shouldBe("accessibilityController.focusedElement.description", "'AXDescription: All Packages'");
     29
     30          document.getElementById("frame2").focus();
     31          shouldBe("accessibilityController.focusedElement.description", "'AXDescription: packageListFrame'");
     32    }
     33
     34    successfullyParsed = true;
     35</script>
     36
     37<script src="../../../fast/js/resources/js-test-post.js"></script>
    2938</body>
    3039</html>
  • trunk/WebCore/ChangeLog

    r52815 r52819  
     12010-01-05  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        AX: need a way to get the progress of a webpage load
     6        https://bugs.webkit.org/show_bug.cgi?id=33221
     7
     8        Test: platform/mac/accessibility/estimated-progress.html
     9
     10        * accessibility/AccessibilityObject.h:
     11        (WebCore::AccessibilityObject::estimatedLoadingProgress):
     12        * accessibility/AccessibilityRenderObject.cpp:
     13        (WebCore::AccessibilityRenderObject::estimatedLoadingProgress):
     14        * accessibility/AccessibilityRenderObject.h:
     15        * accessibility/mac/AccessibilityObjectWrapper.mm:
     16        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
     17        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
     18
    1192010-01-05  Yael Aharon  <yael.aharon@nokia.com>
    220
  • trunk/WebCore/accessibility/AccessibilityObject.h

    r52791 r52819  
    331331    virtual AccessibilityObject* selectedTabItem() { return 0; }   
    332332    virtual int layoutCount() const { return 0; }
     333    virtual double estimatedLoadingProgress() const { return 0; }
    333334    static bool isARIAControl(AccessibilityRole);
    334335    static bool isARIAInput(AccessibilityRole);
  • trunk/WebCore/accessibility/AccessibilityRenderObject.cpp

    r52809 r52819  
    5454#include "LocalizedStrings.h"
    5555#include "NodeList.h"
     56#include "ProgressTracker.h"
    5657#include "RenderButton.h"
    5758#include "RenderFieldset.h"
     
    15741575}
    15751576
     1577double AccessibilityRenderObject::estimatedLoadingProgress() const
     1578{
     1579    if (!m_renderer)
     1580        return 0;
     1581   
     1582    if (isLoaded())
     1583        return 1.0;
     1584   
     1585    Page* page = m_renderer->document()->page();
     1586    if (!page)
     1587        return 0;
     1588   
     1589    return page->progress()->estimatedProgress();
     1590}
     1591   
    15761592int AccessibilityRenderObject::layoutCount() const
    15771593{
  • trunk/WebCore/accessibility/AccessibilityRenderObject.h

    r52786 r52819  
    126126    virtual AccessibilityObject* selectedTabItem();
    127127    virtual int layoutCount() const;
     128    virtual double estimatedLoadingProgress() const;
    128129   
    129130    virtual AccessibilityObject* doAccessibilityHitTest(const IntPoint&) const;
  • trunk/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm

    r52786 r52819  
    147147#ifndef NSAccessibilityARIABusyAttribute
    148148#define NSAccessibilityARIABusyAttribute @"AXARIABusy"
     149#endif
     150
     151#ifndef NSAccessibilityLoadingProgressAttribute
     152#define NSAccessibilityLoadingProgressAttribute @"AXLoadingProgress"
    149153#endif
    150154
     
    718722        [tempArray addObject:@"AXLoaded"];
    719723        [tempArray addObject:@"AXLayoutCount"];
     724        [tempArray addObject:NSAccessibilityLoadingProgressAttribute];
    720725        [tempArray addObject:NSAccessibilityURLAttribute];
    721726        webAreaAttrs = [[NSArray alloc] initWithArray:tempArray];
     
    14281433   
    14291434    if (m_object->isWebArea()) {
    1430         if ([attributeName isEqualToString: @"AXLinkUIElements"]) {
     1435        if ([attributeName isEqualToString:@"AXLinkUIElements"]) {
    14311436            AccessibilityObject::AccessibilityChildrenVector links;
    14321437            static_cast<AccessibilityRenderObject*>(m_object)->getDocumentLinks(links);
    14331438            return convertToNSArray(links);
    14341439        }
    1435         if ([attributeName isEqualToString: @"AXLoaded"])
    1436             return [NSNumber numberWithBool: m_object->isLoaded()];
    1437         if ([attributeName isEqualToString: @"AXLayoutCount"])
    1438             return [NSNumber numberWithInt: m_object->layoutCount()];
     1440        if ([attributeName isEqualToString:@"AXLoaded"])
     1441            return [NSNumber numberWithBool:m_object->isLoaded()];
     1442        if ([attributeName isEqualToString:@"AXLayoutCount"])
     1443            return [NSNumber numberWithInt:m_object->layoutCount()];
     1444        if ([attributeName isEqualToString:NSAccessibilityLoadingProgressAttribute])
     1445            return [NSNumber numberWithDouble:m_object->estimatedLoadingProgress()];
    14391446    }
    14401447   
Note: See TracChangeset for help on using the changeset viewer.