diff options
| author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
| commit | cfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch) | |
| tree | 24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp | |
| parent | 69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff) | |
| download | qtwebkit-cfd86b747d32ac22246a1aa908eaa720c63a88c1.tar.gz | |
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp')
| -rw-r--r-- | Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp b/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp new file mode 100644 index 000000000..7a470ff84 --- /dev/null +++ b/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2011 Samsung Electronics + * Copyright (C) 2012 Intel Corporation. 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 "PageClientDefaultImpl.h" + +#include "EwkViewImpl.h" + +#if USE(TILED_BACKING_STORE) +#include "PageViewportController.h" +#include "PageViewportControllerClientEfl.h" +#endif + +using namespace WebCore; +using namespace EwkViewCallbacks; + +namespace WebKit { + +PageClientDefaultImpl::PageClientDefaultImpl(EwkViewImpl* viewImpl) + : PageClientBase(viewImpl) +{ +} + +void PageClientDefaultImpl::didCommitLoad() +{ +#if USE(TILED_BACKING_STORE) + ASSERT(m_pageViewportController); + m_pageViewportController->didCommitLoad(); +#endif +} + +void PageClientDefaultImpl::updateViewportSize(const WebCore::IntSize& size) +{ +#if USE(TILED_BACKING_STORE) + if (!m_pageViewportControllerClient) { + m_pageViewportControllerClient = PageViewportControllerClientEfl::create(m_viewImpl); + m_pageViewportController = adoptPtr(new PageViewportController(m_viewImpl->page(), m_pageViewportControllerClient.get())); + } + m_pageViewportControllerClient->updateViewportSize(size); +#else + UNUSED_PARAM(size); +#endif +} + +void PageClientDefaultImpl::didChangeViewportProperties(const WebCore::ViewportAttributes& attr) +{ +#if USE(TILED_BACKING_STORE) + ASSERT(m_pageViewportController); + m_pageViewportController->didChangeViewportAttributes(attr); +#else + UNUSED_PARAM(attr); +#endif +} + +void PageClientDefaultImpl::didChangeContentsSize(const WebCore::IntSize& size) +{ +#if USE(TILED_BACKING_STORE) + ASSERT(m_pageViewportController); + m_pageViewportController->didChangeContentsSize(size); +#else + m_viewImpl->informContentsSizeChange(size); +#endif +} + +#if USE(TILED_BACKING_STORE) +void PageClientDefaultImpl::pageDidRequestScroll(const IntPoint& position) +{ + ASSERT(m_pageViewportController); + m_pageViewportController->pageDidRequestScroll(position); +} + +void PageClientDefaultImpl::didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect) +{ + ASSERT(m_pageViewportController); + m_pageViewportController->didRenderFrame(contentsSize, coveredRect); +} + +void PageClientDefaultImpl::pageTransitionViewportReady() +{ + ASSERT(m_pageViewportController); + m_pageViewportController->pageTransitionViewportReady(); +} +#endif + +} // namespace WebKit |
