WebCore/ChangeLog
changeset 2 303757a437d3
parent 0 4f2f89ce4247
--- a/WebCore/ChangeLog	Fri Sep 17 09:02:29 2010 +0300
+++ b/WebCore/ChangeLog	Mon Oct 04 01:32:07 2010 +0300
@@ -1,3 +1,432 @@
+2010-09-03  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed-by Simon Hausmann.
+
+        Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient. 
+        Instead, pass a X Pixmap that has same depth as the screen depth since graphics 
+        operations are optimized for this depth.
+
+        https://bugs.webkit.org/show_bug.cgi?id=45167
+
+        * plugins/PluginPackage.cpp:
+        (WebCore::PluginPackage::determineQuirks):
+
+2010-09-01  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] QWebPage::allowGeolocationRequest should be async API
+        https://bugs.webkit.org/show_bug.cgi?id=41364
+
+        Adding GeolocationPermissionClientQt.cpp/h to build script
+
+        * WebCore.pro:
+
+2010-08-27  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [Qt] Cache plugin info to a persistent database
+
+        https://bugs.webkit.org/show_bug.cgi?id=43179
+
+        Implement a cache of NPAPI plugin metadata. Write the metadata to aa
+        file that gets rewritten if any plugin is added / removed.  Compilation
+        of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+
+        Currently only enabled for Qt UNIX flavors.
+
+        * WebCore.pro:  Enable NETSCAPE_PLUGIN_METADATA_CACHE for UNIX builds
+        * platform/qt/FileSystemQt.cpp:
+        (WebCore::openFile): Added.
+        (WebCore::readFromFile): Added.
+        * plugins/PluginDatabase.cpp:
+        (WebCore::persistentPluginMetadataCachePath): Static accessor for the path
+        (WebCore::PluginDatabase::PluginDatabase): Add instance variable.
+        (WebCore::PluginDatabase::refresh):
+        (WebCore::PluginDatabase::pluginForMIMEType): Ensure returned plugin is loaded.
+        (WebCore::PluginDatabase::MIMETypeForExtension): Ensure returned plugin is loaded.
+        (WebCore::PluginDatabase::clear):
+        (WebCore::fillBufferWithContentsOfFile): Static helper function.
+        (WebCore::readUTF8String): Static helper function.
+        (WebCore::readTime): Static helper function.
+        (WebCore::PluginDatabase::loadPersistentMetadataCache):
+        (WebCore::writeUTF8String): Static helper function.
+        (WebCore::writeTime): Static helper function.
+        (WebCore::PluginDatabase::updatePersistentMetadataCache): Added.
+        (WebCore::PluginDatabase::isPersistentMetadataCacheEnabled): Added.
+        (WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):Added.
+        (WebCore::PluginDatabase::persistentMetadataCachePath): Added.
+        (WebCore::PluginDatabase::setPersistentMetadataCachePath): Added.
+        * plugins/PluginDatabase.h:
+        * plugins/PluginPackage.cpp:
+        (WebCore::PluginPackage::PluginPackage): Add instance variable.
+        (WebCore::PluginPackage::createPackageFromCache): Added.
+        (WebCore::PluginPackage::ensurePluginLoaded): Added.
+        * plugins/PluginPackage.h:
+        (WebCore::PluginPackage::fullMIMEDescription): Added.
+        * plugins/qt/PluginPackageQt.cpp:
+        (WebCore::PluginPackage::fetchInfo): Split mime parsing.
+        (WebCore::PluginPackage::setMIMEDescription): Added. Mime parsing.
+
+2010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] Set the clipRect correctly in windowed and windowless mode.
+        In Windowed mode, the values are in page coordinates. In Windowless
+        mode the values are in drawable coordinates. Setting these values is
+        purely academic since they are not used by Flash. However, there is a
+        possibility that plugins might infer a 'null' clipRect to mean 'invisible'.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44594
+
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::PluginView::setNPWindowIfNeeded):
+
+2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Ariya Hidayat.
+
+        [Qt] When using the raster graphics system on Maemo5, allow
+        Flash to render directly into the raster window surface.
+        wmode=transparent is now supported as a result of this change.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+        
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::PluginView::paintUsingImageSurfaceExtension):
+
+2010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [Qt] Implement Maemo5 local rendering NPAPI extension. See 
+        https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
+
+        With the local rendering extension, Flash will paint into a 16-bit surface.
+        For wmode=transparent, Flash expects the surface to contain the contents
+        beneath it. As it is tricky to implement the content propagation across all
+        graphics systems, transparent Flash is not supported. We just fill the surface 
+        with white and wmode=transparent behaves the same as wmode=opaque with a white 
+        background.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * WebCore.pro:
+        * plugins/PluginView.cpp:
+        (WebCore::PluginView::setValue):
+        (WebCore::PluginView::PluginView):
+        * plugins/PluginView.h:
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::PluginView::updatePluginWidget):
+        (WebCore::PluginView::paintUsingImageSurfaceExtension):
+        (WebCore::PluginView::paint):
+        (WebCore::PluginView::platformGetValueStatic):
+
+2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Antonio Gomes.
+
+        [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
+        libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::getPluginDisplay):
+
+2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Kenneth Rohde Christiansen.
+        Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
+        just Flash 10.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * plugins/PluginPackage.cpp:
+        (WebCore::PluginPackage::determineQuirks):
+
+2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
+
+        Reviewed by Steve Block.
+
+        [Qt] Request for permission before starting Geolocation service
+        https://bugs.webkit.org/show_bug.cgi?id=42027
+
+        Handles starting location acquisition when request is granted for ports using 
+        "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
+        Only Qt port as of today uses the above combination. Enable 
+        PREEMPT_GEOLOCATION_PERMISSION for qt port. 
+
+        Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
+        - fast/dom/Geolocation/delayed-permission-allowed.html
+        - fast/dom/Geolocation/delayed-permission-denied.html
+        - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
+        - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
+
+        * WebCore.pro:
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::handlePendingPermissionNotifiers):
+
+2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r65603.
+        http://trac.webkit.org/changeset/65603
+        https://bugs.webkit.org/show_bug.cgi?id=44179
+
+        4 tests crash on Qt bot (Requested by Ossy on #webkit).
+
+        * WebCore.pro:
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::handlePendingPermissionNotifiers):
+
+2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
+
+        Reviewed by Steve Block.
+
+        [Qt] Request for permission before starting Geolocation service
+        https://bugs.webkit.org/show_bug.cgi?id=42027
+
+        Handles starting location acquisition when request is granted for ports using 
+        "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
+        Only Qt port as of today uses the above combination. Enable 
+        PREEMPT_GEOLOCATION_PERMISSION for qt port. 
+
+        Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
+        - fast/dom/Geolocation/delayed-permission-allowed.html
+        - fast/dom/Geolocation/delayed-permission-denied.html
+        - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
+        - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
+
+        * WebCore.pro:
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::handlePendingPermissionNotifiers):
+
+2010-08-17  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
+
+        Reviewed by Steve Block.
+
+        Geolocation preemptive permissions policy is buggy
+        https://bugs.webkit.org/show_bug.cgi?id=42811
+
+        While waiting for permission, m_startRequestPermissionNotifier was 
+        used to consider only one pending request. This patch implements a set
+        m_pendingForPermissionNotifiers to maintain set of pending requests. 
+        When user grants/denies permission all listeners will be notified. 
+        Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
+        to start irrespective of permission state
+
+        Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
+               fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
+
+        * WebCore.pro:
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::startRequest):
+        (WebCore::Geolocation::setIsAllowed):
+        (WebCore::Geolocation::startUpdating):
+        (WebCore::Geolocation::handlePendingPermissionNotifiers):
+        * page/Geolocation.h:
+
+2010-07-27  Steve Block  <steveblock@google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Client-based Geolocation does not pass enableHighAccuracy option to controller and client
+        https://bugs.webkit.org/show_bug.cgi?id=40374
+
+        This change passes the enableHighAccuracy request option to the GeolocationController.
+        The GeolocationController tracks whether this should be used by the client.
+
+        No new tests possible as the mock provider doesn't support this feature.
+
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::setIsAllowed):
+        (WebCore::Geolocation::startUpdating):
+        * page/GeolocationController.cpp:
+        (WebCore::GeolocationController::addObserver):
+        (WebCore::GeolocationController::removeObserver):
+        * page/GeolocationController.h:
+        * page/GeolocationControllerClient.h:
+
+2010-08-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
+        https://bugs.webkit.org/show_bug.cgi?id=31273
+
+        On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
+        WebKit headers are included before platform headers. On all other
+        platforms continue to use INCLUDEPATH (as before).
+
+        This patch also removed the workarounds that are put in place 
+        now that we have a better solution.
+
+        No new tests as there is no new functionality.
+
+        * WebCore.pro:
+
+2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
+
+        Reviewed by Darin Adler.
+
+        CSS: Add fast-path for rgba() color parsing
+        https://bugs.webkit.org/show_bug.cgi?id=42965
+
+        Test: fast/canvas/rgba-parsing.html
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseColor): Extended with support for rgba().
+        (WebCore::parseAlphaValue): Added, parses an alpha value using
+        WTF::strtod() (if necessary) and clamps between 0 and 1.
+        (WebCore::isTenthAlpha):
+
+2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
+        https://bugs.webkit.org/show_bug.cgi?id=44403
+
+        Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
+        For canvas, always use complex text shaping since stroke and fill are decoupled.
+
+        * html/canvas/CanvasRenderingContext2D.cpp:
+        (WebCore::CanvasRenderingContext2D::measureText):
+        (WebCore::CanvasRenderingContext2D::drawTextInternal):
+        * platform/graphics/qt/FontQt.cpp:
+        (WebCore::drawTextCommon):
+
+2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
+
+        Reviewed by Ariya Hidayat.
+
+        [Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
+        https://bugs.webkit.org/show_bug.cgi?id=44061
+
+        Spec link:
+        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath
+
+        Test: fast/canvas/canvas-closePath-single-point.html
+
+        * platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
+        * platform/graphics/qt/PathQt.cpp:
+        (WebCore::Path::closeSubpath): Only close the last subpath if it
+        has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
+        (WebCore::Path::Path):
+        (WebCore::Path::operator=):
+        (WebCore::Path::moveTo):
+        (WebCore::Path::transform):
+
+2010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] Disable XSLT for production configuration
+        https://bugs.webkit.org/show_bug.cgi?id=37445
+
+        Introduce a new CONFIG option to maintain stable configuration for
+        the QtWebKit port and disable XSLT for the stable configuration
+        because of bug 37445.
+
+        No new tests as there is no new functionality.
+
+        * features.pri:
+
+2010-08-12  Hui Huang  <hui.2.huang@nokia.com>
+
+        Reviewed by Eric Seidel.
+
+        m_windowRect is not updated because parent of PluginView is not
+        set when updatePluginWidget is called. plugin gets wrong window
+        size on setwindow.
+        https://bugs.webkit.org/show_bug.cgi?id=43635
+
+        * plugins/symbian/PluginViewSymbian.cpp:
+        (WebCore::PluginView::setParent):
+
+2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        Reviewed by Ariya Hidayat.
+
+        [Qt] Clean up mobile feature useage
+        https://bugs.webkit.org/show_bug.cgi?id=43968
+
+        * WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
+        feature names.
+
+2010-08-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] Decode images directly to QPixmap
+        https://bugs.webkit.org/show_bug.cgi?id=40797
+
+        Use the new API of Qt 4.7 to decode data from the image
+        reader directly to QPixmap.
+
+        This allow us to use JDCT_IFAST when decoding jpeg images
+        to pixmap, and to decode animated GIF images, while still
+        using in-place conversion of color space.
+
+        * platform/graphics/qt/ImageDecoderQt.cpp:
+        (WebCore::ImageDecoderQt::setData):
+        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
+
+2010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        Make sure NPAPI plugins get an initial setNPWindow on Mac
+
+        https://bugs.webkit.org/show_bug.cgi?id=43782
+
+        * plugins/mac/PluginViewMac.mm:
+
+2010-08-04  Antonio Gomes  <tonikitoo@webkit.org>
+
+        Reviewed by Daniel Bates.
+
+        Remove superfluous non-negative checks in HitTestResult:padding{Width|Height}
+        https://bugs.webkit.org/show_bug.cgi?id=43534
+
+        As pointed out by Steve Block in https://bugs.webkit.org/show_bug.cgi?id=40197#c54 ,
+        the non-negative checks present in both paddingWidth and paddingHeight methods of
+        HitTestResults class are superflous, after we changed the rect based hit testing logic
+        of invalid padding from IntSize(-1, -1) to IntSize(0, 0). Patch addresses this issue.
+
+        No new tests needed.
+
+        * rendering/HitTestResult.h:
+        (WebCore::HitTestResult::paddingWidth):
+        (WebCore::HitTestResult::paddingHeight):
+
+2010-07-30  Luiz Agostini  <luiz.agostini@openbossa.org>
+
+        Reviewed by Simon Fraser.
+
+        Enabling view modes to all platforms
+        https://bugs.webkit.org/show_bug.cgi?id=37505
+
+        View mode media feature implementation as specified in http://www.w3.org/TR/view-mode.
+
+        The view mode media feature layout tests are stil skipped for all platforms except Qt
+        because of the lack of support of LayoutTestController in those platforms.
+
+        Test: fast/media/view-mode-media-feature.html
+
+        * css/MediaFeatureNames.h:
+        * css/MediaQueryEvaluator.cpp:
+        (WebCore::view_modeMediaFeatureEval):
+        * page/ChromeClient.h:
+        * page/Page.cpp:
+        (WebCore::Page::Page):
+        (WebCore::createViewModesSet):
+        (WebCore::Page::setViewMode):
+        * page/Page.h:
+        (WebCore::Page::viewMode):
+
 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
 
         Reviewed by Laszlo Gombos.