10bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch/*
20bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch * Copyright (C) 2010 Igalia S.L
40bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
50bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Redistribution and use in source and binary forms, with or without
60bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * modification, are permitted provided that the following conditions
70bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * are met:
80bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
90bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 1.  Redistributions of source code must retain the above copyright
100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *     notice, this list of conditions and the following disclaimer.
110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 2.  Redistributions in binary form must reproduce the above copyright
120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *     notice, this list of conditions and the following disclaimer in the
130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *     documentation and/or other materials provided with the distribution.
140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *     its contributors may be used to endorse or promote products derived
160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *     from this software without specific prior written permission.
170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch */
290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#import "WebTypesInternal.h"
310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#import "WebDelegateImplementationCaching.h"
320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#import <WebCore/PlatformString.h>
330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#import <WebCore/WebCoreKeyboardUIMode.h>
340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#import <wtf/HashMap.h>
350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#import <wtf/RetainPtr.h>
360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochnamespace WebCore {
3881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    class HistoryItem;
390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    class Page;
400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@class WebInspector;
430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@class WebNodeHighlight;
440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@class WebPluginDatabase;
450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@class WebPreferences;
460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@class WebTextCompletionController;
470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@protocol WebFormDelegate;
485abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick@protocol WebDeviceOrientationProvider;
49d0825bca7fe65beaee391d30da42e937db621564Steve Block@protocol WebGeolocationProvider;
50231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if ENABLE(VIDEO)
51231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block@class WebVideoFullscreenController;
52231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
53cad810f21b803229eb11403f9209855525a25d57Steve Block#if ENABLE(FULLSCREEN_API)
54cad810f21b803229eb11403f9209855525a25d57Steve Block@class WebFullScreenController;
55cad810f21b803229eb11403f9209855525a25d57Steve Block#endif
560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochextern BOOL applicationIsTerminating;
580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochextern int pluginDatabaseClientCount;
590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch// FIXME: This should be renamed to WebViewData.
610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@interface WebViewPrivate : NSObject {
620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@public
630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebCore::Page* page;
640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id UIDelegate;
660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id UIDelegateForwarder;
670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id resourceProgressDelegate;
680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id downloadDelegate;
690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id policyDelegate;
700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id policyDelegateForwarder;
710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id frameLoadDelegate;
720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id frameLoadDelegateForwarder;
730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id <WebFormDelegate> formDelegate;
740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id editingDelegate;
750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id editingDelegateForwarder;
760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    id scriptDebugDelegate;
77231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    id historyDelegate;
780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebInspector *inspector;
800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebNodeHighlight *currentNodeHighlight;
810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL allowsUndo;
830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    float zoomMultiplier;
8568513a70bcd92384395513322f1b801e7bf9c729Steve Block    BOOL zoomsTextOnly;
860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSString *applicationNameForUserAgent;
88dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String userAgent;
890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL userAgentOverridden;
900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebPreferences *preferences;
920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL useSiteSpecificSpoofing;
930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSWindow *hostWindow;
950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    int programmaticFocusCount;
970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebResourceDelegateImplementationCache resourceLoadDelegateImplementations;
990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebFrameLoadDelegateImplementationCache frameLoadDelegateImplementations;
1000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebScriptDebugDelegateImplementationCache scriptDebugDelegateImplementations;
101231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    WebHistoryDelegateImplementationCache historyDelegateImplementations;
1020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    void *observationInfo;
1040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL closed;
1060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL shouldCloseWithWindow;
1070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL mainFrameDocumentReady;
1080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL drawsBackground;
1090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL tabKeyCyclesThroughElementsChanged;
1100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL becomingFirstResponder;
1110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL becomingFirstResponderFromOutside;
1120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL hoverFeedbackSuspended;
1130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL usesPageCache;
1140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL catchesDelegateExceptions;
115231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    BOOL cssAnimationsSuspended;
1160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSColor *backgroundColor;
1180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSString *mediaStyle;
1200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL hasSpellCheckerDocumentTag;
1220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSInteger spellCheckerDocumentTag;
1230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL smartInsertDeleteEnabled;
1250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL selectTrailingWhitespaceEnabled;
1260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#if ENABLE(DASHBOARD_SUPPORT)
1280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL dashboardBehaviorAlwaysSendMouseEventsToAllWindows;
1290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
1300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL dashboardBehaviorAlwaysAcceptsFirstMouse;
1310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL dashboardBehaviorAllowWheelScrolling;
1320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#endif
1330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    // WebKit has both a global plug-in database and a separate, per WebView plug-in database. Dashboard uses the per WebView database.
1350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebPluginDatabase *pluginDatabase;
1360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    HashMap<unsigned long, RetainPtr<id> > identifierMap;
1380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL _keyboardUIModeAccessed;
1400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebCore::KeyboardUIMode _keyboardUIMode;
1410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL shouldUpdateWhileOffscreen;
1430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
144e14391e94c850b8bd03680c23b38978db68687a8John Reck    // When this flag is unset, we will not make any subviews underneath this WebView.  This means no WebFrameViews and no WebHTMLViews.
1450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL usesDocumentViews;
146692e5dbf12901edacf14812a6fae25462920af42Steve Block
147692e5dbf12901edacf14812a6fae25462920af42Steve Block    BOOL includesFlattenedCompositingLayersWhenDrawingToBitmap;
1480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#if USE(ACCELERATED_COMPOSITING)
1500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    // When this flag is set, next time a WebHTMLView draws, it needs to temporarily disable screen updates
1510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    // so that the NSView drawing is visually synchronized with CALayer updates.
1520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL needsOneShotDrawingSynchronization;
153643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    BOOL postsAcceleratedCompositingNotifications;
1540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    // Run loop observer used to implement the compositing equivalent of -viewWillDraw
1550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    CFRunLoopObserverRef layerSyncRunLoopObserver;
1560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#endif
1570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSPasteboard *insertionPasteboard;
1590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSSize lastLayoutSize;
1610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL ignoringMouseDraggedEvents;
1630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSEvent *mouseDownEvent; // Kept after handling the event.
1650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    BOOL handlingMouseDownEvent;
1660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSEvent *keyDownEvent; // Kept after handling the event.
1670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    WebTextCompletionController *completionController;
1690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSTimer *autoscrollTimer;
1710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    NSEvent *autoscrollTriggerEvent;
1720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    CFRunLoopTimerRef updateMouseoverTimer;
174231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if ENABLE(VIDEO)
175231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    WebVideoFullscreenController *fullscreenController;
176231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
177cad810f21b803229eb11403f9209855525a25d57Steve Block
178cad810f21b803229eb11403f9209855525a25d57Steve Block#if ENABLE(FULLSCREEN_API)
179cad810f21b803229eb11403f9209855525a25d57Steve Block    WebFullScreenController *newFullscreenController;
180cad810f21b803229eb11403f9209855525a25d57Steve Block#endif
181d0825bca7fe65beaee391d30da42e937db621564Steve Block
182a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch#if ENABLE(GLIB_SUPPORT)
183ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block    CFRunLoopObserverRef glibRunLoopObserver;
184ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block#endif
185d0825bca7fe65beaee391d30da42e937db621564Steve Block    id<WebGeolocationProvider> _geolocationProvider;
1865abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick    id<WebDeviceOrientationProvider> m_deviceOrientationProvider;
18781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
18881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    RefPtr<WebCore::HistoryItem> _globalHistoryItem;
1892bde8e466a4451c7319e3a072d118917957d6554Steve Block
1902bde8e466a4451c7319e3a072d118917957d6554Steve Block    BOOL interactiveFormValidationEnabled;
1912bde8e466a4451c7319e3a072d118917957d6554Steve Block    int validationMessageTimerMagnification;
1920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch@end
194