Web Inspector: use single method for retrieving evaluation context in the runtime...
[WebKit-https.git] / Source / WebCore / ChangeLog
index ecdff44..b178039 100644 (file)
@@ -1,3 +1,390 @@
+2012-05-04  Yury Semikhatsky  <yurys@chromium.org>
+
+        Web Inspector: use single method for retrieving evaluation context in the runtime agent
+        https://bugs.webkit.org/show_bug.cgi?id=85621
+
+        Reviewed by Pavel Feldman.
+
+        Merged two script state retrieval methods into one. Moved Page specific logic
+        into PageRuntimeAgent.
+
+        * inspector/InspectorRuntimeAgent.cpp:
+        (WebCore::InspectorRuntimeAgent::evaluate):
+        * inspector/InspectorRuntimeAgent.h:
+        (InspectorRuntimeAgent):
+        * inspector/PageRuntimeAgent.cpp:
+        (WebCore::PageRuntimeAgent::scriptStateForEval):
+        * inspector/PageRuntimeAgent.h:
+        (PageRuntimeAgent):
+        * inspector/WorkerRuntimeAgent.cpp:
+        (WebCore::WorkerRuntimeAgent::scriptStateForEval):
+        * inspector/WorkerRuntimeAgent.h:
+        (WorkerRuntimeAgent):
+
+2012-05-04  Jochen Eisinger  <jochen@chromium.org>
+
+        Unreviewed, rolling out r115549.
+        http://trac.webkit.org/changeset/115549
+        https://bugs.webkit.org/show_bug.cgi?id=83894
+
+        The newly added CRASH() statements are triggered too often
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::init):
+        (WebCore::FrameLoader::setupForReplace):
+        (WebCore::FrameLoader::stopAllLoaders):
+        (WebCore::FrameLoader::clearProvisionalLoad):
+        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
+        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+
+2012-05-04  Zoltan Horvath  <zoltan@webkit.org>
+
+        [Qt] Error message fix after r116091
+        https://bugs.webkit.org/show_bug.cgi?id=85614
+
+        Reviewed by Alexis Menard.
+
+        No new tests : error message fix.
+
+        * WebCore.pri:
+
+2012-05-04  Alexis Menard  <alexis.menard@openbossa.org>
+
+        [Qt] Build fix when using libpng version > 1.2.
+        https://bugs.webkit.org/show_bug.cgi?id=85614
+
+        Reviewed by Tor Arne Vestbø.
+
+        Don't enforce the version of libpng when passing the option to the linker.
+
+        No new tests : build fix.
+
+        * WebCore.pri:
+
+2012-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        [Qt] Images are scaled badly in WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=85610
+
+        Reviewed by Jocelyn Turcotte.
+
+        Enable smooth pixmap transforms when rendering into the GraphicsSurface image.
+        This class is only used in WK2.
+
+        * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
+        (WebCore::GraphicsSurface::platformBeginPaint):
+
+2012-05-04  Zoltan Horvath  <zoltan@webkit.org>
+
+        [Qt] Remove unnecessary executeable bits after r116085
+
+        No new tests.
+
+        * Target.pri:
+        * WebCore.pri:
+        * platform/graphics/ImageSource.cpp:
+        * platform/graphics/ImageSource.h:
+        * platform/graphics/qt/ImageDecoderQt.cpp:
+        * platform/graphics/qt/ImageDecoderQt.h:
+        * platform/image-decoders/ImageDecoder.cpp:
+        * platform/image-decoders/ImageDecoder.h:
+
+2012-05-04  Zoltan Horvath  <zoltan@webkit.org>
+
+        [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
+        https://bugs.webkit.org/show_bug.cgi?id=80400
+
+        This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
+        The new behavior is to use QImageDecoder only if WebCoreImageDecoder doesn't support the requested
+        image type.
+        The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.
+
+        This change adds build depedency for libpng-dev and libjpeg-dev packages, becuase PNG and JPEG imagedecoders
+        need not only these libraries, but their headers also. Qmake-config tests for these libraries were
+        introduced in r110045.
+
+        Reviewed by Simon Hausmann.
+
+        No new tests needed.
+
+        * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
+        * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
+        * platform/MIMETypeRegistry.cpp:
+        (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
+        (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
+        * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
+        * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
+        (WebCore):
+        * platform/graphics/qt/ImageDecoderQt.cpp:
+        (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
+        (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
+        (WebCore):
+        (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
+        * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
+        (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder.
+        * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
+        (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
+        (ImageFrame):
+        * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
+        ImageDecoderQt.cpp.
+
+2012-05-03  Ilya Tikhonovsky  <loislo@chromium.org>
+
+        Web Inspector: createRawLocationByURL is too slow if a big number of evals happen.
+        https://bugs.webkit.org/show_bug.cgi?id=85477
+
+        It iterates through all the _scripts even they have no url.
+        We can keep a separate map of scripts with url.
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/front-end/DebuggerModel.js:
+        (WebInspector.DebuggerModel):
+        (WebInspector.DebuggerModel.prototype._globalObjectCleared):
+        (WebInspector.DebuggerModel.prototype._resetScriptsMap):
+        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
+        (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
+
+2012-05-03  David Barr  <davidbarr@chromium.org>
+
+        Antialias single-edge solid borders
+        https://bugs.webkit.org/show_bug.cgi?id=85031
+
+        Reviewed by Simon Fraser.
+
+        Antialiasing is avoided for adjacent edges due to artifacts at the seam.
+        There are no such artifacts for single-edge borders so enable antialiasing.
+
+        Test: fast/css/border-solid-single-edge-antialias.html
+
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::paintBorder):
+
+2012-05-03  Adam Barth  <abarth@webkit.org>
+
+        CSP: Eval isn't blocked in about:blank subframes
+        https://bugs.webkit.org/show_bug.cgi?id=85553
+
+        Reviewed by Eric Seidel.
+
+        ContentSecurityPolicy has a back pointer to ScriptExecutionContext.
+        That means we shouldn't share a single ContentSecurityPolicy object
+        between multiple ScriptExecutionContexts.  This patch copies the state
+        from one ScriptExecutionContext to another rather than sharing the
+        ContentSecurityPolicy object itself.
+
+        This resulted in a subtle but w.r.t. blocking eval.  Because we block
+        eval by setting a bit in the JavaScript engine when enforcing the
+        policy, that bit wasn't copied along with the rest of the state when we
+        were sharing the ContentSecurityPolicy object.  Now that we use the
+        more robust ContentSecurityPolicy::copyStateFrom function, we don't
+        have that bug.
+
+        Test: http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html
+
+        * dom/Document.cpp:
+        (WebCore::Document::initSecurityContext):
+        (WebCore):
+        (WebCore::Document::initContentSecurityPolicy):
+        * dom/Document.h:
+        (Document):
+        * dom/SecurityContext.cpp:
+        (WebCore::SecurityContext::setContentSecurityPolicy):
+        * dom/SecurityContext.h:
+        (SecurityContext):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::didBeginDocument):
+        * page/ContentSecurityPolicy.h:
+        (WebCore::ContentSecurityPolicy::create):
+
+2012-05-03  Abhishek Arya  <inferno@chromium.org>
+
+        Regression(r113769): Crash in AudioNodeOutput::disconnectAllParams.
+        https://bugs.webkit.org/show_bug.cgi?id=85196
+
+        Reviewed by Chris Rogers.
+
+        RefPtr the AudioParam hashset in AudioNodeOutput to prevent accessing
+        destroyed entries.
+
+        No new tests. Unable to reproduce it in DRT.
+
+        * Modules/webaudio/AudioNodeOutput.cpp:
+        (WebCore::AudioNodeOutput::disconnectAllParams):
+        * Modules/webaudio/AudioNodeOutput.h:
+        (AudioNodeOutput):
+
+2012-05-03  Noel Gordon  <noel.gordon@gmail.com>
+
+        PNGImageDecoder: Clean up rowAvailable() some more
+        https://bugs.webkit.org/show_bug.cgi?id=85464
+
+        Reviewed by Eric Seidel.
+
+        No new tests. Covered by existing tests: fast/images/png-extra-row-crash.html in
+        particular.
+
+        * platform/image-decoders/png/PNGImageDecoder.cpp:
+        (WebCore::PNGImageDecoder::rowAvailable): Use colorChannels consistently. Split
+        the useful libpng comments in two, then place the early-out code and conditions
+        inbetween. The png variable is only used in one place so move it there.
+
+2012-05-03  Ojan Vafai  <ojan@chromium.org>
+
+        Histogram total allocated bytes in the arena in addition to the render tree size
+        https://bugs.webkit.org/show_bug.cgi?id=85537
+
+        Reviewed by Eric Seidel.
+
+        We only free bytes allocated to a RenderArena when destroying the Document.
+        Histogram both the render tree size and the total bytes allocated. This
+        gives a better sense of the overhead of RenderArena as well as giving a more
+        accurate number for the amount of actual memory used by the render tree.
+
+        No new tests. This is not webfacing, so this can't be tested without adding
+        API to layout test controller, which doesn't seem worth it for this code.
+
+        * page/Page.cpp:
+        (WebCore::Page::renderTreeSize):
+        (WebCore::Page::setVisibilityState):
+        * page/Page.h:
+        (Page):
+        * platform/Arena.cpp:
+        (WebCore::ArenaAllocate):
+        * platform/Arena.h:
+        (WebCore):
+        * rendering/RenderArena.cpp:
+        (WebCore::RenderArena::allocate):
+        * rendering/RenderArena.h:
+        (WebCore::RenderArena::totalRenderArenaAllocatedBytes):
+        (RenderArena):
+
+2012-05-03  Mary Wu  <mary.wu@torchmobile.com.cn>
+
+        [BlackBerry] Add missed member in CrossThreadResourceRequestData
+        https://bugs.webkit.org/show_bug.cgi?id=85448
+
+        Reviewed by Antonio Gomes.
+
+        * platform/network/blackberry/ResourceRequest.h:
+        (CrossThreadResourceRequestData):
+        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+        (WebCore::ResourceRequest::doPlatformCopyData):
+        (WebCore::ResourceRequest::doPlatformAdopt):
+
+2012-05-03  Adam Barth  <abarth@webkit.org>
+
+        CSP shouldn't block about:blank for iframes
+        https://bugs.webkit.org/show_bug.cgi?id=85233
+
+        Reviewed by Eric Seidel.
+
+        As discussed at the W3C WebAppSec face-to-face meeting, there's no
+        point in blocking about:blank iframes or objects because blocking a
+        frame or object just results in displaying about:blank anyway.  This
+        patch just removes the spurious console message and violation report.
+
+        Test: http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default.html
+
+        * page/ContentSecurityPolicy.cpp:
+        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
+        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
+
+2012-05-03  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r116040.
+        http://trac.webkit.org/changeset/116040
+        https://bugs.webkit.org/show_bug.cgi?id=85559
+
+        Broke a few IndexedDB browsertests (Requested by zhenyao on
+        #webkit).
+
+        * Modules/indexeddb/IDBCursor.cpp:
+        (WebCore::IDBCursor::direction):
+        * Modules/indexeddb/IDBCursor.h:
+        (IDBCursor):
+        * Modules/indexeddb/IDBCursor.idl:
+        * Modules/indexeddb/IDBDatabase.cpp:
+        (WebCore::IDBDatabase::transaction):
+        (WebCore):
+        * Modules/indexeddb/IDBDatabase.h:
+        * Modules/indexeddb/IDBDatabase.idl:
+        * Modules/indexeddb/IDBIndex.cpp:
+        (WebCore::IDBIndex::openCursor):
+        (WebCore::IDBIndex::openKeyCursor):
+        * Modules/indexeddb/IDBIndex.h:
+        (WebCore::IDBIndex::openCursor):
+        (WebCore::IDBIndex::openKeyCursor):
+        * Modules/indexeddb/IDBIndex.idl:
+        * Modules/indexeddb/IDBObjectStore.cpp:
+        (WebCore::IDBObjectStore::openCursor):
+        * Modules/indexeddb/IDBObjectStore.h:
+        (WebCore::IDBObjectStore::openCursor):
+        (IDBObjectStore):
+        * Modules/indexeddb/IDBObjectStore.idl:
+        * Modules/indexeddb/IDBRequest.cpp:
+        (WebCore::IDBRequest::IDBRequest):
+        (WebCore::IDBRequest::readyState):
+        (WebCore::IDBRequest::markEarlyDeath):
+        (WebCore::IDBRequest::resetReadyState):
+        (WebCore::IDBRequest::abort):
+        (WebCore::IDBRequest::finishCursor):
+        (WebCore::IDBRequest::onSuccess):
+        (WebCore::IDBRequest::stop):
+        * Modules/indexeddb/IDBRequest.h:
+        * Modules/indexeddb/IDBRequest.idl:
+        * Modules/indexeddb/IDBTransaction.cpp:
+        (WebCore::IDBTransaction::mode):
+        * Modules/indexeddb/IDBTransaction.h:
+        (IDBTransaction):
+        * Modules/indexeddb/IDBTransaction.idl:
+
+2012-05-03  Raphael Kubo da Costa  <rakuco@webkit.org>
+
+        [CMake] Rewrite FindCairo.cmake.
+        https://bugs.webkit.org/show_bug.cgi?id=84895
+
+        Reviewed by Daniel Bates.
+
+        The old approach relied on pkg-config for finding Cairo (which
+        introduced a dependency on pkg-config that could be avoided), used
+        the LibFindMacros code that we should probably remove in the
+        future and did not use the FindPackageHandleStandardArguments
+        module.
+
+        Change all that by rewriting the module.
+        - Use the pkg-config output optionally instead of requiring it
+        like LibFindMacros did.
+        - Remove the implicit dependency on FreeType which often found it
+        the wrong way via pkg-config and without considering
+        CMAKE_PREFIX_PATH.
+        - Retrieve the Cairo version by looking at cairo-version.h instead
+        of relying on pkg-config. It requires some additional code for
+        checking if the desired version has been found, but that will not
+        be needed once we start depending on CMake 2.8.3 or later.
+
+        The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND
+        instead of <Name>_FOUND, and to keep things consistent
+        Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES
+        and CAIRO_INCLUDE_DIRS.
+
+        No new tests, build system change.
+
+        * PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.
+
+2012-05-03  Anders Carlsson  <andersca@apple.com>
+
+        Focus ring only appears in top-left tile
+        https://bugs.webkit.org/show_bug.cgi?id=85556
+        <rdar://problem/11359656>
+
+        Reviewed by Simon Fraser.
+
+        It is sufficient to just apply the current CTM to the clip rect and set that as the focus ring clip rect.
+
+        * platform/graphics/mac/WebLayer.mm:
+        (drawLayerContents):
+
 2012-05-03  Alec Flett  <alecflett@chromium.org>
 
         IndexedDB: Replace numeric constants with strings