WebCore/ChangeLog
changeset 2 303757a437d3
parent 0 4f2f89ce4247
equal deleted inserted replaced
0:4f2f89ce4247 2:303757a437d3
       
     1 2010-09-03  Girish Ramakrishnan  <girish@forwardbias.in>
       
     2 
       
     3         Reviewed-by Simon Hausmann.
       
     4 
       
     5         Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient. 
       
     6         Instead, pass a X Pixmap that has same depth as the screen depth since graphics 
       
     7         operations are optimized for this depth.
       
     8 
       
     9         https://bugs.webkit.org/show_bug.cgi?id=45167
       
    10 
       
    11         * plugins/PluginPackage.cpp:
       
    12         (WebCore::PluginPackage::determineQuirks):
       
    13 
       
    14 2010-09-01  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
       
    15 
       
    16         Reviewed by Laszlo Gombos.
       
    17 
       
    18         [Qt] QWebPage::allowGeolocationRequest should be async API
       
    19         https://bugs.webkit.org/show_bug.cgi?id=41364
       
    20 
       
    21         Adding GeolocationPermissionClientQt.cpp/h to build script
       
    22 
       
    23         * WebCore.pro:
       
    24 
       
    25 2010-08-27  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
       
    26 
       
    27         Reviewed by Kenneth Rohde Christiansen.
       
    28 
       
    29         [Qt] Cache plugin info to a persistent database
       
    30 
       
    31         https://bugs.webkit.org/show_bug.cgi?id=43179
       
    32 
       
    33         Implement a cache of NPAPI plugin metadata. Write the metadata to aa
       
    34         file that gets rewritten if any plugin is added / removed.  Compilation
       
    35         of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
       
    36 
       
    37         Currently only enabled for Qt UNIX flavors.
       
    38 
       
    39         * WebCore.pro:  Enable NETSCAPE_PLUGIN_METADATA_CACHE for UNIX builds
       
    40         * platform/qt/FileSystemQt.cpp:
       
    41         (WebCore::openFile): Added.
       
    42         (WebCore::readFromFile): Added.
       
    43         * plugins/PluginDatabase.cpp:
       
    44         (WebCore::persistentPluginMetadataCachePath): Static accessor for the path
       
    45         (WebCore::PluginDatabase::PluginDatabase): Add instance variable.
       
    46         (WebCore::PluginDatabase::refresh):
       
    47         (WebCore::PluginDatabase::pluginForMIMEType): Ensure returned plugin is loaded.
       
    48         (WebCore::PluginDatabase::MIMETypeForExtension): Ensure returned plugin is loaded.
       
    49         (WebCore::PluginDatabase::clear):
       
    50         (WebCore::fillBufferWithContentsOfFile): Static helper function.
       
    51         (WebCore::readUTF8String): Static helper function.
       
    52         (WebCore::readTime): Static helper function.
       
    53         (WebCore::PluginDatabase::loadPersistentMetadataCache):
       
    54         (WebCore::writeUTF8String): Static helper function.
       
    55         (WebCore::writeTime): Static helper function.
       
    56         (WebCore::PluginDatabase::updatePersistentMetadataCache): Added.
       
    57         (WebCore::PluginDatabase::isPersistentMetadataCacheEnabled): Added.
       
    58         (WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):Added.
       
    59         (WebCore::PluginDatabase::persistentMetadataCachePath): Added.
       
    60         (WebCore::PluginDatabase::setPersistentMetadataCachePath): Added.
       
    61         * plugins/PluginDatabase.h:
       
    62         * plugins/PluginPackage.cpp:
       
    63         (WebCore::PluginPackage::PluginPackage): Add instance variable.
       
    64         (WebCore::PluginPackage::createPackageFromCache): Added.
       
    65         (WebCore::PluginPackage::ensurePluginLoaded): Added.
       
    66         * plugins/PluginPackage.h:
       
    67         (WebCore::PluginPackage::fullMIMEDescription): Added.
       
    68         * plugins/qt/PluginPackageQt.cpp:
       
    69         (WebCore::PluginPackage::fetchInfo): Split mime parsing.
       
    70         (WebCore::PluginPackage::setMIMEDescription): Added. Mime parsing.
       
    71 
       
    72 2010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>
       
    73 
       
    74         Reviewed by Simon Hausmann.
       
    75 
       
    76         [Qt] Set the clipRect correctly in windowed and windowless mode.
       
    77         In Windowed mode, the values are in page coordinates. In Windowless
       
    78         mode the values are in drawable coordinates. Setting these values is
       
    79         purely academic since they are not used by Flash. However, there is a
       
    80         possibility that plugins might infer a 'null' clipRect to mean 'invisible'.
       
    81 
       
    82         https://bugs.webkit.org/show_bug.cgi?id=44594
       
    83 
       
    84         * plugins/qt/PluginViewQt.cpp:
       
    85         (WebCore::PluginView::setNPWindowIfNeeded):
       
    86 
       
    87 2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
       
    88 
       
    89         Reviewed by Ariya Hidayat.
       
    90 
       
    91         [Qt] When using the raster graphics system on Maemo5, allow
       
    92         Flash to render directly into the raster window surface.
       
    93         wmode=transparent is now supported as a result of this change.
       
    94         
       
    95         https://bugs.webkit.org/show_bug.cgi?id=44043
       
    96         
       
    97         * plugins/qt/PluginViewQt.cpp:
       
    98         (WebCore::PluginView::paintUsingImageSurfaceExtension):
       
    99 
       
   100 2010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>
       
   101 
       
   102         Reviewed by Kenneth Rohde Christiansen.
       
   103 
       
   104         [Qt] Implement Maemo5 local rendering NPAPI extension. See 
       
   105         https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
       
   106 
       
   107         With the local rendering extension, Flash will paint into a 16-bit surface.
       
   108         For wmode=transparent, Flash expects the surface to contain the contents
       
   109         beneath it. As it is tricky to implement the content propagation across all
       
   110         graphics systems, transparent Flash is not supported. We just fill the surface 
       
   111         with white and wmode=transparent behaves the same as wmode=opaque with a white 
       
   112         background.
       
   113 
       
   114         https://bugs.webkit.org/show_bug.cgi?id=44043
       
   115 
       
   116         * WebCore.pro:
       
   117         * plugins/PluginView.cpp:
       
   118         (WebCore::PluginView::setValue):
       
   119         (WebCore::PluginView::PluginView):
       
   120         * plugins/PluginView.h:
       
   121         * plugins/qt/PluginViewQt.cpp:
       
   122         (WebCore::PluginView::updatePluginWidget):
       
   123         (WebCore::PluginView::paintUsingImageSurfaceExtension):
       
   124         (WebCore::PluginView::paint):
       
   125         (WebCore::PluginView::platformGetValueStatic):
       
   126 
       
   127 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
       
   128 
       
   129         Reviewed by Antonio Gomes.
       
   130 
       
   131         [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
       
   132         libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
       
   133 
       
   134         https://bugs.webkit.org/show_bug.cgi?id=44043
       
   135 
       
   136         * plugins/qt/PluginViewQt.cpp:
       
   137         (WebCore::getPluginDisplay):
       
   138 
       
   139 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
       
   140 
       
   141         Reviewed by Kenneth Rohde Christiansen.
       
   142         Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
       
   143         just Flash 10.
       
   144 
       
   145         https://bugs.webkit.org/show_bug.cgi?id=44043
       
   146 
       
   147         * plugins/PluginPackage.cpp:
       
   148         (WebCore::PluginPackage::determineQuirks):
       
   149 
       
   150 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
       
   151 
       
   152         Reviewed by Steve Block.
       
   153 
       
   154         [Qt] Request for permission before starting Geolocation service
       
   155         https://bugs.webkit.org/show_bug.cgi?id=42027
       
   156 
       
   157         Handles starting location acquisition when request is granted for ports using 
       
   158         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
       
   159         Only Qt port as of today uses the above combination. Enable 
       
   160         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
       
   161 
       
   162         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
       
   163         - fast/dom/Geolocation/delayed-permission-allowed.html
       
   164         - fast/dom/Geolocation/delayed-permission-denied.html
       
   165         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
       
   166         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
       
   167 
       
   168         * WebCore.pro:
       
   169         * page/Geolocation.cpp:
       
   170         (WebCore::Geolocation::handlePendingPermissionNotifiers):
       
   171 
       
   172 2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
       
   173 
       
   174         Unreviewed, rolling out r65603.
       
   175         http://trac.webkit.org/changeset/65603
       
   176         https://bugs.webkit.org/show_bug.cgi?id=44179
       
   177 
       
   178         4 tests crash on Qt bot (Requested by Ossy on #webkit).
       
   179 
       
   180         * WebCore.pro:
       
   181         * page/Geolocation.cpp:
       
   182         (WebCore::Geolocation::handlePendingPermissionNotifiers):
       
   183 
       
   184 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
       
   185 
       
   186         Reviewed by Steve Block.
       
   187 
       
   188         [Qt] Request for permission before starting Geolocation service
       
   189         https://bugs.webkit.org/show_bug.cgi?id=42027
       
   190 
       
   191         Handles starting location acquisition when request is granted for ports using 
       
   192         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
       
   193         Only Qt port as of today uses the above combination. Enable 
       
   194         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
       
   195 
       
   196         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
       
   197         - fast/dom/Geolocation/delayed-permission-allowed.html
       
   198         - fast/dom/Geolocation/delayed-permission-denied.html
       
   199         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
       
   200         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
       
   201 
       
   202         * WebCore.pro:
       
   203         * page/Geolocation.cpp:
       
   204         (WebCore::Geolocation::handlePendingPermissionNotifiers):
       
   205 
       
   206 2010-08-17  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
       
   207 
       
   208         Reviewed by Steve Block.
       
   209 
       
   210         Geolocation preemptive permissions policy is buggy
       
   211         https://bugs.webkit.org/show_bug.cgi?id=42811
       
   212 
       
   213         While waiting for permission, m_startRequestPermissionNotifier was 
       
   214         used to consider only one pending request. This patch implements a set
       
   215         m_pendingForPermissionNotifiers to maintain set of pending requests. 
       
   216         When user grants/denies permission all listeners will be notified. 
       
   217         Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
       
   218         to start irrespective of permission state
       
   219 
       
   220         Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
       
   221                fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
       
   222 
       
   223         * WebCore.pro:
       
   224         * page/Geolocation.cpp:
       
   225         (WebCore::Geolocation::startRequest):
       
   226         (WebCore::Geolocation::setIsAllowed):
       
   227         (WebCore::Geolocation::startUpdating):
       
   228         (WebCore::Geolocation::handlePendingPermissionNotifiers):
       
   229         * page/Geolocation.h:
       
   230 
       
   231 2010-07-27  Steve Block  <steveblock@google.com>
       
   232 
       
   233         Reviewed by Jeremy Orlow.
       
   234 
       
   235         Client-based Geolocation does not pass enableHighAccuracy option to controller and client
       
   236         https://bugs.webkit.org/show_bug.cgi?id=40374
       
   237 
       
   238         This change passes the enableHighAccuracy request option to the GeolocationController.
       
   239         The GeolocationController tracks whether this should be used by the client.
       
   240 
       
   241         No new tests possible as the mock provider doesn't support this feature.
       
   242 
       
   243         * page/Geolocation.cpp:
       
   244         (WebCore::Geolocation::setIsAllowed):
       
   245         (WebCore::Geolocation::startUpdating):
       
   246         * page/GeolocationController.cpp:
       
   247         (WebCore::GeolocationController::addObserver):
       
   248         (WebCore::GeolocationController::removeObserver):
       
   249         * page/GeolocationController.h:
       
   250         * page/GeolocationControllerClient.h:
       
   251 
       
   252 2010-08-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
       
   253 
       
   254         Reviewed by Simon Hausmann.
       
   255 
       
   256         [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
       
   257         https://bugs.webkit.org/show_bug.cgi?id=31273
       
   258 
       
   259         On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
       
   260         WebKit headers are included before platform headers. On all other
       
   261         platforms continue to use INCLUDEPATH (as before).
       
   262 
       
   263         This patch also removed the workarounds that are put in place 
       
   264         now that we have a better solution.
       
   265 
       
   266         No new tests as there is no new functionality.
       
   267 
       
   268         * WebCore.pro:
       
   269 
       
   270 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
       
   271 
       
   272         Reviewed by Darin Adler.
       
   273 
       
   274         CSS: Add fast-path for rgba() color parsing
       
   275         https://bugs.webkit.org/show_bug.cgi?id=42965
       
   276 
       
   277         Test: fast/canvas/rgba-parsing.html
       
   278 
       
   279         * css/CSSParser.cpp:
       
   280         (WebCore::CSSParser::parseColor): Extended with support for rgba().
       
   281         (WebCore::parseAlphaValue): Added, parses an alpha value using
       
   282         WTF::strtod() (if necessary) and clamps between 0 and 1.
       
   283         (WebCore::isTenthAlpha):
       
   284 
       
   285 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
       
   286 
       
   287         Reviewed by Kenneth Rohde Christiansen.
       
   288 
       
   289         [Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
       
   290         https://bugs.webkit.org/show_bug.cgi?id=44403
       
   291 
       
   292         Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
       
   293         For canvas, always use complex text shaping since stroke and fill are decoupled.
       
   294 
       
   295         * html/canvas/CanvasRenderingContext2D.cpp:
       
   296         (WebCore::CanvasRenderingContext2D::measureText):
       
   297         (WebCore::CanvasRenderingContext2D::drawTextInternal):
       
   298         * platform/graphics/qt/FontQt.cpp:
       
   299         (WebCore::drawTextCommon):
       
   300 
       
   301 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
       
   302 
       
   303         Reviewed by Ariya Hidayat.
       
   304 
       
   305         [Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
       
   306         https://bugs.webkit.org/show_bug.cgi?id=44061
       
   307 
       
   308         Spec link:
       
   309         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath
       
   310 
       
   311         Test: fast/canvas/canvas-closePath-single-point.html
       
   312 
       
   313         * platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
       
   314         * platform/graphics/qt/PathQt.cpp:
       
   315         (WebCore::Path::closeSubpath): Only close the last subpath if it
       
   316         has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
       
   317         (WebCore::Path::Path):
       
   318         (WebCore::Path::operator=):
       
   319         (WebCore::Path::moveTo):
       
   320         (WebCore::Path::transform):
       
   321 
       
   322 2010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
       
   323 
       
   324         Reviewed by Simon Hausmann.
       
   325 
       
   326         [Qt] Disable XSLT for production configuration
       
   327         https://bugs.webkit.org/show_bug.cgi?id=37445
       
   328 
       
   329         Introduce a new CONFIG option to maintain stable configuration for
       
   330         the QtWebKit port and disable XSLT for the stable configuration
       
   331         because of bug 37445.
       
   332 
       
   333         No new tests as there is no new functionality.
       
   334 
       
   335         * features.pri:
       
   336 
       
   337 2010-08-12  Hui Huang  <hui.2.huang@nokia.com>
       
   338 
       
   339         Reviewed by Eric Seidel.
       
   340 
       
   341         m_windowRect is not updated because parent of PluginView is not
       
   342         set when updatePluginWidget is called. plugin gets wrong window
       
   343         size on setwindow.
       
   344         https://bugs.webkit.org/show_bug.cgi?id=43635
       
   345 
       
   346         * plugins/symbian/PluginViewSymbian.cpp:
       
   347         (WebCore::PluginView::setParent):
       
   348 
       
   349 2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
       
   350 
       
   351         Reviewed by Ariya Hidayat.
       
   352 
       
   353         [Qt] Clean up mobile feature useage
       
   354         https://bugs.webkit.org/show_bug.cgi?id=43968
       
   355 
       
   356         * WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
       
   357         feature names.
       
   358 
       
   359 2010-08-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
       
   360 
       
   361         Reviewed by Simon Hausmann.
       
   362 
       
   363         [Qt] Decode images directly to QPixmap
       
   364         https://bugs.webkit.org/show_bug.cgi?id=40797
       
   365 
       
   366         Use the new API of Qt 4.7 to decode data from the image
       
   367         reader directly to QPixmap.
       
   368 
       
   369         This allow us to use JDCT_IFAST when decoding jpeg images
       
   370         to pixmap, and to decode animated GIF images, while still
       
   371         using in-place conversion of color space.
       
   372 
       
   373         * platform/graphics/qt/ImageDecoderQt.cpp:
       
   374         (WebCore::ImageDecoderQt::setData):
       
   375         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
       
   376 
       
   377 2010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
       
   378 
       
   379         Reviewed by Simon Hausmann.
       
   380 
       
   381         Make sure NPAPI plugins get an initial setNPWindow on Mac
       
   382 
       
   383         https://bugs.webkit.org/show_bug.cgi?id=43782
       
   384 
       
   385         * plugins/mac/PluginViewMac.mm:
       
   386 
       
   387 2010-08-04  Antonio Gomes  <tonikitoo@webkit.org>
       
   388 
       
   389         Reviewed by Daniel Bates.
       
   390 
       
   391         Remove superfluous non-negative checks in HitTestResult:padding{Width|Height}
       
   392         https://bugs.webkit.org/show_bug.cgi?id=43534
       
   393 
       
   394         As pointed out by Steve Block in https://bugs.webkit.org/show_bug.cgi?id=40197#c54 ,
       
   395         the non-negative checks present in both paddingWidth and paddingHeight methods of
       
   396         HitTestResults class are superflous, after we changed the rect based hit testing logic
       
   397         of invalid padding from IntSize(-1, -1) to IntSize(0, 0). Patch addresses this issue.
       
   398 
       
   399         No new tests needed.
       
   400 
       
   401         * rendering/HitTestResult.h:
       
   402         (WebCore::HitTestResult::paddingWidth):
       
   403         (WebCore::HitTestResult::paddingHeight):
       
   404 
       
   405 2010-07-30  Luiz Agostini  <luiz.agostini@openbossa.org>
       
   406 
       
   407         Reviewed by Simon Fraser.
       
   408 
       
   409         Enabling view modes to all platforms
       
   410         https://bugs.webkit.org/show_bug.cgi?id=37505
       
   411 
       
   412         View mode media feature implementation as specified in http://www.w3.org/TR/view-mode.
       
   413 
       
   414         The view mode media feature layout tests are stil skipped for all platforms except Qt
       
   415         because of the lack of support of LayoutTestController in those platforms.
       
   416 
       
   417         Test: fast/media/view-mode-media-feature.html
       
   418 
       
   419         * css/MediaFeatureNames.h:
       
   420         * css/MediaQueryEvaluator.cpp:
       
   421         (WebCore::view_modeMediaFeatureEval):
       
   422         * page/ChromeClient.h:
       
   423         * page/Page.cpp:
       
   424         (WebCore::Page::Page):
       
   425         (WebCore::createViewModesSet):
       
   426         (WebCore::Page::setViewMode):
       
   427         * page/Page.h:
       
   428         (WebCore::Page::viewMode):
       
   429 
     1 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
   430 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
     2 
   431 
     3         Reviewed by Laszlo Gombos.
   432         Reviewed by Laszlo Gombos.
     4 
   433 
     5         [Qt] Temporary files should not be created in the current directory
   434         [Qt] Temporary files should not be created in the current directory