Changeset 149692 in webkit


Ignore:
Timestamp:
May 7, 2013 2:26:56 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

WebKitTestRunner needs testRunner.dumpDOMAsWebArchive
https://bugs.webkit.org/show_bug.cgi?id=42324
<rdar://problem/8193633>

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Tim Horton.

  • Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:

Added dumpDOMAsWebArchive JavaScript function to be called by test cases.

  • Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
Added dumpDOMAsWebArchive code that is called when dumping.
(WTR::InjectedBundlePage::dump):
Made DOMAsWebArchive case when dumping call dumpDOMAsWebArchive.

  • Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

(InjectedBundlePage):
Added dumpDOMAsWebArchive declaration.

  • Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::dumpDOMAsWebArchive):
Added dumpDOMAsWebArchive JS callback function that sets m_whatToDump to DOMAsWebArchive.

  • Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

Added WebArchiveDumpSupport.cpp, WebArchiveDumpSupport.h, WebArchiveDumpSupportMac.mm to project.

  • Tools/WebKitTestRunner/cf: Added.
  • Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.cpp: Added.

Copied from Tools/DumpRenderTree/cf for createXMLStringFromWebArchiveData and other functions it uses.
(convertMIMEType):
(convertWebResourceDataToString):
(normalizeHTTPResponseHeaderFields):
(normalizeWebResourceURL):
(convertWebResourceResponseToDictionary):
(compareResourceURLs):
(createXMLStringFromWebArchiveData):

  • Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.h: Added.

Copied from Tools/DumpRenderTree/cf for used symbol declarations.

  • Tools/WebKitTestRunner/mac/WebArchiveDumpSupportMac.mm: Added.

Copied from Tools/DumpRenderTree/mac for used functions.
(createCFURLResponseFromResponseData):
(supportedNonImageMIMETypes):

