1 /* 2 * Copyright (C) 2005 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 #import <WebKit/WebFrameView.h> 30 31 @interface WebFrameView (WebPrivate) 32 33 // FIXME: This method was used by Safari 4.0.x and older versions, but has not been used by any other WebKit 34 // clients to my knowledge, and will not be used by future versions of Safari. It can probably be removed 35 // once we no longer need to keep nightly WebKit builds working with Safari 4.0.x and earlier. 36 /*! 37 @method _largestChildWithScrollBars 38 @abstract Of the child WebFrameViews that are displaying scroll bars, determines which has the largest area. 39 @result A child WebFrameView that is displaying scroll bars, or nil if none. 40 */ 41 - (WebFrameView *)_largestChildWithScrollBars; 42 43 // FIXME: This method was used by Safari 4.0.x and older versions, but has not been used by any other WebKit 44 // clients to my knowledge, and will not be used by future versions of Safari. It can probably be removed 45 // once we no longer need to keep nightly WebKit builds working with Safari 4.0.x and earlier. 46 /*! 47 @method _hasScrollBars 48 @result YES if at least one scroll bar is currently displayed 49 */ 50 - (BOOL)_hasScrollBars; 51 52 /*! 53 @method _largestScrollableChild 54 @abstract Of the child WebFrameViews that allow scrolling, determines which has the largest area. 55 @result A child WebFrameView that is scrollable, or nil if none. 56 */ 57 - (WebFrameView *)_largestScrollableChild; 58 59 /*! 60 @method _isScrollable 61 @result YES if scrolling is currently possible, whether or not scroll bars are currently showing. This 62 differs from -allowsScrolling in that the latter method only checks whether scrolling has been 63 explicitly disallowed via a call to setAllowsScrolling:NO. 64 */ 65 - (BOOL)_isScrollable; 66 67 /*! 68 @method _contentView 69 @result The content view (NSClipView) of the WebFrameView's scroll view. 70 */ 71 - (NSClipView *)_contentView; 72 73 /*! 74 @method _customScrollViewClass 75 @result The custom scroll view class that is installed, nil if the default scroll view is being used. 76 */ 77 - (Class)_customScrollViewClass; 78 79 /*! 80 @method _setCustomScrollViewClass: 81 @result Switches the WebFrameView's scroll view class, this class needs to be a subclass of WebDynamicScrollBarsView. 82 Passing nil will switch back to the default WebDynamicScrollBarsView class. 83 */ 84 - (void)_setCustomScrollViewClass:(Class)scrollViewClass; 85 86 @end 87