| Index: Source/WebCore/platform/mac/ScrollViewMac.mm
|
| diff --git a/Source/WebCore/platform/mac/ScrollViewMac.mm b/Source/WebCore/platform/mac/ScrollViewMac.mm
|
| deleted file mode 100644
|
| index 1e9fe3fa8b2f2030f5d80169ef46bb66a75e8ff3..0000000000000000000000000000000000000000
|
| --- a/Source/WebCore/platform/mac/ScrollViewMac.mm
|
| +++ /dev/null
|
| @@ -1,227 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2004, 2006, 2007, 2008 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 COMPUTER, INC. ``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 COMPUTER, INC. OR
|
| - * 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.
|
| - */
|
| -
|
| -#import "config.h"
|
| -#import "ScrollView.h"
|
| -
|
| -#import "BlockExceptions.h"
|
| -#import "FloatRect.h"
|
| -#import "IntRect.h"
|
| -#import "Logging.h"
|
| -#import "NotImplemented.h"
|
| -#import "WebCoreFrameView.h"
|
| -#import <wtf/UnusedParam.h>
|
| -
|
| -using namespace std;
|
| -
|
| -@interface NSWindow (WebWindowDetails)
|
| -- (BOOL)_needsToResetDragMargins;
|
| -- (void)_setNeedsToResetDragMargins:(BOOL)needs;
|
| -@end
|
| -
|
| -namespace WebCore {
|
| -
|
| -inline NSScrollView<WebCoreFrameScrollView> *ScrollView::scrollView() const
|
| -{
|
| - ASSERT(!platformWidget() || [platformWidget() isKindOfClass:[NSScrollView class]]);
|
| - ASSERT(!platformWidget() || [platformWidget() conformsToProtocol:@protocol(WebCoreFrameScrollView)]);
|
| - return static_cast<NSScrollView<WebCoreFrameScrollView> *>(platformWidget());
|
| -}
|
| -
|
| -NSView *ScrollView::documentView() const
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - return [scrollView() documentView];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| - return nil;
|
| -}
|
| -
|
| -void ScrollView::platformAddChild(Widget* child)
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - NSView *parentView = documentView();
|
| - NSView *childView = child->getOuterView();
|
| - ASSERT(![parentView isDescendantOf:childView]);
|
| -
|
| - // Suppress the resetting of drag margins since we know we can't affect them.
|
| - NSWindow *window = [parentView window];
|
| - BOOL resetDragMargins = [window _needsToResetDragMargins];
|
| - [window _setNeedsToResetDragMargins:NO];
|
| - if ([childView superview] != parentView)
|
| - [parentView addSubview:childView];
|
| - [window _setNeedsToResetDragMargins:resetDragMargins];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -void ScrollView::platformRemoveChild(Widget* child)
|
| -{
|
| - child->removeFromSuperview();
|
| -}
|
| -
|
| -void ScrollView::platformSetScrollbarModes()
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - [scrollView() setScrollingModes:m_horizontalScrollbarMode vertical:m_verticalScrollbarMode andLock:NO];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -void ScrollView::platformScrollbarModes(ScrollbarMode& horizontal, ScrollbarMode& vertical) const
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - [scrollView() scrollingModes:&horizontal vertical:&vertical];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -void ScrollView::platformSetCanBlitOnScroll(bool canBlitOnScroll)
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - [[scrollView() contentView] setCopiesOnScroll:canBlitOnScroll];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -bool ScrollView::platformCanBlitOnScroll() const
|
| -{
|
| - return [[scrollView() contentView] copiesOnScroll];
|
| -}
|
| -
|
| -IntRect ScrollView::platformVisibleContentRect(bool includeScrollbars) const
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - IntRect result = enclosingIntRect([scrollView() documentVisibleRect]);
|
| - if (includeScrollbars)
|
| - result.setSize(IntSize([scrollView() frame].size));
|
| - return result;
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| - return IntRect();
|
| -}
|
| -
|
| -void ScrollView::platformSetContentsSize()
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - int w = m_contentsSize.width();
|
| - int h = m_contentsSize.height();
|
| - LOG(Frames, "%p %@ at w %d h %d\n", documentView(), [(id)[documentView() class] className], w, h);
|
| - [documentView() setFrameSize:NSMakeSize(max(0, w), max(0, h))];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -void ScrollView::platformSetScrollbarsSuppressed(bool repaintOnUnsuppress)
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - [scrollView() setScrollBarsSuppressed:m_scrollbarsSuppressed
|
| - repaintOnUnsuppress:repaintOnUnsuppress];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -void ScrollView::platformSetScrollPosition(const IntPoint& scrollPoint)
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - NSPoint floatPoint = scrollPoint;
|
| - NSPoint tempPoint = { max(-[scrollView() scrollOrigin].x, floatPoint.x), max(-[scrollView() scrollOrigin].y, floatPoint.y) }; // Don't use NSMakePoint to work around 4213314.
|
| - [documentView() scrollPoint:tempPoint];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -bool ScrollView::platformScroll(ScrollDirection, ScrollGranularity)
|
| -{
|
| - // FIXME: It would be nice to implement this so that all of the code in WebFrameView could go away.
|
| - notImplemented();
|
| - return false;
|
| -}
|
| -
|
| -void ScrollView::platformRepaintContentRectangle(const IntRect& rect, bool now)
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - NSView *view = documentView();
|
| - [view setNeedsDisplayInRect:rect];
|
| - if (now) {
|
| - [[view window] displayIfNeeded];
|
| - [[view window] flushWindowIfNeeded];
|
| - }
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -// "Containing Window" means the NSWindow's coord system, which is origin lower left
|
| -
|
| -IntRect ScrollView::platformContentsToScreen(const IntRect& rect) const
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - if (NSView* documentView = this->documentView()) {
|
| - NSRect tempRect = rect;
|
| - tempRect = [documentView convertRect:tempRect toView:nil];
|
| - tempRect.origin = [[documentView window] convertBaseToScreen:tempRect.origin];
|
| - return enclosingIntRect(tempRect);
|
| - }
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| - return IntRect();
|
| -}
|
| -
|
| -IntPoint ScrollView::platformScreenToContents(const IntPoint& point) const
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - if (NSView* documentView = this->documentView()) {
|
| - NSPoint windowCoord = [[documentView window] convertScreenToBase: point];
|
| - return IntPoint([documentView convertPoint:windowCoord fromView:nil]);
|
| - }
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| - return IntPoint();
|
| -}
|
| -
|
| -bool ScrollView::platformIsOffscreen() const
|
| -{
|
| - return ![platformWidget() window] || ![[platformWidget() window] isVisible];
|
| -}
|
| -
|
| -#if USE(SCROLLBAR_PAINTER)
|
| -static inline NSScrollerKnobStyle toNSScrollerKnobStyle(ScrollbarOverlayStyle style)
|
| -{
|
| - switch (style) {
|
| - case ScrollbarOverlayStyleDark:
|
| - return NSScrollerKnobStyleDark;
|
| - case ScrollbarOverlayStyleLight:
|
| - return NSScrollerKnobStyleLight;
|
| - default:
|
| - return NSScrollerKnobStyleDefault;
|
| - }
|
| -}
|
| -#endif
|
| -
|
| -void ScrollView::platformSetScrollbarOverlayStyle(ScrollbarOverlayStyle overlayStyle)
|
| -{
|
| -#if USE(SCROLLBAR_PAINTER)
|
| - [scrollView() setScrollerKnobStyle:toNSScrollerKnobStyle(overlayStyle)];
|
| -#else
|
| - UNUSED_PARAM(overlayStyle);
|
| -#endif
|
| -}
|
| -
|
| -void ScrollView::platformSetScrollOrigin(const IntPoint& origin, bool updatePositionAtAll, bool updatePositionSynchronously)
|
| -{
|
| - BEGIN_BLOCK_OBJC_EXCEPTIONS;
|
| - [scrollView() setScrollOrigin:origin updatePositionAtAll:updatePositionAtAll immediately:updatePositionSynchronously];
|
| - END_BLOCK_OBJC_EXCEPTIONS;
|
| -}
|
| -
|
| -} // namespace WebCore
|
|
|