diff -r 4f2f89ce4247 -r 303757a437d3 WebCore/ChangeLog --- 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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ø + + 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 + + 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 + + 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 Reviewed by Laszlo Gombos.