REGRESSION(r93902): Can't open external links on gmail
https://bugs.webkit.org/show_bug.cgi?id=67234
<rdar://problem/10053636>

Reviewed by Alexey Proskuryakov.

* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::decode):
If we encounter an empty URL string, create an empty url by using NSURL, just
like we do in WebCore when converting an empty KURL to an NSURL.

* WebKit2.xcodeproj/project.pbxproj:
Compile ArgumentCodersCF.cpp as Objective-C++ for now.


git-svn-id: svn://svn.chromium.org/blink/trunk@94246 bbb929c8-8fbe-4397-9dbb-9b2b20218538
bool decode(ArgumentDecoder* decoder, RetainPtr<SecKeychainItemRef>& result)
{
    RetainPtr<CFDataRef> data;
    if (!CoreIPC::decode(decoder, data))
        return false;

    SecKeychainItemRef item;
    if (SecKeychainItemCopyFromPersistentReference(data.get(), &item) != errSecSuccess || !item)
        return false;
    
    result.adoptCF(item);
    return true;
}

bool decode(ArgumentDecoder* decoder, RetainPtr<SecKeychainItemRef>& result)
{
    RetainPtr<CFDataRef> data;
    if (!CoreIPC::decode(decoder, data))
        return false;

    SecKeychainItemRef item;
    if (SecKeychainItemCopyFromPersistentReference(data.get(), &item) != errSecSuccess || !item)
        return false;
    
    result.adoptCF(item);
    return true;
}
