diff options
author | Ben Murdoch <benm@google.com> | 2011-05-05 14:36:32 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-05-10 15:38:30 +0100 |
commit | f05b935882198ccf7d81675736e3aeb089c5113a (patch) | |
tree | 4ea0ca838d9ef1b15cf17ddb3928efb427c7e5a1 /WebKitTools/TestWebKitAPI/InjectedBundleController.cpp | |
parent | 60fbdcc62bced8db2cb1fd233cc4d1e4ea17db1b (diff) | |
download | external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.zip external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.gz external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.bz2 |
Merge WebKit at r74534: Initial merge by git.
Change-Id: I6ccd1154fa1b19c2ec2a66878eb675738735f1eb
Diffstat (limited to 'WebKitTools/TestWebKitAPI/InjectedBundleController.cpp')
-rw-r--r-- | WebKitTools/TestWebKitAPI/InjectedBundleController.cpp | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/WebKitTools/TestWebKitAPI/InjectedBundleController.cpp b/WebKitTools/TestWebKitAPI/InjectedBundleController.cpp deleted file mode 100644 index 5942ec8..0000000 --- a/WebKitTools/TestWebKitAPI/InjectedBundleController.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2010 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "InjectedBundleController.h" - -#include "InjectedBundleTest.h" -#include "PlatformUtilities.h" -#include <WebKit2/WebKit2.h> -#include <algorithm> -#include <assert.h> - -namespace TestWebKitAPI { - -InjectedBundleController& InjectedBundleController::shared() -{ - static InjectedBundleController& shared = *new InjectedBundleController; - return shared; -} - -InjectedBundleController::InjectedBundleController() - : m_bundle(0) - , m_currentTest(0) -{ -} - -void InjectedBundleController::initialize(WKBundleRef bundle, WKTypeRef initializationUserData) -{ - m_bundle = bundle; - - WKBundleClient client = { - 0, - this, - didCreatePage, - willDestroyPage, - didReceiveMessage - }; - WKBundleSetClient(m_bundle, &client); - - // Initialize the test from the "initializationUserData". - assert(WKGetTypeID(initializationUserData) == WKStringGetTypeID()); - WKStringRef testName = static_cast<WKStringRef>(initializationUserData); - - initializeTestNamed(bundle, Util::toSTD(testName)); -} - -void InjectedBundleController::didCreatePage(WKBundleRef bundle, WKBundlePageRef page, const void* clientInfo) -{ - InjectedBundleController* self = static_cast<InjectedBundleController*>(const_cast<void*>(clientInfo)); - assert(self->m_currentTest); - self->m_currentTest->didCreatePage(bundle, page); -} - -void InjectedBundleController::willDestroyPage(WKBundleRef bundle, WKBundlePageRef page, const void* clientInfo) -{ - InjectedBundleController* self = static_cast<InjectedBundleController*>(const_cast<void*>(clientInfo)); - assert(self->m_currentTest); - self->m_currentTest->willDestroyPage(bundle, page); -} - -void InjectedBundleController::didReceiveMessage(WKBundleRef bundle, WKStringRef messageName, WKTypeRef messageBody, const void* clientInfo) -{ - InjectedBundleController* self = static_cast<InjectedBundleController*>(const_cast<void*>(clientInfo)); - assert(self->m_currentTest); - self->m_currentTest->didReceiveMessage(bundle, messageName, messageBody); -} - -void InjectedBundleController::dumpTestNames() -{ - std::map<std::string, CreateInjectedBundleTestFunction>::const_iterator it = m_createInjectedBundleTestFunctions.begin(); - std::map<std::string, CreateInjectedBundleTestFunction>::const_iterator end = m_createInjectedBundleTestFunctions.end(); - for (; it != end; ++it) - printf("%s\n", (*it).first.c_str()); -} - -void InjectedBundleController::initializeTestNamed(WKBundleRef bundle, const std::string& identifier) -{ - CreateInjectedBundleTestFunction createTestFunction = m_createInjectedBundleTestFunctions[identifier]; - if (!createTestFunction) { - printf("ERROR: InjectedBundle test not found - %s\n", identifier.c_str()); - exit(1); - } - - m_currentTest = createTestFunction(identifier); - m_currentTest->initialize(bundle); -} - -void InjectedBundleController::registerCreateInjectedBundleTestFunction(const std::string& identifier, CreateInjectedBundleTestFunction function) -{ - m_createInjectedBundleTestFunctions[identifier] = function; -} - -} // namespace TestWebKitAPI |