summaryrefslogtreecommitdiff
path: root/Source/WebCore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r--Source/WebCore/ChangeLog4676
1 files changed, 4675 insertions, 1 deletions
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 45f8cf911..c8b1b688b 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,4677 @@
+2012-11-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r136111.
+ http://trac.webkit.org/changeset/136111
+ https://bugs.webkit.org/show_bug.cgi?id=103620
+
+ Broke compilation on Mac (unused private field m_matchMode)
+ (Requested by apavlov on #webkit).
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTMLSelectElement.cpp:
+ (WebCore):
+ (WebCore::HTMLSelectElement::HTMLSelectElement):
+ (WebCore::stripLeadingWhiteSpace):
+ (WebCore::HTMLSelectElement::typeAheadFind):
+ * html/HTMLSelectElement.h:
+ (HTMLSelectElement):
+ * html/TypeAhead.cpp: Removed.
+ * html/TypeAhead.h: Removed.
+ * html/shadow/DateTimeSymbolicFieldElement.cpp:
+ (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
+ (WebCore::DateTimeSymbolicFieldElement::handleKeyboardEvent):
+ * html/shadow/DateTimeSymbolicFieldElement.h:
+ (DateTimeSymbolicFieldElement):
+
+2012-11-29 Keishi Hattori <keishi@webkit.org>
+
+ Better type ahead for DateTimeSymbolicFieldElement
+ https://bugs.webkit.org/show_bug.cgi?id=103031
+
+ Reviewed by Kent Tamura.
+
+ This cuts out the type ahead code that will be used by HTMLSelectElement
+ and DateTimeSymbolicFieldElement into a TypeAhead class. This will
+ improve DateTimeSymbolicFieldElement type ahead which was first
+ character match only, by adding cycling, prefix match and index number
+ match.
+
+ Added tests to month-multiple-fields-keyboard-events.html.
+
+ * GNUmakefile.list.am: Added TypeAhead.{h,cpp}
+ * Target.pri: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * CMakeLists.txt: Ditto.
+ * html/HTMLSelectElement.cpp:
+ (WebCore):
+ (WebCore::HTMLSelectElement::HTMLSelectElement):
+ (WebCore::HTMLSelectElement::indexOfSelectedOption): Returns index of current selection.
+ (WebCore::HTMLSelectElement::optionCount): Returns total number of options.
+ (WebCore::HTMLSelectElement::optionAtIndex): Returns option at index.
+ (WebCore::HTMLSelectElement::typeAheadFind): Use TypeAhead.
+ * html/HTMLSelectElement.h:
+ (HTMLSelectElement):
+ * html/TypeAhead.cpp: Added.
+ (WebCore):
+ (WebCore::TypeAhead::TypeAhead):
+ (WebCore::stripLeadingWhiteSpace): Moved from HTMLSelectElement.cpp.
+ (WebCore::TypeAhead::handleEvent): Returns index for match.
+ * html/TypeAhead.h: Added.
+ (WebCore):
+ (TypeAheadDataSource): Provide the data about the options that TypeAhead should match against.
+ (TypeAhead):
+ * html/shadow/DateTimeSymbolicFieldElement.cpp:
+ (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
+ (WebCore::DateTimeSymbolicFieldElement::handleKeyboardEvent):
+ (WebCore::DateTimeSymbolicFieldElement::indexOfSelectedOption):
+ (WebCore):
+ (WebCore::DateTimeSymbolicFieldElement::optionCount):
+ (WebCore::DateTimeSymbolicFieldElement::optionAtIndex):
+ * html/shadow/DateTimeSymbolicFieldElement.h:
+ (DateTimeSymbolicFieldElement):
+
+2012-11-29 Andrei Bucur <abucur@adobe.com>
+
+ [CSS Regions] Fix content node renderers ordering inside the named flow thread
+ https://bugs.webkit.org/show_bug.cgi?id=103501
+
+ Reviewed by David Hyatt.
+
+ This patch fixes two issues with how content nodes renderers are added to a named flow thread.
+ The first issue was about determining the insertion position of a renderer inside the children list of a named flow thread. Before this patch, the
+ insertion point was based on both the DOM ordering of the elements and insertion order of previous renderers.
+ The patch fixes this and makes the renderer position just a function of the DOM ordering of elements.
+ The second issue appeared when next/previousRenderer methods were skipping nodes because they had the flow-into property as a side effect
+ of copying the style of the parent element (e.g. Text nodes). The patch ensures the skipped nodes are also elements.
+
+ Tests: fast/regions/named-flow-content-order-1.html
+ fast/regions/named-flow-content-order-2.html
+ fast/regions/named-flow-content-order-3.html
+
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRenderingContext::nextRenderer): Skip only elements.
+ (WebCore::NodeRenderingContext::previousRenderer): Skip only elements.
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::addFlowChild): Insert the renderer in the list based on the DOM position of the owner element.
+ * rendering/RenderNamedFlowThread.h:
+ (RenderNamedFlowThread):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::renderNamedFlowThreadWrapper): Rename to eliminate the confusion with enclosingRenderFlowThread.
+ (WebCore::RenderObject::insertedIntoTree):
+ (WebCore::RenderObject::willBeRemovedFromTree):
+ * rendering/RenderObject.h:
+ (RenderObject):
+
+2012-11-28 Mike West <mkwst@chromium.org>
+
+ Add a test to ensure that 'seamless' iframes do not inherit contenteditable.
+ https://bugs.webkit.org/show_bug.cgi?id=95890
+
+ Reviewed by Ojan Vafai.
+
+ We don't currently support inheriting contenteditable into a seamless
+ frame. http://html5.org/tools/web-apps-tracker?from=7318&to=7319
+ brought the spec in line with WebKit's behavior (ha!). This patch
+ defends the behavior by adding a test, and removes a FIXME comment
+ now that the question is settled.
+
+ It also exposes a brand new bug: https://bugs.webkit.org/show_bug.cgi?id=103539
+ How exciting.
+
+ Test: fast/frames/seamless/seamless-contenteditable-not-inherited.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::styleForDocument):
+ No functional change, just dropping a FIXME comment.
+
+2012-11-28 Mike West <mkwst@chromium.org>
+
+ Web Inspector: Console message's anchor element should be trimmed for readability.
+ https://bugs.webkit.org/show_bug.cgi?id=100095
+
+ Reviewed by Pavel Feldman.
+
+ We're currently trimming URLs that go through
+ 'WebInspector.linkifyURLAsNode' down to 150 characters total. Not all
+ URLs go that path, however. We were missing a few cases that dropped
+ back to the default Linkifier (which especially showed up for "Live"
+ anchor elements).
+
+ This patch ensures that anything using WebInspector.Linkifier is also
+ trimmed by default. It adds a new constant to do so in order to avoid
+ magic numbers in the code.
+
+ Test: http/tests/inspector/network/script-as-text-loading-long-url.html
+
+ * inspector/front-end/Linkifier.js:
+ (WebInspector.Linkifier):
+ Pass the max length into the default formatter that's created and
+ stored when creating a 'WebInspector.Linkifier' object.
+ * inspector/front-end/ResourceUtils.js:
+ (WebInspector.linkifyURLAsNode):
+ Use the new maxlength constant rather than hard-coding 150.
+
+2012-11-28 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed. Rebaselined run-bindings-tests.
+
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (WebCore::toV8Fast):
+
+2012-11-28 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Shadow] ShadowRoot should cache InsertionPointList.
+ https://bugs.webkit.org/show_bug.cgi?id=103212
+
+ Reviewed by Hajime Morita.
+
+ When distributing or invalidating distribution, we used to traverse all descendent nodes in Shadow DOM.
+ If ShadowRoot has a InsertionPoint list, we can just traverse the list.
+
+ No new tests, should be covered by existing tests.
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::insertionPointList):
+ (WebCore):
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ShadowRootContentDistributionData::ShadowRootContentDistributionData):
+ (WebCore::ShadowRootContentDistributionData::invalidateInsertionPointList):
+ (WebCore):
+ (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList): Creates InsertionPoint list
+ if it's not created and return it.
+ (WebCore::ContentDistributor::distribute): Traverse InsertionPointList instead of all descendent nodes in Shadow DOM.
+ (WebCore::ContentDistributor::invalidate): ditto.
+ * html/shadow/ContentDistributor.h:
+ (WebCore::ShadowRootContentDistributionData::incrementNumberOfShadowElementChildren): Invalidate InsertionPointList cache.
+ (WebCore::ShadowRootContentDistributionData::decrementNumberOfShadowElementChildren): ditto.
+ (WebCore::ShadowRootContentDistributionData::incrementNumberOfContentElementChildren): ditto.
+ (WebCore::ShadowRootContentDistributionData::decrementNumberOfContentElementChildren): ditto.
+ (ShadowRootContentDistributionData):
+
+2012-11-28 Michael Pruett <michael@68k.org>
+
+ IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
+ https://bugs.webkit.org/show_bug.cgi?id=103554
+
+ Reviewed by Kentaro Hara.
+
+ In r135022, duplicate createFromWire() and toWireString() methods
+ were added to the JSC version of SerializedScriptValue. In
+ order to allow the JSC SerializedScriptValue to compile when
+ ENABLE(INDEXED_DATABASE) is turned on, these new methods have
+ been removed and the old methods have been moved outside the
+ ENABLE(INDEXED_DATABASE) guard.
+
+ No new tests. No change in functionality.
+
+ * WebCore.exp.in:
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::SerializedScriptValue::toWireString):
+ (WebCore):
+ (WebCore::SerializedScriptValue::createFromWire):
+ * bindings/js/SerializedScriptValue.h:
+
+2012-11-28 Hajime Morrita <morrita@google.com>
+
+ [Shadow DOM] Element.createShadowRoot() should be prefixed.
+ https://bugs.webkit.org/show_bug.cgi?id=103595
+
+ Reviewed by Kentaro Hara.
+
+ No new tests, updated shadow-aware-create-shadow-root.html to follow the change.
+
+ * dom/Element.idl:
+
+2012-11-28 Hayato Ito <hayato@chromium.org>
+
+ Node::compareDocumentPosition returns wrong value for a node in the different shadow tree.
+ https://bugs.webkit.org/show_bug.cgi?id=103502
+
+ Reviewed by Dimitri Glazkov.
+
+ Make Node::compareDocumentPosition() return the correct value when two nodes are in the different shadow trees.
+
+ Test: fast/dom/shadow/compare-document-position.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::compareDocumentPosition):
+
+2012-11-28 Joshua Bell <jsbell@chromium.org>
+
+ [Chromium] IndexedDB: Assert/crash in indexing layout tests in content_shell
+ https://bugs.webkit.org/show_bug.cgi?id=103562
+
+ Reviewed by Tony Chang.
+
+ In multi-process ports, an commit request or setIndexesReady request may arrive from the
+ front-end after the back-end has already aborted. Don't freak out if those occur.
+
+ Tests: storage/indexeddb/index-population.html
+ storage/indexeddb/lazy-index-population.html
+ storage/indexeddb/transaction-error.html
+
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::setIndexKeys): Ensure transaction hasn't finished before continuing.
+ (WebCore::IDBObjectStoreBackendImpl::setIndexesReady): Ditto.
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::commit): Ignore a commit request if already aborted.
+
+2012-11-28 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Shadow] Move Distribution requirements from ShadowRoot
+ https://bugs.webkit.org/show_bug.cgi?id=103481
+
+ Reviewed by Hajime Morita.
+
+ We would like to shrink the ShadowRoot memory size in this patch. ShadowRoot had several distribution related members,
+ however they were used only if ShadowRoot has <content>, <shadow>, or nested ShadowRoot.
+ Since <input> or <textarea> do not have such requirements, the members consume a few amount of memory.
+
+ We remove them from ShadowRoot and introduce some RareData-like data structure for ShadowRoot.
+ This will reduce memory footprint in most cases.
+
+ No new tests, refactoring.
+
+ * WebCore.exp.in:
+ * dom/ShadowRoot.cpp:
+ (SameSizeAsShadowRoot): Reduced 3 * sizeof(unsigned) bytes from ShadowRoot.
+ (WebCore::ShadowRoot::ShadowRoot): DistributionData is created only when necessary. <input> or <textarea> won't
+ create such data.
+ (WebCore::ShadowRoot::assignedTo):
+ (WebCore):
+ (WebCore::ShadowRoot::setAssignedTo):
+ (WebCore::ShadowRoot::ensureDistributionData):
+ (WebCore::ShadowRoot::registerShadowElement):
+ (WebCore::ShadowRoot::unregisterShadowElement):
+ (WebCore::ShadowRoot::hasShadowInsertionPoint):
+ (WebCore::ShadowRoot::registerContentElement):
+ (WebCore::ShadowRoot::unregisterContentElement):
+ (WebCore::ShadowRoot::hasContentElement):
+ (WebCore::ShadowRoot::registerElementShadow):
+ (WebCore::ShadowRoot::unregisterElementShadow):
+ (WebCore::ShadowRoot::hasElementShadow):
+ (WebCore::ShadowRoot::countElementShadow):
+ (WebCore::ShadowRoot::reportMemoryUsage):
+ * dom/ShadowRoot.h:
+ (WebCore):
+ (ShadowRoot):
+ (WebCore::ShadowRoot::distributionData):
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ShadowRootContentDistributionData::ShadowRootContentDistributionData):
+ (WebCore):
+ * html/shadow/ContentDistributor.h:
+ (ShadowRootContentDistributionData): Distribution related fields in ShadowRoot are moved to here.
+ (WebCore::ShadowRootContentDistributionData::insertionPointAssignedTo):
+ (WebCore::ShadowRootContentDistributionData::setInsertionPointAssignedTo):
+ (WebCore::ShadowRootContentDistributionData::incrementNumberOfShadowElementChildren):
+ (WebCore::ShadowRootContentDistributionData::decrementNumberOfShadowElementChildren):
+ (WebCore::ShadowRootContentDistributionData::numberOfShadowElementChildren):
+ (WebCore::ShadowRootContentDistributionData::incrementNumberOfContentElementChildren):
+ (WebCore::ShadowRootContentDistributionData::decrementNumberOfContentElementChildren):
+ (WebCore::ShadowRootContentDistributionData::numberOfContentElementChildren):
+ (WebCore::ShadowRootContentDistributionData::incrementNumberOfElementShadowChildren):
+ (WebCore::ShadowRootContentDistributionData::decrementNumberOfElementShadowChildren):
+ (WebCore::ShadowRootContentDistributionData::numberOfElementShadowChildren):
+ (WebCore):
+
+2012-11-23 Dirk Schulze <krit@webkit.org>
+
+ Remove -webkit-mask-attachment
+ https://bugs.webkit.org/show_bug.cgi?id=67137
+
+ Reviewed by David Hyatt.
+
+ Remove CSS property '-webkit-attachment'. The CSS WG agreed that this should not be
+ part of the CSS Masking specification. WebKit never implemented the behavior of
+ attached masks either. The property was just exposed in CSSOM.
+
+ Test: Added negative tests to fast/masking/parsing-mask.html.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseFillProperty):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/CSSPropertyNames.in:
+ * css/StyleBuilder.cpp:
+ (WebCore::StyleBuilder::StyleBuilder):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::asText):
+ * css/StylePropertyShorthand.cpp:
+ (WebCore::webkitMaskShorthand):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::applyProperty):
+ * rendering/style/RenderStyle.h:
+
+2012-11-28 Michael Pruett <michael@68k.org>
+
+ IndexedDB: Add forward declaration of SecurityOrigin to IDBBackingStore.h
+ https://bugs.webkit.org/show_bug.cgi?id=103578
+
+ Reviewed by Kentaro Hara.
+
+ Add forward declaration of SecurityOrigin to IDBBackingStore.h
+ in order to enable compilation of IndexedDB for JSC.
+
+ Tests: storage/indexeddb/*
+
+ * Modules/indexeddb/IDBBackingStore.h:
+ (WebCore):
+
+2012-11-28 Hajime Morrita <morrita@google.com>
+
+ checkAcceptChild() needs fewer virtual calls
+ https://bugs.webkit.org/show_bug.cgi?id=103372
+
+ Reviewed by Ojan Vafai.
+
+ This change reorganizes checkAcceptChild family for speed.
+
+ - Made Node::checkAddChild and Node::checkReplaceChild() static inline functions
+ in ContainerNode.cpp. checkAcceptChild() was also moved to the same file. This allows us
+ more aggressive inlining.
+
+ - Added a fast path in checkAcceptChild(), where we can assume that the parent is element
+ and the new child is element or text. Under this assumption, we need no extra type checks
+ and just needs a cycle prevention through Node::contains(). This is faster than current generic version.
+
+ - Moved extra checks from checkAddChild() and checkReplaceChild() to
+ checkAcceptChild(). This allows the fast path skips even these extra checks.
+
+ - Node::canReplaceChild() is devirtualized. Since the only override is on
+ Document, we can check isDocumentNode() to call it directly.
+
+ - The default implemenation of Node::canReplaceChild() just calls isChildTypeAllowed().
+ That is what an extra check for checkAddChild() did. So we can share these code path in checkAcceptChild().
+
+ This gains 2-3% win on Dromaeo dom-modify.html.
+
+ No new tests, covered by existing tests.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::isChildTypeAllowed): Moved from Node.cpp
+ (WebCore::checkAcceptChild): Moved from Node.cpp, Added a fast path.
+ (WebCore::checkAddChild): Moved from Node.cpp
+ (WebCore::checkReplaceChild): Moved from Node.cpp
+ (WebCore::ContainerNode::insertBefore): Followed the signature change.
+ (WebCore::ContainerNode::replaceChild): Followed the signature change, moved null check from checkReplaceChild to here.
+ (WebCore::ContainerNode::appendChild): Followed the signature change.
+ * dom/Document.h:
+ (Document):
+ * dom/Node.cpp:
+ * dom/Node.h:
+ (WebCore::Node::isDocumentTypeNode): Added for better readability of call sites.
+
+2012-11-28 Kenichi Ishibashi <bashi@chromium.org>
+
+ StyleResolver should not set NaN to font size
+ https://bugs.webkit.org/show_bug.cgi?id=99506
+
+ Reviewed by Abhishek Arya.
+
+ fixedScaleFactor could be NaN since settings->defaultFixedFontSize()
+ and settings->defaultFontSize() are zero in some case. This turns
+ out setting NaN to font size. Add a zero checks so that
+ fixedScaleFactor won't be NaN.
+
+ Test: fast/css/font-size-nan.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::checkForGenericFamilyChange):
+
+2012-11-28 Tim Horton <timothy_horton@apple.com>
+
+ [mac] WebHTMLConverter should maintain font size even when there is no related NSFont
+ https://bugs.webkit.org/show_bug.cgi?id=103568
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebHTMLConverter should use the default font at the correct size when it
+ encounters a font that cannot be backed by an NSFont (e.g. a WebFont).
+
+ * platform/mac/HTMLConverter.mm:
+ (+[WebHTMLConverter editingAttributedStringFromRange:]):
+
+2012-11-23 Dirk Schulze <krit@webkit.org>
+
+ CSS parser does not support -webkit-mask-size for -webkit-mask shorthand
+ https://bugs.webkit.org/show_bug.cgi?id=103020
+
+ Reviewed by David Hyatt.
+
+ Harmonize the syntax of '-webkit-mask' property with 'background' according to the
+ CSS Masking specification[1]. This should make it easier to maintain both shorthand
+ properties in the long term.
+ It is very unlikely that a lot of content (if any) is affected by this change. The
+ computed style still is not implemented and this change should rather make it easier
+ for developers.
+
+ With the harmonization, the '-webkit-mask-size' property is part of the shorthand as
+ well now.
+
+ parsing-mask.html covers all the changes. Added new tests for the changed syntax and
+ '-webkit-mask-size'
+
+ [1] http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseFillShorthand):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::getLayeredShorthandValue):
+ * css/StylePropertyShorthand.cpp:
+ (WebCore::webkitMaskShorthand):
+
+2012-11-28 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Change frontend to call IDBDatabaseBackendInterface::createTransaction()
+ https://bugs.webkit.org/show_bug.cgi?id=102732
+
+ Reviewed by Tony Chang.
+
+ Use the new createTransaction, now that it has been stubbed
+ out. This is part 2 of 3 of a refactor. See
+ https://bugs.webkit.org/show_bug.cgi?id=102733 for part 3.
+
+ No new tests as this refactor simply keeps and propagates a
+ counter that is currently unused.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::nextTransactionId):
+ (WebCore):
+ (WebCore::IDBDatabase::transaction):
+ * Modules/indexeddb/IDBDatabase.h:
+ (IDBDatabase):
+ * Modules/indexeddb/IDBOpenDBRequest.cpp:
+ (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::onSuccess):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::create):
+ (WebCore::IDBTransaction::IDBTransaction):
+ * Modules/indexeddb/IDBTransaction.h:
+ (IDBTransaction):
+
+2012-11-28 Michael Saboff <msaboff@apple.com>
+
+ HTMLFontElement font size parsing should directly handle 8 bit strings
+ https://bugs.webkit.org/show_bug.cgi?id=103315
+
+ Reviewed by Oliver Hunt.
+
+ Split parseFontSize() into a templated function based on character type and a wrapper that determines
+ a string's bitness before calling the template.
+
+ No new tests. No change in functionality.
+
+ * html/HTMLFontElement.cpp:
+ (WebCore::parseFontSize):
+
+2012-11-28 Robert Kroeger <rjkroege@chromium.org>
+
+ remove unused PlatformGestureCurve code
+ https://bugs.webkit.org/show_bug.cgi?id=103296
+
+ Reviewed by Adam Barth.
+
+ Previous CLs have made the Chromium embedder provide gesture fling
+ curve implementation to WebKit. Consequently no platform uses the
+ gestural fling code currently found in WebKit. This CL removes this code.
+
+ Code removal only: covered by existing tests.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * platform/ActivePlatformGestureAnimation.cpp: Removed.
+ * platform/ActivePlatformGestureAnimation.h: Removed.
+ * platform/PlatformGestureCurve.h: Removed.
+ * platform/PlatformGestureCurveTarget.h: Removed.
+ * platform/ScrollAnimatorNone.cpp: References to removed code removed.
+ * platform/ScrollAnimatorNone.h:
+ * platform/TouchFlingPlatformGestureCurve.cpp: Removed.
+ * platform/TouchFlingPlatformGestureCurve.h: Removed.
+ * platform/WheelFlingPlatformGestureCurve.cpp: Removed.
+ * platform/WheelFlingPlatformGestureCurve.h: Removed.
+ * platform/chromium/support/PlatformGestureCurveFactory.cpp: Removed.
+ * platform/chromium/support/PlatformGestureCurveFactory.h: Removed.
+ * platform/chromium/support/WebFlingAnimatorToGestureCurveAdapter.h: Removed.
+
+2012-11-28 Abhishek Arya <inferno@chromium.org>
+
+ Heap-use-after-free in WebCore::EventHandler::handleMousePressEvent
+ https://bugs.webkit.org/show_bug.cgi?id=101098
+
+ Reviewed by Adam Barth.
+
+ |subframe| can be blown away inside passMousePressEventToSubframe
+ call. Use RefPtr to protect it in handleMousePressEvent function.
+ We use similar approach in handleMouseMoveEvent function.
+
+ No new tests. Test is extremely time dependent and needs to trigger
+ interaction gesture. Reproduced on ClusterFuzz.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+
+2012-11-28 Tom Sepez <tsepez@chromium.org>
+
+ XSSAuditor bypass with script src=data: URL ending in <!--
+ https://bugs.webkit.org/show_bug.cgi?id=103548
+
+ Reviewed by Adam Barth.
+
+ This fixes an additional case where characters from the page itself are
+ included with the snippet to match against the reflected vector, and the
+ JS remains legitimate because of a <!--- comment. Truncate the snippet at
+ such a comment.
+
+ Test: http/tests/security/xssAuditor/script-tag-with-source-data-url3.html
+
+ * html/parser/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::decodedSnippetForAttribute):
+
+2012-11-28 Abhishek Arya <inferno@chromium.org>
+
+ Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingL
+ayer
+ https://bugs.webkit.org/show_bug.cgi?id=101970
+
+ Reviewed by David Hyatt.
+
+ RenderInline::splitFlow and RenderBlock::splitFlow re-use |pre|
+ block in some cases. In those cases, |pre| might hold floating objects
+ and those floating descendants might get moved to |post| block. If
+ the |pre| block does not get a layout later, then the floating
+ descendant will never get removed since it is now part of |post|
+ ancestor chain. We don't want failing-to-layout bugs turned into
+ security bugs and hence clear floating objects list since we expect
+ it to be rebuilt in subsequent layout.
+
+ Test: fast/block/float/float-not-removed-from-pre-block.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::splitFlow): Call removeFloatingObjects on |pre| block.
+ (WebCore::RenderBlock::removeFloatingObjects): Clear all floating objects from our list.
+ (WebCore):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::splitFlow): Call removeFloatingObjects on |pre| block.
+
+2012-11-28 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove pluginsScriptableObject from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=103542
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * platform/chromium/PlatformSupport.h:
+ (PlatformSupport):
+ * plugins/PluginViewBase.h:
+ (PluginViewBase):
+ (WebCore::PluginViewBase::scriptableObject):
+
+2012-11-28 Otto Derek Cheung <otcheung@rim.com>
+
+ [BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
+ https://bugs.webkit.org/show_bug.cgi?id=103560
+
+ Reviewed by Rob Buis.
+
+ PR 253490
+
+ CookieJarBlackBerry will now use page settings to check whether
+ cookie is enabled.
+
+ Tested setting/reading cookies on different client cookie settings using
+ javascript and HTTP. Cookie behaviour is now back to spec.
+
+ * loader/blackberry/CookieJarBlackBerry.cpp:
+ (WebCore::cookies):
+ (WebCore::cookieRequestHeaderFieldValue):
+
+2012-11-28 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium][Win] Remove ensureFontLoaded from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=97696
+
+ Reviewed by Adam Barth.
+
+ Move ensureFontLoaded() from PlatformSupport to
+ FontPlatformDataChromiumWin. Part of a refactoring series; see
+ tracking bug 82948.
+
+ * platform/chromium/PlatformSupport.h:
+ (PlatformSupport):
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::fontContainsCharacter):
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::drawGlyphsWin):
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
+ (WebCore::FontPlatformData::scriptFontProperties):
+ (WebCore):
+ (WebCore::FontPlatformData::ensureFontLoaded):
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
+ (FontPlatformData):
+ * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
+ (WebCore::getGlyphIndices):
+ (WebCore::fillBMPGlyphs):
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
+ (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
+ * platform/graphics/skia/SkiaFontWin.cpp:
+ (WebCore::paintSkiaText):
+
+2012-11-28 peavo@outlook.com <peavo@outlook.com>
+
+ [WinCairo] Crash when requesting favicon.
+ https://bugs.webkit.org/show_bug.cgi?id=102689
+
+ Reviewed by Brent Fulgham.
+
+ * platform/graphics/BitmapImage.h: Made frameCount() method virtual, subclasses made for testing can then override it.
+ * platform/graphics/win/ImageCairoWin.cpp:
+ (WebCore::BitmapImage::getHBITMAPOfSize): Added NULL pointer check.
+ (WebCore::BitmapImage::drawFrameMatchingSourceSize): Added NULL pointer check.
+
+2012-11-28 Tony Chang <tony@chromium.org>
+
+ Move internals.settings.setPageScaleFactor to internals.setPageScaleFactor
+ https://bugs.webkit.org/show_bug.cgi?id=103559
+
+ Reviewed by Jochen Eisinger.
+
+ This method doesn't alter the Settings object, so move it to internals.
+
+ No new tests, this is a refactor.
+
+ * testing/InternalSettings.cpp: Remove.
+ * testing/InternalSettings.h: Remove.
+ * testing/InternalSettings.idl: Remove.
+ * testing/Internals.cpp:
+ (WebCore::Internals::resetToConsistentState): Add reset code.
+ (WebCore::Internals::setPageScaleFactor): Add method.
+ * testing/Internals.h: Add method.
+ * testing/Internals.idl: Add method.
+
+2012-11-28 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
+ https://bugs.webkit.org/show_bug.cgi?id=102826
+
+ Reviewed by Dave Hyatt.
+
+ Follow up update of a comment after the patch was landed by the commit queue in r135921.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::containerForRepaint):
+
+2012-11-28 Christophe Dumez <christophe.dumez@intel.com>
+
+ CSS3 Multicolumn: column-span should accept value 'none' (instead of '1')
+ https://bugs.webkit.org/show_bug.cgi?id=101462
+
+ Reviewed by David Hyatt.
+
+ According to the latest CSS3 Multi-column specification:
+ http://www.w3.org/TR/2011/CR-css3-multicol-20110412/#column-span
+
+ column-span should accept values [ none | all ], instead of
+ [ 1 | all ]. This patch updates WebKit implementation to reflect
+ this change in the specification. The value 1 is still supported
+ for compatibility reasons and is mapped to none.
+
+ No new tests, already covered by existing tests.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator ColumnSpan):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2012-11-28 Anton Vayvod <avayvod@chromium.org>
+
+ Text Autosizing: Clusters should use width of LCA of their text nodes
+ https://bugs.webkit.org/show_bug.cgi?id=102562
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Many pages set a max-width on their content. So especially for the
+ RenderView, instead of just taking the width of |cluster| we find
+ the lowest common ancestor of the first and last descendant text node of
+ the cluster (i.e. the deepest wrapper block that contains all the text),
+ and use its width instead.
+
+ Tests: fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html
+ fast/text-autosizing/cluster-with-narrow-lca.html
+ fast/text-autosizing/cluster-with-wide-lca.html
+ fast/text-autosizing/list-item-out-of-flow.html
+ fast/text-autosizing/wide-in-narrow-overflow-scroll.html
+
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::processCluster): use text nodes LCA instead of cluster for width calculation
+ (WebCore::TextAutosizer::isAutosizingContainer): list items that are out of parent list element's flow are valid containers (that therefore become clusters in isAutosizingCluster)
+ (WebCore::TextAutosizer::findDeepestBlockContainingAllText): searches for LCA of text nodes ignoring descendant clusters
+ (WebCore::TextAutosizer::findFirstTextLeafNotInCluster): searches for the first or the last (depending on specified direction) text leaf node in-order ignoring any descendant clusters
+ * rendering/TextAutosizer.h: new private methods declarations and an enum for tree traversal direction.
+
+2012-11-28 Sadrul Habib Chowdhury <sadrul@chromium.org>
+
+ cleanup: Change some code to be cleaner, more readable and style conforming
+ https://bugs.webkit.org/show_bug.cgi?id=103543
+
+ Reviewed by Antonio Gomes.
+
+ Use more appropriate function name and more meaningful variable names to make the code cleaner.
+ This is covered by existing tests. This does not make any behavioural changes, so no new tests.
+
+ * page/EventHandler.cpp:
+ (WebCore::closestScrollableNodeInDocumentIfPossible):
+ (WebCore::EventHandler::handleWheelEvent):
+
+2012-11-28 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Regions] Crash when using hover and first-letter inside a flow-thread
+ https://bugs.webkit.org/show_bug.cgi?id=102957
+
+ Reviewed by David Hyatt.
+
+ Some RenderObjects use a different path when they are destroyed. That's because they are dynamically
+ added just before layout happens and their parent is usually not their actual owner. In those cases the parent
+ will remove the object from the tree, but it's actually the owner that will destroy the object and all its
+ children.
+
+ RenderFlowThread maintains a RenderBoxRegionInfo object for each RenderObject that is rendered inside the
+ flow-thread. When the RenderObject is removed from the RenderFlowThread, the associated RenderBoxRegionInfo object
+ also needs to be removed.
+
+ In these special cases (list-marker, first-letter), the object itself was removed from the RenderFlowThread,
+ but its children were still left in the flow-thread. When the these special objects were later destroyed,
+ they will remove their own children. Removing their children means it will try to remove them from the
+ associated RenderFlowThread. However, in this cases there would be no link back to the parent flow-thread,
+ as the tree is now detached from the enclosing RenderFlowThread.
+
+ Added code that recursively removes the whole children tree from the RenderFlowThread when the root is removed.
+
+ Tests: fast/regions/firstletter-inside-flowthread.html
+ fast/regions/listmarker-inside-flowthread.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::willBeRemovedFromTree):
+ (WebCore::RenderObject::removeFromRenderFlowThread):
+ (WebCore):
+ (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
+ * rendering/RenderObject.h:
+ (RenderObject):
+
+2012-11-28 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Regions] Auto-height regions will not calculate the height correctly when the content changes dynamically
+ https://bugs.webkit.org/show_bug.cgi?id=102954
+
+ Reviewed by David Hyatt.
+
+ Whenever the flow changes, we need to reset the region computed auto-heights.
+ However, when we reset the region heights to "auto" or "un-computed", we also need to make
+ sure that all the region breaks are counted again, so that we split regions correctly during the new layout.
+ I've reused the m_regionsInvalidated property to force the flow do a complete layout.
+
+ Test: fast/regions/autoheight-dynamic-update.html
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight):
+
+2012-11-28 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Regions] InRenderFlowThread returns false in the first setStyle
+ https://bugs.webkit.org/show_bug.cgi?id=102839
+
+ Reviewed by Dave Hyatt.
+
+ Some render objects use the "inRenderFlowThread" during the first styleWillChange/styleDidChange.
+ The first call to these methods comes from NodeRendererFactory::createRenderer. That happens before the RenderObject is
+ attached to the parent renderer, meaning that inRenderFlowThread is false. That means a RenderLayerBacking will be
+ created for renderers inside the RenderFlowThread, but composited layers inside the RenderFlowThread are not supported yet.
+ https://bugs.webkit.org/show_bug.cgi?id=84900
+
+ Test: fast/repaint/region-painting-composited-element.html
+
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRendererFactory::createRenderer):
+ Added code to propagate the inRenderFlowThread flag from the parent node before the style is set for the first time.
+
+2012-11-28 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/12645085> REGRESSION (r130851): With kerning enabled, a white-space: pre-wrap inline starting with tab+space has the wrong width
+ https://bugs.webkit.org/show_bug.cgi?id=103541
+
+ Reviewed by Anders Carlsson.
+
+ Test: fast/text/tab-with-kerning.html
+
+ When kerning is enabled, words are measured with their trailing space, then the width of a
+ space is subtracted. The logic to do this was incorrectly being invoked even when the
+ trailing whitespace character was a tab or a newline.
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to check only for the space
+ character, not other space-like characters.
+
+2012-11-28 Nate Chapin <japhet@chromium.org>
+
+ Move empty loading to DocumentLoader, simplify FrameLoader::init()
+ https://bugs.webkit.org/show_bug.cgi?id=101512
+
+ Reviewed by Adam Barth.
+
+ No new tests, though several outputs changed because we no longer send resource
+ load callbacks for empty loads.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::~DocumentLoader):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::commitData):
+ (WebCore::DocumentLoader::clearMainResourceLoader):
+ (WebCore::DocumentLoader::isLoadingInAPISense):
+ (WebCore::DocumentLoader::documentURL):
+ (WebCore::DocumentLoader::isLoadingMainResource):
+ (WebCore::DocumentLoader::maybeLoadEmpty):
+ (WebCore):
+ (WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource
+ loads directly here.
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::serverRedirectSourceForHistory):
+ (DocumentLoader):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader): Initialize some variables whose values
+ were previously being reset in init(). Given that the FrameLoader is in
+ an inconsistent state before init() is called anyway, there doesn't seem
+ to be a disadvantage to just initializing them to their post-init() values.
+ (WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of
+ doing a bunch of direct calls to functions FrameLoader shouldn't know about.
+ * loader/FrameLoaderStateMachine.cpp:
+ (WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):
+ * loader/FrameLoaderStateMachine.h:
+ * loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.
+ (WebCore::MainResourceLoader::loadNow): This only returned true when an empty
+ load got deferred, which won't happen now. Return void and always treat
+ as returning false.
+ * loader/MainResourceLoader.h:
+ (MainResourceLoader):
+
+2012-11-28 Antoine Quint <graouts@apple.com>
+
+ Calling .removeCue() for a cue that was never added should raise a NOT_FOUND_ERR
+ https://bugs.webkit.org/show_bug.cgi?id=103412
+
+ Reviewed by Eric Carlson.
+
+ Updating the .removeCue() implementation to match the latest spec. This means we now
+ raise a NOT_FOUND_ERR exception when trying to remove a cue that wasn't present in the
+ cue list instead of a INVALID_STATE_ERR exception like the spec used to mandate.
+
+ * html/track/TextTrack.cpp:
+ (WebCore::TextTrack::removeCue):
+
+2012-11-28 Zeno Albisser <zeno@webkit.org>
+
+ [Qt][Win] Enable usage of QTWEBKIT_PLUGIN_PATH.
+ https://bugs.webkit.org/show_bug.cgi?id=103529
+
+ This patch enables the same behavior for Windows
+ as it is currently implemented for all other operating
+ systems supported by Qt.
+ Directories listed in the environment variable
+ QTWEBKIT_PLUGIN_PATH are being searched for additional
+ plugins.
+ The only difference is that directories on Windows
+ need to be separated by a semicolon instead of a colon.
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * plugins/win/PluginDatabaseWin.cpp:
+ (WebCore):
+ (WebCore::addQtWebKitPluginPath):
+ (WebCore::PluginDatabase::defaultPluginDirectories):
+
+2012-11-28 Adam Barth <abarth@webkit.org>
+
+ [v8] 4% regression in dom_traverse tests
+ https://bugs.webkit.org/show_bug.cgi?id=102858
+
+ Unreviewed.
+
+ This patch is a manual rollout of
+ http://trac.webkit.org/changeset/134729. We can't do a mechanical
+ rollout because V8DOMWrapper::getCachedWrapper no longer exists.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+
+2012-11-28 Denis Nomiyama <d.nomiyama@samsung.com>
+
+ Removed extra definition of GLXContext.
+ https://bugs.webkit.org/show_bug.cgi?id=103500
+
+ Reviewed by Martin Robinson.
+
+ A minor cleanup to remove a spare definition of GLXContext in GLContextGLX.h.
+
+ No new tests. This doesn't change any behavior.
+
+ * platform/graphics/glx/GLContextGLX.h:
+
+2012-11-28 Sadrul Habib Chowdhury <sadrul@chromium.org>
+
+ Fix gesture scrolling when the target-element of scroll-begin is removed
+ https://bugs.webkit.org/show_bug.cgi?id=103355
+
+ Reviewed by Antonio Gomes.
+
+ When a touch-scroll starts, the node under the touch-point gets latched, and
+ subsequent scroll-update events are dispatched to that node. But if the node is
+ removed while the gesture event is in progress (e.g. in a dynamically updated
+ list), then the scrolling stops, although there are enough elements to still
+ enable scrolling. So instead of latching on to the node immediately under the
+ touch point, latch on to the scrollable node under the touch point.
+
+ Test: fast/events/touch/gesture/touch-gesture-scroll-remove-node.html
+
+ * page/EventHandler.cpp:
+ (WebCore::getClosestScrollableNodeInDocumentIfPossible):
+ (WebCore):
+ (WebCore::EventHandler::handleWheelEvent):
+
+2012-11-28 Anton Obzhirov <a.obzhirov@samsung.com>
+
+ Fix .libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::validationMessageBadInputForNumberText().
+ https://bugs.webkit.org/show_bug.cgi?id=103509
+
+ Reviewed by Philippe Normand.
+
+ GTK build fix after r136001.
+
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ (WebCore::validationMessageBadInputForNumberText):
+ (WebCore):
+
+2012-11-28 Byungwoo Lee <bw80.lee@samsung.com>
+
+ [EFL] Use mutex locker in wakeUp() to ensure thread-safety.
+ https://bugs.webkit.org/show_bug.cgi?id=101132
+
+ Reviewed by Gyuyoung Kim.
+
+ Add mutex locker for the ecore pipe to ensure thread-safety of
+ RunLoop::wakeUp().
+
+ RunLoop::wakeUp() can be called by multiple thread. It uses
+ ecore_pipe_write() function but the function is not thread-safe.
+
+ * platform/RunLoop.h:
+ (RunLoop):
+ * platform/efl/RunLoopEfl.cpp:
+ (WebCore::RunLoop::wakeUp):
+
+2012-11-28 Ryuan Choi <ryuan.choi@gmail.com>
+
+ [EFL] Refactor theme to choose whether to support foreground color of selection
+ https://bugs.webkit.org/show_bug.cgi?id=102037
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ If foreground selection color is supported, selected text is painted to
+ SelectionForegroundColor instead of text color. If not, text can be painted
+ to text color.
+
+ However, EFL port does not have a way to disable support of foreground
+ selection color. So this patch refactors color classes of theme from
+ active and inactive to foreground and background in order to disable support
+ of foreground selection color when foreground color class is not specified.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::fillColorsFromEdjeClass):
+ Returned false without error message when colorClass is not specified.
+ (WebCore::RenderThemeEfl::setColorFromThemeClass):
+ (WebCore::RenderThemeEfl::loadTheme):
+ (WebCore::RenderThemeEfl::RenderThemeEfl):
+ (WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
+ (WebCore):
+ * platform/efl/RenderThemeEfl.h:
+ (RenderThemeEfl):
+
+2012-11-28 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ Move childrenAffectedBy bits from RenderStyle to Element
+ https://bugs.webkit.org/show_bug.cgi?id=101448
+
+ Unreviewed buildfix.
+
+ To use renderStyle() on some Macs we need to include NodeRenderStyle.h.
+
+ * dom/ContainerNode.cpp:
+
+2012-11-28 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ Move childrenAffectedBy bits from RenderStyle to Element
+ https://bugs.webkit.org/show_bug.cgi?id=101448
+ https://bugs.webkit.org/show_bug.cgi?id=98021
+
+ Reviewed by Antti Koivisto.
+
+ Moves facts observed about restyling dependencies out of RenderStyle and
+ into RareData for Node and Element. This also enables further cleanup
+ in related code that tried to deal with problems caused with the placement
+ of the data.
+
+ Test: fast/css/nth-child-not-in-rightmost.html
+
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkSelector):
+ (WebCore::SelectorChecker::checkOneSelector):
+ * css/SiblingTraversalStrategies.h:
+ (WebCore::DOMSiblingTraversalStrategy::countElementsBefore):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::sortAndTransferMatchedRules):
+ (WebCore::StyleResolver::canShareStyleWithElement):
+ (WebCore::parentElementPreventsSharing):
+ (WebCore::StyleResolver::locateSharedStyle):
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::setActive):
+ (WebCore::ContainerNode::setHovered):
+ * dom/Element.cpp:
+ (WebCore::Element::detach):
+ (WebCore::Element::recalcStyle):
+ (WebCore::checkForEmptyStyleChange):
+ (WebCore::checkForSiblingStyleChanges):
+ (WebCore::Element::setChildrenAffectedByHover):
+ (WebCore::Element::setChildrenAffectedByActive):
+ (WebCore::Element::setChildrenAffectedByDrag):
+ (WebCore::Element::setChildrenAffectedByFirstChildRules):
+ (WebCore::Element::setChildrenAffectedByLastChildRules):
+ (WebCore::Element::setChildrenAffectedByDirectAdjacentRules):
+ (WebCore::Element::setChildrenAffectedByForwardPositionalRules):
+ (WebCore::Element::setChildrenAffectedByBackwardPositionalRules):
+ (WebCore::Element::setChildIndex):
+ (WebCore::Element::rareDataStyleAffectedByEmpty):
+ (WebCore::Element::rareDataChildrenAffectedByHover):
+ (WebCore::Element::rareDataChildrenAffectedByActive):
+ (WebCore::Element::rareDataChildrenAffectedByDrag):
+ (WebCore::Element::rareDataChildrenAffectedByFirstChildRules):
+ (WebCore::Element::rareDataChildrenAffectedByLastChildRules):
+ (WebCore::Element::rareDataChildrenAffectedByDirectAdjacentRules):
+ (WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules):
+ (WebCore::Element::rareDataChildrenAffectedByBackwardPositionalRules):
+ (WebCore::Element::rareDataChildIndex):
+ * dom/Element.h:
+ (Element):
+ (WebCore::Element::styleAffectedByEmpty):
+ (WebCore::Element::childrenAffectedByHover):
+ (WebCore::Element::childrenAffectedByActive):
+ (WebCore::Element::childrenAffectedByDrag):
+ (WebCore::Element::childrenAffectedByPositionalRules):
+ (WebCore::Element::childrenAffectedByFirstChildRules):
+ (WebCore::Element::childrenAffectedByLastChildRules):
+ (WebCore::Element::childrenAffectedByDirectAdjacentRules):
+ (WebCore::Element::childrenAffectedByForwardPositionalRules):
+ (WebCore::Element::childrenAffectedByBackwardPositionalRules):
+ (WebCore::Element::childIndex):
+ * dom/ElementRareData.h:
+ (ElementRareData):
+ (WebCore::ElementRareData::resetComputedStyle):
+ (WebCore::ElementRareData::resetDynamicRestyleObservations):
+ * dom/Node.cpp:
+ (WebCore::Node::diff):
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::NodeRareData):
+ (WebCore::NodeRareData::childrenAffectedByHover):
+ (WebCore::NodeRareData::setChildrenAffectedByHover):
+ (WebCore::NodeRareData::childrenAffectedByActive):
+ (WebCore::NodeRareData::setChildrenAffectedByActive):
+ (WebCore::NodeRareData::childrenAffectedByDrag):
+ (WebCore::NodeRareData::setChildrenAffectedByDrag):
+ (NodeRareData):
+ (WebCore::NodeRareData::childrenAffectedByFirstChildRules):
+ (WebCore::NodeRareData::setChildrenAffectedByFirstChildRules):
+ (WebCore::NodeRareData::childrenAffectedByLastChildRules):
+ (WebCore::NodeRareData::setChildrenAffectedByLastChildRules):
+ (WebCore::NodeRareData::childrenAffectedByDirectAdjacentRules):
+ (WebCore::NodeRareData::setChildrenAffectedByDirectAdjacentRules):
+ (WebCore::NodeRareData::childrenAffectedByForwardPositionalRules):
+ (WebCore::NodeRareData::setChildrenAffectedByForwardPositionalRules):
+ (WebCore::NodeRareData::childrenAffectedByBackwardPositionalRules):
+ (WebCore::NodeRareData::setChildrenAffectedByBackwardPositionalRules):
+ (WebCore::NodeRareData::childIndex):
+ (WebCore::NodeRareData::setChildIndex):
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
+ * page/TouchAdjustment.cpp:
+ (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::updateDragState):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::copyNonInheritedFrom):
+ * rendering/style/RenderStyle.h:
+
+2012-11-28 Zeno Albisser <zeno@webkit.org>
+
+ GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
+ https://bugs.webkit.org/show_bug.cgi?id=103497
+
+ Unreviewed buildfix.
+
+ Any usage of GraphicsSurface needs to be wrapped with USE(GRAPHICS_SURFACE).
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+
+2012-11-28 Zeno Albisser <zeno@webkit.org>
+
+ GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
+ https://bugs.webkit.org/show_bug.cgi?id=103497
+
+ This is a temporary workaround for an issue with GraphicsSurfaceMac.
+ GraphicsSurfaceMac is currently implemented using CGL only.
+ CGL does not allow us to properly restore the NSView a context was made current with.
+ Therefore we have to go through QOpenGLContext to ensure the context
+ is being restored correctly.
+ As soon as we are updating GraphicsSurfaceMac to use NSOpenGL,
+ we should revert this patch.
+
+ Reviewed by Simon Hausmann.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+
+2012-11-28 Zeno Albisser <zeno@webkit.org>
+
+ GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
+ https://bugs.webkit.org/show_bug.cgi?id=103497
+
+ Using GraphicsSurface for WebGL in WK1 allows us to share
+ the code with the WK2 implementation.
+
+ Reviewed by Simon Hausmann.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
+ Remove obsolete code.
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+ After blitting the multisample framebuffer,
+ we can copy the contents onto the GraphicsSurface.
+ Right after that we can use the GraphicsSurface
+ as a texture origin to paint to the TextureMapper.
+ Flags related to flipping and blending are being resolved
+ by GraphicsSurface, and do not need to be handled here anymore.
+ (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
+ Remove a redundant makeCurrentIfNeeded call.
+ The original context is being restored by
+ blitMultisampleFramebufferAndRestoreContext anyway.
+ Instead of explicitly calling swapBuffers here,
+ we call swapBuffers on the GraphicsSurface implicitly
+ after in GraphicsSurfacePrivate::copyFromTexture().
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
+ Add members to hold the reading end texture IDs.
+ The texture on the reading side are in a different
+ context than the texture on the writing side.
+ By using GraphicsSurface in WK1 we have to distinguish
+ between these textures, as a single instance serves
+ for reading and writing.
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::swapBuffers):
+ (WebCore::GraphicsSurfacePrivate::copyFromTexture):
+ Add an implicit call to swapBuffers().
+ (WebCore::GraphicsSurfacePrivate::frontBufferTextureID):
+ (GraphicsSurfacePrivate):
+ * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ Add a flag to distinguish between sending and receiving/reading
+ side of the surface. This flag is being initialized in the constructor
+ which is the only place where we know if an instance will be used for
+ writing or reading.
+ The purpose of this flag is to avoid erroneously swapping the buffers
+ on the reading side. We can no longer rely on m_xPixmap for this purpose.
+ (WebCore::GraphicsSurfacePrivate::swapBuffers):
+ (WebCore::GraphicsSurfacePrivate::copyFromTexture):
+ (WebCore::GraphicsSurfacePrivate::glxPixmap):
+ Lazily create the GLX pixmap on demand.
+ (GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurface::platformImport):
+
+2012-11-28 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed. Fix extra spaces in SimpleFontData::initGDIFont().
+
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::initGDIFont):
+
+2012-11-28 Dan Carney <dcarney@google.com>
+
+ [V8] Crash wrapping media element when MediaPlayer isn't available
+ https://bugs.webkit.org/show_bug.cgi?id=103431
+
+ Reviewed by Kentaro Hara.
+
+ Call HTMLElement::createWrapper directly when dispatching a
+ disabled MediaElement wrap.
+
+ No new tests. Testing this must apparently be manual.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ * dom/make_names.pl:
+ (printWrapperFunctions):
+ (printWrapperFactoryHeaderFile):
+
+2012-11-28 Roger Fong <roger_fong@apple.com>
+
+ Initialize identity matrix in SimpleFontData::initGDIFont() properly.
+ https://bugs.webkit.org/show_bug.cgi?id=103499
+ <rdar://problem/12400700>
+
+ Reviewed by Timothy Horton.
+
+ We are incorrectly initializing the matrix passed into GetGlyphOutline.
+ This patch fixes MAT2 initialization to match the way we initialize the
+ identity matrix in SimpleFontData::boundsForGDIGlyph and SimpleFontData::widthForGDIGlyph.
+
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::initGDIFont):
+
+2012-11-28 Huang Dongsung <luxtella@company100.net>
+
+ [Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
+ https://bugs.webkit.org/show_bug.cgi?id=103410
+
+ Reviewed by Noam Rosenthal.
+
+ GraphicsLayerTextureMapper::updateBackingStore() should return early
+ before TextureMapper is set.
+
+ GraphicsLayer::FlushCompositingState() can be called by RenderLayerBacking. It
+ means this method can be called before creating TextureMapper. So
+ TextureMapperLayer::flushCompositingState() checks and returns early if
+ TextureMapper was not created.
+
+ However, GraphicsLayerTextureMapper::updateBackingStore() expects that TextureMapper
+ always exists. updateBackingStore should also return early when TextureMapper
+ was not created.
+
+ No new tests. Covered by existing tests.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
+ (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
+ (WebCore::GraphicsLayerTextureMapper::didFlushCompositingState):
+ (WebCore::GraphicsLayerTextureMapper::prepareBackingStore):
+
+2012-11-28 Tommy Widenflycht <tommyw@google.com>
+
+ Add basic implementation for MediaStreamAudioDestinationNode
+ https://bugs.webkit.org/show_bug.cgi?id=101815
+
+ Reviewed by Chris Rogers.
+
+ Implements an audio destination node which has a MediaStream.
+ This can be added to a PeerConnection with peerConnection.addStream().
+ Please see use case (3):
+ https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/webrtc-integration.html
+
+ Test: webaudio/mediastreamaudiodestinationnode.html
+
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore):
+ (WebCore::AudioContext::createMediaStreamDestination):
+ * Modules/webaudio/AudioContext.h:
+ (WebCore):
+ (AudioContext):
+ * Modules/webaudio/AudioContext.idl:
+ * Modules/webaudio/AudioNode.h:
+ * Modules/webaudio/MediaStreamAudioDestinationNode.cpp: Added.
+ (WebCore):
+ (WebCore::MediaStreamAudioDestinationNode::create):
+ (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
+ (WebCore::MediaStreamAudioDestinationNode::mediaStreamSource):
+ (WebCore::MediaStreamAudioDestinationNode::~MediaStreamAudioDestinationNode):
+ (WebCore::MediaStreamAudioDestinationNode::process):
+ (WebCore::MediaStreamAudioDestinationNode::reset):
+ * Modules/webaudio/MediaStreamAudioDestinationNode.h: Added.
+ (WebCore):
+ (MediaStreamAudioDestinationNode):
+ (WebCore::MediaStreamAudioDestinationNode::stream):
+ * Modules/webaudio/MediaStreamAudioDestinationNode.idl: Added.
+ * WebCore.gypi:
+ * platform/audio/AudioDestinationConsumer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.cpp.
+ (WebCore):
+ (AudioDestinationConsumer):
+ (WebCore::AudioDestinationConsumer::~AudioDestinationConsumer):
+ * platform/chromium/support/WebMediaStreamSource.cpp:
+ (WebKit::WebMediaStreamSource::extraData):
+ (WebKit::WebMediaStreamSource::setExtraData):
+ (WebKit::WebMediaStreamSource::requiresAudioConsumer):
+ (WebKit):
+ (ConsumerWrapper):
+ (WebKit::ConsumerWrapper::create):
+ (WebKit::ConsumerWrapper::consumer):
+ (WebKit::ConsumerWrapper::ConsumerWrapper):
+ (WebKit::ConsumerWrapper::consumeAudio):
+ (WebKit::WebMediaStreamSource::addAudioConsumer):
+ (WebKit::WebMediaStreamSource::removeAudioConsumer):
+ * platform/mediastream/MediaStreamSource.cpp:
+ (WebCore::MediaStreamSource::create):
+ (WebCore::MediaStreamSource::MediaStreamSource):
+ (WebCore::MediaStreamSource::addAudioConsumer):
+ (WebCore):
+ (WebCore::MediaStreamSource::removeAudioConsumer):
+ (WebCore::MediaStreamSource::consumeAudio):
+ * platform/mediastream/MediaStreamSource.h:
+ (WebCore):
+ (MediaStreamSource):
+ (WebCore::MediaStreamSource::requiresAudioConsumer):
+ (WebCore::MediaStreamSource::audioConsumers):
+
+2012-11-27 Mike West <mkwst@chromium.org>
+
+ Improve WebSocketChannel connection failure console messages.
+ https://bugs.webkit.org/show_bug.cgi?id=103448
+
+ Reviewed by Adam Barth.
+
+ When a WebSocket connection fails, the current implementation of
+ WebSocketChannel::fail binds the generated console message to the
+ document's URL, but doesn't give much indication as to the connection
+ itself. This patch adjusts the console message to explicitly show the
+ URL of the failed connection to give developers a better chance of
+ debugging and resolving errors.
+
+ * Modules/websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::fail):
+ Drop the URL parameter from addConsoleMessage, in favour of adding
+ the WebSocketHandshake's URL to the message text.
+
+2012-11-27 Zan Dobersek <zandobersek@gmail.com>
+
+ Unreviewed functionality fix, return the height in ImageFrame::height()
+ on non-Skia platforms.
+
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::ImageFrame::height):
+
+2012-11-27 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
+
+ Optimization in image decoding
+ https://bugs.webkit.org/show_bug.cgi?id=88424
+
+ Reviewed by Brent Fulgham.
+
+ Optimization in image decoding.
+ Reduce branching and multiplications in GIF image decoding loops and functions.
+ Rebase and update of original patch by Misha Tyutyunik <michael.tyuytunik@nokia.com>
+
+ Covered by existing tests.
+
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::haveDecodedRow):
+
+2012-11-27 Michael Saboff <msaboff@apple.com>
+
+ TextIterator unnecessarily converts 8 bit strings to 16 bits
+ https://bugs.webkit.org/show_bug.cgi?id=103295
+
+ Reviewed by Brent Fulgham.
+
+ Changed TextIterator to use the contained string instead of calling characters() on that string.
+ Other sources of text, like emitCharacter() still use the contained UChar* buffer.
+ Added appendTextToStringBuilder() to append the text contents of the current iterator to a string builder
+ irrespective of the source of the text.
+
+ No new tests as functionality covered by existing tests.
+
+ * WebCore.exp.in: Updated plainText export and eliminated plainTextToMallocAllocatedBuffer export
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::stringForVisiblePositionRange): Updated to use TextIterator::appendTextToStringBuilder()
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::characterAt): New function to return the indexed character of the current TextIterator
+ (WebCore::TextIterator::appendTextToStringBuilder): Added method to append whatever the current text to a StringBuilder
+ (WebCore::TextIterator::emitText): Eliminated accessing the character data via characters().
+ (WebCore::TextIterator::rangeFromLocationAndLength): Changed to use characterAt().
+ (WebCore::plainText): Combined with plainTextToMallocAllocatedBuffer().
+ * editing/TextIterator.h:
+ (WebCore::TextIterator::startOffset): New getter.
+ (WebCore::TextIterator::string): New getter.
+ (WebCore::TextIterator::characters): Updated to use correct test source.
+ * page/ContextMenuController.cpp:
+ (WebCore::selectionContainsPossibleWord): Changed to use characterAt().
+
+2012-11-27 Noel Gordon <noel.gordon@gmail.com>
+
+ Inline ImageFrame width() and height()
+ https://bugs.webkit.org/show_bug.cgi?id=103401
+
+ Reviewed by Brent Fulgham.
+
+ Inline ImageFrame width() and height() to improve the performance of ImageFrame
+ function getAddr(x,y) per https://bugs.webkit.org/show_bug.cgi?id=88424#c38
+
+ No new tests. Covered by many existing tests.
+
+ * platform/image-decoders/ImageDecoder.cpp: Remove width() and height() routines
+ since they now inlined in the ImageFrame class definition in ImageDecoder.h.
+ * platform/image-decoders/ImageDecoder.h: Add inline definitions of width() and
+ height() for all ports.
+ * platform/image-decoders/skia/ImageDecoderSkia.cpp:
+ (WebCore::ImageFrame::width): Remove.
+ (WebCore::ImageFrame::height): Remove.
+
+2012-11-27 Michael Pruett <michael@68k.org>
+
+ Remove ASSERT_NOT_REACHED() from IDBCursorBackendImpl::postSuccessHandlerCallback()
+ https://bugs.webkit.org/show_bug.cgi?id=103461
+
+ Reviewed by Kentaro Hara.
+
+ The assertion is applicable only to the Chromium port.
+
+ Tests: storage/indexeddb/*
+
+ * Modules/indexeddb/IDBCursorBackendImpl.h:
+ (WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):
+
+2012-11-27 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Refactoring] HasSelectorForClassStyleFunctor in Element.cpp seems verbose
+ https://bugs.webkit.org/show_bug.cgi?id=103474
+
+ Reviewed by Hajime Morita.
+
+ The code introduced in r135174 looks verbose. We would like to make it simpler.
+ We have removed several inline functions and unnecessary structs.
+
+ No new tests, simple refactoring.
+
+ * dom/Element.cpp:
+ (WebCore):
+ (WebCore::checkSelectorForClassChange):
+ (WebCore::Element::classAttributeChanged):
+ (WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):
+
+2012-11-27 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Support proper <percent> / calc() resolution for grid items
+ https://bugs.webkit.org/show_bug.cgi?id=102968
+
+ Reviewed by Ojan Vafai.
+
+ This change introduces a mechanism similar to logical height / width override
+ but for containing block. This is required as we don't have a renderer for the
+ grid area but any <percent> or calc() size should be resolved against the grid
+ area size (which is sized after the grid tracks).
+
+ Tests: fast/css-grid-layout/calc-resolution-grid-item.html
+ fast/css-grid-layout/percent-resolution-grid-item.html
+ fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html
+ fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::willBeDestroyed):
+ Remove any containing block size override.
+
+ (WebCore::RenderBox::overrideContainingBlockContentLogicalWidth):
+ (WebCore::RenderBox::overrideContainingBlockContentLogicalHeight):
+ (WebCore::RenderBox::hasOverrideContainingBlockLogicalWidth):
+ (WebCore::RenderBox::hasOverrideContainingBlockLogicalHeight):
+ (WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth):
+ (WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight):
+ (WebCore::RenderBox::clearContainingBlockOverrideSize):
+ Containing block override size functions.
+
+ (WebCore::RenderBox::containingBlockLogicalWidthForContent):
+ Updated the function to check for any override logical width.
+
+ (WebCore::RenderBox::containingBlockLogicalHeightForContent):
+ New function, similar to RenderBox::containingBlockLogicalWidthForContent.
+
+ (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
+ (WebCore::RenderBox::computePercentageLogicalHeight):
+ Updated these function to return overrideContainingBlockContentLogicalHeight as needed.
+
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
+ (WebCore::RenderBox::availableLogicalHeightUsing):
+ Updated these functions to use the new containingBlockLogicalHeightForContent instead
+ of availableLogicalHeight.
+
+ * rendering/RenderBox.h:
+ Added the previous new functions.
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::layoutGridItems):
+ Updated to override the containing block size so that we properly size our grid items.
+
+2012-11-27 Kent Tamura <tkent@chromium.org>
+
+ Fix build errors by r135955.
+
+ * dom/ShadowRoot.cpp: Use struct instead of class.
+ * dom/TreeScope.cpp: Ditto.
+
+2012-11-27 Eugene Klyuchnikov <eustas@chromium.com>
+
+ Web Inspector: [Timeline] "Show CPU activity on the ruler" settings checkbox does not take effect until Inspector restart
+ https://bugs.webkit.org/show_bug.cgi?id=102210
+
+ Reviewed by Pavel Feldman.
+
+ The checkbox changes should take effect in the real time.
+
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.GenericSettingsTab):
+ Do not show checkpox if browser is not capable.
+ * inspector/front-end/TimelinePanel.js:
+ Added setting change listener.
+
+2012-11-27 Andreas Kling <akling@apple.com>
+
+ Compile time size assertions for TreeScope, ShadowRoot and ElementAttributeData.
+
+ Rubber-stamped by Anders Carlsson.
+
+ * dom/ShadowRoot.cpp:
+ (SameSizeAsShadowRoot):
+ * dom/TreeScope.cpp:
+ (SameSizeAsTreeScope):
+ * dom/ElementAttributeData.cpp: Derp.
+
+2012-11-27 James Simonsen <simonjam@chromium.org>
+
+ Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
+ https://bugs.webkit.org/show_bug.cgi?id=102151
+
+ Reviewed by Adam Barth.
+
+ There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
+ There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
+ the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
+ the refactoring done with CachedResourceRequest and CachedResourceLoader.
+
+ No new tests. No change in functionality.
+
+ * WebCore.exp.in:
+ * loader/FrameLoadRequest.h:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ (WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
+ (WebCore::FrameLoadRequest::lockHistory): Ditto.
+ (FrameLoadRequest):
+ (WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
+ (WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
+ (WebCore::FrameLoadRequest::substituteData): Ditto.
+ (WebCore::FrameLoadRequest::setSubstituteData): Ditto.
+ (WebCore::FrameLoadRequest::hasSubstituteData): Ditto.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.
+ * loader/FrameLoader.h:
+ (FrameLoader):
+ * page/DragController.cpp:
+ (WebCore::DragController::performDrag):
+
+2012-11-27 Jer Noble <jer.noble@apple.com>
+
+ Unreviewed build fix; NSSize is not a CGSize in 32-bit.
+
+ * platform/mac/WebCoreFullScreenWarningView.mm:
+
+2012-11-27 Dean Jackson <dino@apple.com>
+
+ Attempted build fix for my last commit. The private member variable
+ is only used on MAC (at the moment) so guard it with #if PLATFORM.
+ I did this rather than having another constructor, because I expect
+ other platforms will follow the MAC code soon.
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
+ * html/shadow/MediaControlElements.h:
+
+2012-11-14 Jer Noble <jer.noble@apple.com>
+
+ Add a new shared class WebCoreFullScreenPlaceholderView, for use in WebKit and WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=102300
+
+ Reviewed by Anders Carlsson.
+
+ Add a new shared class WebCoreFullScreenPlaceholderView, which presents the contents of the
+ WebView prior to full screen with a message informing the user how to exit from full screen mode.
+
+ * platform/mac/WebCoreFullScreenPlaceholderView.mm:
+ (-[WebCoreFullScreenPlaceholderView initWithFrame:]): Create the warning view and set up the placeholder layer.
+ (-[WebCoreFullScreenPlaceholderView setContents:]): Pass along to content view layer.
+ (-[WebCoreFullScreenPlaceholderView contents]): Ditto.
+ (-[WebCoreFullScreenPlaceholderView setExitWarningVisible:]): Show or hide the exit warning.
+ (-[WebCoreFullScreenPlaceholderView mouseDown:]): Call the target with action.
+
+ Add a localized string entry for the "click to exit" text:
+ * English.lproj/Localizable.strings:
+ * platform/LocalizedStrings.cpp:
+ (WebCore::clickToExitFullScreenText):
+ * platform/LocalizedStrings.h:
+ * English.lproj/Localizable.strings:
+
+ Add the new files to the project and exports list:
+ * WebCore.exp.in:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-11-27 Andreas Kling <akling@apple.com>
+
+ Shrink ShadowRoot and TreeScope.
+ <http://webkit.org/b/103459>
+
+ Reviewed by Antti Koivisto.
+
+ We're creating ~1500 ShadowRoots on Apple's PLT3 content (from <input> and <textarea> elements)
+ and a lot of this is wasted space.
+
+ Shrink ShadowRoot and TreeScope a bit by making TreeScope's DocumentOrderedMaps heap-allocated
+ and packing the counters on ShadowRoot harder together with the bits.
+
+ 202kB progression on Membuster3.
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::ShadowRoot):
+ * dom/ShadowRoot.h:
+ (WebCore::ShadowRoot::countElementShadow):
+ (ShadowRoot):
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::TreeScope):
+ (WebCore::TreeScope::getElementById):
+ (WebCore::TreeScope::addElementById):
+ (WebCore::TreeScope::removeElementById):
+ (WebCore::TreeScope::addImageMap):
+ (WebCore::TreeScope::removeImageMap):
+ (WebCore::TreeScope::getImageMap):
+ (WebCore::TreeScope::addLabel):
+ (WebCore::TreeScope::removeLabel):
+ (WebCore::TreeScope::labelElementForId):
+ * dom/TreeScope.h:
+ (WebCore::TreeScope::shouldCacheLabelsByForAttribute):
+ (TreeScope):
+ (WebCore::TreeScope::hasElementWithId):
+ (WebCore::TreeScope::containsMultipleElementsWithId):
+
+2012-11-14 Jer Noble <jer.noble@apple.com>
+
+ Add a new shared class WebCoreFullScreenWarningView which presents a styled warning message.
+ https://bugs.webkit.org/show_bug.cgi?id=102299
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add a shared implementation of a warning view for use in WebKit and WebKit2.
+
+ * platform/mac/WebCoreFullScreenWarningView.h: Added.
+ * platform/mac/WebCoreFullScreenWarningView.mm: Added.
+ (-[WebCoreFullScreenWarningView initWithTitle:]): Create the view.
+
+ Add the new files to the project and exports list:
+ * WebCore.exp.in:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-11-27 Dean Jackson <dino@apple.com>
+
+ Make track list control active
+ https://bugs.webkit.org/show_bug.cgi?id=101670
+
+ Reviewed by Eric Carlson.
+
+ Hook up the event handler for the captions menu so that it enables or
+ disables tracks in the associated HTMLMediaElement.
+
+ Test: media/video-controls-captions-trackmenu.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::toggleTrackAtIndex): New method to toggle the state of a track, by index.
+ * html/HTMLMediaElement.h:
+ (HTMLMediaElement): Ditto.
+ (WebCore::HTMLMediaElement::textTracksOffIndex): Static method to return the "Off" value.
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::trackListIndexForElement): Helper function to take a track list <li> element and return the value of the custom attribute.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType): Toggle the state of the button based on captions visibility.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): On Mac platforms show the captions menu. On other platforms, toggle captions.
+ (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Now has a reference to the controls.
+ (WebCore::MediaControlClosedCaptionsTrackListElement::create):
+ (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): When the user clicks on a track list item, look
+ for the custom attribute that identifies the associated track, and then toggle that track.
+ (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Set a class on the track list elements so they can be
+ styled by the injected CSS (with tick marks to represent visibility).
+ (WebCore::MediaControlClosedCaptionsTrackListElement::resetTrackListMenu): When building the list of track menu items, add
+ a custom HTML attribute to the element so that the corresponding track can be found in the event handler.
+ * html/shadow/MediaControlElements.h:
+ (MediaControlClosedCaptionsTrackListElement): Add a list of elements representing the track list.
+ * html/shadow/MediaControlsApple.cpp:
+ (WebCore::MediaControlsApple::createControls):
+ (WebCore::MediaControlsApple::changedClosedCaptionsVisibility): Make sure to update the track menu.
+ (WebCore::MediaControlsApple::reset):
+ * html/shadow/MediaControlsApple.h:
+ (MediaControlsApple):
+
+2012-11-27 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Simplify transaction timers and event tracking
+ https://bugs.webkit.org/show_bug.cgi?id=102984
+
+ Reviewed by Tony Chang.
+
+ Now that the transaction "commit" decision is made on the front-end, the back end no-longer
+ needs to be aware of when individual IDBRequests have dispatched to script or track pending
+ events (except for preemptive ones like createIndex). This also lets two timers be collapsed
+ into one which significantly simplifies the code flow in IDBTransactionBackendImpl.
+
+ No new tests - just simplification. Exercised by storage/indexeddb/transaction-*.html etc.
+
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::prefetchContinueInternal): No more tracking.
+ (WebCore::IDBCursorBackendImpl::prefetchReset): No more tracking.
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): No more tracking.
+ (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): No more tracking.
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal): No more tracking.
+ (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): No more tracking.
+ (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): No more tracking.
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::dispatchEvent): Order must be:
+ 1. request is unregistered from transaction (so request list may be empty)
+ 2. abort transaction if event being dispatched was an error
+ 3. deactivate transaction (which may commit if #1 left it empty and #2 didn't abort)
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): Need to track if commit
+ was requested; previously the front end would have triggered an event timer which, on
+ completion, would be the signal that the front end was finished.
+ (WebCore::IDBTransactionBackendImpl::scheduleTask): Schedule a timer to service the new
+ task, if necessary.
+ (WebCore::IDBTransactionBackendImpl::abort):
+ (WebCore::IDBTransactionBackendImpl::hasPendingTasks):
+ (WebCore::IDBTransactionBackendImpl::commit):
+ (WebCore::IDBTransactionBackendImpl::taskTimerFired): Picks up "commit" responsibilities
+ from the now deleted taskEventTimerFired, if everything is truly complete done.
+ * Modules/indexeddb/IDBTransactionBackendImpl.h:
+ (IDBTransactionBackendImpl):
+ * Modules/indexeddb/IDBTransactionBackendInterface.h:
+ (WebCore::IDBTransactionBackendInterface::didCompleteTaskEvents): Removed from interface.
+
+2012-11-27 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Replace toWebCoreString()/toWebCoreAtomicString() in CodeGeneratorV8.pm with V8StringResource
+ https://bugs.webkit.org/show_bug.cgi?id=103391
+
+ Reviewed by Adam Barth.
+
+ This is an incremental effort for fixing bug 103331.
+ I confirmed that this patch causes no performance regression
+ for the micro benchmarks (https://bugs.webkit.org/attachment.cgi?id=176178).
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrSetter):
+ (GenerateEventListenerCallback):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
+ (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::addEventListenerCallback):
+ (WebCore::TestObjV8Internal::removeEventListenerCallback):
+
+2012-11-27 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
+ https://bugs.webkit.org/show_bug.cgi?id=102826
+
+ Reviewed by David Hyatt.
+
+ When the page is composited, all the elements will have a composited repaint container. In that case we will
+ never catch the repaints in the RenderFlowThread, but they will go directly to the RenderView.
+ There's a single case when the parent composited layer of an element inside the RenderFlowThread will get
+ its own repaints. That case only happens when the parent composited layer is also part of the same flow thread.
+ Right now compositing is disabled for elements inside the RenderFlowThread, so that case doesn't even happen yet.
+ That will be fixed in https://bugs.webkit.org/show_bug.cgi?id=84900.
+
+ Test: fast/repaint/region-painting-in-composited-view.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::containerForRepaint):
+
+2012-11-27 Tony Chang <tony@chromium.org>
+
+ Unreviewed, win compile fix take 2.
+
+ Try again to force this file to recompile.
+
+ * rendering/RenderingAllInOne.cpp:
+
+2012-11-27 Tony Chang <tony@chromium.org>
+
+ Unreviewed, win compile fix.
+
+ Touch RenderingAllInOne.cpp to force it to rebuild.
+
+ * rendering/RenderingAllInOne.cpp:
+
+2012-11-27 Tim Horton <timothy_horton@apple.com>
+
+ PDFPlugin: Scroll bars do not grow on hover
+ https://bugs.webkit.org/show_bug.cgi?id=103382
+ <rdar://problem/12555262>
+
+ Reviewed by Beth Dakin.
+
+ Export a few WebCore::Scrollbar methods to WebKit(2).
+
+ * WebCore.exp.in:
+
+2012-11-27 Tom Sepez <tsepez@chromium.org>
+
+ Regression(r129406): Fix the scope of the WidgetHierarchyUpdateSuspensionScope in Element::Attach().
+ https://bugs.webkit.org/show_bug.cgi?id=100803
+
+ Reviewed by Abhishek Arya.
+
+ Ensures that the suspension scope has gone out of scope before calling into
+ resumePostAttachCallbacks().
+
+ Test: fast/dom/adopt-node-crash-2.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::attach):
+
+2012-11-27 Tony Chang <tony@chromium.org>
+
+ Remove hidden limiter div in the input slider shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=102993
+
+ Reviewed by Ojan Vafai.
+
+ The shadow DOM for input sliders would have a hidden div (the TrackLimiterElement)
+ the size of the thumb which would limit the position of thumb since the width of
+ the thumb takes up space in the track. This patch simplifies the shadow DOM by
+ removing this hidden div and computing the position of the thumb taking the size of
+ the thumb into account.
+
+ No new tests, covered by existing tests in fast/forms.
+
+ * css/mediaControlsChromium.css:
+ (input[type="range"]::-webkit-media-slider-container > div): We were depending on the behavior of the limiter having negative margins, causing the slider div
+ to overflow. Moving the negative margin to the slider produces the same effect.
+ * css/mediaControlsChromiumAndroid.css:
+ (input[type="range"]::-webkit-media-slider-container > div): Ditto.
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::createShadowSubtree): Remove limiter div.
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::RenderSliderContainer::layout): Adjust the available space for the thumb and correctly position in the vertical case.
+ (WebCore::SliderThumbElement::setPositionFromPoint): Adjust the usable track size and simplify RTL code (no need to account for the limiter).
+ (WebCore): Delete limiter code.
+ * html/shadow/SliderThumbElement.h:
+ (WebCore): Delete limiter code.
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::layout): Delete limiter code.
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::paintSliderTicks): Simplify code for painting tick marks.
+
+2012-11-27 Alpha Lam <hclam@chromium.org>
+
+ [chromium] Implement full-featured image cache
+ https://bugs.webkit.org/show_bug.cgi?id=99784
+
+ Reviewed by Stephen White.
+
+ Implement a thread-safe image cache to be used with deferred image
+ decoding. Image cache can now be accessed on any thread.
+
+ The patch implements the following logic:
+ 1. Mutex to protect all cache operations.
+ 2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
+ 3. Cache lookup.
+ 4. Cache insertion.
+ 5. Generation of cache entry by scaling full size image.
+ 6. Generation of cache entries by decoding and scaling.
+
+ Classes involved:
+
+ ImageDecodingStore
+
+ Responsible for owning cache entries and indexing. Pruning and memory
+ management will be added later.
+
+ ImageFrameGenerator
+
+ Responsible for generating new cache enties and insert them into
+ ImageDecodingStore.
+
+ LazyDecodingPixelRef
+
+ Responsible for cache lookup and lazy generation of cache entries
+ using ImageFrameGenerator. There is a mutex to protect concurrent
+ lock operations.
+
+ These items are not implemented in this patch:
+ 1. Cache pruning.
+ 2. Setting cache memory limit.
+ 3. Cache deletion.
+ 4. Caching incomplete images and ImageDecoder.
+
+ Unit tests added in ImageFrameGeneratorTest.cpp.
+ Layout tests are under platform/chromium/virtual/fast/images.
+
+ * platform/graphics/chromium/DeferredImageDecoder.cpp:
+ (WebCore::DeferredImageDecoder::~DeferredImageDecoder):
+ (WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
+ (WebCore::DeferredImageDecoder::setEnabled):
+ (WebCore):
+ (WebCore::DeferredImageDecoder::frameBufferAtIndex):
+ (WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
+ * platform/graphics/chromium/DeferredImageDecoder.h:
+ (DeferredImageDecoder):
+ * platform/graphics/chromium/ImageDecodingStore.cpp:
+ (WebCore::ImageDecodingStore::instance):
+ (WebCore::ImageDecodingStore::initializeOnce):
+ (WebCore::ImageDecodingStore::shutdown):
+ (WebCore::ImageDecodingStore::lockCompleteCache):
+ Lookup complete cache entry using hash key, increment use count.
+ (WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
+ (WebCore::ImageDecodingStore::unlockCache):
+ Lookup cache entry using hash key, decrement use count.
+ (WebCore):
+ (WebCore::ImageDecodingStore::insertAndLockCache):
+ Insert new cache entry and increment use count.
+ (WebCore::ImageDecodingStore::prune): TODO.
+ * platform/graphics/chromium/ImageDecodingStore.h:
+ (WebCore):
+ (ImageDecodingStore):
+ (WebCore::ImageDecodingStore::CacheEntry::create):
+ (WebCore::ImageDecodingStore::CacheEntry::createAndUse):
+ (CacheEntry):
+ (WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
+ (WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):
+ * platform/graphics/chromium/ImageFrameGenerator.cpp:
+ (WebCore::ImageFrameGenerator::ImageFrameGenerator):
+ (WebCore::ImageFrameGenerator::setData):
+ (WebCore::ImageFrameGenerator::decodeAndScale):
+ Method for creating new cache entries. This is protected by a mutex
+ to prevent concurrent operations. Which means only one thread can
+ generate new cache entries for a set of encoded data.
+ (WebCore):
+ (WebCore::ImageFrameGenerator::tryToLockCache):
+ Tries to lookup a cache entry.
+ (WebCore::ImageFrameGenerator::tryToScale):
+ Tries to lookup a full size cache entry and generate a scaled version.
+ (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
+ Tries to decode and scale.
+ * platform/graphics/chromium/ImageFrameGenerator.h:
+ (WebCore):
+ (ImageDecoderFactory):
+ (WebCore::ImageFrameGenerator::create):
+ (ImageFrameGenerator):
+ (WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):
+ * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
+ (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
+ (WebCore::LazyDecodingPixelRef::onLockPixels):
+ (WebCore::LazyDecodingPixelRef::onUnlockPixels):
+ * platform/graphics/chromium/LazyDecodingPixelRef.h:
+ (WebCore):
+ (LazyDecodingPixelRef):
+ * platform/graphics/chromium/ScaledImageFragment.cpp:
+ (WebCore::ScaledImageFragment::ScaledImageFragment):
+ * platform/graphics/chromium/ScaledImageFragment.h:
+ (WebCore):
+ (WebCore::ScaledImageFragment::create):
+ (ScaledImageFragment):
+ (WebCore::ScaledImageFragment::scaledSize):
+ * platform/graphics/chromium/SkSizeHash.h: Added.
+ (WTF):
+
+2012-11-27 Mike West <mkwst@chromium.org>
+
+ Expanding variable names in ConsoleMessage.
+ https://bugs.webkit.org/show_bug.cgi?id=103436
+
+ Reviewed by Adam Barth.
+
+ Variable names like 'm' should be replaced with full words, like
+ 'myOhMyThisIsAnAwesomeVariable' (or something more descriptive).
+
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::ConsoleMessage):
+ * inspector/ConsoleMessage.h:
+ (ConsoleMessage):
+
+2012-11-27 Aaron Colwell <acolwell@chromium.org>
+
+ Use-after-free in media player handling
+ https://bugs.webkit.org/show_bug.cgi?id=103426
+
+ Reviewed by Eric Carlson.
+
+ Fixed use-after-free bugs caused by the MediaSource not being closed before the HTMLMediaElement or the MediaPlayer
+ is destroyed. Closing the MediaSource causes it to clear its reference to the MediaPlayer which prevents
+ the use-after-free problems from happening.
+
+ Test: http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::~HTMLMediaElement):
+ (WebCore::HTMLMediaElement::clearMediaPlayer):
+
+2012-11-27 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Remove IDBDatabase.setVersion API
+ https://bugs.webkit.org/show_bug.cgi?id=94972
+
+ Reviewed by Tony Chang.
+
+ This has been out of the spec for over a year. No other browser has
+ implemented it for close to a year.
+
+ Tests - removed.html
+
+ * Modules/indexeddb/IDBCallbacks.h:
+ (IDBCallbacks):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::IDBDatabase):
+ * Modules/indexeddb/IDBDatabase.h:
+ (IDBDatabase):
+ * Modules/indexeddb/IDBDatabase.idl:
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (IDBDatabaseBackendImpl):
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+ (IDBDatabaseBackendInterface):
+ * Modules/indexeddb/IDBRequest.cpp:
+ * Modules/indexeddb/IDBRequest.h:
+
+2012-11-27 Mike West <mkwst@chromium.org>
+
+ Log to console when autofocus is blocked by sandbox attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=103255
+
+ Reviewed by Ojan Vafai.
+
+ Adding a short log message when autofocus is blocked by a document's
+ sandbox flags, as it's currently a black box.
+
+ Test: fast/forms/autofocus-in-sandbox-without-allow-scripts.html
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::shouldAutofocus):
+
+2012-11-27 Dean Jackson <dino@apple.com>
+
+ Attempted build fix after http://trac.webkit.org/changeset/135888.
+
+ * WebCore.exp.in:
+ * WebCore.order:
+
+2012-11-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Build fix after r135890. #else, not #elif.
+
+ * platform/graphics/ca/PlatformCALayer.h:
+ (PlatformCALayer):
+
+2012-11-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ HTMLCollection on Document should be stored on NodeListsNodeData like other HTMLCollections and LiveNodeLists
+ https://bugs.webkit.org/show_bug.cgi?id=103364
+
+ Reviewed by Anders Carlsson.
+
+ Replaced the HTMLCollection storage in Document by NodeListsNodeData used by other HTMLCollection's
+ and LiveNodeList's. Now NodeListsNodeData is the only storage for HTMLCollection and LiveNodeList.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document): Removed code for m_collection since it has been removed.
+ (WebCore::Document::~Document): Ditto.
+ (WebCore::Document::registerNodeList): Renamed.
+ (WebCore::Document::unregisterNodeList): Ditto.
+ (WebCore::Document::ensureCachedCollection): Renamed from cachedCollection to match the convetion
+ used elsewhere. Also use NodeListNodeData::addCacheWithAtomicName now that m_collection is gone.
+ (WebCore::Document::images):
+ (WebCore::Document::applets):
+ (WebCore::Document::embeds):
+ (WebCore::Document::plugins):
+ (WebCore::Document::scripts):
+ (WebCore::Document::links):
+ (WebCore::Document::forms):
+ (WebCore::Document::anchors):
+ (WebCore::Document::all):
+ (WebCore::Document::windowNamedItems): Use addCacheWithAtomicName.
+ (WebCore::Document::documentNamedItems): Ditto.
+ (WebCore::Document::reportMemoryUsage): Removed code for m_collection since it has been removed.
+ * dom/Document.h:
+ (WebCore::Document): Removed m_collections, m_documentNamedItemCollections, and
+ m_windowNamedItemCollections.
+ * dom/Element.cpp:
+ (WebCore::Element::ensureCachedHTMLCollection): Merged ElementRareData::ensureCachedHTMLCollection.
+ (WebCore::Element::cachedHTMLCollection): Merged ElementRareData::cachedHTMLCollection.
+ * Source/WebCore/dom/ElementRareData.h: Removed ensureCachedHTMLCollection, cachedHTMLCollection,
+ and removeCachedHTMLCollection since they're no longer used.
+ * dom/LiveNodeList.h:
+ (WebCore::LiveNodeListBase::LiveNodeListBase): Call registerNodeList now that LiveNodeList
+ and HTMLCollection share the same storage in all nodes.
+ (WebCore::LiveNodeListBase::~LiveNodeListBase): Ditto about unregisterNodeList.
+ (WebCore::LiveNodeList): Removed the calls to registerNodeList and unregisterNodeList since they
+ are now called in the base class.
+ * dom/NameNodeList.h:
+ (WebCore::NameNodeList::create):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::addCacheWithAtomicName): Pass in CollectionType as the second argument
+ to T::create. This is used in HTMLNameCollection::create. Sevearl LiveNodeList constructors and
+ create functions have been modified to support this.
+ (WebCore::NodeListsNodeData::adoptTreeScope):
+ (WebCore::NodeListsNodeData::namedNodeListKey): CollectionType is no longer restricted in its range.
+ * dom/TagNodeList.h:
+ (WebCore::TagNodeList::create):
+ (WebCore::HTMLTagNodeList::create):
+ * html/CollectionType.h: Deleted a bunch of unused inline functions and constants, and cleanup enum.
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::HTMLCollection): Removed the call to registerNodeListCache since it's called
+ in LiveNodeListBase now.
+ (WebCore::HTMLCollection::~HTMLCollection): Ditto. Also replaced calls to removeCachedHTMLCollection
+ of Element and Document by a call to NodeListsNodeData::removeCacheWithAtomicName.
+ * html/HTMLFormControlsCollection.cpp:
+ (WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
+ (WebCore::HTMLFormControlsCollection::create):
+ * html/HTMLFormControlsCollection.h:
+ (HTMLFormControlsCollection):
+ * html/HTMLNameCollection.cpp:
+ (WebCore::HTMLNameCollection::HTMLNameCollection):
+ (WebCore::HTMLNameCollection::~HTMLNameCollection):
+ * html/HTMLNameCollection.h:
+ (WebCore::HTMLNameCollection::create):
+ (HTMLNameCollection):
+ * html/HTMLOptionsCollection.cpp:
+ (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
+ (WebCore::HTMLOptionsCollection::create):
+ * html/HTMLOptionsCollection.h:
+ (HTMLOptionsCollection):
+ * html/HTMLTableRowsCollection.cpp:
+ (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
+ (WebCore::HTMLTableRowsCollection::create):
+ * html/HTMLTableRowsCollection.h:
+ (HTMLTableRowsCollection):
+ * html/LabelsNodeList.h:
+ (WebCore::LabelsNodeList::create):
+ * html/RadioNodeList.h:
+ (WebCore::RadioNodeList::create):
+
+2012-11-27 Pravin D <pravind.2k4@gmail.com>
+
+ max-height property not respected in case of tables
+ https://bugs.webkit.org/show_bug.cgi?id=98633
+
+ Reviewed by Julien Chaffraix.
+
+ The max-height property determines the maximum computed height an element can have. In case of tables
+ the computed height was not being limited by the max-height property. The current patch fixes the same.
+
+ Test: fast/table/css-table-max-height.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
+ Helper function to compute height from the given style height.
+ This function handles style height of type fixed, percent and viewport percent.
+ As height of type 'calculated' gets internally resolved to either fixed or percent
+ there is no special handling required for the same.
+
+ (WebCore):
+ (WebCore::RenderTable::layout):
+ Logic to compute the logical height of an element such that it does not exceed the max-height value given that
+ min-width < Content height < max-height, when min-height < max-height.
+ However max-height value is not respected if either min-height > max-height or Content height > max-height.
+
+ * rendering/RenderTable.h:
+ (RenderTable):
+ Function definition for the newly add function convertStyleLogicalHeightToComputedHeight().
+
+2012-11-27 Roger Fong <roger_fong@apple.com>
+
+ Windows specific implementation of usesTileCacheLayer needed after r133056.
+ https://bugs.webkit.org/show_bug.cgi?id=103321
+
+ Reviewed by Simon Fraser.
+
+ After r133056 it no longer suffices to use the existing usesTileCacheLayer method on Windows.
+ The change resulted in 3 crashing tests:
+ compositing/rotated-tiled-clamped
+ compositing/rotated-tiled-preserve3d-clamped
+ fast/events/tabindex-focus-blur-all
+
+ * platform/graphics/ca/PlatformCALayer.h:
+ (WebCore::PlatformCALayer::usesTileCacheLayer):
+ (PlatformCALayer):
+ Adding in platform specific method for Windows that returns false for this method.
+
+2012-11-27 Christophe Dumez <christophe.dumez@intel.com>
+
+ Canvas does not draw any text if the font is not fully loaded yet
+ https://bugs.webkit.org/show_bug.cgi?id=103392
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Update CanvasRenderingContext2D::drawTextInternal() so that the
+ text is being drawn, even if custom fonts are still being loaded.
+ Without this, WebKit was not drawing any text on the canvas if
+ the needed font is custom and is not fully loaded yet. This seems
+ broken.
+
+ The new behavior is according to specification:
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html
+
+ The specification says: "If a font is used before it is fully
+ loaded, or if the font style source object does not have that
+ font in scope at the time the font is to be used, then it must be
+ treated as if it was an unknown font, falling back to another as
+ described by the relevant CSS specifications."
+
+ Test: http/tests/canvas/canvas-slow-font-loading.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::drawText): Add argument to specify the behavior
+ when custom fonts are not ready. By default, it will not draw
+ anything (same behavior as before). However, the Canvas code
+ can now request that a fallback font is used if the custom
+ font is not fully loaded yet.
+ * platform/graphics/Font.h: #undef Complex if defined to avoid
+ conflicting with Complex value in CodePath enum. X11/X.h is
+ defining Complex to 0.
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawBidiText):
+ * platform/graphics/GraphicsContext.h:
+ (WebCore):
+ (GraphicsContext):
+
+2012-11-27 Dean Jackson <dino@apple.com>
+
+ No need for ExceptionCode in HTMLMediaElement::load
+ https://bugs.webkit.org/show_bug.cgi?id=103438
+
+ Reviewed by Eric Carlson.
+
+ After https://bugs.webkit.org/show_bug.cgi?id=103318, there is no
+ need for the ExceptionCode parameter in load(). The HTML5 spec says
+ that all errors in loading are communicated via state.
+ http://dev.w3.org/html5/spec/media-elements.html#dom-media-load
+
+ Of the 29 tests exercising load(), none of them were exercising
+ exceptions (obviously).
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::load):
+ (WebCore::HTMLMediaElement::resume):
+ * html/HTMLMediaElement.h:
+ * html/HTMLMediaElement.idl:
+
+2012-11-27 Robert Hogan <robert@webkit.org>
+
+ REGRESSION (r125578): word-wrapping in absolute position with nbsp, word-spacing and custom font
+ https://bugs.webkit.org/show_bug.cgi?id=101443
+
+ Reviewed by David Hyatt.
+
+ Leading non-breaking space in a text run should always get word-spacing applied. When RenderText
+ calculates the preferred with of a run of text it breaks it up into word segments that contain
+ no breaking spaces and calculates the width of each. So when calculating the width of '&nbsp;b'
+ it needs to add word-spacing to the leading non-breaking space as it does not get collapsed away.
+
+ Test: fast/text/word-space-nbsp.html
+
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::advanceInternal):
+
+2012-11-27 Yong Li <yoli@rim.com>
+
+ [BlackBerry] EventLoop should end when WebKit thread is exiting
+ https://bugs.webkit.org/show_bug.cgi?id=103301
+
+ Reviewed by Rob Buis.
+ RIM PR# 194379.
+ Internally reviewed by Joe Mason.
+
+ Break the nested event loop when WebKit thread has been asked to quit.
+
+ * platform/blackberry/EventLoopBlackBerry.cpp:
+ (WebCore::EventLoop::cycle):
+
+2012-11-27 Pratik Solanki <psolanki@apple.com>
+
+ objc/objc-runtime.h does not exist on all PLATFORM(MAC)
+ https://bugs.webkit.org/show_bug.cgi?id=101780
+
+ Reviewed by Brent Fulgham.
+
+ Clean up header includes so we don't include objc/objc-runtime.h.
+
+ No new tests because no functional changes.
+
+ * bridge/objc/objc_header.h:
+ * page/mac/EventHandlerMac.mm:
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ * platform/graphics/mac/WebLayer.mm:
+ * platform/mac/WebCoreObjCExtras.mm:
+ * platform/mac/WebVideoFullscreenController.mm:
+
+2012-11-27 Eberhard Graether <egraether@google.com>
+
+ Plumbing showPaintRects out of InspectorPageAgent to use a different drawing implementation if available.
+ https://bugs.webkit.org/show_bug.cgi?id=102452
+
+ Reviewed by Pavel Feldman.
+
+ This change makes the showPaintRects setting in the Web Inspector's settings notify InspectorClient
+ when changed. And the default paint rects drawing is not used if an alternative is available.
+ This allows Chromium to draw the paint rects in the compositor's HUDLayer.
+
+ No new tests.
+
+ * inspector/InspectorClient.h:
+ (WebCore::InspectorClient::overridesShowPaintRects):
+ (WebCore::InspectorClient::setShowPaintRects):
+ (InspectorClient):
+ * inspector/InspectorPageAgent.cpp:
+ (PageAgentState):
+ (WebCore::InspectorPageAgent::restore):
+ (WebCore::InspectorPageAgent::disable):
+ (WebCore::InspectorPageAgent::setShowPaintRects):
+ (WebCore::InspectorPageAgent::didPaint):
+
+2012-11-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ Unreviewed cleanup.
+
+ Remove leftover file that was replaced by PlatformScreenQt.cpp 4 years ago.
+
+ * platform/qt/ScreenQt.cpp: Removed.
+
+2012-11-27 Istiaque Ahmed <lazyboy@chromium.org>
+
+ freeV8NPObject: Skip trying to remove object from per context data's ObjectMap if the object does not exist in the map.
+ https://bugs.webkit.org/show_bug.cgi?id=103356
+
+ Reviewed by Adam Barth.
+
+ Before introducing per context data, it used to be the case that we would ignore removing v8 object
+ from context data's map if we couldn't find it. With perContextData change, this turned into an ASSERT
+ instead and we had crash reports.
+ Related crbug.com/154462.
+
+ Test: platform/chromium/plugins/release-frame-content-window.html
+
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::freeV8NPObject):
+
+2012-11-27 Marja Hölttä <marja@chromium.org>
+
+ Add callbacks to the FrameLoaderClient when a resource is requested
+ https://bugs.webkit.org/show_bug.cgi?id=92761
+
+ Reviewed by Adam Barth.
+
+ In Chromium, when an extension script cancels a network
+ request (which happens out of process), we'd like to
+ notify content scripts running on the current page about
+ which elements failed to load because the requests were
+ cancelled (as opposed to e.g. the network request just
+ didn't work). Since the resource request itself does not
+ carry any information what DOM element is was made for,
+ currently a content script has to search the DOM tree and
+ guess which requests will be cancelled by its counter
+ part. By adding these callbacks, the embedder can make
+ this connection explictly.
+
+ Test: platform/chromium/fast/loader/resource-request-callbacks.html
+
+ * loader/FrameLoaderClient.h:
+ (WebCore):
+ (WebCore::FrameLoaderClient::dispatchWillRequestResource):
+ (FrameLoaderClient):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestResource):
+
+2012-11-27 Dean Jackson <dino@apple.com>
+
+ Unreviewed build fix for r135866.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::load):
+
+2012-11-27 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Adapt to the change of BlackBerry::Platform::FilterStream::notifyHeadersReceived
+ https://bugs.webkit.org/show_bug.cgi?id=103425
+
+ Reviewed by Yong Li.
+
+ A const has been added for HeaderList parameter of BlackBerry::Platform::FilterStream::notifyHeadersReceived.
+ The patch is adapting to this change.
+
+ No functionalities changed no new tests.
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::notifyHeadersReceived):
+ * platform/network/blackberry/NetworkJob.h:
+ (NetworkJob):
+ * platform/network/blackberry/rss/RSSFilterStream.cpp:
+ (WebCore::RSSFilterStream::notifyHeadersReceived):
+ * platform/network/blackberry/rss/RSSFilterStream.h:
+
+2012-11-27 Min Qin <qinmin@chromium.org>
+
+ Don't throw an exception if user gesture is required for load
+ https://bugs.webkit.org/show_bug.cgi?id=103318
+
+ Reviewed by Eric Carlson.
+
+ There is no need to throw an exception if media load requires user gesture.
+ Since chrome does not render the poster and media control after an exception is thrown, throwing an exception may break a lot of sites on android.
+ Change a current test to match the new behavior: media/video-load-require-user-gesture.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::load):
+
+2012-11-27 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ [GStreamer] Verify if GStreamer was previously initialized
+ https://bugs.webkit.org/show_bug.cgi?id=103151
+
+ Reviewed by Philippe Normand.
+
+ This patch calls gst_is_initialized() before calling gst_init_check()
+ in order to verify if GStreamer has not been initialized before.
+
+ This is useful particularly for WebKit1 so the applications could
+ initialize GStreamer before.
+
+ As the API call was added in GStreamer v0.10.31, the patch fences the
+ call only in that version of GStreamer or above.
+
+ No new tests, existing media tests cover this change.
+
+ * platform/graphics/gstreamer/GStreamerUtilities.cpp:
+ (WebCore::initializeGStreamer):
+
+2012-11-27 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove V8StringResource::m_string
+ https://bugs.webkit.org/show_bug.cgi?id=103367
+
+ Reviewed by Adam Barth.
+
+ This patch cleans up V8StringResource and removes V8StringResource::m_string.
+ This patch won't change performance. (This patch just adds one redundant IsString()
+ check and one IsInt32() check.) I confirmed no performance regression in micro benchmarks
+ (https://bugs.webkit.org/attachment.cgi?id=176178).
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::v8NonStringValueToWebCoreString):
+ * bindings/v8/V8StringResource.cpp:
+ (WebCore::int32ToWebCoreStringFast):
+ (WebCore::String):
+ (WebCore::AtomicString):
+ (WebCore):
+ * bindings/v8/V8StringResource.h:
+ (WebCore::V8StringResource::V8StringResource):
+ (WebCore::V8StringResource::prepareBase):
+ (WebCore::V8StringResource::toString):
+ (V8StringResource):
+ (WebCore::::prepare):
+
+2012-11-27 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: stub out IDBDatabaseBackendInterface::createTransaction
+ https://bugs.webkit.org/show_bug.cgi?id=102730
+
+ Reviewed by Darin Fisher.
+
+ Stub out and support passing a 64-bit transaction id
+ so the frontend can refer to transactions by id rather than
+ a proxy object or a direct pointer reference. This will ultimately
+ loosen ownership and lifetime of transactions from the frontend
+ and backend.
+
+ No new tests, this is just part of a refactor.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore):
+ (WebCore::IDBDatabaseBackendImpl::transaction):
+ (WebCore::IDBDatabaseBackendImpl::createTransaction):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (IDBDatabaseBackendImpl):
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+ (IDBDatabaseBackendInterface):
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::create):
+ (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
+ * Modules/indexeddb/IDBTransactionBackendImpl.h:
+ (IDBTransactionBackendImpl):
+ (WebCore::IDBTransactionBackendImpl::id):
+
+2012-11-27 Andrei Bucur <abucur@adobe.com>
+
+ [CSS Regions] Crash when dispatching regionlayoutupdate
+ https://bugs.webkit.org/show_bug.cgi?id=102944
+
+ Reviewed by Andreas Kling.
+
+ The event dispatch function was incorrectly assuming the RenderNamedFlowThread is valid. Because the event is asynchronous it's
+ possible for the flow to be in the "NULL" state (the renderer is 0) while the regionlayoutupdate event is dispatched.
+
+ Test: fast/regions/webkit-named-flow-event-crash.html
+
+ * dom/WebKitNamedFlow.cpp:
+ (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Remove the ASSERT and don't dispatch the event if the flow is
+ in the "NULL" state.
+
+2012-11-27 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSS Regions] Absolutely positioned regions do not expand to fill their container
+ https://bugs.webkit.org/show_bug.cgi?id=102385
+
+ Reviewed by Julien Chaffraix.
+
+ In the case of an absolutely positioned region with height auto, height computation should follow
+ the path of block elements instead of replaced elements.
+
+ Tests: fast/regions/autosize-abspos-anchoredregion-vertlr.html
+ fast/regions/autosize-abspos-anchoredregion.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computePositionedLogicalHeight): Skip replaced element height computation when a region has height auto.
+ * rendering/RenderRegion.h:
+ (WebCore::RenderRegion::shouldHaveAutoLogicalHeight): Make it private since it is not accessed from outside.
+
+2012-11-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Incorrect value of CSSStyleDeclaration#length when a shorthand property is inherit or initial
+ https://bugs.webkit.org/show_bug.cgi?id=73002
+
+ Reviewed by Alexis Menard.
+
+ Before the patch, "inherit" and "initial" shorthands would get added to the StylePropertySet as-is, their longhands unspecified.
+ This patch tackles two aspects of the problem:
+ - When parsing "initial" and "inherit" shorthands, their longhands are added to the property set with the corresponding values.
+ - When querying "initial" and "inherit" shorthands, their values are reconstructed from the longhands as usual, but if all of the longhands
+ are found to have the same explicit "initial" or "inherit" value, the respective single value is returned as the shorthand value.
+
+ When reconstructing shorthands, a "common value" is tracked. If all longhands involved have the same explicit value, it becomes the
+ "common value", otherwise it is a String(). The "inherit" or "initial" common value ultimately becomes the shorthand value
+ (except for the "background-position" shorthand, which is a special case).
+
+ * css/CSSParser.cpp:
+ (WebCore::parseKeywordValue): Parse shorthands' "initial" and "inherit" values using the CSSParser.
+ (WebCore::CSSParser::addExpandedPropertyForValue): Add simple property or all sharthand's longhands with given value and priority.
+ (WebCore::CSSParser::parseValue): For "initial" and "inherit" shorthands, add their longhands with the respective value, not the shorthands proper.
+ * css/CSSParser.h: Add addExpandedPropertyForValue().
+ * css/StylePropertySet.cpp:
+ (WebCore::isInitialOrInherit): Check if the value is "initial" or "inherit".
+ (WebCore):
+ (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit): Modified to track the common value for the "font" shorthand.
+ (WebCore::StylePropertySet::fontValue): Ditto.
+ (WebCore::StylePropertySet::get4Values): Return "inherit" or "initial" if all 4 values are explicitly "inherit" or "initial".
+ (WebCore::StylePropertySet::getLayeredShorthandValue): Use the common value approach for layered shorthands.
+ (WebCore::StylePropertySet::getShorthandValue): Ditto for ordinary shorthands.
+ (WebCore::StylePropertySet::borderPropertyValue): Ditto for the "border" shorthand.
+ * css/StylePropertySet.h: Modify the appendFontLonghandValueIfExplicit() signature.
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setFont): Now that "inherit" and "initial" shorthands are represented by their longhands,
+ we need to check the string value of the "font" shorthand for being "inherit" or "initial" instead: getPropertyCSSValue() no longer works,
+ since the shorthand itself is no longer added to the StylePropertySet.
+
+2012-11-27 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed. Renamed TRYCATCH => V8TRYCATCH.
+ (I forgot to apply reviewer's comment in bug 103352 when landing r135817.)
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateParametersCheck):
+ (GenerateEventConstructorCallback):
+ (ConvertToV8StringResource):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
+ (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::constructorCallback):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::constructorCallback):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructorCallback):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
+ (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::idbKeyCallback):
+ (WebCore::TestObjV8Internal::optionsObjectCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
+ (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
+ (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
+ (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod1Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod2Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod3Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod4Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod6Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod7Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod8Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod9Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod10Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod11Callback):
+ (WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod12Callback):
+ (WebCore::TestObjV8Internal::classMethodWithClampCallback):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
+ (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
+ (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
+ (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
+ (WebCore::TestObjV8Internal::convert1Callback):
+ (WebCore::TestObjV8Internal::convert2Callback):
+ (WebCore::TestObjV8Internal::convert4Callback):
+ (WebCore::TestObjV8Internal::convert5Callback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::TestObjV8Internal::variadicStringMethodCallback):
+ (WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
+ (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::V8TestOverloadedConstructors::constructor1Callback):
+ (WebCore::V8TestOverloadedConstructors::constructor2Callback):
+ (WebCore::V8TestOverloadedConstructors::constructor3Callback):
+ (WebCore::V8TestOverloadedConstructors::constructor4Callback):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
+ * bindings/v8/V8Binding.h:
+ (WebCore::toV8Sequence):
+ * bindings/v8/V8BindingMacros.h:
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::V8Blob::constructorCallbackCustom):
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ (WebCore::V8Console::profileCallback):
+ (WebCore::V8Console::profileEndCallback):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::handlePostMessageCallback):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::V8DataView::getInt8Callback):
+ (WebCore::V8DataView::getUint8Callback):
+ (WebCore::V8DataView::setInt8Callback):
+ (WebCore::V8DataView::setUint8Callback):
+ * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
+ (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
+ * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
+ (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateCallback):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::addCallback):
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ (WebCore::V8History::pushStateCallback):
+ (WebCore::V8History::replaceStateCallback):
+ * bindings/v8/custom/V8IntentCustom.cpp:
+ (WebCore::V8Intent::constructorCallbackCustom):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8SVGLengthCustom.cpp:
+ (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::V8WebGLRenderingContext::getExtensionCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::V8WorkerContext::importScriptsCallback):
+
+2012-11-27 Dan Carney <dcarney@google.com>
+
+ [V8] add contextForWorld helper function to ScriptController
+ https://bugs.webkit.org/show_bug.cgi?id=103376
+
+ Reviewed by Kentaro Hara.
+
+ Reducing some commonly occuring code with an inline function.
+
+ No new tests. No change in functionality.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::contextForWorld):
+ (WebCore):
+ (WebCore::ScriptController::currentWorldContext):
+ (WebCore::ScriptController::mainWorldContext):
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+
+2012-11-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Implement the mimetype icon methods
+ https://bugs.webkit.org/show_bug.cgi?id=103260
+
+ Reviewed by Simon Hausmann.
+
+ * platform/graphics/Icon.h:
+ (Icon):
+ * platform/graphics/qt/IconQt.cpp:
+ (WebCore::Icon::createIconForFiles):
+ (WebCore::Icon::paint):
+
+2012-09-17 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Incorrect rect-based hit-test result when hit-test region includes culled inlines
+ https://bugs.webkit.org/show_bug.cgi?id=88376
+
+ Reviewed by Dave Hyatt.
+
+ Move the handling of culled inlines from HitTestResult::addNodeToRectBasedTestResult to
+ InlineFlowBox::nodeAtPoint. This makes it possible to fix a number of bugs with how
+ culled inlines were handled. They are now checked after all their children, and may
+ terminate area-based hit-testing if they contain the whole area.
+
+ Tests: fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html
+ fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html
+
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestLocation::HitTestLocation):
+ (WebCore::HitTestResult::addNodeToRectBasedTestResult):
+ * rendering/HitTestResult.h:
+ (HitTestLocation):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::nodeAtPoint):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::hitTestCulledInline):
+ * rendering/RenderInline.h:
+ (RenderInline):
+
+2012-11-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ REGRESSION(134887) [Qt][EFL][WK2] Repaint counter not working
+ https://bugs.webkit.org/show_bug.cgi?id=103261
+
+ Reviewed by Noam Rosenthal.
+
+ Fixed regression introduced in 134887, which introduced the
+ updateContentsNoSwizzle method and called it directly from
+ the repaint counter.
+
+ This method obviously needs to bind the texture.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
+
+2012-11-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r135786.
+ http://trac.webkit.org/changeset/135786
+ https://bugs.webkit.org/show_bug.cgi?id=103379
+
+ It made 3 plugin tests timeout on several platforms (Requested
+ by Ossy on #webkit).
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/FrameLoadRequest.cpp: Removed.
+ * loader/FrameLoadRequest.h:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ (FrameLoadRequest):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::load):
+ * loader/FrameLoader.h:
+ (FrameLoader):
+ * page/DragController.cpp:
+ (WebCore::DragController::performDrag):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::performRequest):
+
+2012-11-27 Kent Tamura <tkent@chromium.org>
+
+ Implement ValidityState::badInput
+ https://bugs.webkit.org/show_bug.cgi?id=102861
+
+ Reviewed by Hajime Morita.
+
+ Add ValidityState::badInput, add hasBadInput, which always returns
+ false, to FormAssociatedElement, HTMLInputElement, and InputType.
+
+ For NumberInputType, we had hasUnacceptableValue, which was a hack to
+ make an input element match to :invalid if the element had non-number
+ strings. We don't need the hack any more because badInput affects :invalid
+ style. hasUnacceptableValue is re-used for hasBadInput implementation.
+ We cleared invalid numbers when elements lost focus to tell users that
+ the element had invalid numbers. We don't need this behavior because the
+ interactive validation tells it.
+
+ For date/time input types, we should make an input badInput when the
+ input has empty value but its sub-fields have values. It covers both of
+ partial input cases such as 12/--/2012 and invalid dates such as
+ 02/31/2012.
+
+ For other types, ValidityState::badInput always returns false.
+
+ This patch doesn't contain tests for badInput validation messages. They
+ will be added later.
+
+ Tests: fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput.html
+ fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput.html
+ fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput.html
+ fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput.html
+ fast/forms/number/number-validity-badinput.html
+ fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput.html
+ fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput.html
+
+ * html/ValidityState.idl: Add badInput IDL attribute.
+ * html/ValidityState.h:
+ (ValidityState): Add badInput.
+ * html/ValidityState.cpp:
+ (WebCore::ValidityState::badInput):
+ Added. Calls FormAssociatedElement::hasBadInput.
+
+ * html/FormAssociatedElement.h:
+ (FormAssociatedElement): Add hasBadInput.
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::hasBadInput):
+ Added. It always returns false.
+ (WebCore::FormAssociatedElement::valid): Takes account of hasBadInput().
+
+ * html/HTMLInputElement.h:
+ (HTMLInputElement):
+ Remove hasUnacceptableValue, and add hasBadInput override.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::hasBadInput):
+ Added. Delegate to InputType::hasBadInput.
+ (WebCore): Remove hasUnacceptableValue.
+
+ * html/InputType.h:
+ (InputType): Add hasBadInput and badInputText, and remove
+ hasUnacceptableValue.
+ * html/InputType.cpp:
+ (WebCore::InputType::hasBadInput): Added. Returns false.
+ (WebCore::InputType::badInputText):
+ Added. This function should not be called because hasBadInput always
+ returns false.
+ (WebCore::InputType::validationMessage):
+ Supports badInput. This returns badInputText if hasBadInput is true.
+
+ * html/NumberInputType.h:
+ (NumberInputType): Add hasBadInput and badInputTest. Remove
+ handleBlurEvent and hasUnacceptableValue.
+ * html/NumberInputType.cpp:
+ Remove handleBlurEvent, which cleared invalid number strings.
+ (WebCore::NumberInputType::hasBadInput):
+ Added. We don't need to check existence of a renderer. The standard form
+ validation feature doesn't care of it.
+ (WebCore::NumberInputType::badInputText): Returns
+ validationMessageBadInputForNumberText defined in LocalizedStrings.h.
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOneSelector):
+ Remove a hack for hasUnacceptableValue. isValidFormControlElement takes
+ account of badInput.
+ * dom/Element.h: Remove hasUnacceptableValue.
+
+ * html/BaseMultipleFieldsDateAndTimeInputType.h:
+ (BaseMultipleFieldsDateAndTimeInputType): Add hasBadInput and badInputText.
+ * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::badInputText):
+ Returns validationMessageBadInputForDateTimeText defined in LocalizedStrings.h.
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::hasBadInput):
+ Added.
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue):
+ Add setNeedsValidityCheck call. It is needed because
+ updateInnerTextValue can modify subfields empty state.
+
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::subtreeHasChanged): Update a comment.
+ * platform/LocalizedStrings.h:
+ (WebCore): Add validationMessageBadInputForNumberText and
+ validationMessageBadInputForDateTimeText.
+ * platform/LocalizedStrings.cpp:
+ (WebCore::validationMessageBadInputForNumberText):
+ Added a placeholder implementation. This should be fixed later.
+ * platform/blackberry/LocalizedStringsBlackBerry.cpp:
+ (WebCore::validationMessageBadInputForNumberText): Ditto.
+ * platform/efl/LocalizedStringsEfl.cpp:
+ (WebCore::validationMessageBadInputForNumberText): Ditto.
+ * platform/qt/LocalizedStringsQt.cpp:
+ (WebCore::validationMessageBadInputForNumberText): Ditto.
+
+2012-11-27 Hajime Morrita <morrita@google.com>
+
+ [Refactoring] NodeFlags::IsShadowRootFlag should be Node::IsDocumentFragmentFlag
+ https://bugs.webkit.org/show_bug.cgi?id=103370
+
+ Reviewed by Kentaro Hara.
+
+ This chagne introduces Node::IsDocumentFragmentFlag so that we can
+ have fast Node::isDocumentFragment().
+
+ Note that Node::isShadowRoot() can become slightly slower when it
+ returns true, but that is minor in terms of the number of calls at runtime.
+
+ No new tests. No behavior change.
+
+ * dom/DocumentFragment.cpp:
+ (WebCore::DocumentFragment::create):
+ * dom/DocumentFragment.h:
+ * dom/Node.cpp:
+ (WebCore::Node::documentFragmentIsShadowRoot):
+ (WebCore):
+ * dom/Node.h:
+ (Node):
+ (WebCore::Node::isDocumentFragment):
+ (WebCore::Node::isShadowRoot):
+ (WebCore::Node::parentNode):
+ (WebCore::Node::parentNodeGuaranteedHostFree):
+ * dom/ShadowRoot.h:
+
+2012-11-26 Kent Tamura <tkent@chromium.org>
+
+ :read-only selector should match to date/time input types
+ https://bugs.webkit.org/show_bug.cgi?id=103350
+
+ Reviewed by Kentaro Hara.
+
+ We supported :read-only and :read-write only for text form controls;
+ i.e. <textarea> and text-field <input>. According to [1], we should
+ support them for date/time types. So, this patch removes
+ isTextFormControl check in SelectorChecker, and just relies on
+ shouldMatchRead{Only,Write}Selector virtual functions.
+
+ Tests: Update fast/forms/*/*-appearance-pseudo-classes.html.
+
+ [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
+
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOneSelector):
+ Remove isFormControlElement check and isTextFormControl check.
+
+ * html/HTMLFormControlElement.cpp:
+ Remove shouldMatchRead{Only,Write}Selector functions. We don't need
+ common implementations any more.
+ * html/HTMLFormControlElement.h: Ditto.
+
+ * html/HTMLTextAreaElement.h:
+ (HTMLTextAreaElement): Add shouldMatchRead{Only,Write}Selector overrides.
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::shouldMatchReadOnlySelector): Added.
+ (WebCore::HTMLTextAreaElement::shouldMatchReadWriteSelector): Added.
+
+ * html/HTMLInputElement.h:
+ (HTMLInputElement): Add shouldMatchRead{Only,Write}Selector overrides.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::shouldMatchReadOnlySelector):
+ Added. This checks InputType::supportsReadOnly and readOnly.
+ (WebCore::HTMLInputElement::shouldMatchReadWriteSelector): Ditto.
+
+ * html/InputType.h:
+ (InputType): Add supportsReadOnly.
+ * html/InputType.cpp:
+ (WebCore::InputType::supportsReadOnly): Added. Returns false by default.
+
+ * html/BaseDateAndTimeInputType.h:
+ (BaseDateAndTimeInputType): Add supportsReadOnly.
+ * html/BaseDateAndTimeInputType.cpp:
+ (WebCore::BaseDateAndTimeInputType::supportsReadOnly): Added. Returns true.
+ * html/TextFieldInputType.h:
+ (TextFieldInputType): Add supportsReadOnly.
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::supportsReadOnly): Added. Returns true.
+
+2012-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r135822.
+ http://trac.webkit.org/changeset/135822
+ https://bugs.webkit.org/show_bug.cgi?id=103369
+
+ Undo the revert of r135818, since that change does not affect
+ code used by Chromium (Requested by apavlov on #webkit).
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
+ (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
+
+2012-11-26 Michael Pruett <michael@68k.org>
+
+ [GTK] Fix build error on GTK due to r135749
+ https://bugs.webkit.org/show_bug.cgi?id=103365
+
+ Reviewed by Dean Jackson.
+
+ In r135749, many files which were already included
+ in webcore_built_sources were erroneously added to
+ webcore_svg_built_sources in GNUmakefile.list.am.
+
+ * GNUmakefile.list.am:
+
+2012-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r135818.
+ http://trac.webkit.org/changeset/135818
+ https://bugs.webkit.org/show_bug.cgi?id=103368
+
+ platform/chromium/virtual/threaded/compositing/visibility
+ /visibility-simple-webgl-layer.html crash on Mountain Lion
+ (Requested by apavlov on #webkit).
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
+ (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
+
+2012-11-26 Huang Dongsung <luxtella@company100.net>
+
+ Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
+ https://bugs.webkit.org/show_bug.cgi?id=103297
+
+ Reviewed by Noam Rosenthal.
+
+ GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
+ mask layer in setContentsVisible() and setMaskLayer() like setting a size.
+ This patch is needed because RenderLayerBacking does not set the visibility to a
+ mask layer like the size.
+
+ This patch does not change user experience because an invisible layer is not
+ rendered although the mask layer is rendered. In that sense, it is an
+ optimization patch.
+
+ No new tests. It is an optimization patch.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
+ (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
+
+2012-11-26 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Rename EXCEPTION_BLOCK() macros
+ https://bugs.webkit.org/show_bug.cgi?id=103352
+
+ Reviewed by Adam Barth.
+
+ Since V8Parameter was renamed to V8StringResource,
+ we rename macros that use V8Parameter.
+
+ EXCEPTION_BLOCK() => V8TRYCATCH()
+ STRING_TO_V8PARAMETER_EXCEPTION_BLOCK() => V8TRYCATCH_FOR_V8STRINGRESOURCE()
+ STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID() => V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID()
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateParametersCheck):
+ (GenerateEventConstructorCallback):
+ (ConvertToV8StringResource):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
+ (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::constructorCallback):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::constructorCallback):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructorCallback):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
+ (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::idbKeyCallback):
+ (WebCore::TestObjV8Internal::optionsObjectCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
+ (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
+ (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
+ (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod1Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod2Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod3Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod4Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod6Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod7Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod8Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod9Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod10Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod11Callback):
+ (WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod12Callback):
+ (WebCore::TestObjV8Internal::classMethodWithClampCallback):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
+ (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
+ (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
+ (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
+ (WebCore::TestObjV8Internal::convert1Callback):
+ (WebCore::TestObjV8Internal::convert2Callback):
+ (WebCore::TestObjV8Internal::convert4Callback):
+ (WebCore::TestObjV8Internal::convert5Callback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::TestObjV8Internal::variadicStringMethodCallback):
+ (WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
+ (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::V8TestOverloadedConstructors::constructor1Callback):
+ (WebCore::V8TestOverloadedConstructors::constructor2Callback):
+ (WebCore::V8TestOverloadedConstructors::constructor3Callback):
+ (WebCore::V8TestOverloadedConstructors::constructor4Callback):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
+ * bindings/v8/V8Binding.h:
+ (WebCore::toV8Sequence):
+ * bindings/v8/V8BindingMacros.h:
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::V8Blob::constructorCallbackCustom):
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ (WebCore::V8Console::profileCallback):
+ (WebCore::V8Console::profileEndCallback):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::handlePostMessageCallback):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::V8DataView::getInt8Callback):
+ (WebCore::V8DataView::getUint8Callback):
+ (WebCore::V8DataView::setInt8Callback):
+ (WebCore::V8DataView::setUint8Callback):
+ * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
+ (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
+ * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
+ (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateCallback):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::addCallback):
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ (WebCore::V8History::pushStateCallback):
+ (WebCore::V8History::replaceStateCallback):
+ * bindings/v8/custom/V8IntentCustom.cpp:
+ (WebCore::V8Intent::constructorCallbackCustom):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8SVGLengthCustom.cpp:
+ (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::V8WebGLRenderingContext::getExtensionCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::V8WorkerContext::importScriptsCallback):
+
+2012-11-26 Andreas Kling <akling@apple.com>
+
+ Node: Move AreSVGAttributesValidFlag to ElementAttributeData.
+ <http://webkit.org/b/103349>
+
+ Reviewed by Anders Carlsson.
+
+ Moved AreSVGAttributesValidFlag to ElementAttributeData and change it to use "dirty" semantics.
+ This frees up a bit on Node, and we will always have ElementAttributeData if the animated
+ attributes are dirty anyway.
+
+ * dom/Element.cpp:
+ (WebCore::Element::getAttribute):
+ * dom/Element.h:
+ (WebCore::Element::updateInvalidAttributes):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::ElementAttributeData):
+ * dom/ElementAttributeData.h:
+ (WebCore::ElementAttributeData::ElementAttributeData):
+ (ElementAttributeData):
+ * dom/Node.h:
+ (Node):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::updateAnimatedSVGAttribute):
+ * svg/SVGElement.h:
+ (WebCore::SVGElement::invalidateSVGAttributes):
+
+2012-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r135798.
+ http://trac.webkit.org/changeset/135798
+ https://bugs.webkit.org/show_bug.cgi?id=103354
+
+ Broke the chrome mac build (Requested by noel_ on #webkit).
+
+ * platform/graphics/chromium/DeferredImageDecoder.cpp:
+ (WebCore::DeferredImageDecoder::~DeferredImageDecoder):
+ (WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
+ (WebCore::DeferredImageDecoder::frameBufferAtIndex):
+ (WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
+ * platform/graphics/chromium/DeferredImageDecoder.h:
+ (DeferredImageDecoder):
+ * platform/graphics/chromium/ImageDecodingStore.cpp:
+ (WebCore::ImageDecodingStore::instanceOnMainThread):
+ (WebCore::ImageDecodingStore::initializeOnMainThread):
+ (WebCore::ImageDecodingStore::shutdown):
+ (WebCore::ImageDecodingStore::calledOnValidThread):
+ (WebCore::ImageDecodingStore::lookupFrameCache):
+ (WebCore::ImageDecodingStore::deleteFrameCache):
+ * platform/graphics/chromium/ImageDecodingStore.h:
+ (WebCore):
+ (ImageDecodingStore):
+ * platform/graphics/chromium/ImageFrameGenerator.cpp:
+ (WebCore::ImageFrameGenerator::ImageFrameGenerator):
+ (WebCore::ImageFrameGenerator::~ImageFrameGenerator):
+ (WebCore::ImageFrameGenerator::setData):
+ (WebCore::ImageFrameGenerator::decodeAndScale):
+ * platform/graphics/chromium/ImageFrameGenerator.h:
+ (WebCore):
+ (WebCore::ImageFrameGenerator::create):
+ (ImageFrameGenerator):
+ * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
+ (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
+ (WebCore::LazyDecodingPixelRef::onLockPixels):
+ (WebCore::LazyDecodingPixelRef::onUnlockPixels):
+ * platform/graphics/chromium/LazyDecodingPixelRef.h:
+ (WebCore):
+ (LazyDecodingPixelRef):
+ * platform/graphics/chromium/ScaledImageFragment.cpp:
+ (WebCore::ScaledImageFragment::ScaledImageFragment):
+ (WebCore::ScaledImageFragment::isEqual):
+ (WebCore):
+ * platform/graphics/chromium/ScaledImageFragment.h:
+ (WebCore):
+ (WebCore::ScaledImageFragment::create):
+ (ScaledImageFragment):
+ * platform/graphics/chromium/SkSizeHash.h: Removed.
+
+2012-11-26 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] GraphicsLayerTextureMapper::setSize() sets the size of a mask layer.
+ https://bugs.webkit.org/show_bug.cgi?id=103297
+
+ Reviewed by Noam Rosenthal.
+
+ Currently, CoordinatedGraphicsLayer sets the size of a mask layer in setSize()
+ and setMaksLayer(). GraphicsLayerTextureMapper follows the behavior. If so we
+ don't have to check the size of the mask layer in TextureMapperLayer::flushCompositingState().
+
+ No new tests. Covered by existing tests.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
+ (WebCore::GraphicsLayerTextureMapper::setSize):
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::flushCompositingState):
+
+2012-11-26 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove V8Parameter::object()
+ https://bugs.webkit.org/show_bug.cgi?id=103340
+
+ Reviewed by Adam Barth.
+
+ V8Parameter can use m_v8Object directly.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8StringResource.h:
+ (WebCore::::prepare):
+
+2012-11-26 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Rename V8Parameter to V8StringResource
+ https://bugs.webkit.org/show_bug.cgi?id=103341
+
+ Reviewed by Adam Barth.
+
+ We can rename V8Parameter to V8StringResource. In a follow-up patch,
+ I will rename macros around V8Parameter.
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ (GenerateNormalAttrSetter):
+ (GenerateParametersCheck):
+ (GenerateEventConstructorCallback):
+ (GetNativeTypeFromSignature):
+ (GetNativeType):
+ (ConvertToV8StringResource):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::constructorCallback):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::constructorCallback):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructorCallback):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
+ (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod1Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod3Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod11Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod12Callback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::TestObjV8Internal::variadicStringMethodCallback):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::V8TestOverloadedConstructors::constructor4Callback):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
+ * bindings/v8/V8StringResource.h:
+ (WebCore::V8StringResource::V8StringResource):
+ (WebCore::::prepare):
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ (WebCore::V8Console::profileCallback):
+ (WebCore::V8Console::profileEndCallback):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::handlePostMessageCallback):
+ * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
+ (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
+ * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
+ (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ (WebCore::V8History::pushStateCallback):
+ (WebCore::V8History::replaceStateCallback):
+ * bindings/v8/custom/V8IntentCustom.cpp:
+ (WebCore::V8Intent::constructorCallbackCustom):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::V8WebGLRenderingContext::getExtensionCallback):
+
+2012-11-26 Andreas Kling <akling@apple.com>
+
+ HTMLOptionElement: Remove two unused members.
+ <http://webkit.org/b/103337>
+
+ Reviewed by Kent Tamura.
+
+ Remove two unused members from HTMLOptionElement, m_value and m_label.
+ 40kB progression on Membuster3.
+
+ * html/HTMLOptionElement.h:
+ (HTMLOptionElement):
+
+2012-11-26 Stephen White <senorblanco@chromium.org>
+
+ [Chromium] Shared graphics context should only pushGroupMarker() once
+ https://bugs.webkit.org/show_bug.cgi?id=103082
+
+ Reviewed by James Robinson.
+
+ GraphicsContext3D's pushGroupMarkerEXT() is being called every time
+ an ImageBuffer is created, leading to unlimited memory growth, since
+ they share a common GraphicsContext3D. It should be called only once,
+ on context creation.
+
+ Tested by manually checking the memory usage in Chrome's TaskManager.
+ (Sorry, I can't think of a way to test this automatically.)
+
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+ (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::createAcceleratedCanvas):
+
+2012-11-26 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove WorkerContextExecutionProxy.{h,cpp}
+ https://bugs.webkit.org/show_bug.cgi?id=103325
+
+ Reviewed by Adam Barth.
+
+ Now WorkerContextExecutionProxy.{h,cpp} are empty.
+
+ No tests. No change in behavior.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/ScheduledAction.cpp:
+ * bindings/v8/V8AbstractEventListener.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8WorkerContextEventListener.h:
+ (WebCore):
+ * bindings/v8/WorkerContextExecutionProxy.cpp: Removed.
+ * bindings/v8/WorkerContextExecutionProxy.h: Removed.
+ * bindings/v8/WorkerScriptController.cpp:
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
+ * bindings/v8/custom/V8MessageChannelCustom.cpp:
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+
+2012-11-26 Michael Saboff <msaboff@apple.com>
+
+ Grapheme cluster functions can be simplified for 8 bit Strings
+ https://bugs.webkit.org/show_bug.cgi?id=102996
+
+ Reviewed by Alexey Proskuryakov.
+
+ For 8 bit strings, check for the uncommon CR-LF by looking for any CR. If there aren't any CR characters,
+ the number of Extended Grapheme Clusters is equal to the string length. If we need to handle Tailored
+ Graheme Clusters, then this will need to change.
+
+ No new tests. No change in functionality.
+
+ * platform/text/TextBreakIterator.cpp:
+ (WebCore::numGraphemeClusters):
+ (WebCore::numCharactersInGraphemeClusters):
+
+2012-11-26 Istiaque Ahmed <lazyboy@chromium.org>
+
+ Check for empty perContextData while creating NP V8 Object.
+ https://bugs.webkit.org/show_bug.cgi?id=98448
+
+ Reviewed by Adam Barth.
+
+ Fixes crash in npCreateV8ScriptObject(), if NP Invoke is called from a document
+ that is no longer displayed in frame (isCurrentlyDisplayedInFrame() ==
+ false), we have empty perContextData and this results in invalid memory access.
+
+ Test: platform/chromium/plugins/empty-per-context-data.html
+
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npCreateV8ScriptObject):
+
+2012-11-26 Michael Saboff <msaboff@apple.com>
+
+ HTML/XML parser helper unconsumeCharacters() can push back 8 bit text as 16 bit text
+ https://bugs.webkit.org/show_bug.cgi?id=103317
+
+ Reviewed by Oliver Hunt.
+
+ Changed to use the String directly from the StringBuilder instead of creating our own.
+ Used toStringPreserveCapacity() in case the caller may want to add to the StringBuilder
+ even though current callers don't.
+
+ No new tests. No change in functionality.
+
+ * xml/parser/CharacterReferenceParserInlines.h:
+ (WebCore::unconsumeCharacters):
+
+2012-11-26 Noel Gordon <noel.gordon@gmail.com>
+
+ PNG decode performance: avoid using frame buffer.setRGBA(x,y)
+ https://bugs.webkit.org/show_bug.cgi?id=103216
+
+ Reviewed by Brent Fulgham.
+
+ Writing decoded row pixels to the frame buffer with buffer.setRGBA(x,y) is slow compared
+ to writing direct to the frame buffer address. Use buffer.getAddr() to obtain the output
+ pixel row address, write the decoded row pixels to that address.
+
+ No new tests. Covered by many existing tests.
+
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::ImageFrame::setRGBA): Make routine setRGBA(PixelData* dest, ...) public. Test
+ m_premultiplyAlpha once to minimize code branching in this routine.
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::PNGImageDecoder::rowAvailable): Write decoded row pixels to the frame buffer
+ using the pixel address form: buffer.setRGBA(address++, ...).
+
+2012-11-26 Alpha Lam <hclam@chromium.org>
+
+ [chromium] Implement full-featured image cache
+ https://bugs.webkit.org/show_bug.cgi?id=99784
+
+ Reviewed by James Robinson.
+
+ Implement a thread-safe image cache to be used with deferred image
+ decoding. Image cache can now be accessed on any thread.
+
+ The patch implements the following logic:
+ 1. Mutex to protect all cache operations.
+ 2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
+ 3. Cache lookup.
+ 4. Cache insertion.
+ 5. Generation of cache entry by scaling full size image.
+ 6. Generation of cache entries by decoding and scaling.
+
+ Classes involved:
+
+ ImageDecodingStore
+
+ Responsible for owning cache entries and indexing. Pruning and memory
+ management will be added later.
+
+ ImageFrameGenerator
+
+ Responsible for generating new cache enties and insert them into
+ ImageDecodingStore.
+
+ LazyDecodingPixelRef
+
+ Responsible for cache lookup and lazy generation of cache entries
+ using ImageFrameGenerator. There is a mutex to protect concurrent
+ lock operations.
+
+ These items are not implemented in this patch:
+ 1. Cache pruning.
+ 2. Setting cache memory limit.
+ 3. Cache deletion.
+ 4. Caching incomplete images and ImageDecoder.
+
+ Unit tests added in ImageFrameGeneratorTest.cpp.
+ Layout tests are under platform/chromium/virtual/fast/images.
+
+ * platform/graphics/chromium/DeferredImageDecoder.cpp:
+ (WebCore::DeferredImageDecoder::~DeferredImageDecoder):
+ (WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
+ (WebCore::DeferredImageDecoder::setEnabled):
+ (WebCore):
+ (WebCore::DeferredImageDecoder::frameBufferAtIndex):
+ (WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
+ * platform/graphics/chromium/DeferredImageDecoder.h:
+ (DeferredImageDecoder):
+ * platform/graphics/chromium/ImageDecodingStore.cpp:
+ (WebCore::ImageDecodingStore::instance):
+ (WebCore::ImageDecodingStore::initializeOnce):
+ (WebCore::ImageDecodingStore::shutdown):
+ (WebCore::ImageDecodingStore::lockCompleteCache):
+ Lookup complete cache entry using hash key, increment use count.
+ (WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
+ (WebCore::ImageDecodingStore::unlockCache):
+ Lookup cache entry using hash key, decrement use count.
+ (WebCore):
+ (WebCore::ImageDecodingStore::insertAndLockCache):
+ Insert new cache entry and increment use count.
+ (WebCore::ImageDecodingStore::prune): TODO.
+ * platform/graphics/chromium/ImageDecodingStore.h:
+ (WebCore):
+ (ImageDecodingStore):
+ (WebCore::ImageDecodingStore::CacheEntry::create):
+ (WebCore::ImageDecodingStore::CacheEntry::createAndUse):
+ (CacheEntry):
+ (WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
+ (WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):
+ * platform/graphics/chromium/ImageFrameGenerator.cpp:
+ (WebCore::ImageFrameGenerator::ImageFrameGenerator):
+ (WebCore::ImageFrameGenerator::setData):
+ (WebCore::ImageFrameGenerator::decodeAndScale):
+ Method for creating new cache entries. This is protected by a mutex
+ to prevent concurrent operations. Which means only one thread can
+ generate new cache entries for a set of encoded data.
+ (WebCore):
+ (WebCore::ImageFrameGenerator::tryToLockCache):
+ Tries to lookup a cache entry.
+ (WebCore::ImageFrameGenerator::tryToScale):
+ Tries to lookup a full size cache entry and generate a scaled version.
+ (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
+ Tries to decode and scale.
+ * platform/graphics/chromium/ImageFrameGenerator.h:
+ (WebCore):
+ (ImageDecoderFactory):
+ (WebCore::ImageFrameGenerator::create):
+ (ImageFrameGenerator):
+ (WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):
+ * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
+ (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
+ (WebCore::LazyDecodingPixelRef::onLockPixels):
+ (WebCore::LazyDecodingPixelRef::onUnlockPixels):
+ * platform/graphics/chromium/LazyDecodingPixelRef.h:
+ (WebCore):
+ (LazyDecodingPixelRef):
+ * platform/graphics/chromium/ScaledImageFragment.cpp:
+ (WebCore::ScaledImageFragment::ScaledImageFragment):
+ * platform/graphics/chromium/ScaledImageFragment.h:
+ (WebCore):
+ (WebCore::ScaledImageFragment::create):
+ (ScaledImageFragment):
+ (WebCore::ScaledImageFragment::scaledSize):
+ * platform/graphics/chromium/SkSizeHash.h: Added.
+ (WTF):
+
+2012-11-26 Andreas Kling <akling@apple.com>
+
+ Node: Remove IsSynchronizingSVGAttributesFlag.
+ <http://webkit.org/b/103328>
+
+ Reviewed by Antti Koivisto.
+
+ Animated SVG attributes used to be synchronized by using DOM API which could use unwanted re-entrancy
+ via callbacks below Element::attributeChanged(). The "is synchronizing SVG attributes" flag was used
+ to protect against such re-entrancy.
+
+ These days, lazy attributes are synchronized using Element::setSynchronizedLazyAttribute() to avoid
+ issues like this. The flag does nothing, so we can just remove it.
+
+ * dom/Node.h:
+ (WebCore):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::attributeChanged):
+ (WebCore::SVGElement::updateAnimatedSVGAttribute):
+
+2012-11-26 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Refactor WorkerScriptController
+ https://bugs.webkit.org/show_bug.cgi?id=103330
+
+ Reviewed by Adam Barth.
+
+ r135703 just moved methods from WorkerContextExecutionProxy
+ to WorkerScriptController. We should refactor the methods as a follow-up.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::~WorkerScriptController):
+ (WebCore::WorkerScriptController::disposeContext):
+ (WebCore::WorkerScriptController::initializeContextIfNeeded):
+ (WebCore::WorkerScriptController::evaluate):
+ (WebCore::WorkerScriptController::disableEval):
+ * bindings/v8/WorkerScriptController.h:
+ (WorkerScriptController):
+
+2012-11-26 Varun Jain <varunjain@chromium.org>
+
+ LongPress and LongTap gestures should start drag/drop and open context menu respectively.
+ https://bugs.webkit.org/show_bug.cgi?id=101545
+
+ Reviewed by Antonio Gomes.
+
+ For LongPress, we simulate drag by sending a mouse down and mouse drag
+ events. If a drag is not started (because maybe there is no draggable
+ element), then we show context menu instead (which is the current
+ behavior for LongPress). For LongTap, we use the existing functions that
+ LongPress uses to summon the context menu. LongPress initiated drag and
+ drop can be enabled/disabled by the platform using the Setting
+ touchDragDropEnabled which is disabled by default.
+
+ Tests: fast/events/touch/gesture/context-menu-on-long-tap.html
+ fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler):
+ (WebCore::EventHandler::clear):
+ (WebCore::EventHandler::handleMouseDraggedEvent):
+ (WebCore::EventHandler::handleGestureEvent):
+ (WebCore::EventHandler::handleGestureLongPress):
+ (WebCore::EventHandler::handleGestureLongTap):
+ (WebCore):
+ (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
+ (WebCore::EventHandler::adjustGesturePosition):
+ (WebCore::EventHandler::handleDrag):
+ * page/EventHandler.h:
+ (EventHandler):
+ * page/Settings.in:
+
+2012-11-26 Andreas Kling <akling@apple.com>
+
+ RenderStyle: Move 'list-style-image' to rare inherited data.
+ <http://webkit.org/b/103300>
+
+ Reviewed by Antti Koivisto.
+
+ list-style-image is not nearly common enough to merit a spot in StyleInheritedData.
+ Move it to StyleRareInheritedData.
+
+ 134kB progression on Membuster3.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+ (WebCore::RenderStyle::listStyleImage):
+ (WebCore::RenderStyle::setListStyleImage):
+ * rendering/style/StyleInheritedData.cpp:
+ (WebCore::StyleInheritedData::StyleInheritedData):
+ (WebCore::StyleInheritedData::operator==):
+ * rendering/style/StyleInheritedData.h:
+ (StyleInheritedData):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareInheritedData.cpp:
+ (SameSizeAsStyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::operator==):
+
+2012-11-26 James Simonsen <simonjam@chromium.org>
+
+ Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
+ https://bugs.webkit.org/show_bug.cgi?id=102151
+
+ Reviewed by Adam Barth.
+
+ There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
+ There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
+ the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
+ the refactoring done with CachedResourceRequest and CachedResourceLoader.
+
+ No new tests. No change in functionality.
+
+ * WebCore.exp.in:
+ * loader/FrameLoadRequest.h:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ (WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
+ (WebCore::FrameLoadRequest::lockHistory): Ditto.
+ (FrameLoadRequest):
+ (WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
+ (WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
+ (WebCore::FrameLoadRequest::substituteData): Ditto.
+ (WebCore::FrameLoadRequest::setSubstituteData): Ditto.
+ (WebCore::FrameLoadRequest::hasSubstituteData): Ditto.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.
+ * loader/FrameLoader.h:
+ (FrameLoader):
+ * page/DragController.cpp:
+ (WebCore::DragController::performDrag):
+
+2012-11-24 Genevieve Mak <gmak@rim.com>
+
+ [BlackBerry] Stop sending touch events to plugins.
+ https://bugs.webkit.org/show_bug.cgi?id=103188
+
+ Reviewed by Rob Buis.
+
+ Reviewed internally by Jeff Rogers and Mike Lattanzio.
+ No tests required.
+ PR #248605
+
+ * plugins/blackberry/PluginViewBlackBerry.cpp:
+ (WebCore::PluginView::handleTouchEvent):
+ (WebCore::PluginView::handleMouseEvent):
+
+2012-11-26 Adenilson Cavalcanti <cavalcantii@gmail.com>
+
+ Removing unnecessary friend classes in RenderObject: LayoutRepainter, RenderSVGContainer
+ https://bugs.webkit.org/show_bug.cgi?id=103164
+
+ Reviewed by Simon Fraser.
+
+ Removing some of classes marked as friend of RenderObject. This patch solves this issue
+ for 2 classes: RenderSVGContainer (that is derived from RenderObject) and LayoutRepainter
+ (that accesses one const member function in RenderObject that is now made public).
+
+ No new tests, no changes in functionality.
+
+ * rendering/RenderObject.h:
+ (RenderObject):
+ (WebCore::RenderObject::outlineBoundsForRepaint):
+
+2012-11-26 Jon Lee <jonlee@apple.com>
+
+ Pass clicks through to the restarted plugin
+ https://bugs.webkit.org/show_bug.cgi?id=102150
+ <rdar://problem/12695575>
+
+ Reviewed by Simon Fraser.
+
+ Add a new state to the machine for plugin snapshotting, called PlayingWithPendingMouseClick.
+ This represents the state where the plugin is playing, but before the pending mouse click
+ has been fired. Once the click is sent, the plugin state transitions to Playing. For
+ situations where the plugin just runs normally without a simulated click, the plugin state
+ jumps from DisplayingSnapshot straight to Playing, as before.
+
+ * html/HTMLPlugInElement.h: Add new display state to represent when the plugin is running,
+ but a pending mouse click is about to be sent to the plugin.
+ (WebCore::HTMLPlugInElement::dispatchPendingMouseClick): Called by the plugin when it is
+ ok for the element to send the pending mouse click.
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::defaultEventHandler): Update the handler to pass the event
+ to the renderer to handle if the state is before PlayingWithPendingMouseClick.
+
+ * html/HTMLPlugInImageElement.h:
+ * html/HTMLPlugInImageElement.cpp: Add a click timer to delay the mouse click so that the
+ plugin has some time to initialize.
+ (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialize the mouse timer.
+ (WebCore::HTMLPlugInImageElement::setPendingClickEvent): Keep track of the click event
+ the user made to restart the plugin.
+ (WebCore::HTMLPlugInImageElement::dispatchPendingMouseClick): Start the timer.
+ (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired): When the timer fires,
+ dispatch the simulated click, with mouse over, mouse down, and mouse up events. Transition
+ to the Playing state, and we no longer need the click event.
+
+ * rendering/RenderSnapshottedPlugIn.cpp: Change the threshold state to PlayingWithPendingMouseClick
+ instead of Playing, since that is the earliest state where the plugin is playing.
+ (WebCore::RenderSnapshottedPlugIn::paint):
+ (WebCore::RenderSnapshottedPlugIn::paintReplaced):
+ (WebCore::RenderSnapshottedPlugIn::getCursor):
+ (WebCore::RenderSnapshottedPlugIn::handleEvent): If the user clicked on the button, jump to
+ Playing, and don't send a simulated click. Otherwise, transition to PlayingWithPendingMouseClick,
+ and keep track of that mouse event.
+
+ * WebCore.exp.in: Export MouseRelatedEvent::offsetX() and offsetY().
+
+2012-11-26 Dan Carney <dcarney@google.com>
+
+ Refactor V8 bindings to allow content scripts to access subframes
+ https://bugs.webkit.org/show_bug.cgi?id=93646
+
+ Reviewed by Adam Barth.
+
+ Isolated window shells are now initialized on the fly
+ as needed.
+
+ No new tests. Existing test modified.
+
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
+ * bindings/v8/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::createdFromUnitializedWorld):
+ (DOMWrapperWorld):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::currentWorldContext):
+
+2012-11-26 Alex Christensen <alex.christensen@flexsim.com>
+
+ clipboardwin compile error for win64
+ https://bugs.webkit.org/show_bug.cgi?id=94124
+
+ Reviewed by Brent Fulgham.
+
+ The clipboard utilities code uses std::min with one unsigned int parameter and one size_t parameter.
+ This causes a problem when compiling for 64-bit Windows because the two types are not the same size.
+ To resolve this issue, we specify the template type as the type the return value is being cast into
+
+ Fixed a few compile errors for Windows x64 by specifying template parameters.
+
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::setFileDescriptorData): Specify the types for the std::min macro to avoid compiler errors
+ under 64-bit builds.
+
+2012-11-26 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ [GTK] GtkSocket is leaked until webview is destroyed.
+ https://bugs.webkit.org/show_bug.cgi?id=102564
+
+ Reviewed by Martin Robinson.
+
+ Remove GtkSocket from its parent when pluginview is destroyed. Then,
+ the GtkSocket and it's possible child widgets are realeased when it is
+ no more needed.
+
+ No new tests, already covered by existing tests.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::platformDestroy):
+
+2012-11-26 Luke Macpherson <macpherson@chromium.org>
+
+ Make StyleResolver::applyProperty use isInherit in CSSPropertyWebkitMarquee instead of calculating equivalent in-place.
+ https://bugs.webkit.org/show_bug.cgi?id=102446
+
+ Reviewed by Tony Chang.
+
+ !m_parentNode || !value->isInheritedValue() is equivalent to !isInherit (by De Morgan's law).
+
+ No new tests / code is provably equivalent.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::applyProperty):
+
+2012-11-26 Pratik Solanki <psolanki@apple.com>
+
+ Add ResourceBuffer::append(CFDataRef) to get code to compile with USE(NETWORK_CFDATA_ARRAY_CALLBACK)
+ https://bugs.webkit.org/show_bug.cgi?id=102706
+
+ Reviewed by Brent Fulgham.
+
+ No new tests because the flag isn't enabled. Also the functionality should be covered by
+ existing tests.
+
+ * loader/ResourceBuffer.cpp:
+ (WebCore):
+ (WebCore::ResourceBuffer::append):
+ * loader/ResourceBuffer.h:
+ (ResourceBuffer):
+ * loader/mac/ResourceLoaderMac.mm:
+
+2012-11-26 Tony Chang <tony@chromium.org>
+
+ Move more functions from internals.settings to internals
+ https://bugs.webkit.org/show_bug.cgi?id=102976
+
+ Reviewed by Adam Barth.
+
+ Move functions that don't have to do with Settings off of internals.settings.
+ setPagination and configurationForViewport were defined on internals, so we
+ can inline the functions (no test change).
+
+ setEnableMockPagePopup is moved to Internals.
+
+ No new tests, this is a refactor.
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::reset): Move reset code into Internals.
+ * testing/InternalSettings.h:
+ (InternalSettings): Remove code for setPagination, configurationForViewport and setEnableMockPagePopup.
+ * testing/InternalSettings.idl: Remove setPagination and setEnableMockPagePopup.
+ * testing/Internals.cpp:
+ (WebCore): Use a static to keep track of the MockPagePopupDriver.
+ (WebCore::Internals::resetToConsistentState): Code from InternalSettings::reset
+ (WebCore::Internals::setEnableMockPagePopup): Code copied from InternalSettings.
+ (WebCore::Internals::pagePopupController): Code copied from InternalSettings.
+ (WebCore::Internals::setPagination): Code copied from InternalSettings.
+ (WebCore::Internals::configurationForViewport): Code copied from InternalSettings.
+ * testing/Internals.h:
+ (Internals): Add setEnableMockPagePopup.
+ * testing/Internals.idl: Add setEnableMockPagePopup.
+
+2012-11-26 Andrei Bucur <abucur@adobe.com>
+
+ [CSS Regions] Add Region info for RootLineBoxes and pack the pagination data
+ https://bugs.webkit.org/show_bug.cgi?id=101332
+
+ Reviewed by David Hyatt.
+
+ Currently the pagination information for lines is spread between the RootInlineBox and InlineFlowBox classes, consuming memory even though
+ the boxes were not the result of an pagination layout. To overcome this, a new struct (LineFragmentationData) is created that wraps all the data,
+ including two new members, the containing Region for the line and a boolean that states if the line was laid out in a Region or not.
+ The flag is necessary because the sanitize function on LineFragmentationData resets the containing Region to 0 if the Region was removed from
+ chain (so a value of 0 for the containing Region means two things). The sanitize function should prevent access to an invalid address.
+ The containing Region is used to detect if a line changed the Region where it resides. This will be helpful especially when implementing region
+ styling for layout properties (e.g. the font-size property https://bugs.webkit.org/show_bug.cgi?id=95559 ).
+ A line can change the region when it is shifted inside the containing block or if the entire block moves. This means it's better to delegate
+ the task of updating the containing Region to the block.
+
+ Tests: fast/regions/line-containing-region-crash.html
+
+ * rendering/InlineFlowBox.cpp:
+ (SameSizeAsInlineFlowBox):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::InlineFlowBox):
+ (InlineFlowBox):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
+ (WebCore::RenderBlock::linkToEndLineIfNeeded):
+ (WebCore::RenderBlock::determineStartPosition):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::RootInlineBox):
+ (WebCore::RootInlineBox::setContainingRegion):
+ (WebCore):
+ (WebCore::RootInlineBox::LineFragmentationData::sanitize): This is an O(1) function that checks if the containig Region is still valid pointer.
+ * rendering/RootInlineBox.h:
+ (WebCore):
+ (WebCore::RootInlineBox::paginationStrut):
+ (WebCore::RootInlineBox::setPaginationStrut):
+ (WebCore::RootInlineBox::isFirstAfterPageBreak):
+ (WebCore::RootInlineBox::setIsFirstAfterPageBreak):
+ (WebCore::RootInlineBox::paginatedLineWidth):
+ (WebCore::RootInlineBox::setPaginatedLineWidth):
+ (RootInlineBox):
+ (WebCore::RootInlineBox::containingRegion):
+ (WebCore::RootInlineBox::hasContainingRegion): Use this to determine if the line has a region or not.
+ (WebCore::RootInlineBox::ensureLineFragmentationData):
+ (LineFragmentationData):
+ (WebCore::RootInlineBox::LineFragmentationData::LineFragmentationData):
+
+
+2012-11-26 Michelangelo De Simone <michelangelo@webkit.org>
+
+ [CSS Shaders] Add IDL file and bindings for mix function
+ https://bugs.webkit.org/show_bug.cgi?id=93011
+
+ Reviewed by Dean Jackson.
+
+ JavaScript bindings have been added for the Custom Filter mix()
+ function (WebKitCSSMixFunctionValue). As of now, this is only a
+ placeholder that extends CSSValueList without adding any new
+ property.
+
+ Test: css3/filters/custom/custom-filter-mix-bindings.html
+
+ * CMakeLists.txt: mix() IDL has been added to the Generator;
+ DerivedSources have been included.
+ * DerivedSources.cpp: Ditto.
+ * DerivedSources.make: Ditto.
+ * DerivedSources.pri: Ditto.
+ * GNUmakefile.list.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS): return a JSC DOM wrapper for WebKitCSSMixFunctionValue.
+ * bindings/v8/custom/V8CSSValueCustom.cpp:
+ (WebCore::V8CSSValue::dispatchWrapCustom): Ditto, for V8.
+ * css/WebKitCSSMixFunctionValue.idl: Added.
+
+2012-11-26 Simon Fraser <simon.fraser@apple.com>
+
+ Optimize layer updates after scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=102635
+
+ Reviewed by Sam Weinig.
+
+ updateLayerPositionsAfterScroll() previously unconditionally cleared clip
+ rects, and recomputed repaint rects too often. Recomputing both of these
+ can be very expensive, as they involve tree walks up to the root.
+
+ We can optimize layer updates after document scrolling by only clearing clip
+ rects, and recomputing repaint rects, if we encounter a fixed- or sticky-position
+ element. For overflow scroll, we have to clear clip rects and recompute repaint rects.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::repaintFixedElementsAfterScrolling): Call updateLayerPositionsAfterDocumentScroll().
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions): Call clearClipRects() because
+ updateLayerPosition() no longer does.
+ (WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll): Version of updateLayerPositionsAfterScroll()
+ that is for document scrolls. It has no need to push layers to the geometry map.
+ (WebCore::RenderLayer::updateLayerPositionsAfterOverflowScroll): Pushes layers to the geometry map,
+ and calls updateLayerPositionsAfterScroll() with the IsOverflowScroll flag.
+ (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Set the HasChangedAncestor flag
+ if our location changed, and use that as a hint to clear cached rects. Be more conservative
+ than before about when to clear cached clip rects.
+ (WebCore::RenderLayer::updateLayerPosition): Move responsibility for calling
+ clearClipRects() ouf of this function and into callers.
+ (The one caller outside RenderLayer will be removed via bug 102624).
+ Return a bool indicating whether our position changed.
+ (WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterOverflowScroll().
+ (WebCore::RenderLayer::updateClipRects): Added some #ifdeffed out code that is useful
+ to verify that cached clips are correct; it's too slow to leave enabled in debug builds.
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::setLocation): Change to take a LayoutPoint, rather than separate
+ x and y.
+
+2012-11-26 Rafael Brandao <rafael.lobo@openbossa.org>
+
+ [Cairo] Surface should not be destroyed before its usage
+ https://bugs.webkit.org/show_bug.cgi?id=103273
+
+ Reviewed by Brent Fulgham.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawRepaintCounter): There's some calls to get
+ the bits and stride from surface right after its destructions. It should
+ be postponed to avoid annoying bugs.
+
+2012-11-26 Julien Chaffraix <jchaffraix@webkit.org>
+
+ RenderBox::computePercentageLogicalHeight should use containingBlockLogicalWidthForContent
+ https://bugs.webkit.org/show_bug.cgi?id=103075
+
+ Reviewed by Ojan Vafai.
+
+ Using the containing block's content logical block was working for most renderers but 2 renderers
+ were special and were broken in orthogonal writing modes:
+ - captions as they override containingBlockLogicalWidthForContent to return the table's logical width.
+ - multi-column renderers as they override availableLogicalWidth to constrain the child to the column logical width.
+
+ By switching to containingBlockLogicalWidthForContent, we got those 2 cases covered.
+
+ Tests: fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html
+ fast/table/caption-orthogonal-writing-mode-sizing.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computePercentageLogicalHeight):
+ Updated the function to track which renderer's containing block we use and call
+ containingBlockLogicalWidthForContent on it.
+
+2012-11-26 Abhishek Arya <inferno@chromium.org>
+
+ Crash in Frame::dispatchVisibilityStateChangeEvent.
+ https://bugs.webkit.org/show_bug.cgi?id=102053
+
+ Reviewed by Adam Barth.
+
+ Child frame can go away inside webkitvisibilitychange
+ event handler. Store it in a ref counted vector.
+
+ Test: fast/frames/page-visibility-crash.html
+
+ * page/Frame.cpp:
+ (WebCore::Frame::dispatchVisibilityStateChangeEvent):
+
+2012-11-26 Hurnjoo Lee <hurnjoo.lee@samsung.com>
+
+ [Cairo] fillRectWithColor with Color::transparent doesn't perform anything
+ https://bugs.webkit.org/show_bug.cgi?id=101911
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ fillRectWithColor with Color::transparent doesn't perform anything
+ because fillRectWithColor does early-return if the alpha value of
+ color is zero. But we expect that fill the rect with transparent color
+ in case the cairo_operator is CAIRO_OPERATOR_SOURCE.
+
+ Covered by existing tests.
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::fillRectWithColor):Add condition to prevent early-return if
+ cairo_operator is not CAIRO_OPERATOR_OVER
+
+2012-11-26 Jae Hyun Park <jae.park@company100.net>
+
+ Remove redundant assignment in TextureMapperLayer::flushCompositingStateSelf
+ https://bugs.webkit.org/show_bug.cgi?id=103233
+
+ Reviewed by Noam Rosenthal.
+
+ This patch removes redundant assignment in TextureMapperLayer::flushCompositingStateSelf.
+
+ No new tests, because no change in bahavior.
+
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::flushCompositingStateSelf):
+
+2012-11-26 Tamas Czene <tczene@inf.u-szeged.hu>
+
+ OpenCL version of SourceAlpha, SourceGraphics and FETurbulence filter effects
+ https://bugs.webkit.org/show_bug.cgi?id=99829
+
+ Reviewed by Zoltan Herczeg.
+
+ This patch contains the OpenCL implementation of SourceAlpha, SourceGraphic, FETurbulence and a simple OpenCL environment.
+ At the moment only the Qt build system is supported
+ ~3x speed-up (depending on hardware configuration)
+
+ * Target.pri:
+ * WebCore.pri:
+ * platform/graphics/filters/FETurbulence.h: Added platformApplyOpenCL() virtual function.
+ (FETurbulence):
+ * platform/graphics/filters/FilterEffect.cpp: Added platform specific apply.
+ (WebCore::FilterEffect::apply):
+ (WebCore):
+ (WebCore::FilterEffect::platformApplyOpenCL): A function to use software computing if a filter is not implemented on OpenCL. It will be deleted after all of the filters are implemented.
+ (WebCore::FilterEffect::clearResult):
+ (WebCore::FilterEffect::asImageBuffer):
+ (WebCore::FilterEffect::openCLImageToImageBuffer): Gets the result of the filter from the OpenCL device and converts it to ImageBuffer type.
+ (WebCore::FilterEffect::createOpenCLImageResult): Allocates memory on OpenCL device and if it gets an image as a parameter, it uploads the image to the OpenCL device.
+ (WebCore::FilterEffect::transformResultColorSpace):
+ * platform/graphics/filters/FilterEffect.h:
+ (FilterEffect):
+ (WebCore::FilterEffect::openCLImage):
+ (WebCore::FilterEffect::setOpenCLImage):
+ (WebCore::FilterEffect::hasResult):
+ * platform/graphics/filters/SourceAlpha.h:
+ (SourceAlpha):
+ * platform/graphics/filters/SourceGraphic.h:
+ (SourceGraphic):
+ * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp: Added.
+ (WebCore):
+ (WebCore::FilterContextOpenCL::context): Configures the OpenCL environment.
+ (WebCore::FilterContextOpenCL::createOpenCLImage): Allocates memory on OpenCL device.
+ (WebCore::FilterContextOpenCL::openCLTransformColorSpace): OpenCL implementation of transformColorSpace.
+ (WebCore::FilterContextOpenCL::compileProgram):
+ * platform/graphics/gpu/opencl/FilterContextOpenCL.h: Added.
+ (WebCore):
+ (FilterContextOpenCL):
+ (WebCore::FilterContextOpenCL::deviceId):
+ (WebCore::FilterContextOpenCL::deviceContext):
+ (WebCore::FilterContextOpenCL::commandQueue):
+ (RunKernel):
+ (WebCore::FilterContextOpenCL::RunKernel::RunKernel):
+ (WebCore::FilterContextOpenCL::RunKernel::addArgument):
+ (WebCore::FilterContextOpenCL::RunKernel::run):
+ (WebCore::FilterContextOpenCL::kernelByName): Returns the reference of a function in the OpenCL program.
+ * platform/graphics/gpu/opencl/OpenCLFESourceAlpha.cpp: Added.
+ (WebCore):
+ (WebCore::SourceAlpha::platformApplyOpenCL):
+ * platform/graphics/gpu/opencl/OpenCLFESourceGraphic.cpp: Added.
+ (WebCore):
+ (WebCore::SourceGraphic::platformApplyOpenCL):
+ * platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp: Added.
+ (WebCore):
+ (WebCore::FilterContextOpenCL::compileFETurbulence):
+ (WebCore::FilterContextOpenCL::applyFETurbulence):
+ (WebCore::FETurbulence::platformApplyOpenCL):
+ * platform/graphics/gpu/opencl/OpenCLHandle.h: Added.
+ (WebCore):
+ (OpenCLHandle):
+ (WebCore::OpenCLHandle::OpenCLHandle):
+ (WebCore::OpenCLHandle::operator cl_mem):
+ (WebCore::OpenCLHandle::operator=):
+ (WebCore::OpenCLHandle::operator UnspecifiedBoolType):
+ (WebCore::OpenCLHandle::handleAddress):
+ (WebCore::OpenCLHandle::clear):
+
+2012-11-26 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Not reviewed: follow up for r135720, fixing node highlight.
+
+ * inspector/InspectorOverlayPage.html:
+
+2012-11-26 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
+
+ [EFL] Crashes in compositing layout tests with AC on.
+ https://bugs.webkit.org/show_bug.cgi?id=103144
+
+ Reviewed by Noam Rosenthal.
+
+ Application could leave texture packing parameters in non-zero state before
+ texture mapper drawing/texture uploading. To avoid crash texture upload should
+ specify packing parameters before each texture upload if packing is supported.
+
+ Covered by existing tests.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
+
+2012-11-26 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] Remove a lot of unnecessary and incorrect code causing crashes
+ https://bugs.webkit.org/show_bug.cgi?id=103199
+
+ Reviewed by Yong Li.
+
+ This is the first big step to unforking this code. It's very close to
+ where it needs to be now, but the first step is to get rid of the
+ crashes by deleting code that isn't needed and makes bad assumptions
+ about object lifetime. Crashes were found by automation without
+ test case or reproduction steps.
+
+ * loader/blackberry/CookieJarBlackBerry.cpp:
+ (WebCore::cookies): delete most code
+ (WebCore::setCookies): delete most code
+
+2012-11-26 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ Viewport CSS rules should not clamp values like Viewport META
+ https://bugs.webkit.org/show_bug.cgi?id=103068
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ CSS Device Adaption does not clamp the length and zoom values the
+ same way as the Viewport META. In fact, they are not clamped at all,
+ but instead, we just make sure that length values are at least 1px.
+
+ Tests: css3/device-adapt/opera/constrain-018.xhtml
+ css3/device-adapt/opera/constrain-019.xhtml
+ css3/device-adapt/opera/constrain-023.xhtml
+ css3/device-adapt/opera/constrain-024.xhtml
+
+ * dom/ViewportArguments.cpp:
+ (WebCore::ViewportArguments::resolve):
+
+2012-11-26 Mike West <mkwst@chromium.org>
+
+ Web Inspector: URLs containing '^' are improperly linked in console messages.
+ https://bugs.webkit.org/show_bug.cgi?id=103248
+
+ Reviewed by Yury Semikhatsky.
+
+ This patch adds '^' to WebInspector's regex of acceptable characters for
+ URLs that it knows how to display.
+
+ Test: http/tests/inspector/network/script-as-text-loading-with-caret.html
+
+ * inspector/front-end/ResourceUtils.js:
+ (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
+
+2012-11-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix Qt minimal compilation after r135713.
+
+ * inspector/InspectorController.h: hid file content behind ENABLE(INSPECTOR)
+
+2012-11-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
+ https://bugs.webkit.org/show_bug.cgi?id=103222
+
+ Reviewed by Yury Semikhatsky.
+
+ - Added node class name and id into the preview
+ - Now keeps track of properties separately from array indexes.
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/InspectorOverlayPage.html:
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
+ (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):
+
+2012-11-26 Florin Malita <fmalita@chromium.org>
+
+ RenderSVGResourceContainer does not clear cached data on removal
+ https://bugs.webkit.org/show_bug.cgi?id=102620
+
+ Reviewed by Dirk Schulze.
+
+ RenderSVGResourceContainer::removeClient needs to also remove the client from specialized
+ caches, otherwise we can end up with stale references.
+
+ Test: svg/custom/stale-resource-data-crash.svg
+
+ * rendering/svg/RenderSVGResourceContainer.cpp:
+ (WebCore::RenderSVGResourceContainer::removeClient):
+
+2012-11-26 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Not reviewed: rolling out r135714 and r135712 for breaking debug tests.
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/InspectorOverlayPage.html:
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
+
+2012-11-26 Zeno Albisser <zeno@webkit.org>
+
+ [Qt][Win] buildfix after r135706.
+ https://bugs.webkit.org/show_bug.cgi?id=103249
+
+ The Windows implementation of GraphicsSurface cannot use
+ m_size anymore, as this member has been removed.
+ Further it needs to implement a platformSize() function.
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
+ (WebCore::GraphicsSurfacePrivate::size):
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ (WebCore::GraphicsSurface::platformSize):
+ (WebCore):
+
+2012-11-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: unify agents handling in Page and Worker inspector controllers
+ https://bugs.webkit.org/show_bug.cgi?id=103238
+
+ Reviewed by Alexander Pavlov.
+
+ Introduced a class that represents a collection of inspector agents and allows
+ to call methods declared on InspectorAgentBaseInterface for all registered agents.
+ InspectorController and WorkerInspectorController switched to this class.
+
+ * inspector/InspectorBaseAgent.cpp:
+ (WebCore::InspectorAgentRegistry::append):
+ (WebCore):
+ (WebCore::InspectorAgentRegistry::setFrontend):
+ (WebCore::InspectorAgentRegistry::clearFrontend):
+ (WebCore::InspectorAgentRegistry::restore):
+ (WebCore::InspectorAgentRegistry::registerInDispatcher):
+ (WebCore::InspectorAgentRegistry::discardAgents):
+ * inspector/InspectorBaseAgent.h:
+ (InspectorAgentRegistry):
+ (WebCore):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::connectFrontend):
+ (WebCore::InspectorController::disconnectFrontend):
+ (WebCore::InspectorController::reconnectFrontend):
+ * inspector/InspectorController.h:
+ (InspectorController):
+
+2012-11-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
+ https://bugs.webkit.org/show_bug.cgi?id=103222
+
+ Reviewed by Yury Semikhatsky.
+
+ - Added node class name and id into the preview
+ - Now keeps track of properties separately from array indexes.
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/InspectorOverlayPage.html:
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
+ (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):
+
+2012-11-26 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Save WebGL extensions and restore on replay
+ https://bugs.webkit.org/show_bug.cgi?id=103141
+
+ Reviewed by Yury Semikhatsky.
+
+ Save WebGL extensions that were enabled by the application, and restore it before the replay.
+ Drive-by: remove redundant if- checks in WebGL custom function wrappers (similar to 2D canvas).
+
+ * inspector/InjectedScriptCanvasModuleSource.js:
+ (.):
+
+2012-11-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ HitTestResult should not be a HitTestLocation
+ https://bugs.webkit.org/show_bug.cgi?id=101590
+
+ Reviewed by Sam Weinig.
+
+ Change HitTestResult from being a HitTestLocation to having a HitTestLocation.
+ A result of a test should not be a special case of the location of the test.
+
+ No change in functionality. No new tests.
+
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::HitTestResult):
+ (WebCore::HitTestResult::operator=):
+ (WebCore::HitTestResult::isSelected):
+ (WebCore::HitTestResult::spellingToolTip):
+ (WebCore::HitTestResult::replacedString):
+ * rendering/HitTestResult.h:
+ (WebCore::HitTestResult::isRectBasedTest):
+ (WebCore::HitTestResult::pointInInnerNodeFrame):
+ (WebCore::HitTestResult::hitTestLocation):
+ (HitTestResult):
+
+2012-11-26 Marja Hölttä <marja@chromium.org>
+
+ Circular reference between Document and MediaQueryMatcher.
+ https://bugs.webkit.org/show_bug.cgi?id=103242
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ It's not enough to clean up listeners in MediaQueryMatcher in ~Document,
+ since MediaQueryListListener keeps the Document alive. This caused
+ www.crbug.com/113983.
+
+ No new tests: No visible change in behavior (except that it doesn't leak memory).
+
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::detach):
+
+2012-11-26 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: HeapProfiler: remove snapshotView reference from data-grids.
+ https://bugs.webkit.org/show_bug.cgi?id=103240
+
+ Reviewed by Yury Semikhatsky.
+
+ Cleanup: remove redundant dependency.
+
+ * inspector/front-end/HeapSnapshotDataGrids.js: Do not store view ref.
+ * inspector/front-end/HeapSnapshotGridNodes.js:
+ Removed unused assignments.
+ * inspector/front-end/HeapSnapshotView.js:
+ Do not pass self to data-grids.
+
+2012-11-26 Zeno Albisser <zeno@webkit.org>
+
+ GraphicsSurface should only store its size in a single place.
+ https://bugs.webkit.org/show_bug.cgi?id=103143
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
+ Cosmetics only.
+ * platform/graphics/surfaces/GraphicsSurface.cpp:
+ (WebCore::GraphicsSurface::size):
+ Return the size as received from the platform abstraction.
+ (WebCore):
+ (WebCore::GraphicsSurface::GraphicsSurface):
+ * platform/graphics/surfaces/GraphicsSurface.h:
+ (GraphicsSurface):
+ Remove data member m_size.
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ Always take the size of the GraphicsSurface as an argument.
+ (WebCore::GraphicsSurfacePrivate::size):
+ (GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ Retrieve the size from GraphicsSurfacePrivate where necessary.
+ (WebCore::GraphicsSurface::platformSize):
+ (WebCore):
+ (WebCore::GraphicsSurface::platformImport):
+ * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ Add a constructor that takes a window id as an argument
+ for the receiving side of the GraphcisSurface.
+ The GraphicsSurface can then determine its dimensions
+ from the provided XWindow.
+ (WebCore::GraphicsSurfacePrivate::createPixmap):
+ (WebCore::GraphicsSurfacePrivate::size):
+ Query the size of the GraphicsSurface backing from X.
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ Retrieve the size from GraphicsSurfacePrivate where necessary.
+ (WebCore::GraphicsSurface::platformSize):
+ (WebCore):
+ (WebCore::GraphicsSurface::platformImport):
+
+2012-11-26 Thiago Santos <thiago.sousa.santos@collabora.com>
+
+ [GStreamer] Floating reference handling fix
+ https://bugs.webkit.org/show_bug.cgi?id=101349
+
+ Reviewed by Philippe Normand.
+
+ GStreamer 0.10 and 1.0 differ when creating GstGhostPad from pad
+ templates, the 1.0 doesn't take ownership on the passed
+ GstPadTemplate, while 0.10 does. So this patch adds a
+ GStreamerVersioning function to handle this different approach
+ transparently in Webkit gstreamer elements.
+
+ Existing media tests cover this change.
+
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+ (webkit_web_audio_src_init):
+ * platform/graphics/gstreamer/GStreamerVersioning.cpp:
+ (webkitGstGhostPadFromStaticTemplate):
+ * platform/graphics/gstreamer/GStreamerVersioning.h:
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (webkit_web_src_init):
+
+2012-11-26 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove WorkerContextExecutionProxy
+ https://bugs.webkit.org/show_bug.cgi?id=103210
+
+ Reviewed by Adam Barth.
+
+ This patch moves all methods in WorkerContextExecutionProxy
+ to WorkerScriptController.
+
+ Due to the dependency between WorkerContextExecutionProxy's methods,
+ it is a bit difficult to split this patch into pieces.
+ This patch simply moves methods without changing their logic.
+ Also this patch doesn't remove empty WorkerContextExecutionProxy.{h,cpp}
+ to keep the diff sane. I will address these issues in a follow-up patch.
+
+ Tests: fast/worker/*
+
+ * bindings/v8/ScriptState.cpp:
+ (WebCore::scriptStateFromWorkerContext):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toV8Context):
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::V8WorkerContextEventListener::handleEvent):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController):
+ (WebCore::WorkerScriptController::~WorkerScriptController):
+ (WebCore::WorkerScriptController::dispose):
+ (WebCore):
+ (WebCore::WorkerScriptController::initializeIfNeeded):
+ (WebCore::WorkerScriptController::evaluate):
+ (WebCore::WorkerScriptController::setEvalAllowed):
+ (WebCore::WorkerScriptController::disableEval):
+ * bindings/v8/WorkerScriptController.h:
+ (WebCore):
+ (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
+ (WorkerContextExecutionState):
+ (WorkerScriptController):
+ (WebCore::WorkerScriptController::context):
+ * bindings/v8/WorkerScriptDebugServer.cpp:
+ (WebCore::WorkerScriptDebugServer::addListener):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ (WebCore::toV8):
+
2012-11-26 Hajime Morrita <morrita@google.com>
[Refactoring] Some Node::isDescendant calls can be replaced with Node::contains()
@@ -5378,7 +10052,7 @@
Unreviewed. Fix Chromium Win compilation after r135255.
https://bugs.webkit.org/show_bug.cgi?id=97803
- * WebCore.gypi: removed reference to platform/wince/DragDataWince.cpp which
+ * WebCore.gypi: removed reference to platform/wince/DragDataWince.cpp which
was deleted in the aforementioned change.
2012-11-19 Kentaro Hara <haraken@chromium.org>