Changeset 68966 in webkit


Ignore:
Timestamp:
Oct 1, 2010 6:54:27 PM (14 years ago)
Author:
weinig@apple.com
Message:

Deploy the new WKString functions to remove most uses of CF from
the WebKitTestRunner.

Reviewed by Jon Honeycutt.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessage):
(WTR::InjectedBundle::done):

  • WebKitTestRunner/StringFunctions.h:

(WTR::toWK):
(WTR::toJS):
(WTR::toSTD):
(WTR::operator<<):
(WTR::copyURLString):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::didFinishLoadForFrame):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

Location:
trunk/WebKitTools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r68963 r68966  
     12010-10-01  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Jon Honeycutt.
     4
     5        Deploy the new WKString functions to remove most uses of CF from
     6        the WebKitTestRunner.
     7
     8        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
     9        (WTR::InjectedBundle::didReceiveMessage):
     10        (WTR::InjectedBundle::done):
     11        * WebKitTestRunner/StringFunctions.h:
     12        (WTR::toWK):
     13        (WTR::toJS):
     14        (WTR::toSTD):
     15        (WTR::operator<<):
     16        (WTR::copyURLString):
     17        * WebKitTestRunner/TestController.cpp:
     18        (WTR::TestController::resetStateToConsistentValues):
     19        (WTR::TestController::didFinishLoadForFrame):
     20        * WebKitTestRunner/TestInvocation.cpp:
     21        (WTR::TestInvocation::invoke):
     22        (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
     23
    1242010-10-01  Mihai Parparita  <mihaip@chromium.org>
    225
  • trunk/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp

    r66548 r68966  
    3333#include <WebKit2/WKBundlePrivate.h>
    3434#include <WebKit2/WKRetainPtr.h>
    35 #include <WebKit2/WKStringCF.h>
    3635#include <WebKit2/WebKit2.h>
    3736#include <wtf/PassOwnPtr.h>
     
    106105void InjectedBundle::didReceiveMessage(WKStringRef messageName, WKTypeRef messageBody)
    107106{
    108     CFStringRef cfMessage = WKStringCopyCFString(0, messageName);
    109     if (CFEqual(cfMessage, CFSTR("BeginTest"))) {
    110         WKRetainPtr<WKStringRef> ackMessageName(AdoptWK, WKStringCreateWithCFString(CFSTR("Ack")));
    111         WKRetainPtr<WKStringRef> ackMessageBody(AdoptWK, WKStringCreateWithCFString(CFSTR("BeginTest")));
     107    if (WKStringIsEqualToUTF8CString(messageName, "BeginTest")) {
     108        ASSERT(!messageBody);
     109
     110        WKRetainPtr<WKStringRef> ackMessageName(AdoptWK, WKStringCreateWithUTF8CString("Ack"));
     111        WKRetainPtr<WKStringRef> ackMessageBody(AdoptWK, WKStringCreateWithUTF8CString("BeginTest"));
    112112        WKBundlePostMessage(m_bundle, ackMessageName.get(), ackMessageBody.get());
    113113
     
    116116    }
    117117
    118     WKRetainPtr<WKStringRef> errorMessageName(AdoptWK, WKStringCreateWithCFString(CFSTR("Error")));
    119     WKRetainPtr<WKStringRef> errorMessageBody(AdoptWK, WKStringCreateWithCFString(CFSTR("Unknown")));
     118    WKRetainPtr<WKStringRef> errorMessageName(AdoptWK, WKStringCreateWithUTF8CString("Error"));
     119    WKRetainPtr<WKStringRef> errorMessageBody(AdoptWK, WKStringCreateWithUTF8CString("Unknown"));
    120120    WKBundlePostMessage(m_bundle, errorMessageName.get(), errorMessageBody.get());
    121121}
     
    143143    m_mainPage->stopLoading();
    144144
    145     WKRetainPtr<WKStringRef> doneMessageName(AdoptWK, WKStringCreateWithCFString(CFSTR("Done")));
    146 
    147     std::string output = m_outputStream.str();
    148     RetainPtr<CFStringRef> outputCFString(AdoptCF, CFStringCreateWithCString(0, output.c_str(), kCFStringEncodingUTF8));
    149     WKRetainPtr<WKStringRef> doneMessageBody(AdoptWK, WKStringCreateWithCFString(outputCFString.get()));
     145    WKRetainPtr<WKStringRef> doneMessageName(AdoptWK, WKStringCreateWithUTF8CString("Done"));
     146    WKRetainPtr<WKStringRef> doneMessageBody(AdoptWK, WKStringCreateWithUTF8CString(m_outputStream.str().c_str()));
    150147
    151148    WKBundlePostMessage(m_bundle, doneMessageName.get(), doneMessageBody.get());
  • trunk/WebKitTools/WebKitTestRunner/StringFunctions.h

    r65267 r68966  
    2828
    2929#include <JavaScriptCore/JSRetainPtr.h>
    30 #include <JavaScriptCore/JavaScriptCore.h>
     30#include <JavaScriptCore/JavaScript.h>
    3131#include <WebKit2/WKRetainPtr.h>
    3232#include <WebKit2/WKString.h>
    3333#include <WebKit2/WKStringCF.h>
     34#include <WebKit2/WKStringPrivate.h>
    3435#include <WebKit2/WKURL.h>
    3536#include <WebKit2/WKURLCF.h>
    3637#include <sstream>
     38#include <string>
     39#include <wtf/OwnArrayPtr.h>
     40#include <wtf/PassOwnArrayPtr.h>
    3741#include <wtf/Platform.h>
    3842#include <wtf/RetainPtr.h>
     
    4347// Conversion functions
    4448
    45 inline RetainPtr<CFStringRef> toCF(JSStringRef string)
    46 {
    47     return RetainPtr<CFStringRef>(AdoptCF, JSStringCopyCFString(0, string));
    48 }
    49 
    50 inline RetainPtr<CFStringRef> toCF(WKStringRef string)
    51 {
    52     return RetainPtr<CFStringRef>(AdoptCF, WKStringCopyCFString(0, string));
    53 }
    54 
    55 inline RetainPtr<CFURLRef> toCF(WKURLRef url)
    56 {
    57     return RetainPtr<CFURLRef>(AdoptCF, WKURLCopyCFURL(0, url));
    58 }
    59 
    60 inline RetainPtr<CFURLRef> toCF(const WKRetainPtr<WKURLRef>& url)
    61 {
    62     return toCF(url.get());
    63 }
    64 
    6549inline WKRetainPtr<WKStringRef> toWK(JSStringRef string)
    6650{
    67     return WKRetainPtr<WKStringRef>(AdoptWK, WKStringCreateWithCFString(toCF(string).get()));
     51    return WKRetainPtr<WKStringRef>(AdoptWK, WKStringCreateWithJSString(string));
    6852}
    6953
    7054inline WKRetainPtr<WKStringRef> toWK(JSRetainPtr<JSStringRef> string)
    7155{
    72     return WKRetainPtr<WKStringRef>(AdoptWK, WKStringCreateWithCFString(toCF(string.get()).get()));
     56    return toWK(string.get());
    7357}
    7458
    7559inline JSRetainPtr<JSStringRef> toJS(WKStringRef string)
    7660{
    77     return JSRetainPtr<JSStringRef>(Adopt, JSStringCreateWithCFString(toCF(string).get()));
     61    return JSRetainPtr<JSStringRef>(Adopt, WKStringCopyJSString(string));
    7862}
    7963
     
    8367}
    8468
    85 // Streaming functions
     69inline std::string toSTD(WKStringRef string)
     70{
     71    size_t bufferSize = WKStringGetMaximumUTF8CStringSize(string);
     72    OwnArrayPtr<char> buffer = adoptArrayPtr(new char[bufferSize]);
     73    WKStringGetUTF8CString(string, buffer.get(), bufferSize);
    8674
    87 inline std::ostream& operator<<(std::ostream& out, CFStringRef stringRef)
    88 {
    89     if (!stringRef)
    90         return out;
    91     CFIndex bufferLength = CFStringGetMaximumSizeForEncoding(CFStringGetLength(stringRef), kCFStringEncodingUTF8) + 1;
    92     Vector<char> buffer(bufferLength);
    93     if (!CFStringGetCString(stringRef, buffer.data(), bufferLength, kCFStringEncodingUTF8))
    94         return out;
    95     return out << buffer.data();
     75    return std::string(buffer.get(), bufferSize);
    9676}
    9777
    98 inline std::ostream& operator<<(std::ostream& out, const RetainPtr<CFStringRef>& stringRef)
     78inline std::string toSTD(const WKRetainPtr<WKStringRef>& string)
    9979{
    100     return out << stringRef.get();
     80    return toSTD(string.get());
    10181}
     82
     83// Streaming functions
    10284
    10385inline std::ostream& operator<<(std::ostream& out, WKStringRef stringRef)
     
    10587    if (!stringRef)
    10688        return out;
    107     return out << toCF(stringRef);
     89
     90    return out << toSTD(stringRef);
    10891}
    10992
     
    11396}
    11497
    115 // URL creation
     98// URL Functions
    11699
    117100inline WKURLRef createWKURL(const char* pathOrURL)
     
    130113}
    131114
     115inline WKStringRef copyURLString(WKURLRef url)
     116{
     117    RetainPtr<CFURLRef> cfURL(AdoptCF, WKURLCopyCFURL(0, url));
     118    return WKStringCreateWithCFString(CFURLGetString(cfURL.get()));
     119}
    132120
    133121} // namespace WTR
  • trunk/WebKitTools/WebKitTestRunner/TestController.cpp

    r68849 r68966  
    209209    WKPreferencesSetXSSAuditorEnabled(preferences, false);
    210210
    211     static WKStringRef standardFontFamily = WKStringCreateWithCFString(CFSTR("Times"));
    212     static WKStringRef cursiveFontFamily = WKStringCreateWithCFString(CFSTR("Apple Chancery"));
    213     static WKStringRef fantasyFontFamily = WKStringCreateWithCFString(CFSTR("Papyrus"));
    214     static WKStringRef fixedFontFamily = WKStringCreateWithCFString(CFSTR("Courier"));
    215     static WKStringRef sansSerifFontFamily = WKStringCreateWithCFString(CFSTR("Helvetica"));
    216     static WKStringRef serifFontFamily = WKStringCreateWithCFString(CFSTR("Times"));
     211    static WKStringRef standardFontFamily = WKStringCreateWithUTF8CString("Times");
     212    static WKStringRef cursiveFontFamily = WKStringCreateWithUTF8CString("Apple Chancery");
     213    static WKStringRef fantasyFontFamily = WKStringCreateWithUTF8CString("Papyrus");
     214    static WKStringRef fixedFontFamily = WKStringCreateWithUTF8CString("Courier");
     215    static WKStringRef sansSerifFontFamily = WKStringCreateWithUTF8CString("Helvetica");
     216    static WKStringRef serifFontFamily = WKStringCreateWithUTF8CString("Times");
    217217
    218218    WKPreferencesSetStandardFontFamily(preferences, standardFontFamily);
     
    296296
    297297    WKRetainPtr<WKURLRef> wkURL(AdoptWK, WKFrameCopyURL(frame));
    298     RetainPtr<CFURLRef> cfURL= toCF(wkURL);
    299     CFStringRef cfURLString = CFURLGetString(cfURL.get());
    300     if (!CFEqual(cfURLString, CFSTR("about:blank")))
     298    WKRetainPtr<WKStringRef> wkURLString(AdoptWK, copyURLString(wkURL.get()));
     299    if (!WKStringIsEqualToUTF8CString(wkURLString.get(), "about:blank"))
    301300        return;
    302301
  • trunk/WebKitTools/WebKitTestRunner/TestInvocation.cpp

    r65294 r68966  
    3131#include <WebKit2/WKContextPrivate.h>
    3232#include <WebKit2/WKRetainPtr.h>
    33 #include <wtf/RetainPtr.h>
     33#include <wtf/OwnArrayPtr.h>
     34#include <wtf/PassOwnArrayPtr.h>
    3435
    3536using namespace WebKit;
     
    7172    sizeWebViewForCurrentTest(m_pathOrURL);
    7273
    73     WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithCFString(CFSTR("BeginTest")));
    74     WKRetainPtr<WKStringRef> messageBody(AdoptWK, WKStringCreateWithCFString(CFSTR("")));
    75     WKContextPostMessageToInjectedBundle(TestController::shared().context(), messageName.get(), messageBody.get());
     74    WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("BeginTest"));
     75    WKContextPostMessageToInjectedBundle(TestController::shared().context(), messageName.get(), 0);
    7676
    7777    TestController::runUntil(m_gotInitialResponse);
     
    105105void TestInvocation::didReceiveMessageFromInjectedBundle(WKStringRef messageName, WKTypeRef messageBody)
    106106{
    107     RetainPtr<CFStringRef> cfMessageName(AdoptCF, WKStringCopyCFString(0, messageName));
    108     if (CFEqual(cfMessageName.get(), CFSTR("Error"))) {
     107    if (WKStringIsEqualToUTF8CString(messageName, "Error")) {
    109108        // Set all states to true to stop spinning the runloop.
    110109        m_gotInitialResponse = true;
     
    114113    }
    115114
    116     if (CFEqual(cfMessageName.get(), CFSTR("Ack"))) {
     115    if (WKStringIsEqualToUTF8CString(messageName, "Ack")) {
    117116        ASSERT(WKGetTypeID(messageBody) == WKStringGetTypeID());
    118         RetainPtr<CFStringRef> cfMessageBody(AdoptCF, WKStringCopyCFString(0, static_cast<WKStringRef>(messageBody)));
    119 
    120         if (CFEqual(cfMessageBody.get(), CFSTR("BeginTest"))) {
     117        WKStringRef messageBodyString = static_cast<WKStringRef>(messageBody);
     118        if (WKStringIsEqualToUTF8CString(messageBodyString, "BeginTest")) {
    121119            m_gotInitialResponse = true;
    122120            return;
     
    126124    }
    127125
    128     if (CFEqual(cfMessageName.get(), CFSTR("Done"))) {
     126    if (WKStringIsEqualToUTF8CString(messageName, "Done")) {
    129127        ASSERT(WKGetTypeID(messageBody) == WKStringGetTypeID());
    130         ostringstream out;
    131         out << static_cast<WKStringRef>(messageBody);
     128        WKStringRef messageBodyString = static_cast<WKStringRef>(messageBody);
    132129
    133         dump(out.str().c_str());
     130        dump(toSTD(messageBodyString).c_str());
    134131
    135132        m_gotFinalMessage = true;
Note: See TracChangeset for help on using the changeset viewer.