Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1191)

Unified Diff: Source/web/WebPluginScrollbarImpl.cpp

Issue 1156243002: Delete WebPluginScrollbar and friends (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/web/WebPluginScrollbarImpl.h ('k') | Source/web/WebViewImpl.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/WebPluginScrollbarImpl.cpp
diff --git a/Source/web/WebPluginScrollbarImpl.cpp b/Source/web/WebPluginScrollbarImpl.cpp
deleted file mode 100644
index 5da18b4ebeee3a4b99746ffdd9e1761b95cfdf6e..0000000000000000000000000000000000000000
--- a/Source/web/WebPluginScrollbarImpl.cpp
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * Copyright (C) 2012 Google 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
- */
-
-#include "config.h"
-#include "web/WebPluginScrollbarImpl.h"
-
-#include "platform/KeyboardCodes.h"
-#include "platform/graphics/GraphicsContext.h"
-#include "platform/scroll/ScrollAnimator.h"
-#include "platform/scroll/ScrollTypes.h"
-#include "platform/scroll/Scrollbar.h"
-#include "platform/scroll/ScrollbarTheme.h"
-#include "public/platform/WebCanvas.h"
-#include "public/platform/WebRect.h"
-#include "public/platform/WebVector.h"
-#include "public/web/WebInputEvent.h"
-#include "public/web/WebPluginScrollbarClient.h"
-#include "web/ScrollbarGroup.h"
-#include "web/WebInputEventConversion.h"
-#include "web/WebPluginContainerImpl.h"
-#include "web/WebViewImpl.h"
-
-namespace blink {
-
-WebPluginScrollbar* WebPluginScrollbar::createForPlugin(Orientation orientation,
- WebPluginContainer* pluginContainer,
- WebPluginScrollbarClient* client)
-{
- WebPluginContainerImpl* plugin = toWebPluginContainerImpl(pluginContainer);
- return new WebPluginScrollbarImpl(orientation, plugin->scrollbarGroup(), client);
-}
-
-int WebPluginScrollbar::defaultThickness()
-{
- return ScrollbarTheme::theme()->scrollbarThickness();
-}
-
-WebPluginScrollbarImpl::WebPluginScrollbarImpl(Orientation orientation,
- ScrollbarGroup* group,
- WebPluginScrollbarClient* client)
- : m_group(group)
- , m_client(client)
- , m_scrollOffset(0)
-{
- m_scrollbar = Scrollbar::create(
- static_cast<ScrollableArea*>(m_group),
- static_cast<ScrollbarOrientation>(orientation),
- blink::RegularScrollbar);
- m_group->scrollbarCreated(this);
-}
-
-WebPluginScrollbarImpl::~WebPluginScrollbarImpl()
-{
- m_group->scrollbarDestroyed(this);
-}
-
-void WebPluginScrollbarImpl::setScrollOffset(int scrollOffset)
-{
- m_scrollOffset = scrollOffset;
- m_client->valueChanged(this);
-}
-
-void WebPluginScrollbarImpl::invalidateScrollbarRect(const IntRect& rect)
-{
- WebRect webrect(rect);
- webrect.x += m_scrollbar->x();
- webrect.y += m_scrollbar->y();
- m_client->invalidateScrollbarRect(this, webrect);
-}
-
-void WebPluginScrollbarImpl::getTickmarks(Vector<IntRect>& tickmarks) const
-{
- WebVector<WebRect> ticks;
- m_client->getTickmarks(const_cast<WebPluginScrollbarImpl*>(this), &ticks);
- tickmarks.resize(ticks.size());
- for (size_t i = 0; i < ticks.size(); ++i)
- tickmarks[i] = ticks[i];
-}
-
-IntPoint WebPluginScrollbarImpl::convertFromContainingViewToScrollbar(const IntPoint& parentPoint) const
-{
- IntPoint offset(parentPoint.x() - m_scrollbar->x(), parentPoint.y() - m_scrollbar->y());
- return m_scrollbar->Widget::convertFromContainingView(offset);
-}
-
-void WebPluginScrollbarImpl::scrollbarStyleChanged()
-{
- m_client->overlayChanged(this);
-}
-
-bool WebPluginScrollbarImpl::isOverlay() const
-{
- return m_scrollbar->isOverlayScrollbar();
-}
-
-int WebPluginScrollbarImpl::value() const
-{
- return m_scrollOffset;
-}
-
-WebPoint WebPluginScrollbarImpl::location() const
-{
- return m_scrollbar->frameRect().location();
-}
-
-WebSize WebPluginScrollbarImpl::size() const
-{
- return m_scrollbar->frameRect().size();
-}
-
-bool WebPluginScrollbarImpl::enabled() const
-{
- return m_scrollbar->enabled();
-}
-
-int WebPluginScrollbarImpl::maximum() const
-{
- return m_scrollbar->maximum();
-}
-
-int WebPluginScrollbarImpl::totalSize() const
-{
- return m_scrollbar->totalSize();
-}
-
-bool WebPluginScrollbarImpl::isScrollableAreaActive() const
-{
- return m_scrollbar->isScrollableAreaActive();
-}
-
-void WebPluginScrollbarImpl::getTickmarks(WebVector<WebRect>& tickmarks) const
-{
- m_client->getTickmarks(const_cast<WebPluginScrollbarImpl*>(this), &tickmarks);
-}
-
-WebScrollbar::ScrollbarControlSize WebPluginScrollbarImpl::controlSize() const
-{
- return static_cast<WebScrollbar::ScrollbarControlSize>(m_scrollbar->controlSize());
-}
-
-WebScrollbar::ScrollbarPart WebPluginScrollbarImpl::pressedPart() const
-{
- return static_cast<WebScrollbar::ScrollbarPart>(m_scrollbar->pressedPart());
-}
-
-WebScrollbar::ScrollbarPart WebPluginScrollbarImpl::hoveredPart() const
-{
- return static_cast<WebScrollbar::ScrollbarPart>(m_scrollbar->hoveredPart());
-}
-
-WebScrollbar::ScrollbarOverlayStyle WebPluginScrollbarImpl::scrollbarOverlayStyle() const
-{
- return static_cast<WebScrollbar::ScrollbarOverlayStyle>(m_scrollbar->scrollbarOverlayStyle());
-}
-
-WebScrollbar::Orientation WebPluginScrollbarImpl::orientation() const
-{
- if (m_scrollbar->orientation() == HorizontalScrollbar)
- return WebScrollbar::Horizontal;
- return WebScrollbar::Vertical;
-}
-
-bool WebPluginScrollbarImpl::isLeftSideVerticalScrollbar() const
-{
- return false;
-}
-
-bool WebPluginScrollbarImpl::isCustomScrollbar() const
-{
- return m_scrollbar->isCustomScrollbar();
-}
-
-void WebPluginScrollbarImpl::setLocation(const WebRect& rect)
-{
- IntRect oldRect = m_scrollbar->frameRect();
- m_scrollbar->setFrameRect(rect);
- if (WebRect(oldRect) != rect)
- m_scrollbar->invalidate();
-
- int length = m_scrollbar->orientation() == HorizontalScrollbar ? m_scrollbar->width() : m_scrollbar->height();
- m_scrollbar->setEnabled(m_scrollbar->totalSize() > length);
- m_scrollbar->setProportion(length, m_scrollbar->totalSize());
-}
-
-void WebPluginScrollbarImpl::setValue(int position)
-{
- m_group->scrollToOffsetWithoutAnimation(m_scrollbar->orientation(), static_cast<float>(position));
-}
-
-void WebPluginScrollbarImpl::setDocumentSize(int size)
-{
- int length = m_scrollbar->orientation() == HorizontalScrollbar ? m_scrollbar->width() : m_scrollbar->height();
- m_scrollbar->setEnabled(size > length);
- m_scrollbar->setProportion(length, size);
-}
-
-void WebPluginScrollbarImpl::scroll(ScrollDirection direction, ScrollGranularity granularity, float multiplier)
-{
- blink::ScrollDirectionPhysical dir;
- bool horizontal = m_scrollbar->orientation() == HorizontalScrollbar;
- if (direction == ScrollForward)
- dir = horizontal ? ScrollRight : ScrollDown;
- else
- dir = horizontal ? ScrollLeft : ScrollUp;
-
- m_group->scroll(dir, static_cast<blink::ScrollGranularity>(granularity), multiplier);
-}
-
-void WebPluginScrollbarImpl::paint(WebCanvas* canvas, const WebRect& rect)
-{
- OwnPtr<GraphicsContext> context = GraphicsContext::deprecatedCreateWithCanvas(canvas);
- m_scrollbar->paint(context.get(), rect);
-}
-
-bool WebPluginScrollbarImpl::handleInputEvent(const WebInputEvent& event)
-{
- switch (event.type) {
- case WebInputEvent::MouseDown:
- return onMouseDown(event);
- case WebInputEvent::MouseUp:
- return onMouseUp(event);
- case WebInputEvent::MouseMove:
- return onMouseMove(event);
- case WebInputEvent::MouseLeave:
- return onMouseLeave(event);
- case WebInputEvent::MouseWheel:
- return onMouseWheel(event);
- case WebInputEvent::KeyDown:
- return onKeyDown(event);
- case WebInputEvent::Undefined:
- case WebInputEvent::MouseEnter:
- case WebInputEvent::RawKeyDown:
- case WebInputEvent::KeyUp:
- case WebInputEvent::Char:
- case WebInputEvent::TouchStart:
- case WebInputEvent::TouchMove:
- case WebInputEvent::TouchEnd:
- case WebInputEvent::TouchCancel:
- default:
- break;
- }
- return false;
-}
-
-bool WebPluginScrollbarImpl::isAlphaLocked() const
-{
- return m_scrollbar->isAlphaLocked();
-}
-
-void WebPluginScrollbarImpl::setIsAlphaLocked(bool flag)
-{
- return m_scrollbar->setIsAlphaLocked(flag);
-}
-
-bool WebPluginScrollbarImpl::onMouseDown(const WebInputEvent& event)
-{
- WebMouseEvent mousedown = static_cast<const WebMouseEvent&>(event);
- if (!m_scrollbar->frameRect().contains(mousedown.x, mousedown.y))
- return false;
-
- mousedown.x -= m_scrollbar->x();
- mousedown.y -= m_scrollbar->y();
- m_scrollbar->mouseDown(PlatformMouseEventBuilder(m_scrollbar.get(), mousedown));
- return true;
-}
-
-bool WebPluginScrollbarImpl::onMouseUp(const WebInputEvent& event)
-{
- WebMouseEvent mouseup = static_cast<const WebMouseEvent&>(event);
- if (m_scrollbar->pressedPart() == blink::NoPart)
- return false;
-
- m_scrollbar->mouseUp(PlatformMouseEventBuilder(m_scrollbar.get(), mouseup));
- return true;
-}
-
-bool WebPluginScrollbarImpl::onMouseMove(const WebInputEvent& event)
-{
- WebMouseEvent mousemove = static_cast<const WebMouseEvent&>(event);
- if (m_scrollbar->frameRect().contains(mousemove.x, mousemove.y)
- || m_scrollbar->pressedPart() != blink::NoPart) {
- mousemove.x -= m_scrollbar->x();
- mousemove.y -= m_scrollbar->y();
- m_scrollbar->mouseMoved(PlatformMouseEventBuilder(m_scrollbar.get(), mousemove));
- return true;
- }
-
- if (m_scrollbar->hoveredPart() != blink::NoPart && !m_scrollbar->isOverlayScrollbar())
- m_scrollbar->mouseExited();
- return false;
-}
-
-bool WebPluginScrollbarImpl::onMouseLeave(const WebInputEvent& event)
-{
- if (m_scrollbar->hoveredPart() != blink::NoPart)
- m_scrollbar->mouseExited();
-
- return false;
-}
-
-bool WebPluginScrollbarImpl::onMouseWheel(const WebInputEvent& event)
-{
- WebMouseWheelEvent mousewheel = static_cast<const WebMouseWheelEvent&>(event);
- PlatformWheelEventBuilder platformEvent(m_scrollbar.get(), mousewheel);
- return m_group->handleWheel(platformEvent).didScroll;
-}
-
-bool WebPluginScrollbarImpl::onKeyDown(const WebInputEvent& event)
-{
- WebKeyboardEvent keyboard = static_cast<const WebKeyboardEvent&>(event);
- int keyCode;
- // We have to duplicate this logic from WebViewImpl because there it uses
- // Char and RawKeyDown events, which don't exist at this point.
- if (keyboard.windowsKeyCode == VKEY_SPACE)
- keyCode = ((keyboard.modifiers & WebInputEvent::ShiftKey) ? VKEY_PRIOR : VKEY_NEXT);
- else {
- if (keyboard.modifiers == WebInputEvent::ControlKey) {
- // Match FF behavior in the sense that Ctrl+home/end are the only Ctrl
- // key combinations which affect scrolling. Safari is buggy in the
- // sense that it scrolls the page for all Ctrl+scrolling key
- // combinations. For e.g. Ctrl+pgup/pgdn/up/down, etc.
- switch (keyboard.windowsKeyCode) {
- case VKEY_HOME:
- case VKEY_END:
- break;
- default:
- return false;
- }
- }
-
- if (keyboard.isSystemKey || (keyboard.modifiers & WebInputEvent::ShiftKey))
- return false;
-
- keyCode = keyboard.windowsKeyCode;
- }
- blink::ScrollDirectionPhysical scrollDirection;
- blink::ScrollGranularity scrollGranularity;
- if (WebViewImpl::mapKeyCodeForScroll(keyCode, &scrollDirection, &scrollGranularity)) {
- // Will return false if scroll direction wasn't compatible with this scrollbar.
- return m_group->scroll(scrollDirection, scrollGranularity);
- }
- return false;
-}
-
-float WebPluginScrollbarImpl::elasticOverscroll() const
-{
- return m_scrollbar->elasticOverscroll();
-}
-
-void WebPluginScrollbarImpl::setElasticOverscroll(float elasticOverscroll)
-{
- m_scrollbar->setElasticOverscroll(elasticOverscroll);
-}
-
-} // namespace blink
« no previous file with comments | « Source/web/WebPluginScrollbarImpl.h ('k') | Source/web/WebViewImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698