blob: 27ff2de50c630e6e2d43045f22118165ac3da52b [file] [log] [blame]
2010-05-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
Indexed Database component is missing IDBObjectStoreRequest interface
https://bugs.webkit.org/show_bug.cgi?id=39490
Adding IDL and stub implementation for IDBObjectStoreRequest.
No new tests, indexed database isn't yet testable.
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
(WebCore::JSIDBObjectStoreRequest::remove):
(WebCore::JSIDBObjectStoreRequest::addOrModify):
(WebCore::JSIDBObjectStoreRequest::modify):
(WebCore::JSIDBObjectStoreRequest::add):
(WebCore::JSIDBObjectStoreRequest::get):
* bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
(WebCore::V8IDBObjectStoreRequest::removeCallback):
(WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
(WebCore::V8IDBObjectStoreRequest::modifyCallback):
(WebCore::V8IDBObjectStoreRequest::addCallback):
(WebCore::V8IDBObjectStoreRequest::getCallback):
* storage/IDBObjectStore.cpp: Added.
* storage/IDBObjectStore.h: Added.
(WebCore::IDBObjectStore::~IDBObjectStore):
* storage/IDBObjectStoreRequest.cpp: Added.
(WebCore::IDBObjectStoreRequest::name):
(WebCore::IDBObjectStoreRequest::keyPath):
(WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
* storage/IDBObjectStoreRequest.h: Added.
(WebCore::IDBObjectStoreRequest::create):
(WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
* storage/IDBObjectStoreRequest.idl: Added.
2010-05-26 Xan Lopez <xlopez@igalia.com>
Unreviewed GTK+ build fix.
Use G_DEFINE_INTERFACE only if it's available.
* bindings/gobject/WebKitDOMEventTarget.cpp:
(webkit_dom_event_target_get_type):
(webkit_dom_event_target_default_init):
2010-05-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
Implement WebDOMStorageList and make WebIDBDatabase use it
https://bugs.webkit.org/show_bug.cgi?id=39731
Remove unused function.
* dom/DOMStringList.h:
2010-05-26 Jessie Berlin <jberlin@webkit.org>
Reviewed by Pavel Feldman
Bug 31296 - Web Inspector: Should support console.groupCollapsed
https://bugs.webkit.org/show_bug.cgi?id=31296
* inspector/InspectorController.cpp:
(WebCore::InspectorController::startGroup):
Set the message type based on whether or not it should be initially collapsed.
* inspector/InspectorController.h:
* inspector/front-end/ConsoleView.js:
Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
(WebInspector.ConsoleView.prototype.addMessage):
(WebInspector.ConsoleMessage.prototype.toMessageElement):
(WebInspector.ConsoleMessage.prototype.toString):
(WebInspector.ConsoleGroup.prototype.addMessage):
* page/Console.cpp:
(WebCore::Console::groupCollapsed):
Create a group and indicate that it should be collapsed.
* page/Console.h:
Add the StartGroupCollapsed message type.
(WebCore::):
* page/Console.idl:
Create the JS bindings for groupCollapsed.
2010-05-26 yael aharon <yael.aharon@nokia.com>
Reviewed by Kent Tamura.
Support the labels attribute in labelable form controls
https://bugs.webkit.org/show_bug.cgi?id=38713
Added a new cache type in NodeRareData to store the new cache type.
This cache is created on demand.
Added the "labels" attribute to all form controls that support this attribute.
Tests: fast/forms/labels-add-htmlFor-label.html
fast/forms/labels-add-parent-label.html
fast/forms/labels-change-htmlFor-attribute.html
fast/forms/labels-item-index.html
fast/forms/labels-remove-htmlFor-attribute.html
fast/forms/labels-remove-htmlFor-label.html
fast/forms/labels-remove-parent-label.html
fast/forms/labels-set-htmlFor-attribute.html
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Node.cpp:
(WebCore::Node::notifyLocalNodeListsLabelChanged):
(WebCore::Node::removeCachedLabelsNodeList):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
(WebCore::NodeListsNodeData::isEmpty):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::NodeListsNodeData):
* html/HTMLButtonElement.idl:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isLabelable):
(WebCore::HTMLFormControlElement::labels):
* html/HTMLFormControlElement.h:
* html/HTMLInputElement.idl:
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::parseMappedAttribute):
* html/HTMLLabelElement.h:
* html/HTMLMeterElement.idl:
* html/HTMLProgressElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTextAreaElement.idl:
* html/LabelsNodeList.cpp: Added.
(WebCore::LabelsNodeList::LabelsNodeList):
(WebCore::LabelsNodeList::~LabelsNodeList):
(WebCore::LabelsNodeList::nodeMatches):
* html/LabelsNodeList.h: Added.
(WebCore::LabelsNodeList::create):
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Jeremy Orlow.
Style fix in JSEventCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=39727
Conditional includes should be all together after the
unconditional includes.
* bindings/js/JSEventCustom.cpp:
2010-05-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add IDBDatabase's attributes
https://bugs.webkit.org/show_bug.cgi?id=39602
Add the attributes (like name, description, etc) for
IDBDatabaseRequest. Plumb that back to the IDBDatabase
object which stores the data.
CMake and Android build changes in another CL (that
fixes other stuff too).
Updated the layout test, but there's some further testing
that needs to be added once the Chromium side of this lands.
* GNUmakefile.am
* WebCore.gypi:
* WebCore.pro
* WebCore.vcproj/WebCore.vcproj
* WebCore.xcodeproj/project.pbxproj
* dom/DOMStringList.h:
(WebCore::DOMStringList::strings):
* storage/IDBDatabase.cpp: Removed.
* storage/IDBDatabase.h:
* storage/IDBDatabaseImpl.cpp: Added.
(WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
(WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
(WebCore::IDBDatabaseImpl::objectStores):
* storage/IDBDatabaseImpl.h: Added.
(WebCore::IDBDatabaseImpl::create):
(WebCore::IDBDatabaseImpl::name):
(WebCore::IDBDatabaseImpl::description):
(WebCore::IDBDatabaseImpl::version):
* storage/IDBDatabaseRequest.h:
(WebCore::IDBDatabaseRequest::name):
(WebCore::IDBDatabaseRequest::description):
(WebCore::IDBDatabaseRequest::version):
(WebCore::IDBDatabaseRequest::objectStores):
* storage/IDBDatabaseRequest.idl:
* storage/IDBSuccessEvent.cpp:
(WebCore::IDBSuccessEvent::IDBSuccessEvent):
* storage/IndexedDatabaseImpl.cpp:
(WebCore::IndexedDatabaseImpl::open):
* storage/IndexedDatabaseImpl.h:
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by NOBODY Gustavo Noronha.
[GTK] Add support for DOM events in the GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=38844
Add actual GObject event objects to the DOM event signals.
* GNUmakefile.am:
* bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::handleEvent):
* bindings/gobject/WebKitDOMBinding.cpp:
(WebKit::wrapEventTarget):
(WebKit::kit):
* bindings/gobject/WebKitDOMBinding.h:
* bindings/gobject/WebKitDOMEventTarget.cpp: Added.
(webkit_dom_event_target_default_init):
(webkit_dom_event_target_dispatch_event):
* bindings/gobject/WebKitDOMEventTarget.h: Added.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-05-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
[Android] Add IndexedDB to the build
https://bugs.webkit.org/show_bug.cgi?id=39593
Add the current list of build files to Android's make files. From now on,
I'll try to be sure to update these along with the rest.
Also, fix a nit in the gypi file.
No tests..just changing build files.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* WebCore.gypi:
2010-05-26 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Expose CSS rule body start/end offsets in the parent stylesheet
https://bugs.webkit.org/show_bug.cgi?id=38906
CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
This Vector is only used when the Web Inspector needs the body ranges, thus there is no
memory overhead until the user starts editing styles via the Web Inspector.
Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.
Test: inspector/styles-source-offsets.html
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::setupParser):
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::updateLastSelectorLineAndPosition):
(WebCore::CSSParser::markRuleBodyStart):
(WebCore::CSSParser::markRuleBodyEnd):
* css/CSSParser.h:
(WebCore::CSSParser::resetRuleBodyMarks):
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::InspectorCSSStore):
(WebCore::InspectorCSSStore::reset):
(WebCore::InspectorCSSStore::removeDocument):
(WebCore::InspectorCSSStore::inspectorStyleSheet):
(WebCore::InspectorCSSStore::getStartEndOffsets):
(WebCore::InspectorCSSStore::getIndexInStyleRules):
(WebCore::InspectorCSSStore::disabledStyleForId):
(WebCore::InspectorCSSStore::styleForId):
(WebCore::InspectorCSSStore::ruleForId):
(WebCore::InspectorCSSStore::bindStyle):
(WebCore::InspectorCSSStore::bindStyleSheet):
(WebCore::InspectorCSSStore::bindRule):
* inspector/InspectorCSSStore.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::resourceForURL):
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorFrontend):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::getAllStyles):
(WebCore::InspectorDOMAgent::buildArrayForCSSRules):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
(WebCore::InspectorDOMAgent::applyStyleText):
(WebCore::InspectorDOMAgent::setStyleText):
(WebCore::InspectorDOMAgent::setStyleProperty):
(WebCore::InspectorDOMAgent::toggleStyleEnabled):
(WebCore::InspectorDOMAgent::setRuleSelector):
(WebCore::InspectorDOMAgent::addRule):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
(WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.CSSStyleDeclaration):
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Add support for DOM events in the GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=38844
Use GObject-like names for the DOM event signals. Basically go
from 'mousewheel' to 'mouse-wheel-event'.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-05-26 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Sort XCode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Add support for DOM events in the GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=38844
First step towards DOM events support. We create one signal per
event supported in the DOM classes, and create a custom
GObjectEventListener that will emit a GObject signal when an event
is dispatched to the object. There is no event object at the
moment (we just pass NULL), and no support for hooking into the
capture phase.
* GNUmakefile.am:
* bindings/gobject/GObjectEventListener.cpp: Added.
(WebCore::GObjectEventListener::handleEvent):
(WebCore::GObjectEventListener::operator==):
* bindings/gobject/GObjectEventListener.h: Added.
(WebCore::GObjectEventListener::create):
(WebCore::GObjectEventListener::cast):
(WebCore::GObjectEventListener::GObjectEventListener):
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(WebKit::core):
(webkit_dom_test_callback_finalize):
(webkit_dom_test_callback_class_init):
(WebKit::wrapTestCallback):
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
(WebKit::core):
(webkit_dom_test_interface_finalize):
(webkit_dom_test_interface_class_init):
(WebKit::wrapTestInterface):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(WebKit::core):
(webkit_dom_test_obj_finalize):
(webkit_dom_test_obj_class_init):
(WebKit::wrapTestObj):
* dom/EventListener.h:
(WebCore::EventListener::):
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=33590
We need to protect the body of some methods with #ifdefs, since
the availability of the code they call into is decided at compile
time.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-05-26 Kent Tamura <tkent@chromium.org>
Reviewed by Shinichiro Hamaji.
Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=39423
The minimum and maximum values for date, datetime, datetime-local,
month, time, and week types depend on the implementation of
DateComponents. So move them to DateComponents.
* html/DateComponents.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::minimum):
(WebCore::HTMLInputElement::maximum):
2010-05-26 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Simon Hausmann.
Buildfix for build without ENABLE(RUBY) after r60201.
* rendering/RenderBlock.cpp:
(WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.
2010-05-26 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
(WebCore::JSTestInterface::createPrototype):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::JSTestObjConstructor):
(WebCore::JSTestObj::createPrototype):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObjPrototype::JSTestObjPrototype):
2010-05-25 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GStreamer] Apple trailers not playing
https://bugs.webkit.org/show_bug.cgi?id=37390
Set the AppleTrailer User-Agent workaround after
FrameLoader::addExtraFieldsToSubresourceRequest has been called
because that method sets the global User-Agent.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
2010-05-25 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::dropVTable):
2010-05-25 Mark Rowe <mrowe@apple.com>
Build fix.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2010-05-25 Yuta Kitamura <yutak@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Show HTTP status message sent from server in Resources tab.
This patch obtains an HTTP status message of each resource and pass it to
the front end of Web Inspector. The status message is shown in "Headers" tab in
the detail view of that resource, along with the HTTP status code.
Web Inspector does not respect HTTP status message
https://bugs.webkit.org/show_bug.cgi?id=39595
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateResponse):
(WebCore::InspectorResource::updateScriptObject):
* inspector/InspectorResource.h:
* inspector/front-end/Resource.js:
(WebInspector.Resource.CompareByTransferSize):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshHTTPInformation):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
* inspector/front-end/utilities.js:
(String.prototype.escapeHTML): Escape '"' so that we can escape messages
that may occur inside HTML attributes.
2010-05-24 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.
This patch adds support for -webkit-column-span elements that can span across all of the columns
in a multi-column block. In this first stage, column span support is limited to only immediate
children of the multi-column block, so no elements actually have to split across a span yet.
Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
span blocks. When a span gets inserted into a multicol block, the block is split, with the
column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
wrapped in anonymous column span blocks. The multicol block then stops being multicol and lets
the anonymous multicol blocks take over column layout.
Many new tests added in fast/multicol/span.
* dom/Node.cpp:
(WebCore::Node::diff):
Changes to column span result in a detach/attach, since spanning elements don't typically have
much content.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
This method handles the insertion of new children into the block after it has had to wrap its
children in anonymous column/column-span blocks.
(WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
A helper method for splitting all anonymous blocks between beforeChild and this block so that
a new element with an incompatible type can be inserted between them.
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
This method does the initial split of a block into anonymous components. This happens the first
time a column-span element gets inserted into the block.
(WebCore::columnsBlockForSpanningElement):
This function checks whether or not the column-span element is actually being inserted into a viable
columns block.
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
This is the original RenderBlock::addChild. It handles everything else just like it used to.
(WebCore::RenderBlock::addChild):
Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
in anonymous column/column-span blocks already.
(WebCore::RenderBlock::moveAllChildrenTo):
moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
are shifting across layers. (This should arguably be the default behavior, but that can happen in
a future patch.)
(WebCore::RenderBlock::removeLeftoverAnonymousBlock):
Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
block from being coalesced with a parent if they are non-empty.
(WebCore::canMergeContiguousAnonymousBlocks):
Whether or not two contiguous anonymous blocks can merge after the removal of a child.
(WebCore::RenderBlock::removeChild):
removeChild has been patched to handle more cases of merging/deletion than it did before. It
can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
that don't share the same childrenInline() setting (by putting one inside the other). It also
makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
(WebCore::RenderBlock::fillSelectionGaps):
Don't let the selection extend outside of a column-span.
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
column/column-span blocks.
(WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
(WebCore::RenderBlock::createAnonymousColumnsBlock):
(WebCore::RenderBlock::createAnonymousColumnSpanBlock):
New helper functions for anonymous block creation.
(WebCore::RenderBlock::renderName):
Patched to dump anonymous column and column-span blocks so that they can be distinguished from
regular anonymous blocks.
* rendering/RenderBlock.h:
* rendering/RenderObject.h:
(WebCore::RenderObject::isAnonymousColumnsBlock):
(WebCore::RenderObject::isAnonymousColumnSpanBlock):
New helper functions for asking the type of an anonymous block.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::inheritColumnPropertiesFrom):
A helper function to allow anonymous column blocks to easily inherit all column properties for
rendering.
2010-05-25 Dirk Pranke <dpranke@chromium.org>
Reviewed by Dimitri Glazkov.
Re-commit r58765 - it had been rolled out to see if it was causing
a perf regression (in r59787), but that does not seem to have been
the case.
Tests: fast/notifications/notifications-replace.html
fast/notifications/notifications-rtl.html
https://bugs.webkit.org/show_bug.cgi?id=39605
* notifications/Notification.h:
(WebCore::Notification::dir):
(WebCore::Notification::setDir):
(WebCore::Notification::replaceId):
(WebCore::Notification::setReplaceId):
* notifications/Notification.idl:
2010-05-22 Jer Noble <jer.noble@apple.com>
Reviewed by Adam Roben.
Full screen doesn't work for video elements
https://bugs.webkit.org/show_bug.cgi?id=39557
rdar://problem/8011813
Add fullscreen support for MediaPlayerPrivateVisualContext. A new class, MediaPlayerPrivateFullscreenWindow,
provides the fullscreen hwnd and layer renderer. Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
so future additional MediaPlayerPrivate implementations can use the fullscreen window.
Minor additions have been made to the FloatSize and IntSize classes.
MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new
videoLayer; this is an existing bug that was never really exposed before now.
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
(WebCore::FloatSize::aspectRatio):
(WebCore::FloatSize::scale):
* platform/graphics/IntSize.h: Added aspectRatio().
(WebCore::IntSize::aspectRatio):
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::WKCACFLayer):
(WebCore::WKCACFLayer::removeFromSuperlayer):
(WebCore::WKCACFLayer::setFrame):
(WebCore::WKCACFLayer::internalSetNeedsDisplay):
(WebCore::WKCACFLayer::setLayoutClient):
(WebCore::WKCACFLayer::layoutSublayersProc):
(WebCore::WKCACFLayer::layoutClient):
(WebCore::WKCACFLayer::setNeedsLayout):
* platform/graphics/win/WKCACFLayer.h: Add layout client class.
(WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
(WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
* platform/graphics/win/WebTiledLayer.cpp:
(WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
* platform/graphics/win/WebTiledLayer.h:
* platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
(WebCore::WebTiledLayer::setFrame):
* platform/graphics/win/WebTiledLayer.h:
2010-05-25 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Brady Eidson.
Allow FTS3 functions.
https://bugs.webkit.org/show_bug.cgi?id=38003
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
(WebCore::DatabaseAuthorizer::createVTable):
2010-05-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Get rid of PluginDatabaseClient
https://bugs.webkit.org/show_bug.cgi?id=39685
PluginDatabaseClient isn't used anywhere so just remove it.
* GNUmakefile.am:
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::PluginDatabase):
(WebCore::PluginDatabase::refresh):
* plugins/PluginDatabase.h:
* plugins/PluginDatabaseClient.h: Removed.
2010-05-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=18595
REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze
Test: fast/events/frame-detached-in-mousedown.html
* page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
node on mouse up. It's only done for nodes that hold subframes - elements that capture events
are responsible for resetting the state.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
RefPtr and is initialized automatically.
(WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
capturing node on its own.
(WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
from the below in r21156. Copied correct code instead.
(WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
(WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
reset capturing node on its own.
2010-05-25 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix for missing symbol.
* wscript:
2010-05-25 Darin Adler <darin@apple.com>
* dom/Element.cpp:
(WebCore::Element::getIDAttribute): Added comments about problems with this function.
2010-05-25 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Gustavo Noronha Silva.
[EFL] Build fix.
http://webkit.org/b/39598
* CMakeLists.txt:
2010-05-25 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
https://bugs.webkit.org/show_bug.cgi?id=36037
<rdar://problem/8022887>
The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
cases would iterate through every position as offset in a block before moving to the last child in the block.
This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
every position in the block before considering the last true position in the block.
The performance was linear with the number of child nodes in the block, instead of constant.
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::decrement):
2010-05-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=39621
<rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
The largest cause of memory growth on this test were autoreleased DOMNode objects created
to make webView:formStateDidChangeForNode: delegate calls.
* html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
safe to call functions that are likely to create temporary wrappers (wrapper destructor
would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).
2010-05-25 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
[DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
https://bugs.webkit.org/show_bug.cgi?id=39652
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.
2010-05-25 Darin Adler <darin@apple.com>
Sort ".exp" files with the sort tool.
This makes later merging easier.
These Mac-specific files should probably move into a subdirectory
at some point.
* WebCore.Inspector.exp: Sorted.
* WebCore.PluginHostProcess.exp: Removed blank line.
* WebCore.VideoProxy.exp: Sorted.
* WebCore.base.exp: Ditto.
2010-05-25 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
Removing the persistent GraphicsContext from LayerChromium to save on
memory and simplify code. Layers now create a temporary context, draw into
it, update the GL texture and discard the context.
https://bugs.webkit.org/show_bug.cgi?id=39640
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::~LayerChromium):
(WebCore::LayerChromium::setLayerRenderer):
(WebCore::LayerChromium::updateTextureContents):
(WebCore::LayerChromium::setContents):
(WebCore::LayerChromium::setBounds):
(WebCore::LayerChromium::setNeedsDisplay):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::assignTextureForLayer):
(WebCore::LayerRendererChromium::compositeLayersRecursive):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::rootLayerGraphicsContext):
2010-05-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
[Qt] Make text filling work together with text stroke.
When the text has stroke a new QPen was set, overriding the pen
set for text filling. This patch fixes that by storing the two
pens and using where appropriate.
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::drawComplexText):
2010-05-17 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Darin Adler.
Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
https://bugs.webkit.org/show_bug.cgi?id=39217
It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
could receive a parameter to specify where to start scrolling from. Currently they
start scrolling from either the current focused node or the node where mouse last
pressed on. Patch proposes an aditional starting point as an optional parameter.
Since it is optional, all call sites can remain as are, and if a Null node is passed
in, both methods work as previously.
* page/EventHandler.cpp:
(WebCore::EventHandler::scrollOverflow):
(WebCore::EventHandler::scrollRecursively):
* page/EventHandler.h:
2010-05-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: localize heap graph strings.
https://bugs.webkit.org/show_bug.cgi?id=39674
* English.lproj/localizedStrings.js:
2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Switch HTML parsing benchmark to use document.write instead of innerHTML
https://bugs.webkit.org/show_bug.cgi?id=39661
We'd like to exercise the main parsing pipeline instead of the fragment
parsing pipeline.
* benchmarks/parser/html-parser.html:
2010-05-25 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Laszlo Gombos.
[Qt] Running with accelerated compositing enabled sometimes result in a crash
https://bugs.webkit.org/show_bug.cgi?id=39609
Check if we have a scene before applying the workaround for
the QGraphicsScene bug where opacity change doesn't always have
immediate effect.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::OpacityAnimationQt::applyFrame):
2010-05-25 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix Chromium Mac Release build.
* bindings/v8/ScriptDebugServer.cpp:
2010-05-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
depend on v8 debugging protocol, instead it uses ExecState to collect debugging
info and pass it to the listeners.
New implementation of ScriptDebugServer uses methods provided by client to dispatch
its messages while JS is paused(previously the messages was dispatched in a callback
passed to v8 along with DebugEventHandler).
https://bugs.webkit.org/show_bug.cgi?id=39594
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidPause):
(WebCore::ScriptDebugServer::dispatchDidContinue):
(WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
invocation of ScriptDebugListener methods that have non-empty argument list.
(WebCore::ScriptDebugServer::pauseIfNeeded):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::retrieveFrame):
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::addListener):
(WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
corresponding debugger window closes.
(WebCore::ScriptDebugServer::clearBreakpoints):
(WebCore::ScriptDebugServer::pauseOnExceptionsState):
(WebCore::ScriptDebugServer::setPauseOnExceptionsState):
(WebCore::ScriptDebugServer::continueProgram):
(WebCore::ScriptDebugServer::stepIntoStatement):
(WebCore::ScriptDebugServer::stepOverStatement):
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::v8DebugEventCallback):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
(WebCore::ScriptDebugServer::didResume):
* bindings/v8/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
(WebCore::ScriptDebugServer::setClientMessageLoop):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didPause):
* inspector/InspectorController.h:
* inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
where execution is paused.
2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Clear attributes for each tag in the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39660
Yes, I did screw this up.
* html/HTML5Token.h:
(WebCore::HTML5Token::beginStartTag):
(WebCore::HTML5Token::beginEndTag):
2010-05-25 Anders Bakken <agbakken@gmail.com>
Reviewed by Darin Adler.
Remove warning for GCC 4.4.3
GCC suggest parentheses around && within ||
* dom/Element.cpp:
(WebCore::Element::recalcStyle):
2010-05-25 Xan Lopez <xlopez@igalia.com>
Fix the GTK+ build, PluginInfoStore was removed.
* GNUmakefile.am:
2010-05-25 Ada Chan <adachan@apple.com>
Reviewed by Steve Falkenburg.
Add a base class for DOMTimer called SuspendableTimer which captures just the
basic functionality of TimerBase and ActiveDOMObject combined. It does not
contain functionality specific to scripting timers.
SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::contextDestroyed):
(WebCore::DOMTimer::stop):
* page/DOMTimer.h:
* page/SuspendableTimer.cpp: Added.
(WebCore::SuspendableTimer::SuspendableTimer):
(WebCore::SuspendableTimer::~SuspendableTimer):
(WebCore::SuspendableTimer::hasPendingActivity):
(WebCore::SuspendableTimer::stop):
(WebCore::SuspendableTimer::suspend):
(WebCore::SuspendableTimer::resume):
(WebCore::SuspendableTimer::canSuspend):
* page/SuspendableTimer.h: Added.
2010-05-25 Justin Schuh <jschuh@chromium.org>
Reviewed by Nate Chapin.
Remove custom bindings for Element.SetAttribute*
https://bugs.webkit.org/show_bug.cgi?id=39604
Custom bindings are no longer needed because origin checks were moved
out of the bindings by: http://trac.webkit.org/changeset/59866
Behavior isn't changed and is covered by existing tests.
* bindings/js/JSElementCustom.cpp:
* bindings/v8/custom/V8ElementCustom.cpp:
* dom/Element.idl:
2010-05-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Add memory graph to Timeline overview pane.
https://bugs.webkit.org/show_bug.cgi?id=37879
* inspector/front-end/Drawer.js:
(WebInspector.Drawer):
(WebInspector.Drawer.prototype.show.animationFinished):
(WebInspector.Drawer.prototype.show):
(WebInspector.Drawer.prototype.hide):
(WebInspector.Drawer.prototype.set currentPanelCounters):
* inspector/front-end/Panel.js:
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.showTimelines):
(WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._forAllRecords):
(WebInspector.TimelineOverviewPane.prototype.update):
(WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
(WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
(WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
(WebInspector.HeapGraph):
(WebInspector.HeapGraph.prototype.get element):
(WebInspector.HeapGraph.prototype.get visible):
(WebInspector.HeapGraph.prototype.show):
(WebInspector.HeapGraph.prototype.hide):
(WebInspector.HeapGraph.prototype.setSize):
(WebInspector.HeapGraph.prototype.update):
(WebInspector.HeapGraph.prototype._clear):
(WebInspector.HeapGraph.prototype._drawScale):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
(WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
(WebInspector.TimelinePanel.prototype.setSidebarWidth):
(WebInspector.TimelinePanel.prototype.show):
(WebInspector.TimelinePanel.prototype.hide):
* inspector/front-end/inspector.css:
(#counters):
(#timeline-overview-sidebar):
(.timeline-category-statusbar-item):
(.timeline-category-statusbar-item .timeline-category-checkbox):
(.timeline-category-statusbar-item .timeline-category-checkbox:checked):
(.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
(.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
(.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
(#timeline-overview-memory):
(.timeline-records-counter):
(#main-status-bar > .timeline-records-counter):
(#counters > .timeline-records-counter):
* inspector/front-end/inspector.html:
* inspector/front-end/utilities.js:
():
2010-05-25 Adam Barth <abarth@webkit.org>
Unreviewed. Fix typo pointed out by Maciej.
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::unconsumeCharacters):
(WebCore::HTML5Lexer::consumeEntity):
2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix <noembed> and <plaintext> content models
https://bugs.webkit.org/show_bug.cgi?id=39653
PLAINTEXTState is my favorite lexer state. :)
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
First cut at HTML5 entities
https://bugs.webkit.org/show_bug.cgi?id=39649
There's still a bunch more work to do to get our entity parsing fully
up to spec. This patch contains the bulk of the implementation
however.
The basics are covered by the existing html5lib tests. I'll add more
detailed tests in a followup patch.
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::legalEntityFor):
(WebCore::HTMLNames::isHexDigit):
(WebCore::HTMLNames::isAlphaNumeric):
(WebCore::HTMLNames::uncomsumeCharacters):
(WebCore::HTML5Lexer::consumeEntity):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::haveBufferedCharacterToken):
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::):
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::write):
2010-05-24 Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fix compilation with QT_NO_TEMPORARYFILE
https://bugs.webkit.org/show_bug.cgi?id=38324
* platform/qt/FileSystemQt.cpp:
(WebCore::openTemporaryFile):
2010-05-24 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Fixed handling of bare '/' and '?' at console prompt.
https://bugs.webkit.org/show_bug.cgi?id=39585
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):
2010-05-24 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Sam Weinig.
The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.
Spec link:
http://www.w3.org/TR/WebIDL/#interface-object
https://bugs.webkit.org/show_bug.cgi?id=39436
Test: fast/dom/prototype-property.html
* bindings/scripts/CodeGeneratorJS.pm:
2010-05-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add RCDATA and RAWTEXT suport to the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39642
Adam Barth wrote half of this patch.
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2010-05-24 Tony Chang <tony@chromium.org>
Not reviewed, build fix.
Fix the chromium compile due to pageZoomFactor refactoring.
* page/EventHandler.cpp:
(WebCore::pageZoomFactor):
2010-05-24 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
HTML5 <video> tag performance worse than Flash
https://bugs.webkit.org/show_bug.cgi?id=39577
rdar://problem/7982458
Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
a CAImageQueueRef to be set as a layer's contents.
WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if
certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTPixelBuffer.cpp:
* platform/graphics/win/QTPixelBuffer.h:
* platform/graphics/win/WKCACFLayer.cpp:
* platform/graphics/win/WKCACFLayer.h:
* platform/graphics/win/WKCAImageQueue.cpp: Added.
* platform/graphics/win/WKCAImageQueue.h: Added.
2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Teach the HTML5 parser how to lex escaped script data
https://bugs.webkit.org/show_bug.cgi?id=39630
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::vectorEqualsString):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::temporaryBufferIs):
(WebCore::HTML5Lexer::isAppropriateEndTag):
(WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
(WebCore::HTML5Lexer::flushBufferedEndTag):
* html/HTML5Lexer.h:
2010-05-24 Eric Seidel <eric@webkit.org>
Unreviewed. Trick MSVC into ignoring our unused code for the moment.
Prepare HTML5TreeBuilder for addition of new HTML5 parser code
https://bugs.webkit.org/show_bug.cgi?id=39623
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::constructTreeFromToken):
2010-05-24 Darin Adler <darin@apple.com>
Fix build on platforms with touch code enabled.
* page/EventHandler.cpp:
(WebCore::pageZoomFactor): Added.
(WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.
2010-05-24 Darin Adler <darin@apple.com>
Reviewed by Eric Seidel.
Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366
Refactoring only so adds no new tests.
* WebCore.base.exp: Updated.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
on FrameView.
(WebCore::CSSStyleSelector::applyProperty): Ditto.
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
* dom/Document.cpp:
(WebCore::Document::elementFromPoint): Ditto.
(WebCore::Document::caretRangeFromPoint): Ditto.
* dom/MouseRelatedEvent.cpp:
(WebCore::contentsX): Ditto.
(WebCore::contentsY): Ditto.
(WebCore::pageZoomFactor): Added helper function.
(WebCore::MouseRelatedEvent::computePageLocation): Use helper.
(WebCore::MouseRelatedEvent::receivedTarget): Ditto.
* dom/Node.cpp:
(WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
(WebCore::Node::dispatchWheelEvent): Ditto.
* dom/Touch.cpp:
(WebCore::contentsX): Call zoom factor function on FrameView.
(WebCore::contentsY): Ditto.
* html/HTMLBodyElement.cpp:
(WebCore::adjustForZoom): Ditto.
(WebCore::HTMLBodyElement::setScrollLeft): Ditto.
(WebCore::HTMLBodyElement::setScrollTop): Ditto.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width): Ditto.
(WebCore::HTMLImageElement::height): Ditto.
* loader/ImageDocument.cpp:
(WebCore::pageZoomFactor): Added helper function.
(WebCore::ImageTokenizer::finish): Use helper function
(WebCore::ImageDocument::scale): Ditto.
(WebCore::ImageDocument::resizeImageToFit): Ditto.
(WebCore::ImageDocument::imageChanged): Ditto.
(WebCore::ImageDocument::restoreImageSize): Ditto.
(WebCore::ImageDocument::imageFitsInWindow): Ditto.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight): Ditto.
(WebCore::DOMWindow::innerWidth): Ditto.
(WebCore::DOMWindow::scrollX): Ditto.
(WebCore::DOMWindow::scrollY): Ditto.
(WebCore::DOMWindow::scrollTo): Ditto.
* page/DragController.cpp:
(WebCore::elementUnderMouse): Ditto.
* page/Frame.cpp:
(WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
* page/Frame.h: Moved functions to FrameView. Moved all #if to the left
margin to make the style consistent. Removed empty function
removeEditingStyleFromBodyElement.
* page/FrameView.cpp:
(WebCore::parentZoomFactor): Added helper function for constructor.
(WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
(WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
(WebCore::FrameView::shouldApplyPageZoom): Ditto.
(WebCore::FrameView::setZoomFactor): Ditto.
* page/FrameView.h: Added members moved here from Frame.
* rendering/RenderView.cpp:
(WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentScale): Ditto.
(WebCore::SVGSVGElement::setCurrentScale): Ditto.
2010-05-24 Jer Noble <jer.noble@apple.com>
No review; build fix only.
Roll-out changes r60094, 60096-60097.
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTPixelBuffer.cpp:
* platform/graphics/win/QTPixelBuffer.h:
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::printLayer):
* platform/graphics/win/WKCACFLayer.h:
(WebCore::WKCACFLayer::setContents):
(WebCore::WKCACFLayer::contents):
(WebCore::WKCACFLayer::speed):
(WebCore::WKCACFLayer::timeOffset):
* platform/graphics/win/WKCAImageQueue.cpp: Removed.
* platform/graphics/win/WKCAImageQueue.h: Removed.
2010-05-24 Eric Seidel <eric@webkit.org>
Unreviewed. Add wtf/UnusedParam.h include to make Chromium happy.
Chromium does not use a prefix header in order to support
distcc3. Other ports all do. The real fix is to remove
wtf/UnusedParam.h from the prefix header.
* html/HTML5TreeBuilder.cpp:
2010-05-24 Jer Noble <jer.noble@apple.com>
No review; build fix only.
Second half of previous build fix, in which I add the include in the correct place.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2010-05-24 Jer Noble <jer.noble@apple.com>
No review; build fix only.
Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2010-05-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Prepare HTML5TreeBuilder for addition of new HTML5 parser code
https://bugs.webkit.org/show_bug.cgi?id=39623
Before we start transcribing the parser, we need a place to put it.
This also cleans up HTML5 token to not convert comment and character
data into AtomicStrings (which makes no sense).
No functionality change, so no new tests.
* html/HTML5Token.h:
(WebCore::HTML5Token::beginStartTag):
(WebCore::HTML5Token::beginEndTag):
(WebCore::HTML5Token::beginCharacter):
(WebCore::HTML5Token::beginComment):
(WebCore::HTML5Token::name):
(WebCore::HTML5Token::adoptDataAsStringImpl):
(WebCore::HTML5Token::characters):
(WebCore::HTML5Token::commentData):
(WebCore::HTML5Token::clearData):
* html/HTML5TreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTML5TreeBuilder::constructTreeFromToken):
(WebCore::HTML5TreeBuilder::processToken):
* html/HTML5TreeBuilder.h:
2010-05-23 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
HTML5 <video> tag performance worse than Flash
https://bugs.webkit.org/show_bug.cgi?id=39577
rdar://problem/7982458
Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
a CAImageQueueRef to be set as a layer's contents.
WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if
certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTPixelBuffer.cpp:
* platform/graphics/win/QTPixelBuffer.h:
* platform/graphics/win/WKCACFLayer.cpp:
* platform/graphics/win/WKCACFLayer.h:
* platform/graphics/win/WKCAImageQueue.cpp: Added.
* platform/graphics/win/WKCAImageQueue.h: Added.
2010-05-24 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
<rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
Currently, a Tracker needs to know it's path before origins are populated. Testing databases and
related features is made very difficult with this regression, so instead of changing things in a
complicated way to make this not the case, I've added an "initialize Tracker with this path" function
that calls the DatabaseTracker constructor with the initial path.
I checked the other platforms besides Mac and Win, and none of them seem to perform the
"initialize databases if necessary" step in their init routines, so this change shouldn't effect them.
No new tests. (API specific layout test in DRT is forthcoming)
* WebCore.base.exp:
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
(WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
can share it. Add a fallback to not change behavior of platforms that don't call the new
"initializeTracker()" method.
(WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
* storage/DatabaseTracker.h:
* storage/chromium/DatabaseTrackerChromium.cpp:
(WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
(WebCore::DatabaseTracker::DatabaseTracker): Ditto.
2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Teach the HTML5 parser to lex DOCTYPEs
https://bugs.webkit.org/show_bug.cgi?id=39571
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
* html/HTML5Lexer.h:
* html/HTML5Token.h:
(WebCore::HTML5Token::beginDOCTYPE):
(WebCore::HTML5Token::publicIdentifier):
(WebCore::HTML5Token::systemIdentifier):
(WebCore::HTML5Token::setPublicIdentifierToEmptyString):
(WebCore::HTML5Token::setSystemIdentifierToEmptyString):
(WebCore::HTML5Token::appendToPublicIdentifier):
(WebCore::HTML5Token::appendToSystemIdentifier):
(WebCore::HTML5Token::DoctypeData::DoctypeData):
* html/HTML5TreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
* platform/text/SegmentedString.h:
(WebCore::SegmentedString::lookAheadIgnoringCase):
(WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
== Rolled over to ChangeLog-2010-05-24 ==