1. 10 Dec, 2010 20 commits
    • andreas.kling@nokia.com's avatar
      2010-12-10 Andreas Kling <kling@webkit.org> · 39078312
      andreas.kling@nokia.com authored
              Reviewed by Eric Seidel.
      
              Don't do GraphicsContext save/restore just to preserve the CompositeOperator
              https://bugs.webkit.org/show_bug.cgi?id=50070
      
              Add GraphicsContext::compositeOperation() so we don't have to do a full
              save/restore if the only context-tainting call is setCompositeOperation().
      
              GraphicsContext::setCompositeOperation() now stores the op in its state
              and calls a port-specific setPlatformCompositeOperation().
      
              No new tests, this is an optimization.
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::setCompositeOperation):
              (WebCore::GraphicsContext::compositeOperation):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/GraphicsContextPrivate.h:
              (WebCore::GraphicsContextState::GraphicsContextState):
              * platform/graphics/Image.cpp:
              (WebCore::Image::fillWithSolidColor):
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/haiku/GraphicsContextHaiku.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/mac/GraphicsContextMac.mm:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/skia/GraphicsContextSkia.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/skia/SkiaUtils.cpp:
              (WebCore::WebCoreCompositeToSkiaComposite):
              * platform/graphics/wince/GraphicsContextWinCE.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * platform/graphics/wx/GraphicsContextWx.cpp:
              (WebCore::GraphicsContext::setPlatformCompositeOperation):
              * rendering/RenderBoxModelObject.cpp:
              (WebCore::RenderBoxModelObject::paintFillLayerExtended):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::paintBoxDecorations):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39078312
    • reni@webkit.org's avatar
      GraphicsContext: Merge m_common and m_data · a1db5cff
      reni@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=49914
      
      Patch by Renata Hodovan <reni@webkit.org> on 2010-12-10
      Reviewed by Andreas Kling.
      
      Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
      and m_common became unnecessary. They are removed.
      Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
      make the constructor of GraphicsContext clearer.
      Besides add a getter to the private GraphicsContext::m_state member, because some inline
      functions in cairo need it.
      
      No new test is needed, because this is a refactoring.
      
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/GraphicsContext.cpp:
      (WebCore::GraphicsContext::GraphicsContext):
      (WebCore::GraphicsContext::~GraphicsContext):
      (WebCore::GraphicsContext::save):
      (WebCore::GraphicsContext::restore):
      (WebCore::GraphicsContext::setStrokeThickness):
      (WebCore::GraphicsContext::setStrokeStyle):
      (WebCore::GraphicsContext::setStrokeColor):
      (WebCore::GraphicsContext::setShadow):
      (WebCore::GraphicsContext::clearShadow):
      (WebCore::GraphicsContext::getShadow):
      (WebCore::GraphicsContext::strokeThickness):
      (WebCore::GraphicsContext::strokeStyle):
      (WebCore::GraphicsContext::strokeColor):
      (WebCore::GraphicsContext::strokeColorSpace):
      (WebCore::GraphicsContext::fillRule):
      (WebCore::GraphicsContext::setFillRule):
      (WebCore::GraphicsContext::setFillColor):
      (WebCore::GraphicsContext::fillColor):
      (WebCore::GraphicsContext::fillColorSpace):
      (WebCore::GraphicsContext::setShouldAntialias):
      (WebCore::GraphicsContext::shouldAntialias):
      (WebCore::GraphicsContext::state):
      (WebCore::GraphicsContext::setStrokePattern):
      (WebCore::GraphicsContext::setFillPattern):
      (WebCore::GraphicsContext::setStrokeGradient):
      (WebCore::GraphicsContext::setFillGradient):
      (WebCore::GraphicsContext::fillGradient):
      (WebCore::GraphicsContext::strokeGradient):
      (WebCore::GraphicsContext::fillPattern):
      (WebCore::GraphicsContext::strokePattern):
      (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
      (WebCore::GraphicsContext::updatingControlTints):
      (WebCore::GraphicsContext::setUpdatingControlTints):
      (WebCore::GraphicsContext::setPaintingDisabled):
      (WebCore::GraphicsContext::paintingDisabled):
      (WebCore::GraphicsContext::textDrawingMode):
      (WebCore::GraphicsContext::setTextDrawingMode):
      * platform/graphics/GraphicsContext.h:
      (WebCore::GraphicsContextState::GraphicsContextState):
      * platform/graphics/GraphicsContextPrivate.h: Removed.
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::setPlatformFill):
      (WebCore::setPlatformStroke):
      (WebCore::drawPathShadow):
      (WebCore::fillCurrentCairoPath):
      (WebCore::strokeCurrentCairoPath):
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      (WebCore::GraphicsContext::fillPath):
      (WebCore::GraphicsContext::strokePath):
      (WebCore::GraphicsContext::fillRect):
      (WebCore::GraphicsContext::setPlatformShadow):
      (WebCore::GraphicsContext::strokeRect):
      (WebCore::GraphicsContext::setAlpha):
      (WebCore::GraphicsContext::getAlpha):
      * platform/graphics/cg/GraphicsContextCG.cpp:
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      (WebCore::GraphicsContext::applyStrokePattern):
      (WebCore::GraphicsContext::applyFillPattern):
      (WebCore::GraphicsContext::drawPath):
      (WebCore::GraphicsContext::fillPath):
      (WebCore::GraphicsContext::strokePath):
      (WebCore::GraphicsContext::fillRect):
      (WebCore::GraphicsContext::setPlatformShadow):
      (WebCore::GraphicsContext::strokeRect):
      * platform/graphics/haiku/GraphicsContextHaiku.cpp:
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      (WebCore::GraphicsContext::fillPath):
      (WebCore::GraphicsContext::strokePath):
      (WebCore::GraphicsContext::clip):
      (WebCore::GraphicsContext::clipOut):
      (WebCore::GraphicsContext::addInnerRoundedRectClip):
      * platform/graphics/qt/GraphicsContextQt.cpp:
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      (WebCore::GraphicsContext::fillPath):
      (WebCore::GraphicsContext::strokePath):
      (WebCore::GraphicsContext::fillRect):
      (WebCore::GraphicsContext::setPlatformShadow):
      * platform/graphics/skia/GraphicsContextSkia.cpp:
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      (WebCore::GraphicsContext::fillPath):
      (WebCore::GraphicsContext::setPlatformShadow):
      * platform/graphics/win/GraphicsContextCGWin.cpp:
      (WebCore::GraphicsContext::GraphicsContext):
      (WebCore::GraphicsContext::platformInit):
      * platform/graphics/win/GraphicsContextCairoWin.cpp:
      (WebCore::GraphicsContext::GraphicsContext):
      (WebCore::GraphicsContext::platformInit):
      * platform/graphics/wince/GraphicsContextWinCE.cpp:
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      (WebCore::GraphicsContext::fillPath):
      (WebCore::GraphicsContext::fillRect):
      * platform/graphics/wx/GraphicsContextWx.cpp:
      (WebCore::GraphicsContext::platformInit):
      (WebCore::GraphicsContext::platformDestroy):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1db5cff
    • podivilov@chromium.org's avatar
      2010-12-10 Pavel Podivilov <podivilov@chromium.org> · c6c51819
      podivilov@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
              https://bugs.webkit.org/show_bug.cgi?id=50809
      
              * inspector/Inspector.idl:
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::InspectorController):
              (WebCore::InspectorController::setEventListenerBreakpoint):
              (WebCore::InspectorController::removeEventListenerBreakpoint):
              (WebCore::InspectorController::hasEventListenerBreakpoint):
              (WebCore::InspectorController::setXHRBreakpoint):
              (WebCore::InspectorController::removeXHRBreakpoint):
              (WebCore::InspectorController::hasXHRBreakpoint):
              (WebCore::InspectorController::clearNativeBreakpoints):
              * inspector/InspectorController.h:
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::setDOMBreakpoint):
              (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
              (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
              (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
              (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
              (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
              (WebCore::InspectorDOMAgent::didRemoveDOMNode):
              * inspector/InspectorDOMAgent.h:
              * inspector/InspectorInstrumentation.cpp:
              (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
              (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
              (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
              (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
              (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
              * inspector/front-end/BreakpointManager.js:
              (WebInspector.BreakpointManager):
              (WebInspector.NativeBreakpoint):
              (WebInspector.DOMBreakpoint):
              (WebInspector.EventListenerBreakpoint):
              (WebInspector.XHRBreakpoint):
              * inspector/front-end/CallStackSidebarPane.js:
              (WebInspector.CallStackSidebarPane):
              (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
              * inspector/front-end/DebuggerModel.js:
              (WebInspector.DebuggerModel.prototype.debuggerPaused):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6c51819
    • aroben@apple.com's avatar
      Windows production build fix after r72555 · a605c8fe
      aroben@apple.com authored
      * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
      "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
      .vsprops files, rather than $(WebKitLibrariesDir).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73723 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a605c8fe
    • jocelyn.turcotte@nokia.com's avatar
      [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710. · e825e022
      jocelyn.turcotte@nokia.com authored
      Reviewed by nobody, build fix.
      
      * platform/network/qt/QtNAMThreadSafeProxy.cpp:
      (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
      (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
      * platform/network/qt/QtNAMThreadSafeProxy.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73722 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e825e022
    • jocelyn.turcotte@nokia.com's avatar
      [Qt] Fix the build with Qt 4.6 broken in 73710. · 322a42e9
      jocelyn.turcotte@nokia.com authored
      Reviewed by nobody, build fix.
      
      * platform/network/qt/QtNAMThreadSafeProxy.cpp:
      (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
      * platform/network/qt/QtNAMThreadSafeProxy.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      322a42e9
    • commit-queue@webkit.org's avatar
      2010-12-10 Emil Eklund <eae@chromium.org> · 43894ca9
      commit-queue@webkit.org authored
              Reviewed by Eric Seidel.
      
              Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
              https://bugs.webkit.org/show_bug.cgi?id=49982
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::dispatchMouseEvent):
              Walk up DOM/hosted tree rather than render tree.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43894ca9
    • jocelyn.turcotte@nokia.com's avatar
      2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> · 38910f31
      jocelyn.turcotte@nokia.com authored
              Reviewed by Kenneth Rohde Christiansen.
      
              [Qt] Support a QNetworkAccessManager affined to a different thread.
              https://bugs.webkit.org/show_bug.cgi?id=50080
      
              This patch introduce thread safe proxy classes for QNetworkAccessManager
              and QNetworkReply.
              If run in the same thread, these objects will forward the calls with
              Qt::DirectConnection bindings, while in the other case they will use
              Qt::QueuedConnection to carry requests accross threads.
      
              This patch basically:
              - Makes sure that all access goes through these objects
              - Reorders signal connections to make sure we are connected when the
                signal comes
              - Makes sure that no QObject in the WebCore thread is a child of the
                reply which might be in a different thread.
              - Forward the data directly in QByteArrays in signals instead of collecting
                the data when the signal is handled.
      
              New test: tst_QWebPage::networkAccessManagerOnDifferentThread
      
              * WebCore.pro:
              * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
              (WebCore::MediaPlayerPrivateQt::commitLoad):
              * platform/network/qt/QNetworkReplyHandler.cpp:
              (WebCore::FormDataIODevice::FormDataIODevice):
              (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
              (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler):
              (WebCore::QNetworkReplyHandler::setLoadMode):
              (WebCore::QNetworkReplyHandler::abort):
              (WebCore::QNetworkReplyHandler::release):
              (WebCore::ignoreHttpError):
              (WebCore::QNetworkReplyHandler::finish):
              (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
              (WebCore::QNetworkReplyHandler::forwardData):
              (WebCore::QNetworkReplyHandler::start):
              (WebCore::QNetworkReplyHandler::sendQueuedItems):
              * platform/network/qt/QNetworkReplyHandler.h:
              * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added.
              * platform/network/qt/QtNAMThreadSafeProxy.h: Added.
              * platform/network/qt/ResourceHandleQt.cpp:
              (WebCore::ResourceHandle::willLoadFromCache):
              * platform/qt/CookieJarQt.cpp:
              (WebCore::networkAccessManager):
              (WebCore::setCookies):
              (WebCore::cookies):
              (WebCore::cookieRequestHeaderFieldValue):
              (WebCore::cookiesEnabled):
      2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
      
              Reviewed by Kenneth Rohde Christiansen.
      
              [Qt] Support a QNetworkAccessManager affined to a different thread.
              https://bugs.webkit.org/show_bug.cgi?id=50080
      
              This patch introduce thread safe proxy classes for QNetworkAccessManager
              and QNetworkReply.
              If run in the same thread, these objects will forward the calls with
              Qt::DirectConnection bindings, while in the other case they will use
              Qt::QueuedConnection to carry requests accross threads.
      
              This patch basically:
              - Makes sure that all access goes through these objects
              - Reorders signal connections to make sure we are connected when the
                signal comes
              - Makes sure that no QObject in the WebCore thread is a child of the
                reply which might be in a different thread.
              - Forward the data directly in QByteArrays in signals instead of collecting
                the data when the signal is handled.
      
              New test: tst_QWebPage::networkAccessManagerOnDifferentThread
      
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::download):
              * tests/qwebpage/tst_qwebpage.cpp:
              (QtNAMThread::QtNAMThread):
              (QtNAMThread::~QtNAMThread):
              (QtNAMThread::networkAccessManager):
              (QtNAMThread::run):
              (tst_QWebPage::networkAccessManagerOnDifferentThread):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38910f31
    • jocelyn.turcotte@nokia.com's avatar
      [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes. · 64ec5c94
      jocelyn.turcotte@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50761
      
      Reviewed by Kenneth Rohde Christiansen.
      
      This patch change the order to check if m_reply is null instead,
      explicitly deleting the reply before calling start() for a redirect,
      or after calling didFinishLoading()/didFail() in other cases.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::QNetworkReplyHandler::finish):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73708 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64ec5c94
    • jocelyn.turcotte@nokia.com's avatar
      [Qt] Make sure we send the response before any data. · b216401b
      jocelyn.turcotte@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50760
      
      Reviewed by Kenneth Rohde Christiansen.
      
      This patch make sure the data available flag is set before
      we call sendResponseIfNeeded.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
      (WebCore::QNetworkReplyHandler::finish):
      (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
      (WebCore::QNetworkReplyHandler::forwardData):
      (WebCore::QNetworkReplyHandler::resetState):
      * platform/network/qt/QNetworkReplyHandler.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b216401b
    • commit-queue@webkit.org's avatar
      2010-12-10 Koan-Sin Tan <koansin.tan@gmail.com> · d1f901a9
      commit-queue@webkit.org authored
              Reviewed by Dan Bernstein.
      
              Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
              https://bugs.webkit.org/show_bug.cgi?id=50668
      
              No new tests. Note that, as said in the bug report discussion,
              I did have a test case for the bug. However, to show the test
              case you need some "broken" Microsoft copyrighted fonts, such
              as DFKai-SB.
      
              * platform/graphics/Font.cpp:
              (WebCore::Font::isCJKIdeograph):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1f901a9
    • philn@webkit.org's avatar
      2010-12-10 Philippe Normand <pnormand@igalia.com> · b6c117b7
      philn@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [GStreamer] un-needed methods
              https://bugs.webkit.org/show_bug.cgi?id=50805
      
              No new tests, code cleanup only.
      
              * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
              * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73705 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6c117b7
    • mrobinson@webkit.org's avatar
      2010-12-10 Carlos Garcia Campos <cgarcia@igalia.com> · feabe044
      mrobinson@webkit.org authored
              Reviewed by Martin Robinson.
      
              [GTK] Simplify context-menu handling code
              https://bugs.webkit.org/show_bug.cgi?id=49658
      
              * wtf/PlatformRefPtr.h:
      2010-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
      
              Reviewed by Martin Robinson.
      
              [GTK] Simplify context-menu handling code
              https://bugs.webkit.org/show_bug.cgi?id=49658
      
              * platform/ContextMenuItem.h:
              * platform/gtk/ContextMenuGtk.cpp:
              (WebCore::ContextMenu::appendItem):
              * platform/gtk/ContextMenuItemGtk.cpp:
              (WebCore::ContextMenuItem::ContextMenuItem):
              (WebCore::ContextMenuItem::~ContextMenuItem):
              (WebCore::ContextMenuItem::releasePlatformDescription):
              (WebCore::ContextMenuItem::type):
              (WebCore::ContextMenuItem::setType):
              (WebCore::ContextMenuItem::action):
              (WebCore::ContextMenuItem::setAction):
              (WebCore::ContextMenuItem::title):
              (WebCore::ContextMenuItem::setTitle):
              (WebCore::ContextMenuItem::platformSubMenu):
              (WebCore::ContextMenuItem::setSubMenu):
              (WebCore::ContextMenuItem::setChecked):
              (WebCore::ContextMenuItem::setEnabled):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      feabe044
    • philn@webkit.org's avatar
      2010-12-10 Philippe Normand <pnormand@igalia.com> · 7a878367
      philn@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [GStreamer] data: source could also support non-base64 encoded URIs
              https://bugs.webkit.org/show_bug.cgi?id=30007
      
              Removed our ancient implementation of dataurisrc. We should now
              use the one in gst-plugins-bad which is more mature.
      
              * GNUmakefile.am:
              * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
              * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
              * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
              (WebCore::doGstInit):
      
      LayoutTests:
      
              Reviewed by Gustavo Noronha Silva.
      
              [GStreamer] data: source could also support non-base64 encoded URIs
              https://bugs.webkit.org/show_bug.cgi?id=30007
      
              * platform/gtk/Skipped: Unskipped media/audio-data-url.html. It
              should now be much more reliable on the bots running latest
              GStreamer versions.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a878367
    • zherczeg@webkit.org's avatar
      2010-12-10 Zoltan Herczeg <zherczeg@webkit.org> · 996d7242
      zherczeg@webkit.org authored
              Reviewed by Eric Seidel.
      
              [Qt] Fix crashes in debug mode
              https://bugs.webkit.org/show_bug.cgi?id=49976
      
              The m_methods hashmap of QtInstance contains InternalFunctions
              whose depend on the current RuntimeObject. When we recreate the
              RuntimeObject, we should also reset this hashmap.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::newRuntimeObject):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      996d7242
    • commit-queue@webkit.org's avatar
      2010-12-10 François Sausset <sausset@gmail.com> · ee43bfc5
      commit-queue@webkit.org authored
              Reviewed by Eric Seidel.
      
              MathML: update baselinePosition() call in RenderMathMLBlock.cpp
              https://bugs.webkit.org/show_bug.cgi?id=50540
      
              The call of baselinePosition() is outdated: new arguments added.
      
              * mathml/RenderMathMLBlock.cpp:
              (WebCore::RenderMathMLBlock::paint):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee43bfc5
    • hans@chromium.org's avatar
      2010-12-10 Hans Wennborg <hans@chromium.org> · 6a1a6dfd
      hans@chromium.org authored
              Reviewed by Jeremy Orlow.
      
              IndexedDB: Numeric keys are floats.
              https://bugs.webkit.org/show_bug.cgi?id=50674
      
              Update layout tests to use floating-point values for keys.
      
              * storage/indexeddb/keyrange-expected.txt:
              * storage/indexeddb/keyrange.html:
              Make sure creating the keys works.
              * storage/indexeddb/objectstore-cursor-expected.txt:
              * storage/indexeddb/objectstore-cursor.html:
              Make sure retrieving the keys from the DB objectstore works.
      2010-12-10  Hans Wennborg  <hans@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              IndexedDB: Numeric keys are floats.
              https://bugs.webkit.org/show_bug.cgi?id=50674
      
              Use floating point to represent numeric keys,
              add version meta data to the SQLite db,
              and migrate object stores that use integers.
      
              * bindings/v8/IDBBindingUtilities.cpp:
              (WebCore::createIDBKeyFromValue):
              * bindings/v8/custom/V8IDBKeyCustom.cpp:
              (WebCore::toV8):
              * storage/IDBFactoryBackendImpl.cpp:
              (WebCore::createTables):
              (WebCore::migrateDatabase):
              (WebCore::IDBFactoryBackendImpl::open):
              * storage/IDBKey.cpp:
              (WebCore::IDBKey::IDBKey):
              (WebCore::IDBKey::fromQuery):
              (WebCore::IDBKey::bind):
              (WebCore::IDBKey::bindWithNulls):
              * storage/IDBKey.h:
              (WebCore::IDBKey::create):
              (WebCore::IDBKey::number):
      2010-12-10  Hans Wennborg  <hans@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              IndexedDB: Numeric keys are floats.
              https://bugs.webkit.org/show_bug.cgi?id=50674
      
              Represent numeric keys as floating point values.
      
              * public/WebIDBKey.h:
              (WebKit::WebIDBKey::WebIDBKey):
              * src/WebIDBKey.cpp:
              (WebKit::WebIDBKey::assign):
              (WebKit::WebIDBKey::number):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6a1a6dfd
    • mrobinson@webkit.org's avatar
      2010-12-10 Martin Robinson <mrobinson@igalia.com> · 7be215a5
      mrobinson@webkit.org authored
              Reviewed by Xan Lopez.
      
              [Gtk] style="font-family: courier" makes text disappear
              https://bugs.webkit.org/show_bug.cgi?id=47452
      
              Added a GTK+ test for invalid fonts.
      
              * platform/gtk/fonts/font-with-no-valid-encoding-expected.checksum: Added.
              * platform/gtk/fonts/font-with-no-valid-encoding-expected.png: Added.
              * platform/gtk/fonts/font-with-no-valid-encoding-expected.txt: Added.
              * platform/gtk/fonts/font-with-no-valid-encoding.html: Added.
      2010-12-10  Martin Robinson  <mrobinson@igalia.com>
      
              Reviewed by Xan Lopez.
      
              [Gtk] style="font-family: courier" makes text disappear
              https://bugs.webkit.org/show_bug.cgi?id=47452
      
              Don't ever use fonts that do not have any of the three charmaps that
              Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
              a font that doesn't have one of these charmaps, use the next font in
              the list.
      
              Test: platform/gtk/fonts/font-with-no-valid-encoding.html
      
              * platform/graphics/freetype/FontCacheFreeType.cpp:
              (WebCore::FontCache::createFontPlatformData): Check whether the
              font we selected has a valid Fontconfig charmap.
              * platform/graphics/freetype/FontPlatformData.h: Added new method definition.
              * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
              (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
              verifies that a font has a valid Fontconfig charmap.
      2010-12-10  Martin Robinson  <mrobinson@igalia.com>
      
              Reviewed by Xan Lopez.
      
              [Gtk] style="font-family: courier" makes text disappear
              https://bugs.webkit.org/show_bug.cgi?id=47452
      
              Add a test that verifies that fonts without valid charmaps are
              never selected.
      
              * DumpRenderTree/gtk/DumpRenderTree.cpp:
              (initializeFonts): Initialize DRT with our font (derived from Ahem)
              that has no valid charmap.
              * DumpRenderTree/gtk/fonts/FontWithNoValidEncoding.fon: Added.
              * DumpRenderTree/gtk/fonts/fonts.conf: Updated settings to override users'
              settings which may disable selection of bitmap fonts.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7be215a5
    • rniwa@webkit.org's avatar
      2010-12-09 Ryosuke Niwa <rniwa@webkit.org> · b69181d8
      rniwa@webkit.org authored
              Reviewed by Ojan Vafai.
      
              Make DOM Mutation Events Asynchronous
              https://bugs.webkit.org/show_bug.cgi?id=46936
      
              Implemented DOM mutations events as scoped events. A scoped event is an event whose
              dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
              EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
              on its constructor and destructor respectively.
      
              When the scoping level is 0 (initial level), scoped events are dispatched as soon as
              they are enqueued and act like synchronous events. When the scoping level is greater than 0,
              however, events are queued in ScopedEventQueue and their dispatches are delayed until
              the scoping level goes back to 0 (by the destruction of EventQueueScope).
      
              DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
              DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
              scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
              of the events until the completion of each call of EditCommand::doApply.
      
              Test: fast/events/mutation/execCommands.html
      
              * Android.mk: Added ScopedEventQueue.cpp.
              * CMakeLists.txt: Ditto.
              * WebCore.pro: Ditto.
              * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
              * WebCore.gypi:  Ditto.
              * WebCore.vcproj/project.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
              (WebCore::dispatchChildRemovalEvents): Ditto.
              * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
              * dom/Element.cpp:
              (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
              (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
              * dom/Node.cpp:
              (WebCore::Node::dispatchScopedEvent): Added.
              (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
              * dom/Node.h:
              * dom/ScopedEventQueue.cpp: Added.
              (WebCore::ScopedEventQueue::initialize): Added.
              (WebCore::ScopedEventQueue::enqueueEvent): Added.
              (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
              (WebCore::ScopedEventQueue::dispatchEvent): Added.
              (WebCore::ScopedEventQueue::instance): Added.
              (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
              (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
              * dom/ScopedEventQueue.h: Added.
              (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
              (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
              (WebCore::EventQueueScope::EventQueueScope): Added.
              (WebCore::EventQueueScope::~EventQueueScope): Added.
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::apply): Instantiates EventQueueScope.
      2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Ojan Vafai.
      
              Make DOM Mutation Events Asynchronous
              https://bugs.webkit.org/show_bug.cgi?id=46936
      
              Added a test to ensure no DOM mutation events are fired while execCommand is in progress.
      
              * fast/events/crash-on-mutate-during-drop.html: DOMNodeInserted is fired after BR is detached
              from the document, and can't be observed. Modify the DOM when text node is inserted.
              * fast/events/scoped: Added.
              * fast/events/scoped/editing-commands-expected.txt: Added.
              * fast/events/scoped/editing-commands.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b69181d8
    • rniwa@webkit.org's avatar
      2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> · 1a796035
      rniwa@webkit.org authored
              Unreviewed, rolling out r73684.
              http://trac.webkit.org/changeset/73684
              https://bugs.webkit.org/show_bug.cgi?id=50801
      
              "missing bug number" (Requested by rniwa on #webkit).
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/ContainerNode.cpp:
              (WebCore::dispatchChildInsertionEvents):
              (WebCore::dispatchChildRemovalEvents):
              * dom/DOMAllInOne.cpp:
              * dom/Element.cpp:
              (WebCore::Element::dispatchAttrRemovalEvent):
              (WebCore::Element::dispatchAttrAdditionEvent):
              * dom/Node.cpp:
              (WebCore::Node::dispatchSubtreeModifiedEvent):
              (WebCore::Node::dispatchUIEvent):
              * dom/Node.h:
              * dom/ScopedEventQueue.cpp: Removed.
              * dom/ScopedEventQueue.h: Removed.
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::apply):
      2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r73684.
              http://trac.webkit.org/changeset/73684
              https://bugs.webkit.org/show_bug.cgi?id=50801
      
              "missing bug number" (Requested by rniwa on #webkit).
      
              * fast/events/crash-on-mutate-during-drop.html:
              * fast/events/scoped/editing-commands-expected.txt: Removed.
              * fast/events/scoped/editing-commands.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a796035
  2. 09 Dec, 2010 20 commits
    • commit-queue@webkit.org's avatar
      2010-12-09 Qi Zhang <qi.2.zhang@nokia.com> · e9f5304a
      commit-queue@webkit.org authored
              Reviewed by Kenneth Rohde Christiansen.
      
              [Qt] enable orientation flag when QtMobility available
              https://bugs.webkit.org/show_bug.cgi?id=50781
      
              When QtMobility available, enable orientation flag by default.
      
              * features.pri:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9f5304a
    • commit-queue@webkit.org's avatar
      2010-12-09 Kenichi Ishibashi <bashi@google.com> · 28363974
      commit-queue@webkit.org authored
              Reviewed by Kent Tamura.
      
              Improve validation API support of <object> and <keygen>
              https://bugs.webkit.org/show_bug.cgi?id=50663
      
              Adds tests for validation API for <object>.
              Tests for <output> and <keygen> are also added.
      
              * fast/dom/plugin-attributes-enumeration-expected.txt: Updated.
              * fast/forms/ValidityState-001-expected.txt: Updated.
              * fast/forms/ValidityState-001.html: Updated.
              * fast/forms/checkValidity-001-expected.txt: Updated.
              * fast/forms/checkValidity-001.html: Updated.
              * fast/forms/script-tests/setCustomValidity-existence.js: Added.
              * fast/forms/script-tests/validationMessage.js: Updated.
              * fast/forms/script-tests/willvalidate.js: Updated.
              * fast/forms/setCustomValidity-existence-expected.txt: Added.
              * fast/forms/setCustomValidity-existence.html: Added.
              * fast/forms/validationMessage-expected.txt: Updated.
              * fast/forms/willvalidate-expected.txt: Updated.
      2010-12-09  Kenichi Ishibashi  <bashi@google.com>
      
              Reviewed by Kent Tamura.
      
              Improve validation API support of <object> and <keygen>
              https://bugs.webkit.org/show_bug.cgi?id=50663
      
              Adds validation API to HTMLObjectElement class.
              Makes HTMLKeygenElement::willValidate() return false.
      
              Test: fast/forms/setCustomValidity-existence.html
      
              * html/HTMLKeygenElement.h:
              (WebCore::HTMLKeygenElement::willValidate): Added.
              * html/HTMLObjectElement.h:
              (WebCore::HTMLObjectElement::validationMessage): Added.
              (WebCore::HTMLObjectElement::checkValidity): Added.
              (WebCore::HTMLObjectElement::setCustomValidity): Added.
              * html/HTMLObjectElement.idl: Added validation API properties.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28363974
    • commit-queue@webkit.org's avatar
      2010-12-09 Sadrul Habib Chowdhury <sadrul@chromium.org> · 0c77be31
      commit-queue@webkit.org authored
              Reviewed by Kent Tamura.
      
              Make sure a non-zero value is used for tile-width to avoid a crash
              https://bugs.webkit.org/show_bug.cgi?id=50341
      
              The scaled tile width can be very small at times (e.g. with 'style: font 1
              required'). So use a minimum width of 1 instead of using 0 (which leads to a
              crash).
      
              * fast/dom/HTMLProgressElement/progress-element-with-style-crash.html: Added.
              * fast/dom/HTMLProgressElement/progress-element-with-style-crash-expected.txt: Added.
      2010-12-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
      
              Reviewed by Kent Tamura.
      
              Make sure a non-zero value is used for tile-width to avoid a crash
              https://bugs.webkit.org/show_bug.cgi?id=50341
      
              The scaled tile width can be very small at times (e.g. with 'style: font 1
              required'). So use a minimum width of 1 instead of using 0 (which leads to a
              crash).
      
              Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
      
              * rendering/RenderThemeChromiumSkia.cpp:
              (WebCore::RenderThemeChromiumSkia::paintProgressBar):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c77be31
    • rniwa@webkit.org's avatar
      2010-12-09 Ryosuke Niwa <rniwa@webkit.org> · 59951184
      rniwa@webkit.org authored
              Reviewed by Ojan Vafai.
      
              Implemented DOM mutations events as scoped events. A scoped event is an event whose
              dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
              EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
              on its constructor and destructor respectively.
      
              When the scoping level is 0 (initial level), scoped events are dispatched as soon as
              they are enqueued and act like synchronous events. When the scoping level is greater than 0,
              however, events are queued in ScopedEventQueue and their dispatches are delayed until
              the scoping level goes back to 0 (by the destruction of EventQueueScope).
      
              DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
              DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
              scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
              of the events until the completion of each call of EditCommand::doApply.
      
              Test: fast/events/mutation/execCommands.html
      
              * Android.mk: Added ScopedEventQueue.cpp.
              * CMakeLists.txt: Ditto.
              * WebCore.pro: Ditto.
              * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
              * WebCore.gypi:  Ditto.
              * WebCore.vcproj/project.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
              (WebCore::dispatchChildRemovalEvents): Ditto.
              * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
              * dom/Element.cpp:
              (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
              (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
              * dom/Node.cpp:
              (WebCore::Node::dispatchScopedEvent): Added.
              (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
              * dom/Node.h:
              * dom/ScopedEventQueue.cpp: Added.
              (WebCore::ScopedEventQueue::initialize): Added.
              (WebCore::ScopedEventQueue::enqueueEvent): Added.
              (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
              (WebCore::ScopedEventQueue::dispatchEvent): Added.
              (WebCore::ScopedEventQueue::instance): Added.
              (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
              (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
              * dom/ScopedEventQueue.h: Added.
              (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
              (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
              (WebCore::EventQueueScope::EventQueueScope): Added.
              (WebCore::EventQueueScope::~EventQueueScope): Added.
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::apply): Instantiates EventQueueScope.
      2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Ojan Vafai.
      
              Added a test to ensure no DOM mutation events are fired while execCommand is in progress.
      
              * fast/events/crash-on-mutate-during-drop.html: DOMNodeInserted is fired after BR is detached
              from the document, and can't be observed. Modify the DOM when text node is inserted.
              * fast/events/mutation: Added.
              * fast/events/mutation/execCommands.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59951184
    • weinig@apple.com's avatar
      Fix scrolling with mouse wheel in WebKit2 views. Once · 20cffe9e
      weinig@apple.com authored
      we coalesce wheel events, we can re-enable this.
      
      Reviewed by Gavin Barraclough.
      
      * platform/mac/ScrollAnimatorMac.mm:
      (WebCore::ScrollAnimatorMac::scroll):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20cffe9e
    • inferno@chromium.org's avatar
      2010-12-09 Abhishek Arya <inferno@chromium.org> · 3337ca80
      inferno@chromium.org authored
              Reviewed by James Robinson.
      
              For details element, ensure that if we ended up being inline that we set out replaced
              flag so that we are treated like an inline block.
              https://bugs.webkit.org/show_bug.cgi?id=50671
      
              Test: fast/html/details-element-render-inline-crash.html
      
              * rendering/RenderDetails.cpp:
              (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
              * rendering/RenderDetails.h: function definition.
      2010-12-09  Abhishek Arya  <inferno@chromium.org>
      
              Reviewed by James Robinson.
      
              Tests that we do not crash when we set details element with children to show as inline.
              https://bugs.webkit.org/show_bug.cgi?id=50671
      
              * fast/html/details-element-render-inline-crash-expected.txt: Added.
              * fast/html/details-element-render-inline-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3337ca80
    • commit-queue@webkit.org's avatar
      2010-12-09 Jasmin Lapalme <jlapalme@druide.com> · bcd8fe63
      commit-queue@webkit.org authored
              Reviewed by Alexey Proskuryakov.
      
              Test for a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
              https://bugs.webkit.org/show_bug.cgi?id=50708
      
              * fast/xsl/utf8-chunks-expected.txt: Added.
              * fast/xsl/utf8-chunks.xml: Added.
              * fast/xsl/utf8-chunks.xsl: Added.
      2010-12-09  Jasmin Lapalme  <jlapalme@druide.com>
      
              Reviewed by Alexey Proskuryakov.
      
              Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
              https://bugs.webkit.org/show_bug.cgi?id=50708
      
              Test: fast/xsl/utf8-chunks.xml
      
              * xml/XSLTProcessorLibxslt.cpp:
              (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcd8fe63
    • inferno@chromium.org's avatar
      2010-12-09 Vincent Scheib <scheib@chromium.org> · ad91daf5
      inferno@chromium.org authored
              Reviewed by James Robinson.
      
              Clip update rectangle for Texture::updateSubRect to texture size
              https://bugs.webkit.org/show_bug.cgi?id=49929
      
              Test: fast/canvas/canvas-largedraws.html
      
              * platform/graphics/gpu/Texture.cpp:
              (WebCore::Texture::updateSubRect):
      2010-12-09  Vincent Scheib  <scheib@chromium.org>
      
              Reviewed by James Robinson.
      
              Clip update rectangle for Texture::updateSubRect to texture size
              https://bugs.webkit.org/show_bug.cgi?id=49929
      
              * fast/canvas/canvas-largedraws-expected.txt: Added.
              * fast/canvas/canvas-largedraws.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73678 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ad91daf5
    • kbr@google.com's avatar
      2010-12-09 Kenneth Russell <kbr@google.com> · 28baa6a6
      kbr@google.com authored
              Unreviewed. Another speculative Gtk build fix after r73669. Add
              needed derived sources to GNUmakefile.am.
      
              * GNUmakefile.am:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28baa6a6
    • kbr@google.com's avatar
      2010-12-09 Kenneth Russell <kbr@google.com> · 36191196
      kbr@google.com authored
              Unreviewed. Speculative Gtk build fix after
              https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
              all of the WebGL classes' IDL files.
      
              * CMakeLists.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36191196
    • zmo@google.com's avatar
      2010-12-09 Zhenyao Mo <zmo@google.com> · 1cfa85c9
      zmo@google.com authored
              Reviewed by Kenneth Russell.
      
              Expose constructor functions for instanceof checks of WebGL objects
              https://bugs.webkit.org/show_bug.cgi?id=36512
      
              Test: fast/canvas/webgl/instanceof-test.html
      
              * bindings/generic/RuntimeEnabledFeatures.h:
              (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
              (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
              (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
              (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
              (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
              (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
              (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
              (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
              * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
              * html/canvas/WebGLBuffer.idl: Ditto.
              * html/canvas/WebGLFramebuffer.idl: Ditto.
              * html/canvas/WebGLProgram.idl: Ditto.
              * html/canvas/WebGLRenderbuffer.idl: Ditto.
              * html/canvas/WebGLShader.idl: Ditto.
              * html/canvas/WebGLTexture.idl: Ditto.
              * html/canvas/WebGLUniformLocation.idl: Ditto.
              * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.
      2010-12-09  Zhenyao Mo  <zmo@google.com>
      
              Reviewed by Kenneth Russell.
      
              Expose constructor functions for instanceof checks of WebGL objects
              https://bugs.webkit.org/show_bug.cgi?id=36512
      
              * fast/canvas/webgl/instanceof-test-expected.txt: Added.
              * fast/canvas/webgl/instanceof-test.html: Added.
              * fast/dom/Window/script-tests/window-property-descriptors.js: Register newly added WebGL objects.
              * fast/dom/Window/window-properties.html: Ditto.
              * fast/dom/script-tests/prototype-inheritance-2.js: Ditto.
              (constructorNamesForWindow):
              * fast/dom/script-tests/prototype-inheritance.js: Ditto.
              * fast/js/script-tests/global-constructors.js: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cfa85c9
    • timothy@apple.com's avatar
      WebCore: Export Color::white and Color::transparent. · b92d8776
      timothy@apple.com authored
      Reviewed by Anders Carlsson.
      
      * WebCore.exp.in:
      
      WebKit2: Add support for transparent WebKit2 WKViews.
      
      https://webkit.org/b/50785
      
      Reviewed by Anders Carlsson.
      
      * Shared/WebPageCreationParameters.cpp:
      (WebKit::WebPageCreationParameters::encode): Encode drawsBackground and drawsTransparentBackground.
      (WebKit::WebPageCreationParameters::decode): Decode drawsBackground and drawsTransparentBackground.
      * Shared/WebPageCreationParameters.h:
      * UIProcess/API/mac/WKView.h:
      * UIProcess/API/mac/WKView.mm:
      (-[WKView setDrawsBackground:]): Added.
      (-[WKView drawsBackground]): Added.
      (-[WKView setDrawsTransparentBackground:]): Added.
      (-[WKView drawsTransparentBackground]): Added.
      (-[WKView drawRect:]): Only fill the background if the WebProcess isn't valid and drawsBackground.
      Use white or clear based on setDrawsTransparentBackground.
      (-[WKView isOpaque]): Return drawsBackground.
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy): Initialize m_drawsBackground and m_drawsTransparentBackground.
      (WebKit::WebPageProxy::setDrawsBackground): Added. Send a SetDrawsBackground message.
      (WebKit::WebPageProxy::setDrawsTransparentBackground): Added. Send a SetDrawsTransparentBackground message.
      (WebKit::WebPageProxy::creationParameters): Set drawsBackground and drawsTransparentBackground.
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::drawsBackground): Added. Return m_drawsBackground.
      (WebKit::WebPageProxy::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
      * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
      (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): Use the copy blend mode when drawing a background.
      (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): Use the copy blend mode to replace existing content.
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Setup the new view's background color and transparent flag.
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage): Initialize m_drawsBackground and m_drawsTransparentBackground.
      (WebKit::WebPage::setDrawsBackground): Added. Propagate the flag to the FrameViews.
      (WebKit::WebPage::setDrawsTransparentBackground): Added. Propagate the background color to the FrameViews.
      * WebProcess/WebPage/WebPage.h:
      (WebKit::WebPage::drawsBackground): Added. Return m_drawsBackground.
      (WebKit::WebPage::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
      * WebProcess/WebPage/WebPage.messages.in: Added SetDrawsBackground and SetDrawsTransparentBackground.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b92d8776
    • weinig@apple.com's avatar
      Fix failing Mac tests. · 7682f297
      weinig@apple.com authored
      * platform/mac/ScrollAnimatorMac.mm:
      (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
      AppleScrollAnimationEnabled is false.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7682f297
    • jamesr@google.com's avatar
      2010-12-09 James Robinson <jamesr@chromium.org> · 0b08057d
      jamesr@google.com authored
              Reviewed by Kenneth Russell.
      
              [chromium] Compositor needs to manage its VRAM use
              https://bugs.webkit.org/show_bug.cgi?id=49629
      
              Adds a few tests involving lots of visible image layers.  The tests are designed
              to require slightly more than 64MB of VRAM.
      
              * platform/chromium-gpu-win/compositing/lots-of-img-layers-expected.checksum: Added.
              * platform/chromium-gpu-win/compositing/lots-of-img-layers-expected.png: Added.
              * platform/chromium-gpu-win/compositing/lots-of-img-layers-expected.txt: Added.
              * platform/chromium-gpu-win/compositing/lots-of-img-layers-with-opacity-expected.checksum: Added.
              * platform/chromium-gpu-win/compositing/lots-of-img-layers-with-opacity-expected.png: Added.
              * platform/chromium-gpu-win/compositing/lots-of-img-layers-with-opacity-expected.txt: Added.
              * platform/chromium-gpu/test_expectations.txt:
              * platform/chromium/compositing/lots-of-img-layers-with-opacity.html: Added.
              * platform/chromium/compositing/lots-of-img-layers.html: Added.
              * platform/chromium/test_expectations.txt:
      2010-12-09  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Kenneth Russell.
      
              [chromium] Compositor needs to manage its VRAM use
              https://bugs.webkit.org/show_bug.cgi?id=49629
      
              This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
              used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
              RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
              Video, and WebGL) and the root layer are still unmanaged.
      
              The TextureManager works by providing tokens to callers that want to use a managed texture.
              The token can be used to request a texture, see if the previously requested texture is still
              available, and to protect/unprotect textures when they cannot be collected.  Whenever a
              texture is created the manager attempts to free up the least recently used textures until the
              total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
              limit it will not return any new textures until some old textures are released.
      
              A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
              previously requested texture is still available for use and reserve the LayerTexture's underlying
              storage between the updateContentsIfDirty() and the draw() call.
      
              Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
              updateContentsIfDirty().
      
              Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
                     platform/chromium/compositing/lots-of-img-layers.html
      
              * WebCore.gypi:
              * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
              (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
              * platform/graphics/chromium/Canvas2DLayerChromium.h:
              * platform/graphics/chromium/ContentLayerChromium.cpp:
              (WebCore::ContentLayerChromium::cleanupResources):
              (WebCore::ContentLayerChromium::updateContentsIfDirty):
              (WebCore::ContentLayerChromium::updateTextureRect):
              (WebCore::ContentLayerChromium::draw):
              * platform/graphics/chromium/ContentLayerChromium.h:
              * platform/graphics/chromium/ImageLayerChromium.cpp:
              (WebCore::ImageLayerChromium::updateContentsIfDirty):
              * platform/graphics/chromium/ImageLayerChromium.h:
              * platform/graphics/chromium/LayerChromium.h:
              (WebCore::LayerChromium::updateContentsIfDirty):
              (WebCore::LayerChromium::draw):
              * platform/graphics/chromium/LayerRendererChromium.cpp:
              (WebCore::LayerRendererChromium::LayerRendererChromium):
              (WebCore::LayerRendererChromium::useShader):
              (WebCore::LayerRendererChromium::prepareToDrawLayers):
              (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
              (WebCore::LayerRendererChromium::drawLayers):
              (WebCore::LayerRendererChromium::getFramebufferPixels):
              (WebCore::LayerRendererChromium::createLayerTexture):
              (WebCore::LayerRendererChromium::deleteLayerTexture):
              (WebCore::LayerRendererChromium::updateLayersRecursive):
              (WebCore::LayerRendererChromium::useRenderSurface):
              (WebCore::LayerRendererChromium::drawLayer):
              (WebCore::LayerRendererChromium::setScissorToRect):
              (WebCore::LayerRendererChromium::setDrawViewportRect):
              (WebCore::LayerRendererChromium::initializeSharedObjects):
              (WebCore::LayerRendererChromium::cleanupSharedObjects):
              * platform/graphics/chromium/LayerRendererChromium.h:
              (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
              (WebCore::LayerRendererChromium::textureManager):
              * platform/graphics/chromium/LayerTexture.cpp: Added.
              (WebCore::LayerTexture::LayerTexture):
              (WebCore::LayerTexture::~LayerTexture):
              (WebCore::LayerTexture::isValid):
              (WebCore::LayerTexture::reserve):
              (WebCore::LayerTexture::unreserve):
              (WebCore::LayerTexture::bindTexture):
              (WebCore::LayerTexture::framebufferTexture2D):
              * platform/graphics/chromium/LayerTexture.h: Added.
              (WebCore::LayerTexture::create):
              * platform/graphics/chromium/PluginLayerChromium.cpp:
              (WebCore::PluginLayerChromium::updateContentsIfDirty):
              * platform/graphics/chromium/PluginLayerChromium.h:
              * platform/graphics/chromium/RenderSurfaceChromium.cpp:
              (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
              (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
              (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
              (WebCore::RenderSurfaceChromium::cleanupResources):
              (WebCore::RenderSurfaceChromium::prepareContentsTexture):
              (WebCore::RenderSurfaceChromium::draw):
              * platform/graphics/chromium/RenderSurfaceChromium.h:
              (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
              (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
              (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
              (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
              (WebCore::RenderSurfaceChromium::SharedValues::initialized):
              * platform/graphics/chromium/TextureManager.cpp: Added.
              (WebCore::memoryUseBytes):
              (WebCore::TextureManager::TextureManager):
              (WebCore::TextureManager::getToken):
              (WebCore::TextureManager::releaseToken):
              (WebCore::TextureManager::hasTexture):
              (WebCore::TextureManager::protectTexture):
              (WebCore::TextureManager::unprotectTexture):
              (WebCore::TextureManager::reduceMemoryToLimit):
              (WebCore::TextureManager::addTexture):
              (WebCore::TextureManager::removeTexture):
              (WebCore::TextureManager::requestTexture):
              * platform/graphics/chromium/TextureManager.h: Added.
              (WebCore::TextureManager::create):
              * platform/graphics/chromium/VideoLayerChromium.cpp:
              (WebCore::VideoLayerChromium::updateContentsIfDirty):
              * platform/graphics/chromium/VideoLayerChromium.h:
              * platform/graphics/chromium/WebGLLayerChromium.cpp:
              (WebCore::WebGLLayerChromium::updateContentsIfDirty):
              * platform/graphics/chromium/WebGLLayerChromium.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b08057d
    • darin@apple.com's avatar
      Rework my recent setLocation refactoring to use DOMWindow instead of Frame. · c957680a
      darin@apple.com authored
      It's difficult to make correct security decisions based on Frame since a
      Frame can navigate to a new document.
      
      Reviewed by Sam Weinig.
      
      Fixes some test failures that I somehow missed before the last check-in.
      
      * bindings/js/JSDOMWindowBase.cpp:
      (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
      shell DOMWindow; not sure this one matters, but it's closer to the old
      code before my last patch. Also pass the DOMWindow rather than the
      frame to crossDomainAccessErrorMessage.
      
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
      to the DOMWindow::setLocation function.
      
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
      (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
      
      * page/DOMWindow.h: Update new functions to take DOMWindow rather
      than Frame.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c957680a
    • weinig@apple.com's avatar
      Try and fix the mac build. · 66860cfd
      weinig@apple.com authored
      * WebCore.exp.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66860cfd
    • mitz@apple.com's avatar
      Removed an unused variable. · b34bbfc6
      mitz@apple.com authored
      Reviewed by Dave Hyatt.
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b34bbfc6
    • darin@apple.com's avatar
      Fix date. · 92e2af60
      darin@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92e2af60
    • darin@apple.com's avatar
      2010-12-08 Darin Adler <darin@apple.com> · 05ce6e8b
      darin@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
              https://bugs.webkit.org/show_bug.cgi?id=50640
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::printErrorMessageForFrame): Removed body; just call through to
              DOMWindow::printErrorMessage.
      
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
              just call through to DOMWindow::crossDomainAccessErrorMessage.
      
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
              firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
              of the body and moved it into DOMWindow::setLocation.
      
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::setLocation): Added. Does all the same work that
              JSDOMWindow::setLocation used to do, but in a way that's not specific
              to JavaScript.
              (WebCore::DOMWindow::printErrorMessage): Added.
              (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
      
              * page/DOMWindow.h: Added setLocation, printErrorMessage, and
              crossDomainAccessErrorMessage.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05ce6e8b
    • weinig@apple.com's avatar
      WebKit2 needs smooth scrolling support on the mac · 08ce4d80
      weinig@apple.com authored
      <rdar://problem/8219402>
      
      Reviewed by Dan Bernstein.
      
      * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
      * platform/mac/ScrollAnimatorMac.cpp: Removed.
      * platform/mac/ScrollAnimatorMac.h:
      * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
      (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
      (-[ScrollAnimationHelperDelegate bounds]):
      (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
      (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
      (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
      (-[ScrollAnimationHelperDelegate superview]):
      (-[ScrollAnimationHelperDelegate documentView]):
      (-[ScrollAnimationHelperDelegate window]):
      (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
      (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
      (WebCore::ScrollAnimatorMac::scroll):
      (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
      (WebCore::ScrollAnimatorMac::currentPosition):
      (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
      Add implementation of ScrollAnimator for the Mac.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08ce4d80