# 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.

#if ENABLE(WEBKIT2)
#if NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND


# The parser should treat all of these as comments
#FakeLoadURLA(String url)
# FakeLoadURLB(String url)
    #FakeLoadURLC(String url)
    # FakeLoadURLD(String url)

messages -> TestWithoutAttributes {
    LoadURL(String url)
#if ENABLE(TOUCH_EVENTS)
    LoadSomething(String url)
#if NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION
    TouchEvent(WebKit::WebTouchEvent event)
#endif
#if NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION
    AddEvent(WebKit::WebTouchEvent event)
#endif
    LoadSomethingElse(String url)
#endif
    DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction)
    Close()

    PreferencesDidChange(WebKit::WebPreferencesStore store)
    SendDoubleAndFloat(double d, float f)
    SendInts(Vector<uint64_t> ints, Vector<Vector<uint64_t>> intVectors)

    CreatePlugin(uint64_t pluginInstanceID, WebKit::Plugin::Parameters parameters) -> (bool result)
    RunJavaScriptAlert(uint64_t frameID, String message) -> ()
    GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins)
    GetPluginProcessConnection(String pluginPath) -> (IPC::Connection::Handle connectionHandle) Synchronous

    TestMultipleAttributes() -> () Synchronous

    TestParameterAttributes([AttributeOne AttributeTwo] uint64_t foo, double bar, [AttributeThree] double baz)

    TemplateTest(HashMap<String, std::pair<String, uint64_t>> a)

    SetVideoLayerID(WebCore::PlatformLayerIdentifier videoLayerID)

#if PLATFORM(MAC)
    DidCreateWebProcessConnection(MachSendRight connectionIdentifier, OptionSet<WebKit::SelectionFlags> flags)
#endif

#if PLATFORM(MAC)
    # Keyboard support
    InterpretKeyEvent(uint32_t type) -> (Vector<WebCore::KeypressCommand> commandName)
#endif

#if ENABLE(DEPRECATED_FEATURE)
    DeprecatedOperation(IPC::DummyType dummy)
#endif

#if ENABLE(FEATURE_FOR_TESTING)
    ExperimentalOperation(IPC::DummyType dummy)
#endif
}

#endif
#endif
