1/*
2 * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1.  Redistributions of source code must retain the above copyright
9 *     notice, this list of conditions and the following disclaimer.
10 * 2.  Redistributions in binary form must reproduce the above copyright
11 *     notice, this list of conditions and the following disclaimer in the
12 *     documentation and/or other materials provided with the distribution.
13 * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14 *     its contributors may be used to endorse or promote products derived
15 *     from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef FrameLoaderTypes_h
30#define FrameLoaderTypes_h
31
32namespace WebCore {
33
34    enum FrameState {
35        FrameStateProvisional,
36        // This state indicates we are ready to commit to a page,
37        // which means the view will transition to use the new data source.
38        FrameStateCommittedPage,
39        FrameStateComplete
40    };
41
42    enum PolicyAction {
43        PolicyUse,
44        PolicyDownload,
45        PolicyIgnore
46    };
47
48    // NOTE: Keep in sync with WebKit/mac/WebView/WebFramePrivate.h and WebKit/win/Interfaces/IWebFramePrivate.idl
49    enum FrameLoadType {
50        FrameLoadTypeStandard,
51        FrameLoadTypeBack,
52        FrameLoadTypeForward,
53        FrameLoadTypeIndexedBackForward, // a multi-item hop in the backforward list
54        FrameLoadTypeReload,
55        // Skipped value: 'FrameLoadTypeReloadAllowingStaleData', still present in mac/win public API. Ready to be reused
56        FrameLoadTypeSame = FrameLoadTypeReload + 2, // user loads same URL again (but not reload button)
57        FrameLoadTypeRedirectWithLockedBackForwardList, // FIXME: Merge "lockBackForwardList", "lockHistory", "quickRedirect" and "clientRedirect" into a single concept of redirect.
58        FrameLoadTypeReplace,
59        FrameLoadTypeReloadFromOrigin,
60    };
61
62    enum NavigationType {
63        NavigationTypeLinkClicked,
64        NavigationTypeFormSubmitted,
65        NavigationTypeBackForward,
66        NavigationTypeReload,
67        NavigationTypeFormResubmitted,
68        NavigationTypeOther
69    };
70
71    enum ClearProvisionalItemPolicy {
72        ShouldClearProvisionalItem,
73        ShouldNotClearProvisionalItem
74    };
75
76    enum ObjectContentType {
77        ObjectContentNone,
78        ObjectContentImage,
79        ObjectContentFrame,
80        ObjectContentNetscapePlugin,
81        ObjectContentOtherPlugin
82    };
83
84    enum UnloadEventPolicy {
85        UnloadEventPolicyNone,
86        UnloadEventPolicyUnloadOnly,
87        UnloadEventPolicyUnloadAndPageHide
88    };
89
90    enum ShouldSendReferrer {
91        MaybeSendReferrer,
92        NeverSendReferrer
93    };
94
95    // Passed to FrameLoader::urlSelected() and ScriptController::executeIfJavaScriptURL()
96    // to control whether, in the case of a JavaScript URL, executeIfJavaScriptURL() should
97    // replace the document.  It is a FIXME to eliminate this extra parameter from
98    // executeIfJavaScriptURL(), in which case this enum can go away.
99    enum ShouldReplaceDocumentIfJavaScriptURL {
100        ReplaceDocumentIfJavaScriptURL,
101        DoNotReplaceDocumentIfJavaScriptURL
102    };
103
104    enum ReasonForCallingAllowPlugins {
105        AboutToInstantiatePlugin,
106        NotAboutToInstantiatePlugin
107    };
108
109}
110
111#endif
112