Changeset 61551 in webkit


Ignore:
Timestamp:
Jun 21, 2010 10:17:39 AM (14 years ago)
Author:
atwilson@chromium.org
Message:

DumpRenderTree should allow tests with modal dialogs
https://bugs.webkit.org/show_bug.cgi?id=35350

Patch by Prasad Tammana <prasadt@chromium.org> on 2010-06-21
Reviewed by Darin Adler.

  • DumpRenderTree/LayoutTestController.cpp:

(abortModalCallback):
(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::abortModal):
Add abortModal method to LayoutTestController and make it available from script.

.:

  • DumpRenderTree/mac/UIDelegate.mm: Add support for showModalDialog.

(-[UIDelegate modalWindowWillClose:]): Observer for NSWindowWillCloseNotifications to call
abortModal from when modal window closes.
(-[UIDelegate webViewRunModal:]): Delegate method for showModalDialog to run the modal loop.

WebKitTools:

  • DumpRenderTree/mac/UIDelegate.mm: Add support for showModalDialog.

(-[UIDelegate modalWindowWillClose:]): Observer for NSWindowWillCloseNotifications to call
abortModal from when modal window closes.
(-[UIDelegate webViewRunModal:]): Delegate method for showModalDialog to run the modal loop.

Location:
trunk
Files:
47 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r61550 r61551  
     12010-06-21  Prasad Tammana  <prasadt@chromium.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        DumpRenderTree should allow tests with modal dialogs
     6        https://bugs.webkit.org/show_bug.cgi?id=35350
     7
     8        * DumpRenderTree/LayoutTestController.cpp:
     9        (abortModalCallback):
     10        (LayoutTestController::staticFunctions):
     11        * DumpRenderTree/LayoutTestController.h:
     12        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
     13        (LayoutTestController::abortModal):
     14        Add abortModal method to LayoutTestController and make it available from script.
     15
     16        * DumpRenderTree/mac/UIDelegate.mm: Add support for showModalDialog.
     17        (-[UIDelegate modalWindowWillClose:]): Observer for NSWindowWillCloseNotifications to call
     18        abortModal from when modal window closes.
     19        (-[UIDelegate webViewRunModal:]): Delegate method for showModalDialog to run the modal loop.
     20
    1212010-06-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
    222
  • trunk/LayoutTests/fast/dom/Window/window-function-frame-getter-precedence-expected.txt

    r42447 r61551  
    3131PASS: typeof window.addEventListener should be object and is.
    3232PASS: typeof window.removeEventListener should be object and is.
    33 FAIL: typeof window.showModalDialog should be object but instead is undefined
    3433PASS: typeof window.captureEvents should be object and is.
    3534PASS: typeof window.releaseEvents should be object and is.
  • trunk/LayoutTests/fast/dom/Window/window-function-frame-getter-precedence.html

    r30157 r61551  
    1717        }
    1818
    19         function shouldBe(a, b)
     19        function shouldBe(a, b, printOnlyOnFailure)
    2020        {
    2121            var evalA;
     
    2525                evalA = e;
    2626            }
    27             if (evalA == b)
    28                 log("PASS: " + a + " should be " + b + " and is.", "green");
     27            if (evalA == b) {
     28                if (!printOnlyOnFailure)
     29                    log("PASS: " + a + " should be " + b + " and is.", "green");
     30            }
    2931            else
    3032                log("FAIL: " + a + " should be " + b + " but instead is " + evalA, "red");
     
    3840            document.body.appendChild(iframe);
    3941
    40             shouldBe("typeof window." + functionName, "object");
     42            // showModalDialog only works on mac in the DRT.  So run this test only if its defined and print output only on failure.
     43            // This'll keep the output consistent on all platforms.
     44            if (functionName == "showModalDialog" && window.showModalDialog != undefined)
     45                shouldBe("typeof window." + functionName, "object", true);
     46            else
     47                shouldBe("typeof window." + functionName, "object");
    4148
    4249            document.body.removeChild(iframe);
  • trunk/LayoutTests/fast/dom/Window/window-function-name-getter-precedence-expected.txt

    r30696 r61551  
    3131PASS: typeof window.addEventListener should be function and is.
    3232PASS: typeof window.removeEventListener should be function and is.
    33 FAIL: typeof window.showModalDialog should be function but instead is undefined
    3433PASS: typeof window.captureEvents should be function and is.
    3534PASS: typeof window.releaseEvents should be function and is.
  • trunk/LayoutTests/fast/dom/Window/window-function-name-getter-precedence.html

    r30157 r61551  
    1717        }
    1818
    19         function shouldBe(a, b)
     19        function shouldBe(a, b, printOnlyOnFailure)
    2020        {
    2121            var evalA;
     
    2525                evalA = e;
    2626            }
    27             if (evalA == b)
    28                 log("PASS: " + a + " should be " + b + " and is.", "green");
     27            if (evalA == b) {
     28                if (!printOnlyOnFailure)
     29                    log("PASS: " + a + " should be " + b + " and is.", "green");
     30            }
    2931            else
    3032                log("FAIL: " + a + " should be " + b + " but instead is " + evalA, "red");
     
    3739            document.body.appendChild(element);
    3840
    39             shouldBe("typeof window." + functionName, "function");
     41            // showModalDialog only works on mac in the DRT.  So run this test only if its defined and print output only on failure.
     42            // This'll keep the output consistent on all platforms.
     43            if (functionName == "showModalDialog" && window.showModalDialog != undefined)
     44                shouldBe("typeof window." + functionName, "function", true);
     45            else
     46                shouldBe("typeof window." + functionName, "function");
    4047
    4148            document.body.removeChild(element);
  • trunk/LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt

    r61136 r61551  
    6161PASS 'function setTimeout() {    [native code]}' is 'function setTimeout() {    [native code]}'
    6262PASS 'function setTimeout() {    [native code]}' is 'function setTimeout() {    [native code]}'
    63 FAIL win['showModalDialog'] should be null (of type object). Was undefined (of type undefined).
    64 FAIL win['showModalDialog'] should be null (of type object). Was undefined (of type undefined).
    6563PASS 'function stop() {    [native code]}' is 'function stop() {    [native code]}'
    6664PASS 'function stop() {    [native code]}' is 'function stop() {    [native code]}'
  • trunk/LayoutTests/fast/dom/Window/window-lookup-precedence.html

    r42176 r61551  
    3939    var name = prop[0];
    4040    var original = win[name];
     41    // showModalDialog is not currently implemented in DumpRenderTree for all platforms.
     42    if (name == "showModalDialog")
     43      return;
    4144    // Check subframe precedence.
    4245    try {
  • trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt

    r61531 r61551  
    22642264window.setInterval [function]
    22652265window.setTimeout [function]
    2266 window.showModalDialog [undefined]
    22672266window.status [string]
    22682267window.statusbar [object BarInfo]
  • trunk/LayoutTests/fast/dom/Window/window-properties.html

    r60902 r61551  
    8484    "window.FileError" : 1,
    8585    "window.FileReader" : 1,
    86     "window.ondeviceorientation" : 1
     86    "window.ondeviceorientation" : 1,
     87
     88    // showModalDialog is not implemented on all platforms in DumpRenderTree.
     89    "window.showModalDialog" : 1
    8790};
    8891
  • trunk/LayoutTests/fast/dom/script-tests/prototype-inheritance.js

    r60902 r61551  
    2020    "Int8Array", "Uint8Array", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array",
    2121    "FileError", "FileReader",
    22     "indexedDB"
     22    "indexedDB", "showModalDialog"
    2323];
    2424
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T1-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T1
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T10-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T10
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T11-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T11
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T2-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T2
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T3-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T3
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T4-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T4
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T5-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T5
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T6-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T6
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T7-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T7
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T8-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T8
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T9-expected.txt

    r58534 r61551  
    11S10.2.2_A1.1_T9
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T1-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T1
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T10-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T10
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T11-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T11
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T2-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T2
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T3-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T3
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T4-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T4
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T5-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T5
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T6-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T6
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T7-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T7
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T8-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T8
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T9-expected.txt

    r58534 r61551  
    11S10.2.2_A1.2_T9
    22
    3 FAIL SputnikError: #1: scope chain must contain same objects in the same order as the calling context
     3PASS
    44
    55TEST COMPLETE
  • trunk/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt

    r59118 r61551  
    8383PASS: window.resizeBy.call(targetWindow, 0, 0); should be 'undefined' and is.
    8484PASS: window.resizeTo.call(targetWindow, 0, 0); should be 'undefined' and is.
    85 PASS: window.showModalDialog.call(targetWindow); should be 'TypeError: Result of expression 'window.showModalDialog' [undefined] is not an object.' and is.
    8685PASS: window.location.toString.call(targetWindow.location) should be 'undefined' and is.
    8786
  • trunk/LayoutTests/http/tests/security/cross-frame-access-call.html

    r59118 r61551  
    5656    shouldBe("window.resizeTo.call(targetWindow, 0, 0);", "undefined");
    5757
     58    // FIXME:  showModalDialog now works on DRT and thus breaks this test.  Will uncomment after adding a separate test for Mac for showModalDialog - Bug #39897
    5859    // Throws a TypeError and logs to the error console
    59     shouldBe("window.showModalDialog.call(targetWindow);", '"TypeError: Result of expression \'window.showModalDialog\' [undefined] is not an object."');
     60    // shouldBe("window.showModalDialog.call(targetWindow);", '"TypeError: Result of expression \'window.showModalDialog\' [undefined] is not an object."');
    6061
    6162    // - Tests for the Location object -
  • trunk/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt

    r42430 r61551  
    534534PASS: canGet('targetWindow.setInterval') should be 'false' and is.
    535535PASS: canGet('targetWindow.setTimeout') should be 'false' and is.
    536 PASS: canGet('targetWindow.showModalDialog') should be 'false' and is.
    537536PASS: canGet('targetWindow.stop') should be 'false' and is.
    538537
  • trunk/LayoutTests/http/tests/security/cross-frame-access-get.html

    r29654 r61551  
    133133            "setInterval",
    134134            "setTimeout",
    135             "showModalDialog",
     135            // FIXME: This function is now implemented on mac and hence the expected output changes.  Uncomment after adding a
     136            // mac specific test for showModalDialog.  Bug# 39897
     137            // "showModalDialog",
    136138            "stop"
    137139        ];
  • trunk/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt

    r57261 r61551  
    563563ALERT: PASS: window.setInterval should be 'function setInterval() {    [native code]}' and is.
    564564ALERT: PASS: window.setTimeout should be 'function setTimeout() {    [native code]}' and is.
    565 ALERT: PASS: window.showModalDialog should be 'undefined' and is.
     565ALERT: PASS: window.showModalDialog matched the expected value.
    566566ALERT: PASS: window.stop should be 'function stop() {    [native code]}' and is.
    567567This test checks cross-frame access security of window attribute setters (rdar://problem/5326791).
  • trunk/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-put-test.html

    r57261 r61551  
    460460            shouldBe("window.setInterval", "setIntervalOld");
    461461            shouldBe("window.setTimeout", "setTimeoutOld");
    462             shouldBe("window.showModalDialog", "showModalDialogOld");
     462
     463            // showModalDialog is not implemented on all platforms for DumpRenderTree.  So don't display the values.
     464            shouldBe("window.showModalDialog", "showModalDialogOld", true);
    463465            shouldBe("window.stop", "stopOld");
    464466        }, 0);
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r61520 r61551  
    28712871BUG47035 WIN DEBUG : fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html = PASS TEXT
    28722872BUG47036 WIN SLOW : html5lib/runner.html = PASS
     2873
     2874# Related to https://bugs.webkit.org/show_bug.cgi?id=35350
     2875BUG45048 : fast/events/show-modal-dialog-onblur-onfocus.html = FAIL
     2876BUG45048 : fast/harness/resources/modal-dialog.html = FAIL
     2877BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T10.html = FAIL
     2878BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T11.html = FAIL
     2879BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T2.html = FAIL
     2880BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T2.html = FAIL
     2881BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T4.html = FAIL
     2882BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T4.html = FAIL
     2883BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T6.html = FAIL
     2884BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T6.html = FAIL
     2885BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T8.html = FAIL
     2886BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T8.html = FAIL
     2887BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T10.html = FAIL
     2888BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T11.html = FAIL
     2889BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T1.html = FAIL
     2890BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T1.html = FAIL
     2891BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T3.html = FAIL
     2892BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T3.html = FAIL
     2893BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T5.html = FAIL
     2894BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T5.html = FAIL
     2895BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T7.html = FAIL
     2896BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T7.html = FAIL
     2897BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T9.html = FAIL
     2898BUG45048 : fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T9.html = FAIL
  • trunk/LayoutTests/platform/gtk/Skipped

    r61548 r61551  
    59005900# https://bugs.webkit.org/show_bug.cgi?id=40859
    59015901media/video-controls-rendering.html
     5902
     5903# https://bugs.webkit.org/show_bug.cgi?id=35350
     5904fast/events/show-modal-dialog-onblur-onfocus.html
     5905fast/harness/resources/modal-dialog.html
     5906fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T10.html
     5907fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T11.html
     5908fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T2.html
     5909fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T2.html
     5910fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T4.html
     5911fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T4.html
     5912fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T6.html
     5913fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T6.html
     5914fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T8.html
     5915fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T8.html
     5916fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T10.html
     5917fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T11.html
     5918fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T1.html
     5919fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T1.html
     5920fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T3.html
     5921fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T3.html
     5922fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T5.html
     5923fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T5.html
     5924fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T7.html
     5925fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T7.html
     5926fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T9.html
     5927fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T9.html
  • trunk/LayoutTests/platform/qt/Skipped

    r61548 r61551  
    54215421# preloader tests.
    54225422fast/preloader
     5423
     5424# https://bugs.webkit.org/show_bug.cgi?id=35350
     5425fast/events/show-modal-dialog-onblur-onfocus.html
     5426fast/harness/resources/modal-dialog.html
     5427fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T10.html
     5428fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T11.html
     5429fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T2.html
     5430fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T2.html
     5431fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T4.html
     5432fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T4.html
     5433fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T6.html
     5434fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T6.html
     5435fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T8.html
     5436fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T8.html
     5437fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T10.html
     5438fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T11.html
     5439fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T1.html
     5440fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T1.html
     5441fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T3.html
     5442fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T3.html
     5443fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T5.html
     5444fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T5.html
     5445fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T7.html
     5446fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T7.html
     5447fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T9.html
     5448fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T9.html
  • trunk/LayoutTests/platform/win/Skipped

    r61548 r61551  
    903903fast/text/hyphenate-character.html
    904904fast/text/hyphens.html
     905
     906# https://bugs.webkit.org/show_bug.cgi?id=35350
     907fast/events/show-modal-dialog-onblur-onfocus.html
     908fast/harness/resources/modal-dialog.html
     909fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T10.html
     910fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T11.html
     911fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T2.html
     912fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T2.html
     913fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T4.html
     914fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T4.html
     915fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T6.html
     916fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T6.html
     917fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T8.html
     918fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T8.html
     919fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T10.html
     920fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T11.html
     921fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T1.html
     922fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T1.html
     923fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T3.html
     924fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T3.html
     925fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T5.html
     926fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T5.html
     927fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T7.html
     928fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T7.html
     929fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T9.html
     930fast/js/sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T9.html
  • trunk/WebKitTools/ChangeLog

    r61545 r61551  
     12010-06-21  Prasad Tammana  <prasadt@chromium.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        DumpRenderTree should allow tests with modal dialogs
     6        https://bugs.webkit.org/show_bug.cgi?id=35350
     7
     8        * DumpRenderTree/LayoutTestController.cpp:
     9        (abortModalCallback):
     10        (LayoutTestController::staticFunctions):
     11        * DumpRenderTree/LayoutTestController.h:
     12        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
     13        (LayoutTestController::abortModal):
     14        Add abortModal method to LayoutTestController and make it available from script.
     15
     16        * DumpRenderTree/mac/UIDelegate.mm: Add support for showModalDialog.
     17        (-[UIDelegate modalWindowWillClose:]): Observer for NSWindowWillCloseNotifications to call
     18        abortModal from when modal window closes.
     19        (-[UIDelegate webViewRunModal:]): Delegate method for showModalDialog to run the modal loop.
     20
    1212010-06-21  Satish Sampath  <satish@chromium.org>
    222
  • trunk/WebKitTools/DumpRenderTree/LayoutTestController.cpp

    r61324 r61551  
    14741474}
    14751475
     1476
     1477#if PLATFORM(MAC)
     1478static JSValueRef abortModalCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
     1479{
     1480    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
     1481    controller->abortModal();
     1482    return JSValueMakeUndefined(context);
     1483}
     1484#endif
     1485
    14761486static JSValueRef markerTextForListItemCallback(JSContextRef context, JSObjectRef, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
    14771487{
     
    16001610{
    16011611    static JSStaticFunction staticFunctions[] = {
     1612#if PLATFORM(MAC)
     1613        { "abortModal", abortModalCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
     1614#endif
    16021615        { "addDisallowedURL", addDisallowedURLCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
    16031616        { "addUserScript", addUserScriptCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
  • trunk/WebKitTools/DumpRenderTree/LayoutTestController.h

    r61324 r61551  
    258258    void setWebViewEditable(bool);
    259259
     260
     261#if PLATFORM(MAC)
     262    void abortModal();
     263#endif
     264
    260265    // The following API test functions should probably be moved to platform-specific
    261266    // unit tests outside of DRT once they exist.
  • trunk/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm

    r61232 r61551  
    867867    [editingBehaviorNS release];
    868868}
     869
     870void LayoutTestController::abortModal()
     871{
     872    [NSApp abortModal];
     873}
  • trunk/WebKitTools/DumpRenderTree/mac/UIDelegate.mm

    r60488 r61551  
    6666
    6767    printf ("CONSOLE MESSAGE: line %d: %s\n", [lineNumber intValue], [message UTF8String]);
     68}
     69
     70- (void)modalWindowWillClose:(NSNotification *)notification
     71{
     72    [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowWillCloseNotification object:nil];
     73    [NSApp abortModal];
     74}
     75
     76- (void)webViewRunModal:(WebView *)sender
     77{
     78    gLayoutTestController->setWindowIsKey(false);
     79    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(modalWindowWillClose:) name:NSWindowWillCloseNotification object:nil];
     80    [NSApp runModalForWindow:[sender window]];
     81    gLayoutTestController->setWindowIsKey(true);
    6882}
    6983
Note: See TracChangeset for help on using the changeset viewer.