Begin disentangling of scrollbar logic in preparation for engine-implemented
        scrollbars.  Split ScrollBar into two classes, an abstract base (still named
        ScrollBar) and a new PlatformScrollBar subclass.  This subclass is used only
        by platforms that want to continue to use a platform scrollbar (rather than
        the engine one).

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLCanvasElement.h:
        * page/Frame.cpp:
        * platform/PlatformScrollBar.h: Added.
        (WebCore::PlatformScrollBar::isWidget):
        * platform/ScrollBar.h:
        (WebCore::ScrollBarClient::~ScrollBarClient):
        (WebCore::ScrollBar::~ScrollBar):
        (WebCore::ScrollBar::orientation):
        (WebCore::ScrollBar::value):
        (WebCore::ScrollBar::client):
        * platform/mac/PlatformScrollBarMac.mm: Added.
        (-[WebCoreScrollBar initWithPlatformScrollBar:]):
        (-[WebCoreScrollBar detachPlatformScrollBar]):
        (-[WebCoreScrollBar scroll:]):
        (-[WebCoreScrollBar widget]):
        (-[WebCoreScrollBar mouseDown:]):
        (WebCore::PlatformScrollBar::PlatformScrollBar):
        (WebCore::PlatformScrollBar::~PlatformScrollBar):
        (WebCore::PlatformScrollBar::setScrollBarValue):
        (WebCore::PlatformScrollBar::setKnobProportion):
        (WebCore::PlatformScrollBar::scrollbarHit):
        (WebCore::PlatformScrollBar::width):
        (WebCore::PlatformScrollBar::height):
        (WebCore::PlatformScrollBar::setRect):
        (WebCore::PlatformScrollBar::setEnabled):
        (WebCore::PlatformScrollBar::paint):
        * platform/mac/ScrollBarMac.mm: Removed.
        * platform/mac/WebCoreTextArea.mm:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInScrollbar):
        * rendering/RenderFormElement.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::horizontalScrollbarWidget):
        (WebCore::RenderLayer::verticalScrollbarWidget):
        (WebCore::RenderLayer::valueChanged):
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        (WebCore::RenderLayer::positionScrollbars):
        * rendering/RenderLayer.h:
        * rendering/RenderWidget.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/html/HTMLCanvasElement.h b/WebCore/html/HTMLCanvasElement.h
index be5f3ca..3dce289 100644
--- a/WebCore/html/HTMLCanvasElement.h
+++ b/WebCore/html/HTMLCanvasElement.h
@@ -40,6 +40,7 @@
 class CanvasRenderingContext2D;
 typedef CanvasRenderingContext2D CanvasRenderingContext;
 class FloatRect;
+class GraphicsContext;
 
 class HTMLCanvasElement : public HTMLElement {
 public: