1. 03 Feb, 2012 7 commits
    • alexis.menard@openbossa.org's avatar
      REGRESSION (r105401-105403): Blue flash on css border transition · 4c76b635
      alexis.menard@openbossa.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77491
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      The new blend function added with r105403 takes unsigned as parameters therefore
      we have to be careful to not overflow in case the to is less than from (animating
      from 400 to 0 for example).
      
      Test: animations/animation-border-overflow.html
      
      * platform/animation/AnimationUtilities.h:
      (WebCore::blend):
      
      LayoutTests:
      
      * animations/animation-border-overflow-expected.txt: Added.
      * animations/animation-border-overflow.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c76b635
    • commit-queue@webkit.org's avatar
      [Chromium] ImageBufferSkia: remove unnecessary overload of flush in · 6c1f0f02
      commit-queue@webkit.org authored
      AcceleratedDeviceContext
      https://bugs.webkit.org/show_bug.cgi?id=77741
      
      Patch by Justin Novosad <junov@chromium.org> on 2012-02-03
      Reviewed by Stephen White.
      
      Removing dead code.
      
      * platform/graphics/skia/ImageBufferSkia.cpp:
      (AcceleratedDeviceContext):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c1f0f02
    • kbalazs@webkit.org's avatar
      Speculative unreviewed build fix for Qt-Windows · cecd6134
      kbalazs@webkit.org authored
      after http://trac.webkit.org/changeset/106659.
      
      * platform/graphics/texmap/TextureMapper.h:
      (WebCore::TextureMapper::platformCreateAccelerated):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cecd6134
    • commit-queue@webkit.org's avatar
      [Chromium] Use the current clip when marking paints as opaque · af938000
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77582
      
      Patch by Dana Jansens <danakj@chromium.org> on 2012-02-03
      Reviewed by Stephen White.
      
      Source/WebCore:
      
      New unit test in PlatformContextSkiaTest.cpp
      
      * platform/graphics/skia/OpaqueRegionSkia.cpp:
      (WebCore::OpaqueRegionSkia::markRectAsOpaque):
      * platform/graphics/skia/PlatformContextSkia.h:
      (WebCore::PlatformContextSkia::canvas):
      
      Source/WebKit/chromium:
      
      * tests/PlatformContextSkiaTest.cpp:
      (WebCore::TEST):
      (WebCore):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af938000
    • noam.rosenthal@nokia.com's avatar
      [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible. · 1ddb153e
      noam.rosenthal@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77148
      
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
      which responds to an "Software" mode of TextureMapper, instead of creating subclasses
      of TextureMapper directly. This allows using the software fallback of TextureMapper by any
      sort.
      
      To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
      an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
      as converting data to/from Image references in Qt generates unnecessary deep copies of the
      image data.
      
      Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
      3D transforms in cross platform code.
      After this patch everything renders the same. An additional bug report was created to allow
      ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
      
      Covered extensively by existing tests, no behavioral changes.
      
      * Target.pri:
      * platform/graphics/GraphicsContext.cpp:
      * platform/graphics/GraphicsContext.h:
      (WebCore):
      (GraphicsContext):
      * platform/graphics/cairo/TextureMapperCairo.cpp:
      * platform/graphics/opengl/TextureMapperGL.cpp:
      (TextureMapperGLData):
      (BitmapTextureGL):
      (WebCore::BitmapTextureGL::BitmapTextureGL):
      (WebCore::TextureMapperGL::beginPainting):
      (WebCore::BitmapTextureGL::reset):
      (WebCore):
      (WebCore::swizzleBGRAToRGBA):
      (WebCore::BitmapTextureGL::updateContents):
      (WebCore::BitmapTextureGL::destroy):
      (WebCore::TextureMapperGL::bindSurface):
      (WebCore::TextureMapper::platformCreateAccelerated):
      * platform/graphics/opengl/TextureMapperGL.h:
      (TextureMapperGL):
      (WebCore::TextureMapperGL::accelerationMode):
      (WebCore):
      * platform/graphics/qt/GraphicsContext3DQt.cpp:
      (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
      * platform/graphics/qt/GraphicsContextQt.cpp:
      (WebCore):
      (WebCore::GraphicsContext::get3DTransform):
      (WebCore::GraphicsContext::concat3DTransform):
      (WebCore::GraphicsContext::set3DTransform):
      * platform/graphics/qt/TextureMapperQt.cpp: Removed.
      * platform/graphics/qt/TextureMapperQt.h: Removed.
      * platform/graphics/texmap/TextureMapper.cpp:
      (WebCore):
      (BitmapTextureImageBuffer):
      (TextureMapperImageBuffer):
      * platform/graphics/texmap/TextureMapper.h:
      (WebCore::BitmapTexture::BitmapTexture):
      (BitmapTexture):
      (WebCore::BitmapTexture::bpp):
      (WebCore::BitmapTexture::isOpaque):
      (WebCore::TextureMapper::setGraphicsContext):
      (WebCore::TextureMapper::graphicsContext):
      (TextureMapper):
      (WebCore::TextureMapper::TextureMapper):
      (WebCore::TextureMapper::platformCreateAccelerated):
      * platform/graphics/texmap/TextureMapperNode.cpp:
      (WebCore::TextureMapperNode::renderContent):
      (WebCore::TextureMapperNode::setContentsTileBackBuffer):
      * platform/graphics/texmap/TextureMapperNode.h:
      (TextureMapperNode):
      
      Source/WebKit/qt:
      
      Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
      
      * Api/qwebframe.cpp:
      (QWebFramePrivate::renderCompositedLayers):
      * WebCoreSupport/PageClientQt.cpp:
      (WebCore::PageClientQWidget::setRootGraphicsLayer):
      (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
      
      Source/WebKit2:
      
      Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
      Remove calls to unused API.
      
      * UIProcess/qt/LayerTreeHostProxyQt.cpp:
      (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
      (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
      (WebKit::LayerTreeHostProxy::createImage):
      (WebKit::LayerTreeHostProxy::ensureRootLayer):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ddb153e
    • rwlbuis@webkit.org's avatar
      2012-02-03 Rob Buis <rbuis@rim.com> · 50587b13
      rwlbuis@webkit.org authored
              Upstream targetType usage on ResourceRequest for BlackBerry port
              https://bugs.webkit.org/show_bug.cgi?id=77649
      
              Reviewed by Antonio Gomes.
      
              Upstream bits that make use of targetType enum.
      
              * loader/PingLoader.cpp:
              (WebCore::PingLoader::loadImage):
              (WebCore::PingLoader::sendPing):
              (WebCore::PingLoader::reportContentSecurityPolicyViolation):
              * platform/network/blackberry/ResourceRequest.h:
              (ResourceRequest):
              (WebCore::ResourceRequest::targetType):
              (WebCore::ResourceRequest::setTargetType):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::createRequest):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50587b13
    • apavlov@chromium.org's avatar
      Implement touch event emulation in the WebCore layer · 4362021b
      apavlov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77105
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      This change essentially maps mouse events into single-touch events in the following way:
      - mousedown -> touchstart
      - mouseup -> touchend
      - mousemove -> touchmove (between mousedown and mouseup).
      
      Test: fast/events/touch/emulate-touch-events.html
      
      * page/EventHandler.cpp:
      (SyntheticTouchPoint): A synthetic touch point built from PlatformMouseEvent.
      (WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
      (SyntheticSingleTouchEvent): A synthetic touch point event built from PlatformMouseEvent.
      (WebCore::SyntheticSingleTouchEvent::SyntheticSingleTouchEvent):
      (WebCore::EventHandler::handleMouseReleaseEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
      (WebCore::EventHandler::handleMousePressEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
      (WebCore::EventHandler::mouseMoved): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
      (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Dispatch a synthetic touch event if necessary.
      * page/EventHandler.h: Added new method.
      * page/Settings.cpp:
      (WebCore::Settings::Settings): Added m_touchEventEmulationEnabled initializer.
      * page/Settings.h: Added m_touchEventEmulationEnabled, getter, and setter.
      (WebCore::Settings::setTouchEventEmulationEnabled): Added.
      (WebCore::Settings::isTouchEventEmulationEnabled): Added.
      * platform/PlatformTouchPoint.h:
      (WebCore::PlatformTouchPoint::PlatformTouchPoint): Unconditionally compile the parameterless ctor.
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::setTouchEventEmulationEnabled): Added for testing.
      * testing/InternalSettings.h: Added setTouchEventEmulationEnabled() for testing.
      * testing/InternalSettings.idl: Added setTouchEventEmulationEnabled() for testing.
      
      LayoutTests:
      
      * fast/events/touch/emulate-touch-events-expected.txt: Added.
      * fast/events/touch/emulate-touch-events.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4362021b
  2. 02 Feb, 2012 17 commits
    • ossy@webkit.org's avatar
      Unreviewed, rolling out r106620. · d514cb61
      ossy@webkit.org authored
      http://trac.webkit.org/changeset/106620
      https://bugs.webkit.org/show_bug.cgi?id=77716
      
      It broke non ENABLE(3D_RENDERING) builds (Requested by
      Ossy_morning on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-02
      
      Source/WebCore:
      
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * platform/graphics/GraphicsContext.h:
      (WebCore):
      (GraphicsContext):
      * platform/graphics/cairo/TextureMapperCairo.cpp:
      (WebCore::TextureMapper::create):
      (WebCore):
      * platform/graphics/opengl/TextureMapperGL.cpp:
      (Entry):
      (DirectlyCompositedImageRepository):
      (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
      (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
      (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
      (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
      (TextureMapperGLData):
      (BitmapTextureGL):
      (WebCore::BitmapTextureGL::isOpaque):
      (WebCore::BitmapTextureGL::pack):
      (WebCore::BitmapTextureGL::unpack):
      (WebCore::BitmapTextureGL::isPacked):
      (WebCore::BitmapTextureGL::BitmapTextureGL):
      (WebCore::TextureMapperGL::beginPainting):
      (WebCore::BitmapTextureGL::reset):
      (WebCore::BitmapTextureGL::beginPaint):
      (WebCore::BitmapTextureGL::endPaint):
      (WebCore):
      (WebCore::BitmapTextureGL::updateContents):
      (WebCore::BitmapTextureGL::updateRawContents):
      (WebCore::BitmapTextureGL::setContentsToImage):
      (WebCore::BitmapTextureGL::destroy):
      (WebCore::TextureMapperGL::bindSurface):
      * platform/graphics/opengl/TextureMapperGL.h:
      (TextureMapperGL):
      (WebCore::TextureMapperGL::allowSurfaceForRoot):
      (BGRA32PremultimpliedBuffer):
      (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
      (WebCore):
      * platform/graphics/qt/GraphicsContext3DQt.cpp:
      (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
      * platform/graphics/qt/GraphicsContextQt.cpp:
      * platform/graphics/qt/TextureMapperQt.cpp: Added.
      (WebCore):
      (WebCore::BitmapTextureQt::destroy):
      (WebCore::BitmapTextureQt::reset):
      (WebCore::BitmapTextureQt::beginPaint):
      (WebCore::BitmapTextureQt::endPaint):
      (WebCore::BitmapTextureQt::updateContents):
      (WebCore::BitmapTextureQt::save):
      (WebCore::BitmapTextureQt::setContentsToImage):
      (WebCore::BitmapTextureQt::pack):
      (WebCore::BitmapTextureQt::unpack):
      (WebCore::TextureMapperQt::beginClip):
      (WebCore::TextureMapperQt::endClip):
      (WebCore::TextureMapperQt::viewportSize):
      (WebCore::TextureMapperQt::TextureMapperQt):
      (WebCore::TextureMapperQt::setGraphicsContext):
      (WebCore::TextureMapperQt::graphicsContext):
      (WebCore::TextureMapperQt::bindSurface):
      (WebCore::TextureMapperQt::drawTexture):
      (WebCore::TextureMapper::create):
      (WebCore::TextureMapperQt::createTexture):
      (WebCore::BitmapTextureQt::BitmapTextureQt):
      (WebCore::TextureMapperQt::beginPainting):
      (WebCore::TextureMapperQt::endPainting):
      (BGRA32PremultimpliedBufferQt):
      (WebCore::BGRA32PremultimpliedBufferQt::beginPaint):
      (WebCore::BGRA32PremultimpliedBufferQt::endPaint):
      (WebCore::BGRA32PremultimpliedBufferQt::data):
      (WebCore::BGRA32PremultimpliedBuffer::create):
      (WebCore::uidForImage):
      * platform/graphics/qt/TextureMapperQt.h: Added.
      (WebCore):
      (BitmapTextureQt):
      (WebCore::BitmapTextureQt::~BitmapTextureQt):
      (WebCore::BitmapTextureQt::size):
      (WebCore::BitmapTextureQt::isValid):
      (WebCore::BitmapTextureQt::sourceRect):
      (WebCore::BitmapTextureQt::isPacked):
      (WebCore::BitmapTextureQt::painter):
      (TextureMapperQt):
      (WebCore::TextureMapperQt::allowSurfaceForRoot):
      (WebCore::TextureMapperQt::initialize):
      (WebCore::TextureMapperQt::create):
      (WebCore::TextureMapperQt::currentPainter):
      * platform/graphics/texmap/TextureMapper.cpp:
      * platform/graphics/texmap/TextureMapper.h:
      (WebCore::BitmapTexture::BitmapTexture):
      (WebCore::BitmapTexture::allowOfflineTextureUpload):
      (BitmapTexture):
      (WebCore::BitmapTexture::pack):
      (WebCore::BitmapTexture::unpack):
      (WebCore::BitmapTexture::isPacked):
      (WebCore::BitmapTexture::updateRawContents):
      (WebCore::BitmapTexture::beginPaintMedia):
      (WebCore::BitmapTexture::save):
      (WebCore::BitmapTexture::lock):
      (WebCore::BitmapTexture::unlock):
      (WebCore::BitmapTexture::isLocked):
      (TextureMapper):
      (WebCore::TextureMapper::viewportSize):
      (WebCore::TextureMapper::setViewportSize):
      (WebCore::TextureMapper::allowPartialUpdates):
      (WebCore::TextureMapper::isOpenGLBacked):
      (WebCore::TextureMapper::setTransform):
      (WebCore::TextureMapper::transform):
      * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
      * platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
      * platform/graphics/texmap/TextureMapperNode.cpp:
      (WebCore::TextureMapperNode::renderContent):
      (WebCore::TextureMapperNode::setContentsTileBackBuffer):
      * platform/graphics/texmap/TextureMapperNode.h:
      (TextureMapperNode):
      
      Source/WebKit/qt:
      
      * Api/qwebframe.cpp:
      (QWebFramePrivate::renderCompositedLayers):
      * WebCoreSupport/PageClientQt.cpp:
      (WebCore::PageClientQWidget::setRootGraphicsLayer):
      (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
      
      Source/WebKit2:
      
      * UIProcess/qt/LayerTreeHostProxyQt.cpp:
      (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
      (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
      (WebKit::LayerTreeHostProxy::createImage):
      (WebKit::LayerTreeHostProxy::ensureRootLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d514cb61
    • keishi@webkit.org's avatar
      ColorChooserClient is missing a virtual destructor · cfbc827a
      keishi@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77698
      
      Reviewed by Kent Tamura.
      
      * platform/ColorChooserClient.h:
      (WebCore::ColorChooserClient::~ColorChooserClient): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cfbc827a
    • commit-queue@webkit.org's avatar
      Check parameters to biquad filters · 183b9cc4
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71413
      
      Source/WebCore:
      
      Patch by Raymond Toy <rtoy@google.com> on 2012-02-02
      Reviewed by Kenneth Russell.
      
      Tests added for each filter type and for the limiting cases for
      each filter type.
      
      * platform/audio/Biquad.cpp:
      (WebCore::Biquad::setLowpassParams):
      (WebCore::Biquad::setHighpassParams):
      (WebCore::Biquad::setLowShelfParams):
      (WebCore::Biquad::setHighShelfParams):
      (WebCore::Biquad::setPeakingParams):
      (WebCore::Biquad::setAllpassParams):
      (WebCore::Biquad::setNotchParams):
      (WebCore::Biquad::setBandpassParams):
      Check for invalid parameters and clip them to something sensible.
      Also check for the limiting cases and try to use the limiting form
      of the z-transform for the biquad.  Some issues cannot be
      consistently handled because the z-transform is not continuous as
      the parameters approach the limit.
      
      LayoutTests:
      
      Patch by Raymond Toy <rtoy@chromium.org> on 2012-02-02
      Reviewed by Kenneth Russell.
      
      * webaudio/biquad-allpass-expected.txt: Added
      * webaudio/biquad-allpass.html: Added
      * webaudio/biquad-bandpass-expected.txt: Added
      * webaudio/biquad-bandpass.html: Added
      * webaudio/biquad-highpass-expected.txt: Added
      * webaudio/biquad-highpass.html: Added
      * webaudio/biquad-highshelf-expected.txt: Added
      * webaudio/biquad-highshelf.html: Added
      * webaudio/biquad-lowpass-expected.txt: Added
      * webaudio/biquad-lowpass.html: Added
      * webaudio/biquad-lowshelf-expected.txt: Added
      * webaudio/biquad-lowshelf.html: Added
      * webaudio/biquad-notch-expected.txt: Added
      * webaudio/biquad-notch.html: Added
      * webaudio/biquad-peaking-expected.txt: Added
      * webaudio/biquad-peaking.html: Added
      * webaudio/resources/biquad-testing.js: Added
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      183b9cc4
    • noam.rosenthal@nokia.com's avatar
      [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible. · ea92bee0
      noam.rosenthal@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77148
      
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
      which responds to an "Software" mode of TextureMapper, instead of creating subclasses
      of TextureMapper directly. This allows using the software fallback of TextureMapper by any
      sort.
      
      To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
      an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
      as converting data to/from Image references in Qt generates unnecessary deep copies of the
      image data.
      
      Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
      3D transforms in cross platform code.
      After this patch everything renders the same. An additional bug report was created to allow
      ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
      
      Covered extensively by existing tests, no behavioral changes.
      
      * Target.pri:
      * platform/graphics/GraphicsContext.cpp:
      * platform/graphics/GraphicsContext.h:
      (WebCore):
      (GraphicsContext):
      * platform/graphics/cairo/TextureMapperCairo.cpp:
      * platform/graphics/opengl/TextureMapperGL.cpp:
      (TextureMapperGLData):
      (BitmapTextureGL):
      (WebCore::BitmapTextureGL::BitmapTextureGL):
      (WebCore::TextureMapperGL::beginPainting):
      (WebCore::BitmapTextureGL::reset):
      (WebCore):
      (WebCore::swizzleBGRAToRGBA):
      (WebCore::BitmapTextureGL::updateContents):
      (WebCore::BitmapTextureGL::destroy):
      (WebCore::TextureMapperGL::bindSurface):
      (WebCore::TextureMapper::platformCreateAccelerated):
      * platform/graphics/opengl/TextureMapperGL.h:
      (TextureMapperGL):
      (WebCore::TextureMapperGL::accelerationMode):
      (WebCore):
      * platform/graphics/qt/GraphicsContext3DQt.cpp:
      (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
      * platform/graphics/qt/GraphicsContextQt.cpp:
      (WebCore):
      (WebCore::GraphicsContext::get3DTransform):
      (WebCore::GraphicsContext::concat3DTransform):
      (WebCore::GraphicsContext::set3DTransform):
      * platform/graphics/qt/TextureMapperQt.cpp: Removed.
      * platform/graphics/qt/TextureMapperQt.h: Removed.
      * platform/graphics/texmap/TextureMapper.cpp:
      (WebCore):
      (BitmapTextureImageBuffer):
      (TextureMapperImageBuffer):
      * platform/graphics/texmap/TextureMapper.h:
      (WebCore::BitmapTexture::BitmapTexture):
      (BitmapTexture):
      (WebCore::BitmapTexture::bpp):
      (WebCore::BitmapTexture::isOpaque):
      (WebCore::TextureMapper::setGraphicsContext):
      (WebCore::TextureMapper::graphicsContext):
      (TextureMapper):
      (WebCore::TextureMapper::TextureMapper):
      (WebCore::TextureMapper::platformCreateAccelerated):
      * platform/graphics/texmap/TextureMapperNode.cpp:
      (WebCore::TextureMapperNode::renderContent):
      (WebCore::TextureMapperNode::setContentsTileBackBuffer):
      * platform/graphics/texmap/TextureMapperNode.h:
      (TextureMapperNode):
      
      Source/WebKit/qt:
      
      Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
      
      * Api/qwebframe.cpp:
      (QWebFramePrivate::renderCompositedLayers):
      * WebCoreSupport/PageClientQt.cpp:
      (WebCore::PageClientQWidget::setRootGraphicsLayer):
      (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
      
      Source/WebKit2:
      
      Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
      Remove calls to unused API.
      
      * UIProcess/qt/LayerTreeHostProxyQt.cpp:
      (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
      (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
      (WebKit::LayerTreeHostProxy::createImage):
      (WebKit::LayerTreeHostProxy::ensureRootLayer):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea92bee0
    • commit-queue@webkit.org's avatar
      Avoid crashing renderer when GPU process dies by not caching textures between video frames. · ccf91c05
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77654
      
      Patch by Ami Fischman <fischman@chromium.org> on 2012-02-02
      Reviewed by James Robinson.
      
      * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
      (WebCore::CCVideoLayerImpl::draw):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccf91c05
    • commit-queue@webkit.org's avatar
      Refactor plugin drawing to be more data driven · c13f2aa8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=76715
      
      Patch by Tim Dresser <tdresser@chromium.org> on 2012-02-02
      Reviewed by James Robinson.
      
      CCPluginLayerImpl no longer handles drawing itself, but produces a list of CCPluginDrawQuads.
      These quads are then drawn by LayerRendererChromium.
      
      CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
      This allows for CCLayerImpl objects to allocate textures before appendQuads is called.
      
      This is a refactor, so no new tests were added.
      Flash was tested manually on Linux and Mac.
      
      * platform/graphics/chromium/LayerRendererChromium.cpp:
      (WebCore::PluginProgramBinding::set):
      (PluginProgramBinding):
      (WebCore):
      (WebCore::TexStretchPluginProgramBinding::set):
      (TexStretchPluginProgramBinding):
      (WebCore::TexTransformPluginProgramBinding::set):
      (TexTransformPluginProgramBinding):
      (WebCore::LayerRendererChromium::drawPluginQuad):
      * platform/graphics/chromium/cc/CCLayerImpl.h:
      (WebCore::CCLayerImpl::willDraw):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
      * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp:
      (WebCore::CCPluginDrawQuad::create):
      (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
      * platform/graphics/chromium/cc/CCPluginDrawQuad.h:
      (CCPluginDrawQuad):
      (WebCore::CCPluginDrawQuad::uvRect):
      (WebCore::CCPluginDrawQuad::textureId):
      (WebCore::CCPluginDrawQuad::flipped):
      (WebCore::CCPluginDrawQuad::ioSurfaceWidth):
      (WebCore::CCPluginDrawQuad::ioSurfaceHeight):
      (WebCore::CCPluginDrawQuad::ioSurfaceTextureId):
      * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
      (WebCore::CCPluginLayerImpl::willDraw):
      (WebCore::CCPluginLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
      (CCPluginLayerImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13f2aa8
    • commit-queue@webkit.org's avatar
      [Chromium] Use SkCanvas::flush in skia port · dbd90e48
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77463
      
      Patch by Justin Novosad <junov@chromium.org> on 2012-02-02
      Reviewed by Stephen White.
      
      Code cleanup in skia port. Using SkCanvas::flush to remove
      unnecessary dependency on GrContext.  Removed unnecessary inclusions
      and forward declarations of GrContext in several source files.
      
      * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
      (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
      * platform/graphics/chromium/LayerRendererChromium.cpp:
      * platform/graphics/chromium/LayerRendererChromium.h:
      * platform/graphics/chromium/cc/CCLayerTreeHost.h:
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
      * platform/graphics/chromium/cc/CCProxy.h:
      * platform/graphics/skia/PlatformContextSkia.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dbd90e48
    • aestes@apple.com's avatar
      Turn on CSS Filters on Windows · dc95d746
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=76667
      
      Source/WebCore:
      
      Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
      
      Patch by Chris Marrin <cmarrin@apple.com> on 2012-02-02
      Reviewed by Adele Peterson.
      
      * WebCore.vcproj/copyForwardingHeaders.cmd:
      * platform/graphics/ca/win/PlatformCALayerWin.cpp:
      (PlatformCALayer::setFilters):
      (PlatformCALayer::filtersCanBeComposited):
      
      WebKitLibraries:
      
      Turned on CSS_FILTERS for Windows
      
      Patch by Chris Marrin <cmarrin@apple.com> on 2012-02-02
      Reviewed by Adele Peterson.
      
      * win/tools/vsprops/FeatureDefines.vsprops:
      
      LayoutTests:
      
      Skipped filter test files not supported on Windows
      
      Patch by Chris Marrin <cmarrin@apple.com> on 2012-02-02
      Reviewed by Adele Peterson.
      
      * platform/win/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc95d746
    • andersca@apple.com's avatar
      The overhang area layer should have a linen background · 1583cf10
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77670
      <rdar://problem/10797727>
      
      Reviewed by Andreas Kling.
      
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
      Add an #ifdef so that scroll position clamping can be disabled. This will be
      removed once rubber-banding works properly.
      
      * platform/ScrollbarTheme.h:
      (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
      Add new empty function.
      
      * platform/mac/ScrollbarThemeMac.h:
      (ScrollbarThemeMac):
      * platform/mac/ScrollbarThemeMac.mm:
      (WebCore::linenBackgroundColor):
      Helper function for getting the CGColorRef that represents the linen background color.
      
      (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
      Set the linen background color as the overhang areas layer background color.
      
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
      Call ScrollbarTheme::setUpOverhangAreasLayerContents.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1583cf10
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r106566. · dbc4cd8f
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/106566
      https://bugs.webkit.org/show_bug.cgi?id=77673
      
      Broke the Windows build (Requested by jessieberlin on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-02
      
      Source/WebCore:
      
      * WebCore.vcproj/copyForwardingHeaders.cmd:
      * platform/graphics/ca/win/PlatformCALayerWin.cpp:
      
      WebKitLibraries:
      
      * win/tools/vsprops/FeatureDefines.vsprops:
      
      LayoutTests:
      
      * platform/win/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dbc4cd8f
    • tommyw@google.com's avatar
      [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter · e0a87f61
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=73130
      
      Reviewed by Darin Fisher.
      
      Source/WebCore:
      
      Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
      
      * mediastream/UserMediaClient.h:
      (UserMediaClient):
      * mediastream/UserMediaRequest.cpp:
      (WebCore::UserMediaRequest::didCompleteQuery):
      * mediastream/UserMediaRequest.h:
      (UserMediaRequest):
      (WebCore::UserMediaRequest::audio):
      (WebCore::UserMediaRequest::video):
      (WebCore::UserMediaRequest::cameraPreferenceUser):
      (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
      * platform/mediastream/MediaStreamCenter.cpp:
      (WebCore):
      (WebCore::MediaStreamCenter::queryMediaStreamSources):
      * platform/mediastream/MediaStreamCenter.h:
      (WebCore):
      (MediaStreamSourcesQueryClient):
      (MediaStreamCenter):
      
      Source/WebKit/chromium:
      
      * WebKit.gyp:
      * bridge/MediaStreamCenter.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebCore):
      (WebCore::MediaStreamCenter::MediaStreamCenter):
      (WebCore::MediaStreamCenter::~MediaStreamCenter):
      (WebCore::MediaStreamCenter::queryMediaStreamSources):
      (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
      (WebCore::MediaStreamCenter::didStopLocalMediaStream):
      (WebCore::MediaStreamCenter::didConstructMediaStream):
      * bridge/MediaStreamCenterInternal.cpp: Added.
      (WebCore):
      (WebCore::MediaStreamCenterInternal::MediaStreamCenterInternal):
      (WebCore::MediaStreamCenterInternal::~MediaStreamCenterInternal):
      (WebCore::MediaStreamCenterInternal::queryMediaStreamSources):
      (WebCore::MediaStreamCenterInternal::didSetMediaStreamTrackEnabled):
      (WebCore::MediaStreamCenterInternal::didStopLocalMediaStream):
      (WebCore::MediaStreamCenterInternal::didConstructMediaStream):
      (WebCore::MediaStreamCenterInternal::stopLocalMediaStream):
      * bridge/MediaStreamCenterInternal.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebKit):
      (WebCore):
      (MediaStreamCenterInternal):
      * public/platform/WebKitPlatformSupport.h:
      (WebKit):
      (WebKit::WebKitPlatformSupport::createMediaStreamCenter):
      * public/platform/WebMediaStreamCenter.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebKit):
      (WebMediaStreamCenter):
      (WebKit::WebMediaStreamCenter::~WebMediaStreamCenter):
      * public/platform/WebMediaStreamCenterClient.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebKit):
      (WebMediaStreamCenterClient):
      (WebKit::WebMediaStreamCenterClient::~WebMediaStreamCenterClient):
      * public/platform/WebMediaStreamComponent.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebCore):
      (WebKit):
      (WebMediaStreamComponent):
      (WebKit::WebMediaStreamComponent::WebMediaStreamComponent):
      (WebKit::WebMediaStreamComponent::~WebMediaStreamComponent):
      (WebKit::WebMediaStreamComponent::isNull):
      * public/platform/WebMediaStreamDescriptor.h:
      (WebKit):
      (WebMediaStreamDescriptor):
      * public/platform/WebMediaStreamSourcesRequest.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebCore):
      (WebKit):
      (WebMediaStreamSourcesRequest):
      (WebKit::WebMediaStreamSourcesRequest::WebMediaStreamSourcesRequest):
      (WebKit::WebMediaStreamSourcesRequest::~WebMediaStreamSourcesRequest):
      (WebKit::WebMediaStreamSourcesRequest::isNull):
      * src/UserMediaClientImpl.h:
      (UserMediaClientImpl):
      * src/WebMediaStreamComponent.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebKit):
      (WebKit::WebMediaStreamComponent::WebMediaStreamComponent):
      (WebKit::WebMediaStreamComponent::operator=):
      (WebKit::WebMediaStreamComponent::reset):
      (WebKit::WebMediaStreamComponent::operator PassRefPtr<MediaStreamComponent>):
      (WebKit::WebMediaStreamComponent::operator MediaStreamComponent*):
      (WebKit::WebMediaStreamComponent::isEnabled):
      (WebKit::WebMediaStreamComponent::source):
      * src/WebMediaStreamDescriptor.cpp:
      (WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
      (WebKit):
      (WebKit::WebMediaStreamDescriptor::audioSources):
      (WebKit::WebMediaStreamDescriptor::videoSources):
      * src/WebMediaStreamSourcesRequest.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
      (WebKit):
      (WebKit::WebMediaStreamSourcesRequest::WebMediaStreamSourcesRequest):
      (WebKit::WebMediaStreamSourcesRequest::reset):
      (WebKit::WebMediaStreamSourcesRequest::audio):
      (WebKit::WebMediaStreamSourcesRequest::video):
      (WebKit::WebMediaStreamSourcesRequest::didCompleteQuery):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0a87f61
    • cmarrin@apple.com's avatar
      Turn on CSS Filters on Windows · 2b134d92
      cmarrin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=76667
      
      Source/WebCore: 
      
      Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
      
      Reviewed by Adele Peterson.
      
      * WebCore.vcproj/copyForwardingHeaders.cmd:
      * platform/graphics/ca/win/PlatformCALayerWin.cpp:
      (PlatformCALayer::setFilters):
      (PlatformCALayer::filtersCanBeComposited):
      
      WebKitLibraries: 
      
      Turned on CSS_FILTERS for Windows
      
      Reviewed by Adele Peterson.
      
      * win/tools/vsprops/FeatureDefines.vsprops:
      
      LayoutTests: 
      
      Skipped filter test files not supported on Windows
      
      Reviewed by Adele Peterson.
      
      * platform/win/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b134d92
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r106551. · 856d1b6a
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/106551
      https://bugs.webkit.org/show_bug.cgi?id=77648
      
      Breaking mac and gtk tests due to font differences. (Requested
      by _pdr_ on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-02
      
      Source/WebCore:
      
      * platform/graphics/SVGGlyph.cpp:
      (WebCore::charactersWithArabicForm):
      * svg/SVGFontData.cpp:
      (WebCore::SVGFontData::applySVGGlyphSelection):
      * svg/SVGFontData.h:
      (SVGFontData):
      
      LayoutTests:
      
      * svg/custom/glyph-selection-arabic-forms-expected.png: Removed.
      * svg/custom/glyph-selection-arabic-forms-expected.txt: Removed.
      * svg/custom/glyph-selection-arabic-forms.svg: Removed.
      * svg/custom/glyph-selection-bidi-mirror-expected.png: Removed.
      * svg/custom/glyph-selection-bidi-mirror-expected.txt: Removed.
      * svg/custom/glyph-selection-bidi-mirror.svg: Removed.
      * svg/custom/glyph-selection-non-bmp-expected.png: Removed.
      * svg/custom/glyph-selection-non-bmp-expected.txt: Removed.
      * svg/custom/glyph-selection-non-bmp.svg: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      856d1b6a
    • commit-queue@webkit.org's avatar
      [GTK] WebKitWebView won't work in a GtkOffscreenWindow · c6cd3d69
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=76911
      
      Patch by Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson <mrobinson@igalia.com> on 2012-02-02
      Reviewed by Philippe Normand.
      
      Source/WebCore:
      
      * platform/gtk/GtkUtilities.cpp:
      (WebCore::widgetIsOnscreenToplevelWindow): Added this helper.
      * platform/gtk/GtkUtilities.h:
      (WebCore): Added helper declaration.
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/ChromeClientGtk.cpp:
      (WebKit::ChromeClient::windowRect): Use the new widgetIsOnscreenToplevelWindow helper.
      (WebKit::ChromeClient::setWindowRect): Ditto.
      (WebKit::ChromeClient::unfocus): Ditto.
      (WebKit::ChromeClient::runOpenPanel): Ditto.
      * tests/testwebview.c: Added a test to ensure that loading a page in an offscreen window does not crash.
      * webkit/webkitglobals.cpp:
      (currentToplevelCallback):
      * webkit/webkitwebframe.cpp:
      (webkit_web_frame_print_full):
      (webkit_web_frame_print):
      * webkit/webkitwebview.cpp:
      (webkit_web_view_focus_in_event):
      (webkit_web_view_script_dialog):
      
      Source/WebKit2:
      
      * UIProcess/API/gtk/WebKitUIClient.cpp:
      (getWindowFrame): Use the new helper.
      * UIProcess/API/gtk/WebKitWebView.cpp:
      (webkitWebViewCreateJavaScriptDialog): Ditto
      * UIProcess/API/gtk/WebKitWebViewBase.cpp:
      (webkitWebViewBaseRealize): Ditto.
      (webkitWebViewBaseSizeAllocate): Ditto.
      (webkitWebViewBaseFocusInEvent): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6cd3d69
    • commit-queue@webkit.org's avatar
      Fix mirroring with SVG fonts · 80992327
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77067
      
      Patch by Philip Rogers <pdr@google.com> on 2012-02-02
      Reviewed by Nikolas Zimmermann.
      
      Source/WebCore:
      
      SVG fonts were incorrectly handling mirrored characters in bidi text.
      In this change I added the function createStringWithMirroredCharacters
      which handles mirroring the characters when selecting glyphs for SVG
      fonts. I also made a small cosmetic change in the function
      charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
      which better reflects what it actually does.
      
      Several new tests were added to test mirroring with SVG fonts in the
      presence of Arabic forms and non-BMP characters.
      
      Tests: svg/custom/glyph-selection-arabic-forms.svg
             svg/custom/glyph-selection-bidi-mirror.svg
             svg/custom/glyph-selection-non-bmp.svg
      
      * platform/graphics/SVGGlyph.cpp:
      (WebCore::charactersWithArabicForm):
      * svg/SVGFontData.cpp:
      (WebCore::SVGFontData::applySVGGlyphSelection):
      (WebCore::SVGFontData::createStringWithMirroredCharacters):
      * svg/SVGFontData.h:
      (SVGFontData):
      
      LayoutTests:
      
      SVG fonts were incorrectly handling mirrored characters in bidi text.
      In this change I added the function createStringWithMirroredCharacters
      which handles mirroring the characters when selecting glyphs for SVG
      fonts. I also made a small cosmetic change in the function
      charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
      which better reflects what it actually does.
      
      Several new tests were added to test mirroring with SVG fonts in the
      presence of Arabic forms and non-BMP characters.
      
      * svg/custom/glyph-selection-arabic-forms-expected.txt: Added.
      * svg/custom/glyph-selection-arabic-forms.svg: Added.
      * svg/custom/glyph-selection-bidi-mirror-expected.txt: Added.
      * svg/custom/glyph-selection-bidi-mirror.svg: Added.
      * svg/custom/glyph-selection-non-bmp-expected.txt: Added.
      * svg/custom/glyph-selection-non-bmp.svg: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80992327
    • kinuko@chromium.org's avatar
      Cleanup: Move chrome-specific filesystem type handling code (for FileSystem... · dc98a7e7
      kinuko@chromium.org authored
      Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
      https://bugs.webkit.org/show_bug.cgi?id=76551
      
      Source/WebCore: 
      
      Reviewed by David Levin.
      
      Moved the implementation of crackFileSystemURL() and toURL() from
      WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
      so that each platform can extend/implement their behavior if necessary.
      
      No new tests as it has no functional changes.
      
      * fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
      * fileapi/DOMFileSystemBase.h:
      (DOMFileSystemBase):
      * fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
      (WebCore::EntryBase::toURL):
      * page/DOMWindow.cpp: Made corresponding callsite changes.
      (WebCore::DOMWindow::webkitRequestFileSystem):
      (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
      * page/DOMWindow.h:
      * platform/AsyncFileSystem.cpp:
      (WebCore::AsyncFileSystem::isValidType): Added.
      * platform/AsyncFileSystem.h:
      (AsyncFileSystem):
      * workers/WorkerContext.cpp: Made corresponding callsite changes.
      (WebCore::WorkerContext::webkitRequestFileSystem):
      (WebCore::WorkerContext::webkitRequestFileSystemSync):
      (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
      (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
      * workers/WorkerContext.h:
      
      Source/WebKit/chromium: 
      
      * src/AssertMatchingEnums.cpp: Removed the matching assertion for AsyncFileSystem::External (as now we directly use WebFileSystem::TypeExternal).
      * src/AsyncFileSystemChromium.cpp:
      (WebCore::AsyncFileSystem::crackFileSystemURL): Added.
      (WebCore::AsyncFileSystem::isValidType): Added.
      (WebCore::AsyncFileSystemChromium::toURL): Added.
      * src/AsyncFileSystemChromium.h:
      (AsyncFileSystemChromium):
      * src/WorkerAsyncFileSystemChromium.cpp: Made this subclass of AsyncFileSystemChromium (rather than that of AsyncFileSystem)
      (WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
      * src/WorkerAsyncFileSystemChromium.h:
      (WorkerAsyncFileSystemChromium):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc98a7e7
    • philn@webkit.org's avatar
      [GStreamer] FFTFrame implementation · de7c2300
      philn@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=73545
      
      Reviewed by Chris Rogers.
      
      .:
      
      * configure.ac: Enable the WebAudio option again and remove
      libfftw checks.
      
      Source/WebCore:
      
      FFTFrame implementation based on GStreamer's FFT processing
      library.
      
      No new tests, existing WebAudio tests cover this.
      
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * platform/audio/FFTFrame.h:
      * platform/audio/FFTFrameStub.cpp:
      * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
      (WebCore::FFTFrame::FFTFrame):
      (WebCore::FFTFrame::initialize):
      (WebCore::FFTFrame::cleanup):
      (WebCore::FFTFrame::~FFTFrame):
      (WebCore::FFTFrame::multiply):
      (WebCore::FFTFrame::doFFT):
      (WebCore::FFTFrame::doInverseFFT):
      (WebCore::FFTFrame::realData):
      (WebCore::FFTFrame::imagData):
      
      Source/WebKit/gtk:
      
      * GNUmakefile.am: Remove libfftw compilation flags.
      
      Source/WebKit2:
      
      * GNUmakefile.am: Remove libfftw compilation flags.
      
      LayoutTests:
      
      * webaudio/resources/convolution-testing.js:
      (checkTail1): Adapt convolution threshold for GStreamerFFTFrame
      implementation, as advised by Chris Rogers.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de7c2300
  3. 01 Feb, 2012 15 commits
    • eric.carlson@apple.com's avatar
      Consider user's preferred language when choosing text tracks · 52578181
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=74121
      
      Reviewed by Alexey Proskuryakov.
      
      Source/WebCore: 
      
      Tests: media/track/track-language-preference.html
             media/track/track-prefer-captions.html
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
      (WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
      (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
      (WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
      (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
          don't consider user's language preference.
      (WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group, 
          considering user's kind and language preferences.
      (WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
      * html/HTMLMediaElement.h:
      (WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
      (TrackGroup):
      
      * platform/Language.cpp:
      (WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
      (WebCore::bestMatchingLanguage): New, return the language from the list that best matches the 
          specified language.
      (WebCore::preferredLanguageFromList): New, return the language in the specified list that best
          matches the user's language preference.
      * platform/Language.h:
      
      * testing/Internals.cpp:
      (WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
      (WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
      * testing/Internals.h:
      * testing/Internals.idl:
      
      LayoutTests: 
      
      * media/track/track-language-preference-expected.txt: Added.
      * media/track/track-language-preference.html: Added.
      * media/track/track-prefer-captions-expected.txt: Added.
      * media/track/track-prefer-captions.html: Added.
      * platform/mac/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52578181
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r106408. · 68bad28d
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/106408
      https://bugs.webkit.org/show_bug.cgi?id=77592
      
      crashes in chromium mac release tests (Requested by japhet on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
      
      * platform/graphics/Region.cpp:
      * platform/graphics/Region.h:
      (Region):
      (Shape):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68bad28d
    • noam.rosenthal@nokia.com's avatar
      [Texmap] Use glScissors for clipping in TextureMapperGL when possible · 47c557c3
      noam.rosenthal@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77575
      
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
      We apply scissors when the clip region is rectalinear, and stencil when it's not.
      
      No behavior changes so no new tests.
      
      * platform/graphics/opengl/TextureMapperGL.cpp:
      (SharedGLData):
      (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
      (WebCore::TextureMapperGL::drawTexture):
      (WebCore::TextureMapperGL::bindSurface):
      (WebCore):
      (WebCore::scissorClip):
      (WebCore::TextureMapperGL::beginScissorClip):
      (WebCore::TextureMapperGL::endScissorClip):
      (WebCore::TextureMapperGL::beginClip):
      (WebCore::TextureMapperGL::endClip):
      * platform/graphics/opengl/TextureMapperGL.h:
      (TextureMapperGL):
      
      Source/WebKit2:
      
      Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
      TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
      now cleaned out of QQuickWebPage.
      
      * UIProcess/API/qt/qquickwebpage.cpp:
      (QQuickWebPagePrivate::paintToCurrentGLContext):
      * UIProcess/DrawingAreaProxy.h:
      (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
      * UIProcess/DrawingAreaProxyImpl.cpp:
      (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
      * UIProcess/DrawingAreaProxyImpl.h:
      (DrawingAreaProxyImpl):
      * UIProcess/LayerTreeHostProxy.h:
      (LayerTreeHostProxy):
      * UIProcess/qt/LayerTreeHostProxyQt.cpp:
      (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47c557c3
    • abarth@webkit.org's avatar
      contentDispositionType misparses the Content-Disposition header in some obscure corner cases · ff421af0
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77577
      
      Reviewed by Eric Seidel.
      
      The contentDispositionType extracts the disposition-type from the
      Content-Disposition header.  According to RFC 6266 (and previous RFCs),
      the disposition-type must be an RFC 2616 token.  Rather than enforce
      this general rule, we had special-cased some examples (including
      name=foo and filename=bar).  This patch generalizes our check to
      properly validate that the disposition-type is an RFC 2616 token.
      
      In conjunction with some other work in the Chromium network stack, this
      causes Chromium to pass the following tests:
      
        http://greenbytes.de/tech/tc2231/#inlonlyquoted
        http://greenbytes.de/tech/tc2231/#attonlyquoted
      
      Without this patch, these test cases neither trigger a navigation nor a
      download in Chromium.  This patch does not appear to cause any visible
      change in Safari.  (Safari passes these tests both before and after
      this patch.)
      
      * platform/network/HTTPParsers.cpp:
      (WebCore::isRFC2616Token):
      (WebCore::contentDispositionType):
          - This patch also adds a comment to
            filenameFromHTTPContentDisposition, which explains some of the
            was this function incorrectly implements the requirements in
            RFC 6266.  Resolving these issues is a subject for a future
            patch.
      * platform/network/HTTPParsers.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff421af0
    • andersca@apple.com's avatar
      Fix Window build. · 196559b2
      andersca@apple.com authored
      * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
      (WebCore::LayerClient::platformCALayerDidCreateTiles):
      * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
      (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      196559b2
    • commit-queue@webkit.org's avatar
      [Chromium] Enable deferred canvas rendering in the skia port · 0de8f709
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=76732
      
      Patch by Justin Novosad <junov@chromium.org> on 2012-02-01
      Reviewed by Stephen White.
      
      Source/WebCore:
      
      No new tests: covered by existing canvas layout tests
      
      Adding a new setting to enable deferred 2d canvas rendering.
      Added support for deferred 2d canvas rendering in ImageBufferSkia
      and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
      implementation is provided by skia (class SkDeferredCanvas).
      
      * html/HTMLCanvasElement.cpp:
      (WebCore::HTMLCanvasElement::shouldDefer):
      (WebCore):
      (WebCore::HTMLCanvasElement::createImageBuffer):
      * html/HTMLCanvasElement.h:
      (HTMLCanvasElement):
      * page/Settings.cpp:
      (WebCore::Settings::Settings):
      (WebCore::Settings::setAccelerated2dCanvasEnabled):
      (WebCore):
      (WebCore::Settings::setDeferred2dCanvasEnabled):
      * page/Settings.h:
      (Settings):
      (WebCore::Settings::deferred2dCanvasEnabled):
      * platform/graphics/ImageBuffer.h:
      (WebCore::ImageBuffer::create):
      (ImageBuffer):
      * platform/graphics/cairo/ImageBufferCairo.cpp:
      (WebCore::ImageBuffer::ImageBuffer):
      * platform/graphics/cg/ImageBufferCG.cpp:
      (WebCore::ImageBuffer::ImageBuffer):
      * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
      (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
      (WebCore):
      (WebCore::Canvas2DLayerChromium::setCanvas):
      (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
      * platform/graphics/chromium/Canvas2DLayerChromium.h:
      (Canvas2DLayerChromium):
      * platform/graphics/qt/ImageBufferQt.cpp:
      (WebCore::ImageBuffer::ImageBuffer):
      * platform/graphics/skia/ImageBufferSkia.cpp:
      (AcceleratedDeviceContext):
      (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
      (WebCore::AcceleratedDeviceContext::prepareForDraw):
      (WebCore::AcceleratedDeviceContext::flush):
      (WebCore):
      (WebCore::createAcceleratedCanvas):
      (WebCore::ImageBuffer::ImageBuffer):
      * platform/graphics/wince/ImageBufferWinCE.cpp:
      (WebCore::ImageBuffer::ImageBuffer):
      * platform/graphics/wx/ImageBufferWx.cpp:
      (WebCore::ImageBuffer::ImageBuffer):
      
      Source/WebKit/chromium:
      
      Adding a new setting for enabling deferred 2d canvas rendering
      
      * public/WebSettings.h:
      * src/WebSettingsImpl.cpp:
      (WebKit::WebSettingsImpl::setDeferred2dCanvasEnabled):
      (WebKit):
      * src/WebSettingsImpl.h:
      (WebSettingsImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0de8f709
    • rniwa@webkit.org's avatar
      Gcc build fix after r106482. · a940bf03
      rniwa@webkit.org authored
      * platform/graphics/ca/GraphicsLayerCA.h:
      (GraphicsLayerCA):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a940bf03
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r106382. · aa320ecd
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/106382
      https://bugs.webkit.org/show_bug.cgi?id=77571
      
      Causing chromium crashes in PNGImageDecoder (Requested by
      japhet on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
      
      Source/WebCore:
      
      * bindings/v8/V8Proxy.cpp:
      (WebCore::V8Proxy::evaluate):
      * page/Console.cpp:
      (WebCore::Console::time):
      (WebCore::Console::timeEnd):
      * platform/chromium/PlatformSupport.h:
      * platform/chromium/TraceEvent.h:
      (internal):
      (ScopeTracer):
      (WebCore::internal::ScopeTracer::ScopeTracer):
      (WebCore::internal::ScopeTracer::~ScopeTracer):
      
      Source/WebKit/chromium:
      
      * public/platform/WebKitPlatformSupport.h:
      (WebKitPlatformSupport):
      (WebKit::WebKitPlatformSupport::isTraceEventEnabled):
      (WebKit::WebKitPlatformSupport::traceEventBegin):
      (WebKit::WebKitPlatformSupport::traceEventEnd):
      * src/PlatformSupport.cpp:
      (WebCore::PlatformSupport::isTraceEventEnabled):
      (WebCore):
      (WebCore::PlatformSupport::traceEventBegin):
      (WebCore::PlatformSupport::traceEventEnd):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa320ecd
    • andersca@apple.com's avatar
      Reviewed by Darin Adler. · 7cb5af26
      andersca@apple.com authored
      Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
      slot in the hash map and assign directly into it.
      
      * platform/graphics/ca/mac/TileCache.mm:
      (WebCore::TileCache::revalidateTiles):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7cb5af26
    • andersca@apple.com's avatar
      Tile cache doesn't have an upper limit · 048a097c
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77564
      <rdar://problem/10710744>
      
      Reviewed by Darin Adler.
      
      Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
      and drop tiles that are outside that area.
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
      Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
      the page layout is up to date before the new tiles are painted.
      
      * platform/graphics/ca/PlatformCALayerClient.h:
      Add platformCALayerDidCreateTiles member function.
      
      * platform/graphics/ca/mac/TileCache.h:
      Update for new/removed member functions and member variables.
      
      * platform/graphics/ca/mac/TileCache.mm:
      (WebCore::TileCache::TileCache):
      Initialize the tile revalidation timer.
      
      (WebCore::TileCache::tileCacheLayerBoundsChanged):
      If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
      schedule the revalidation timer.
      
      (WebCore::TileCache::setNeedsDisplayInRect):
      Return early if we have no tiles.
      
      (WebCore::TileCache::visibleRectChanged):
      Schedule tile revalidation.
      
      (WebCore::TileCache::rectForTileIndex):
      New helper function that returns the bounds rect of a tile given its tile index.
      
      (WebCore::TileCache::getTileIndexRangeForRect):
      Clamp the rect to the bounds of the tile cache layer.
      
      (WebCore::TileCache::scheduleTileRevalidation):
      Schedule the revalidation timer if it hasn't already been scheduled.
      
      (WebCore::TileCache::tileRevalidationTimerFired):
      Call revalidateTiles.
      
      (WebCore::TileCache::revalidateTiles):
      Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
      parts of the tile coverage rect that don't have tiles already.
      
      (WebCore::TileCache::tileLayerAtIndex):
      Remove invalid assertions.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      048a097c
    • commit-queue@webkit.org's avatar
      [SKIA/CHROMIUM] Perform getImageData format conversions using Skia · 7eb879ce
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77553
      
      Patch by Brian Salomon <bsalomon@google.com> on 2012-02-01
      Reviewed by Stephen White.
      
      Source/WebCore:
      
      Many existing canvas tests exercise this functionality.
      
      * platform/graphics/skia/ImageBufferSkia.cpp:
      (WebCore::getImageData):
      
      LayoutTests:
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7eb879ce
    • commit-queue@webkit.org's avatar
      [Qt] Set all PlatformTouchPoint values possible from a QTouch event. · 5f816066
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77442
      
      Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-02-01
      Reviewed by Kenneth Rohde Christiansen.
      
      * platform/qt/PlatformTouchPointQt.cpp:
      (WebCore::PlatformTouchPoint::PlatformTouchPoint):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5f816066
    • philn@webkit.org's avatar
      Unreviewed, another GTK build fix after r106446. · 9e3f5d1e
      philn@webkit.org authored
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      Restore webKitWebSrcGetProtocols as it was before r106446.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e3f5d1e
    • philn@webkit.org's avatar
      Unreviewed, GTK build fix after r106446. · 21f0b9a1
      philn@webkit.org authored
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21f0b9a1
    • philn@webkit.org's avatar
      [GStreamer] 0.11 webkitwebsrc · 23fd9603
      philn@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77086
      
      Port the webkitwebsrc element to GStreamer 0.11 APIs.
      
      Reviewed by Gustavo Noronha Silva.
      
      No new tests, existing http media layout tests should cover this.
      
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      (webkit_web_src_class_init):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23fd9603
  4. 31 Jan, 2012 1 commit
    • ap@apple.com's avatar
      REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian · 3325079e
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77473
      <rdar://problem/10751357>
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Test: platform/mac/fast/events/non-roman-key-code.html
      
      * WebCore.exp.in:
      * platform/mac/PlatformEventFactoryMac.h:
      * platform/mac/PlatformEventFactoryMac.mm:
      (WebCore::keyIdentifierForKeyEvent):
      (WebCore::windowsKeyCodeForKeyEvent):
      Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.
      
      Source/WebKit2:
      
      * Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of
      WebCore ones.
      
      Tools:
      
      * DumpRenderTree/mac/EventSendingController.mm:
      (-[EventSendingController keyDown:withModifiers:withLocation:]):
      * WebKitTestRunner/mac/EventSenderProxy.mm:
      (WTR::EventSenderProxy::keyDown):
      Added a new special keyDown value to test this.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3325079e