2011-01-24 Kenneth Russell <kbr@google.com>
[WebKit-https.git] / Source / WebCore / ChangeLog
index 8795002..053094c 100644 (file)
@@ -1,3 +1,367 @@
+2011-01-24  Kenneth Russell  <kbr@google.com>
+
+        Reviewed by James Robinson.
+
+        Web Audio API: port FFTFrame to FFTW
+        https://bugs.webkit.org/show_bug.cgi?id=52989
+
+        Ported FFTFrame class to the open-source FFTW library. Tested with
+        unit tests from Chris Rogers. Made preliminary changes to GYP
+        files for conditional compilation of these files; will need to be
+        adjusted once FFTW is integrated as third-party source.
+
+        * WebCore.gyp/WebCore.gyp:
+        * WebCore.gypi:
+        * platform/audio/FFTFrame.h:
+        * platform/audio/fftw: Added.
+        * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
+        (WebCore::FFTFrame::FFTFrame):
+        (WebCore::FFTFrame::~FFTFrame):
+        (WebCore::FFTFrame::multiply):
+        (WebCore::FFTFrame::doFFT):
+        (WebCore::FFTFrame::doInverseFFT):
+        (WebCore::FFTFrame::cleanup):
+        (WebCore::FFTFrame::realData):
+        (WebCore::FFTFrame::imagData):
+        (WebCore::FFTFrame::fftwPlanForSize):
+
+2011-01-24  Anders Carlsson  <andersca@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Reset the page scale factor on standard frame loads
+        https://bugs.webkit.org/show_bug.cgi?id=53058
+        <rdar://problem/8908844>
+
+        Add a symbol needed by WebKit2.
+
+        * WebCore.exp.in:
+
+2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
+        ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=52676
+
+        Stop instantiating legacy editing positions in the following files.
+
+        * editing/InsertTextCommand.cpp:
+        (WebCore::InsertTextCommand::prepareForTextInsertion):
+        (WebCore::InsertTextCommand::performTrivialReplace):
+        (WebCore::InsertTextCommand::input):
+        (WebCore::InsertTextCommand::insertTab):
+        * editing/MoveSelectionCommand.cpp:
+        (WebCore::MoveSelectionCommand::doApply):
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
+        (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
+        (WebCore::ReplaceSelectionCommand::doApply):
+        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
+        (WebCore::ReplaceSelectionCommand::performTrivialReplace):
+        * editing/SelectionController.cpp:
+        (WebCore::SelectionController::setSelectionFromNone):
+        * editing/SpellChecker.cpp:
+        (WebCore::SpellChecker::didCheck):
+        * editing/TypingCommand.cpp:
+        (WebCore::TypingCommand::makeEditableRootEmpty):
+        (WebCore::TypingCommand::deleteKeyPressed):
+        (WebCore::TypingCommand::forwardDeleteKeyPressed):
+        * editing/markup.cpp:
+        (WebCore::StyledMarkupAccumulator::appendText):
+        (WebCore::StyledMarkupAccumulator::serializeNodes):
+        (WebCore::highestAncestorToWrapMarkup):
+        (WebCore::createMarkup):
+
+2011-01-24  Peter Kasting  <pkasting@google.com>
+
+        Reviewed by Darin Adler.
+
+        Roll back r67261 ("Don't fire onclick on middle clicks") due to
+        regressions.
+        https://bugs.webkit.org/show_bug.cgi?id=46733
+
+        * html/HTMLAnchorElement.cpp:
+        (WebCore::isLinkClick):
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::preDispatchEventHandler):
+        (WebCore::HTMLInputElement::postDispatchEventHandler):
+        (WebCore::HTMLInputElement::defaultEventHandler):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::handleMouseDoubleClickEvent):
+        (WebCore::EventHandler::handleMouseReleaseEvent):
+
+2011-01-24  Martin Robinson  <mrobinson@igalia.com>
+
+        Reviewed by Eric Seidel.
+
+        [GTK] Many DOM XHTML tests time out
+        https://bugs.webkit.org/show_bug.cgi?id=52553
+
+        Properly handle the situation where a synchronous load fails before the inner
+        event loop has started. In this case, we simply do not run the inner event loop,
+        or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
+
+        * platform/network/soup/ResourceHandleSoup.cpp:
+        (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
+        load if it fails up front.
+
+2011-01-24  Zhenyao Mo  <zmo@google.com>
+
+        Reviewed by Darin Adler.
+
+        Remove sizeInBytes from GraphicsContext3D's various implementations
+        https://bugs.webkit.org/show_bug.cgi?id=52339
+
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore::WebGLRenderingContext::sizeInBytes):
+        * platform/graphics/GraphicsContext3D.h:
+        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+        * platform/graphics/qt/GraphicsContext3DQt.cpp:
+
+2011-01-24  Adam Roben  <aroben@apple.com>
+
+        Windows Production build fix
+
+        * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
+
+2011-01-24  Anton Muhin  <antonm@chromium.org>
+
+        Reviewed by Nate Chapin.
+
+        [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
+        https://bugs.webkit.org/show_bug.cgi?id=52911
+
+        Plain refactoring, covered by the existing tests.
+
+        * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
+        * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
+        * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
+        * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
+        (WebCore::ChunkedTable::ChunkedTable):
+        (WebCore::ChunkedTable::add):
+        (WebCore::ChunkedTable::remove):
+        (WebCore::ChunkedTable::clear):
+        (WebCore::ChunkedTable::visit):
+        (WebCore::ChunkedTable::Chunk::Chunk):
+        (WebCore::ChunkedTable::clearEntries):
+        (WebCore::ChunkedTable::visitEntries):
+        (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
+        (WebCore::IntrusiveDOMWrapperMap::get):
+        (WebCore::IntrusiveDOMWrapperMap::set):
+        (WebCore::IntrusiveDOMWrapperMap::contains):
+        (WebCore::IntrusiveDOMWrapperMap::visit):
+        (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
+        (WebCore::IntrusiveDOMWrapperMap::clear):
+        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
+        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
+        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
+        * bindings/v8/StaticDOMDataStore.h: include added.
+
+2011-01-24  Shane Stephens  <shanestephens@google.com>
+
+        Reviewed by Chris Marrin.
+
+        TransformationMatrix multiply operations apply operands in wrong order.
+        https://bugs.webkit.org/show_bug.cgi?id=52780
+
+        Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
+        not a multLeft).
+
+        Remove TransformationMatrix::multiply, which was actually doing a multLeft.
+
+        Fix TransformationMatrix::operator* and operator*= such that the operand is
+        applied to the right-hand side of the matrix that the method is called on.
+        i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
+        "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
+        "a *= b" stores "a * b" in "a".
+
+        Convert all call sites for these methods to provide operands in the correct order.
+
+        No new tests as patch adds no new functionality.
+
+        * css/WebKitCSSMatrix.cpp:
+        (WebCore::WebKitCSSMatrix::multiply):
+        * platform/graphics/transforms/Matrix3DTransformOperation.h:
+        (WebCore::Matrix3DTransformOperation::apply):
+        * platform/graphics/transforms/MatrixTransformOperation.h:
+        (WebCore::MatrixTransformOperation::apply):
+        * platform/graphics/transforms/TransformationMatrix.cpp:
+        (WebCore::TransformationMatrix::scaleNonUniform):
+        (WebCore::TransformationMatrix::scale3d):
+        (WebCore::TransformationMatrix::rotate3d):
+        (WebCore::TransformationMatrix::skew):
+        (WebCore::TransformationMatrix::applyPerspective):
+        (WebCore::TransformationMatrix::multiply):
+        (WebCore::TransformationMatrix::recompose):
+        * platform/graphics/transforms/TransformationMatrix.h:
+        (WebCore::TransformationMatrix::operator*=):
+        (WebCore::TransformationMatrix::operator*):
+        * rendering/RenderLayer.cpp:
+        (WebCore::transparencyClipBox):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::getTransformFromContainer):
+        * rendering/TransformState.cpp:
+        (WebCore::TransformState::applyTransform):
+        (WebCore::HitTestingTransformState::applyTransform):
+
+2011-01-24  Andrei Popescu  <andreip@google.com>
+
+        Reviewed by Nate Chapin.
+
+        IndexedDatabase methods should not take arguments of type OptionsObject
+        https://bugs.webkit.org/show_bug.cgi?id=53012
+
+        This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
+        IDBObjectStore::createIndex, to using a plain list of arguments instead of
+        grouping the various parameters inside a single OptionsObject argument.
+        This decision was made on public-webapps@w3.org mailing list.
+
+        We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
+        methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
+        in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
+        use it.
+
+        * bindings/scripts/CodeGeneratorV8.pm:
+        * bindings/v8/V8Binding.cpp:
+        (WebCore::v8ValueToWebCoreDOMStringList):
+        * bindings/v8/V8Binding.h:
+        * storage/IDBDatabase.cpp:
+        (WebCore::IDBDatabase::transaction):
+        * storage/IDBDatabase.h:
+        (WebCore::IDBDatabase::transaction):
+        * storage/IDBDatabase.idl:
+        * storage/IDBIndex.cpp:
+        (WebCore::IDBIndex::openCursor):
+        (WebCore::IDBIndex::openKeyCursor):
+        * storage/IDBIndex.h:
+        (WebCore::IDBIndex::openCursor):
+        (WebCore::IDBIndex::openKeyCursor):
+        * storage/IDBIndex.idl:
+        * storage/IDBObjectStore.cpp:
+        (WebCore::IDBObjectStore::openCursor):
+        * storage/IDBObjectStore.h:
+        (WebCore::IDBObjectStore::openCursor):
+        * storage/IDBObjectStore.idl:
+
+2011-01-24  Pavel Feldman  <pfeldman@chromium.org>
+
+        Reviewed by Yury Semikhatsky.
+
+        Web Inspector: extract dispatch API from network manager.
+        https://bugs.webkit.org/show_bug.cgi?id=53009
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * inspector/front-end/NetworkManager.js:
+        (WebInspector.NetworkManager):
+        (WebInspector.NetworkManager.prototype.reset):
+        (WebInspector.NetworkManager.prototype.requestContent):
+        (WebInspector.NetworkManager.prototype._processCachedResources):
+        (WebInspector.NetworkDispatcher):
+        (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
+        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
+        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
+        (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
+        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
+        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
+        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
+        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
+        (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
+        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
+        (WebInspector.NetworkDispatcher.prototype._startResource):
+        (WebInspector.NetworkDispatcher.prototype._updateResource):
+        (WebInspector.NetworkDispatcher.prototype._finishResource):
+        (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
+        (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
+        (WebInspector.NetworkDispatcher.prototype._createResource):
+        * inspector/front-end/Resource.js:
+        (WebInspector.Resource.prototype._innerRequestContent):
+        * inspector/front-end/ResourceTreeModel.js:
+        (WebInspector.ResourceTreeModel):
+        (WebInspector.ResourceTreeModel.prototype.reset):
+        (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
+
+2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
+        https://bugs.webkit.org/show_bug.cgi?id=53007
+
+        It's impossible to create "provisional" inspector for pages which are
+        not yet created so there is no need to listen for page creation in ScriptDebugServer.
+
+        * bindings/js/ScriptDebugServer.cpp:
+        * bindings/js/ScriptDebugServer.h:
+        * page/Page.cpp:
+        (WebCore::Page::Page):
+
+2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
+        https://bugs.webkit.org/show_bug.cgi?id=53002
+
+
+        * inspector/front-end/ApplicationCacheItemsView.js:
+        (WebInspector.ApplicationCacheItemsView.prototype._update):
+        * inspector/front-end/DOMAgent.js:
+        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
+
+2011-01-24  Andreas Kling  <kling@webkit.org>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [Qt] Fix warnings about unregistering an invalid timer
+        https://bugs.webkit.org/show_bug.cgi?id=53006
+
+        The ShadowBuffer's purge timer ID was initialized with 0 which lead
+        to us calling QObject::killTimer(0), causing some qWarnings.
+
+        * platform/graphics/qt/ContextShadowQt.cpp:
+        (WebCore::ShadowBuffer::ShadowBuffer):
+        (WebCore::ShadowBuffer::schedulePurge):
+
+2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: [Chromium] Fix heap snapshot table sorting.
+
+        Fix table sorting to avoid qsort instability artefacts.
+
+        https://bugs.webkit.org/show_bug.cgi?id=52914
+
+        * inspector/front-end/HeapSnapshotView.js:
+        (WebInspector.HeapSnapshotView.prototype._sortData):
+        (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
+        (WebInspector.HeapSnapshotDataGridList.propertyComparator):
+
+2011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
+
+        Reviewed by Yury Semikhatsky.
+
+        Web Inspector: Find duplicate strings in localizedStrings.js, update it.
+
+        https://bugs.webkit.org/show_bug.cgi?id=53005
+
+        * English.lproj/localizedStrings.js:
+
+2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
+
+        Unreviewed, build fix  for r76509.
+
+        * inspector/InspectorDebuggerAgent.cpp:
+        (WebCore::InspectorDebuggerAgent::setBreakpoint):
+
+2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
+
+        Unreviewed, build fix  for r76509.
+
+        * bindings/js/ScriptDebugServer.h:
+
 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
 
         Reviewed by Yury Semikhatsky.