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 32 namespace 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 FrameLoadTypeBackWMLDeckNotAccessible 61 }; 62 63 enum NavigationType { 64 NavigationTypeLinkClicked, 65 NavigationTypeFormSubmitted, 66 NavigationTypeBackForward, 67 NavigationTypeReload, 68 NavigationTypeFormResubmitted, 69 NavigationTypeOther 70 }; 71 72 enum ClearProvisionalItemPolicy { 73 ShouldClearProvisionalItem, 74 ShouldNotClearProvisionalItem 75 }; 76 77 enum ObjectContentType { 78 ObjectContentNone, 79 ObjectContentImage, 80 ObjectContentFrame, 81 ObjectContentNetscapePlugin, 82 ObjectContentOtherPlugin 83 }; 84 85 enum UnloadEventPolicy { 86 UnloadEventPolicyNone, 87 UnloadEventPolicyUnloadOnly, 88 UnloadEventPolicyUnloadAndPageHide 89 }; 90 91 enum ReferrerPolicy { 92 SendReferrer, 93 NoReferrer 94 }; 95 96 enum SandboxFlag { 97 SandboxNone = 0, 98 SandboxNavigation = 1, 99 SandboxPlugins = 1 << 1, 100 SandboxOrigin = 1 << 2, 101 SandboxForms = 1 << 3, 102 SandboxScripts = 1 << 4, 103 SandboxTopNavigation = 1 << 5, 104 SandboxAll = -1 // Mask with all bits set to 1. 105 }; 106 107 enum SecurityCheckPolicy { 108 SkipSecurityCheck, 109 DoSecurityCheck 110 }; 111 112 // Passed to FrameLoader::urlSelected() and ScriptController::executeIfJavaScriptURL() 113 // to control whether, in the case of a JavaScript URL, executeIfJavaScriptURL() should 114 // replace the document. It is a FIXME to eliminate this extra parameter from 115 // executeIfJavaScriptURL(), in which case this enum can go away. 116 enum ShouldReplaceDocumentIfJavaScriptURL { 117 ReplaceDocumentIfJavaScriptURL, 118 DoNotReplaceDocumentIfJavaScriptURL 119 }; 120 121 enum ReasonForCallingAllowPlugins { 122 AboutToInstantiatePlugin, 123 NotAboutToInstantiatePlugin 124 }; 125 126 typedef int SandboxFlags; 127 } 128 129 #endif 130