Location:
trunk/Tools
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r149686 r149692  
     12013-05-07  Alex Christensen  <achristensen@apple.com>
     2
     3        WebKitTestRunner needs testRunner.dumpDOMAsWebArchive
     4        https://bugs.webkit.org/show_bug.cgi?id=42324
     5        <rdar://problem/8193633>
     6
     7        Reviewed by Tim Horton.
     8
     9        * Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
     10        Added dumpDOMAsWebArchive JavaScript function to be called by test cases.
     11        * Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
     12        (WTR::InjectedBundlePage::dumpDOMAsWebArchive):
     13        Added dumpDOMAsWebArchive code that is called when dumping.       
     14        (WTR::InjectedBundlePage::dump):
     15        Made DOMAsWebArchive case when dumping call dumpDOMAsWebArchive.
     16        * Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
     17        (InjectedBundlePage):
     18        Added dumpDOMAsWebArchive declaration.
     19        * Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
     20        (WTR::TestRunner::dumpDOMAsWebArchive):
     21        Added dumpDOMAsWebArchive JS callback function that sets m_whatToDump to DOMAsWebArchive.
     22        * Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
     23        Added WebArchiveDumpSupport.cpp, WebArchiveDumpSupport.h, WebArchiveDumpSupportMac.mm to project.
     24        * Tools/WebKitTestRunner/cf: Added.
     25        * Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.cpp: Added.
     26        Copied from Tools/DumpRenderTree/cf for createXMLStringFromWebArchiveData and other functions it uses.
     27        (convertMIMEType):
     28        (convertWebResourceDataToString):
     29        (normalizeHTTPResponseHeaderFields):
     30        (normalizeWebResourceURL):
     31        (convertWebResourceResponseToDictionary):
     32        (compareResourceURLs):
     33        (createXMLStringFromWebArchiveData):
     34        * Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.h: Added.
     35        Copied from Tools/DumpRenderTree/cf for used symbol declarations.
     36        * Tools/WebKitTestRunner/mac/WebArchiveDumpSupportMac.mm: Added.
     37        Copied from Tools/DumpRenderTree/mac for used functions.
     38        (createCFURLResponseFromResponseData):
     39        (supportedNonImageMIMETypes):
     40
    1412013-05-07  Alex Christensen  <achristensen@apple.com>
    242
  • trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl

    r149368 r149692  
    4848    void dumpApplicationCacheDelegateCallbacks();
    4949    void dumpDatabaseCallbacks();
     50    void dumpDOMAsWebArchive();
    5051
    5152    // Special options.
  • trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp

    r149586 r149692  
    4848#include <wtf/text/CString.h>
    4949#include <wtf/text/StringBuilder.h>
     50
     51#if USE(CF)
     52#include "WebArchiveDumpSupport.h"
     53#endif
    5054
    5155#if PLATFORM(QT)
     
    838842}
    839843
     844
     845void InjectedBundlePage::dumpDOMAsWebArchive(WKBundleFrameRef frame, StringBuilder& stringBuilder)
     846{
     847#if USE(CF)
     848    WKDataRef wkData = WKBundleFrameCopyWebArchive(frame);
     849    RetainPtr<CFDataRef> cfData = adoptCF(CFDataCreate(0, WKDataGetBytes(wkData), WKDataGetSize(wkData)));
     850    RetainPtr<CFStringRef> cfString = adoptCF(createXMLStringFromWebArchiveData(cfData.get()));
     851    stringBuilder.append(cfString.get());
     852#endif
     853}
     854
    840855void InjectedBundlePage::dump()
    841856{
     
    868883        break;
    869884    case TestRunner::Audio:
     885        break;
     886    case TestRunner::DOMAsWebArchive:
     887        dumpDOMAsWebArchive(frame, stringBuilder);
    870888        break;
    871889    }
  • trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h

    r141448 r149692  
    167167    void dumpAllFramesText(WTF::StringBuilder&);
    168168    void dumpAllFrameScrollPositions(WTF::StringBuilder&);
     169    void dumpDOMAsWebArchive(WKBundleFrameRef, WTF::StringBuilder&);
    169170
    170171    void platformDidStartProvisionalLoadForFrame(WKBundleFrameRef);
  • trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h

    r149268 r149692  
    8989    void dumpApplicationCacheDelegateCallbacks() { m_dumpApplicationCacheDelegateCallbacks = true; }
    9090    void dumpDatabaseCallbacks() { m_dumpDatabaseCallbacks = true; }
     91    void dumpDOMAsWebArchive() { m_whatToDump = DOMAsWebArchive; }
    9192
    9293    void setShouldDumpFrameLoadCallbacks(bool value) { m_dumpFrameLoadCallbacks = value; }
     
    164165    void setAudioResult(JSContextRef, JSValueRef data);
    165166
    166     enum WhatToDump { RenderTree, MainFrameText, AllFramesText, Audio };
     167    enum WhatToDump { RenderTree, MainFrameText, AllFramesText, Audio, DOMAsWebArchive };
    167168    WhatToDump whatToDump() const { return m_whatToDump; }
    168169
  • trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj

    r139010 r149692  
    4545                5664A49A14326384008881BE /* TextInputController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5664A49814326384008881BE /* TextInputController.cpp */; };
    4646                5670B8281386FCA5002EB355 /* EventSenderProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5670B8271386FCA5002EB355 /* EventSenderProxy.mm */; };
     47                5C45C30F17398E290079714E /* WebArchiveDumpSupportMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */; };
     48                5C45C31317398E480079714E /* WebArchiveDumpSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C45C31117398E480079714E /* WebArchiveDumpSupport.cpp */; };
    4749                6510A78211EC643800410867 /* AHEM____.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77711EC643800410867 /* AHEM____.TTF */; };
    4850                6510A78411EC643800410867 /* WebKitWeightWatcher100.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */; };
     
    150152                583913D014335E95008307E5 /* JSAccessibilityController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSAccessibilityController.cpp; path = DerivedSources/WebKitTestRunner/JSAccessibilityController.cpp; sourceTree = BUILT_PRODUCTS_DIR; };
    151153                583913D114335E95008307E5 /* JSAccessibilityController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSAccessibilityController.h; path = DerivedSources/WebKitTestRunner/JSAccessibilityController.h; sourceTree = BUILT_PRODUCTS_DIR; };
     154                5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebArchiveDumpSupportMac.mm; path = mac/WebArchiveDumpSupportMac.mm; sourceTree = SOURCE_ROOT; };
     155                5C45C31117398E480079714E /* WebArchiveDumpSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebArchiveDumpSupport.cpp; path = cf/WebArchiveDumpSupport.cpp; sourceTree = SOURCE_ROOT; };
     156                5C45C31217398E480079714E /* WebArchiveDumpSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebArchiveDumpSupport.h; path = cf/WebArchiveDumpSupport.h; sourceTree = SOURCE_ROOT; };
    152157                6510A77711EC643800410867 /* AHEM____.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; name = "AHEM____.TTF"; path = "fonts/AHEM____.TTF"; sourceTree = "<group>"; };
    153158                6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher100.ttf; path = fonts/WebKitWeightWatcher100.ttf; sourceTree = "<group>"; };
     
    328333                        sourceTree = "<group>";
    329334                };
     335                5C45C31017398E370079714E /* cf */ = {
     336                        isa = PBXGroup;
     337                        children = (
     338                                5C45C31117398E480079714E /* WebArchiveDumpSupport.cpp */,
     339                                5C45C31217398E480079714E /* WebArchiveDumpSupport.h */,
     340                        );
     341                        name = cf;
     342                        sourceTree = "<group>";
     343                };
    330344                65EB859E11EC67CC0034D300 /* mac */ = {
    331345                        isa = PBXGroup;
    332346                        children = (
     347                                5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */,
    333348                                65EB859F11EC67CC0034D300 /* ActivateFonts.mm */,
    334349                                BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */,
     
    358373                        isa = PBXGroup;
    359374                        children = (
     375                                5C45C31017398E370079714E /* cf */,
    360376                                BC952C0A11F3B939003398B4 /* Bindings */,
    361377                                BC14E4E0120E02F900826C0C /* Controllers */,
     
    516532                08FB7793FE84155DC02AAC07 /* Project object */ = {
    517533                        isa = PBXProject;
     534                        attributes = {
     535                        };
    518536                        buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */;
    519537                        compatibilityVersion = "Xcode 3.1";
     
    627645                                BC952C0D11F3B965003398B4 /* JSWrapper.cpp in Sources */,
    628646                                BCC9981811D3F51E0017BCA2 /* TestRunner.cpp in Sources */,
     647                                5C45C30F17398E290079714E /* WebArchiveDumpSupportMac.mm in Sources */,
     648                                5C45C31317398E480079714E /* WebArchiveDumpSupport.cpp in Sources */,
    629649                                C0CE720B1247C93300BC0EC4 /* TestRunnerMac.mm in Sources */,
    630650                                5664A49A14326384008881BE /* TextInputController.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.