700c2a431747614460bcced51a9a2dab2bccddeb
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
2
3         Assertion failure in RenderObject::drawLineForBoxSide
4         https://bugs.webkit.org/show_bug.cgi?id=108187
5
6         Reviewed by David Hyatt.
7
8         Don't draw the outline if the rectangle to draw is empty.
9
10         Test: fast/css/outline-negative.html
11
12         * rendering/RenderInline.cpp:
13         (WebCore::RenderInline::paintOutlineForLine):
14
15 2013-08-13  Chris Fleizach  <cfleizach@apple.com>
16
17         AX: Headings not longer have an AXTitle if they have a link as the only child
18         https://bugs.webkit.org/show_bug.cgi?id=119699
19
20         Reviewed by Anders Carlsson.
21
22         Normally, focusable content is not incuded when looking at the visible text of an element.
23         One case where we need an exception is with headings, where there is usually link content inside the heading
24         that we want to be used as the visible text.
25
26         Test: accessibility/heading-title-includes-links.html
27
28         * accessibility/AccessibilityNodeObject.cpp:
29         (WebCore::AccessibilityNodeObject::visibleText):
30         (WebCore::shouldUseAccessiblityObjectInnerText):
31         (WebCore::AccessibilityNodeObject::title):
32         * accessibility/AccessibilityNodeObject.h:
33         * accessibility/AccessibilityObject.h:
34         (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
35         (WebCore::AccessibilityObject::textUnderElement):
36         * accessibility/AccessibilityRenderObject.cpp:
37         (WebCore::AccessibilityRenderObject::textUnderElement):
38         * accessibility/AccessibilityRenderObject.h:
39
40 2013-08-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
41
42         Move id attribute to parent Element interface
43         https://bugs.webkit.org/show_bug.cgi?id=119706
44
45         Reviewed by Ryosuke Niwa.
46
47         Move id attribute from SVGElement / HTMLElement to their Element parent
48         interface to match the latest DOM specification and avoid duplication:
49         http://dom.spec.whatwg.org/#dom-element-id
50
51         There is no web-exposed behavior change because we haven't moved
52         properties from instances to their prototype, as per the Web IDL
53         specification (http://dev.w3.org/2006/webapi/WebIDL/#es-attributes).
54
55         Firefox already exposes the id property of Element's prototype.
56
57         This patch also drops the comment about returning the empty string when
58         no id is present (introduced in http://trac.webkit.org/changeset/4417).
59         This comment is redundant since the id property is already marked to
60         "reflect" the id attribute. Returning the empty string when the
61         attribute is not present is the normal behavior when reflecting:
62         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#reflect
63
64         No new test, no web-exposed behavior change.
65
66         * dom/Element.idl:
67         * html/HTMLElement.idl:
68         * svg/SVGElement.idl:
69
70 2013-08-14  Arpita Bahuguna  <a.bah@samsung.com>
71
72         createAttribute/setAttributeNode does not properly normalize case
73         https://bugs.webkit.org/show_bug.cgi?id=90341
74
75         Reviewed by Darin Adler.
76
77         setAttributeNode() verifies for existing attributes in a case sensitive
78         manner. Thus, it would add another attribute if specified in a case
79         different from the existing one. Instead, like setAttribute(), it too
80         should modify the existing attribute's value.
81
82         Tests: fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml
83                fast/dom/Element/setAttributeNode-case-insensitivity.html
84
85         * dom/Element.cpp:
86         (WebCore::Element::setAttributeNode):
87         Passing the second param (shouldIgnoreAttributeCase) to
88         findAttributeIndexByNameForAttributeNode() method. We are now letting
89         findAttributeIndexByNameForAttributeNode() handle the case-sensitive/insensitive
90         checking.
91
92         (WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
93         * dom/Element.h:
94         Added shouldIgnoreAttributeCase boolean param to the method. It passes
95         this on to QualifiedName::matchesIgnoringCaseForLocalName() method.
96
97         * dom/QualifiedName.h:
98         (WebCore::QualifiedName::matchesIgnoringCaseForLocalName):
99         New method added for doing a case-insensitive comparison based on the
100         shouldIgnoreCase param passed to this method.
101
102 2013-08-14  Gabor Abraham  <abrhm@inf.u-szeged.hu>
103
104         [CMake] Fix building with bison-3.0.
105         https://bugs.webkit.org/show_bug.cgi?id=119788
106
107         Reviewed by Zoltan Herczeg.
108
109         No new tests, just build fix.
110
111         * CMakeLists.txt:
112
113 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
114
115         ASSERTION FAILED: resultAnimationElement->m_animatedType in WebCore::SVGAnimateElement::calculateAnimatedValue
116         https://bugs.webkit.org/show_bug.cgi?id=119748
117
118         Reviewed by Dirk Schulze.
119
120         Avoid animation when attributeType="CSS" is used on an animateTransform.
121
122         Tests: svg/animations/animateTransform-translate-attributetype-auto.html
123                svg/animations/animateTransform-translate-invalid-attributetype.html
124
125         * svg/SVGAnimateTransformElement.cpp:
126         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
127
128 2013-08-14  Antti Koivisto  <antti@apple.com>
129
130         Try to fix Qt build.
131         
132         Not reviewed.
133
134         * xml/parser/XMLDocumentParserQt.cpp:
135         (WebCore::XMLDocumentParser::parseProcessingInstruction):
136         (WebCore::XMLDocumentParser::parseCdata):
137         (WebCore::XMLDocumentParser::parseComment):
138
139 2013-08-13  Antti Koivisto  <antti@apple.com>
140
141         Remove Node::attach() and ContainerNode::attach()
142         https://bugs.webkit.org/show_bug.cgi?id=119698
143
144         Reviewed by Andreas Kling.
145
146         Currently attach() is a virtual function on Node. However only Elements have style and so a corresponding 
147         independent render object. Attaching should be made Element level concept.
148         
149         This patch merges Node::attach() and ContainerNode::attach() to Element::attach(). Other related functions
150         (detach(), reattach(), etc) move similarly.
151         
152         Next step here is to make attach non-virtual in common case and move it out from the DOM tree.
153
154         * dom/ContainerNode.cpp:
155         (WebCore::attachChild):
156         (WebCore::detachChild):
157         
158             Temporary helpers. Further refactoring should get rid of these.
159
160         (WebCore::ContainerNode::takeAllChildrenFrom):
161         (WebCore::ContainerNode::removeBetween):
162         (WebCore::updateTreeAfterInsertion):
163         * dom/ContainerNode.h:
164         * dom/Document.cpp:
165         (WebCore::Document::attach):
166         (WebCore::Document::detach):
167         
168             Copy the relevant parts of the code from base class attach/detach here. It is not much.
169
170         * dom/Document.h:
171         * dom/Element.cpp:
172         (WebCore::Element::~Element):
173         
174             Node destructor no longer detaches.
175
176         (WebCore::Element::attachChildren):
177         (WebCore::Element::attach):
178         
179             Combine Node::attach(), ContainerNode::attach() and Element::attach().
180
181         (WebCore::Element::detachChildren):
182         (WebCore::Element::detach):
183         
184             Combine Node::detach(), ContainerNode::detach() and Element::detach().
185
186         (WebCore::Element::reattach):
187         (WebCore::Element::reattachIfAttached):
188         (WebCore::Element::lazyReattach):
189         (WebCore::Element::lazyAttach):
190         
191             This stuff moves from ContainerNode/Node.
192
193         * dom/Element.h:
194         (WebCore::Element::AttachContext::AttachContext):
195         * dom/ElementShadow.cpp:
196         (WebCore::ElementShadow::removeShadowRoot):
197         (WebCore::ElementShadow::attach):
198         (WebCore::ElementShadow::detach):
199         * dom/ElementShadow.h:
200         * dom/Node.cpp:
201         (WebCore::Node::~Node):
202         
203             Assert that we are not attached at this point.
204
205         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
206         * dom/Node.h:
207         (WebCore::Node::setAttached):
208         (WebCore::Node::setStyleChange):
209         
210             Make available.
211
212         * dom/NodeRenderingContext.cpp:
213         (WebCore::NodeRenderingContext::NodeRenderingContext):
214         * dom/NodeRenderingContext.h:
215         * dom/ShadowRoot.cpp:
216         (WebCore::ShadowRoot::attach):
217         (WebCore::ShadowRoot::detach):
218         * dom/ShadowRoot.h:
219         * dom/Text.cpp:
220         (WebCore::Text::~Text):
221         
222             Node destructor no longer detaches. Add destructor.
223
224         (WebCore::Text::createTextRenderersForSiblingsAfterAttachIfNeeded):
225         
226             Factor the code that updates sibling text renderers after attach into a function.
227
228         (WebCore::Text::attachText):
229         (WebCore::Text::detachText):
230         
231             Text::attachText/detachText replace virtual Node::attach/detach. They do the part of the work text nodes actually ended up doing.
232
233         (WebCore::Text::updateTextRenderer):
234         * dom/Text.h:
235         * html/HTMLViewSourceDocument.cpp:
236         (WebCore::HTMLViewSourceDocument::addText):
237         * html/PluginDocument.cpp:
238         (WebCore::PluginDocument::detach):
239         * html/PluginDocument.h:
240         * html/parser/HTMLConstructionSite.cpp:
241         (WebCore::executeTask):
242         * html/shadow/ContentDistributor.cpp:
243         (WebCore::ContentDistributor::invalidateDistribution):
244         * html/shadow/InsertionPoint.cpp:
245         (WebCore::InsertionPoint::attach):
246         (WebCore::InsertionPoint::detach):
247         * loader/PlaceholderDocument.cpp:
248         (WebCore::PlaceholderDocument::attach):
249         * loader/PlaceholderDocument.h:
250         * style/StyleResolveTree.cpp:
251         (WebCore::Style::resolveLocal):
252         (WebCore::Style::updateTextStyle):
253         * xml/parser/XMLDocumentParser.cpp:
254         (WebCore::XMLDocumentParser::exitText):
255         * xml/parser/XMLDocumentParserLibxml2.cpp:
256         (WebCore::XMLDocumentParser::processingInstruction):
257         (WebCore::XMLDocumentParser::cdataBlock):
258         (WebCore::XMLDocumentParser::comment):
259         
260             No need to attach non-rendered nodes.
261
262 2013-08-14  Allan Sandfeld Jensen  <allan.jensen@digia.com>
263
264         ASSERT(m_frame->view() == this) fails
265         https://bugs.webkit.org/show_bug.cgi?id=119015
266
267         Reviewed by Simon Fraser.
268
269         Introduced the method fixedLayoutSizeChanged and made it chack if the view
270         is attached to the frame before issuing contentsResized.
271
272         * page/FrameView.cpp:
273         (WebCore::FrameView::fixedLayoutSizeChanged):
274         * page/FrameView.h:
275         * platform/ScrollView.cpp:
276         (WebCore::ScrollView::setFixedLayoutSize):
277         (WebCore::ScrollView::setUseFixedLayout):
278         (WebCore::ScrollView::fixedLayoutSizeChanged):
279         * platform/ScrollView.h:
280
281 2013-08-13  Sergio Villar Senin  <svillar@igalia.com>
282
283         [CSS Grid Layout] Align our grid-line handling with the updated specification
284         https://bugs.webkit.org/show_bug.cgi?id=113546
285
286         Reviewed by Andreas Kling.
287
288         From Blink r148091 by <jchaffraix@chromium.org>
289
290         This change makes us match the updated specification by making
291         grid line numbers to always resolve against the
292         grid-{column|row}-start edge (the previous code would resolve
293         grid-{column|row}-end grid lines against the grid-{column|row}-end
294         edge).
295
296         To keep feature parity, negative numbers resolve against the
297         grid-{column|row}-end edge of the 'explicit grid'.
298
299         Test: fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html
300
301         * rendering/RenderGrid.cpp:
302         (WebCore::estimatedGridSizeForPosition):
303         (WebCore::RenderGrid::explicitGridColumnCount): New utility function.
304         (WebCore::RenderGrid::explicitGridRowCount): Ditto.
305         (WebCore::RenderGrid::maximumIndexInDirection): Use explicitGridXXXCount().
306         (WebCore::RenderGrid::resolveGridPositionsFromStyle): Check that row-end > row-start.
307         (WebCore::RenderGrid::resolveGridPositionFromStyle): Clamp negative values to the first line.
308         * rendering/RenderGrid.h:
309         * rendering/style/GridPosition.h:
310
311 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
312
313         Add toSVGTextPathElement(), and use it
314         https://bugs.webkit.org/show_bug.cgi?id=119783
315
316         Reviewed by Ryosuke Niwa.
317
318         As a step to clean-up static_cast<SVGXXX>, static_cast<SVGTextPathElement*> can
319         be changed with toSVGTextPathElement().
320
321         * rendering/svg/RenderSVGTextPath.cpp:
322         (WebCore::RenderSVGTextPath::layoutPath):
323         (WebCore::RenderSVGTextPath::startOffset):
324         (WebCore::RenderSVGTextPath::exactAlignment):
325         (WebCore::RenderSVGTextPath::stretchMethod):
326         * svg/SVGTextPathElement.h:
327         (WebCore::toSVGTextPathElement):
328
329 2013-08-14  Jinwoo Jeong  <jw00.jeong@samsung.com>
330
331         FEComponentTransfer could be faster.
332         https://bugs.webkit.org/show_bug.cgi?id=119671
333
334         Reviewed by Christophe Dumez.
335
336         Use direct writing to target data instead of calling Uint8ClampedArray::set() function.
337         This change reduces at least 80% time in the loop of that function.
338
339         The Uint8ClampedArray::set() function has index checking code, value checking code and value casting code.
340         But the index is managed by for loop condition, the value is generated by transferFunction.
341         And the value is already defined as unsigned char.
342         Thus all works in Uint8ClampedArray::set() function is redundant.
343         Removing the call to Uint8ClampedArray::set() function does not reduce stability but improves performance.
344
345         * platform/graphics/filters/FEComponentTransfer.cpp:
346         (WebCore::FEComponentTransfer::platformApplySoftware):
347
348 2013-08-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
349
350         The length of scheme is at least five characters even when the scheme has 'web+' prefix
351         https://bugs.webkit.org/show_bug.cgi?id=119779
352
353         Reviewed by Ryosuke Niwa.
354
355         The content-scheme handler specification requires that it is SecurityError if the length of
356         scheme isn't five characters at least, including 'web+' prefix. Thus, we need to check the length
357         of scheme on the 'web+' scheme.
358
359         Spec: http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers
360
361         No new tests, just modify existing tests.
362
363         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
364         (WebCore::verifyProtocolHandlerScheme):
365
366 2013-08-13  Filip Pizlo  <fpizlo@apple.com>
367
368         Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
369         https://bugs.webkit.org/show_bug.cgi?id=119770
370
371         Reviewed by Mark Hahnenberg.
372
373         No new tests because no new behavior.
374
375         * bindings/js/IDBBindingUtilities.cpp:
376         (WebCore::createIDBKeyFromValue):
377         * bindings/js/JSAttrCustom.cpp:
378         (WebCore::JSAttr::visitChildren):
379         * bindings/js/JSAudioTrackCustom.cpp:
380         (WebCore::JSAudioTrack::visitChildren):
381         * bindings/js/JSAudioTrackListCustom.cpp:
382         (WebCore::JSAudioTrackList::visitChildren):
383         * bindings/js/JSBlobCustom.cpp:
384         (WebCore::JSBlobConstructor::constructJSBlob):
385         * bindings/js/JSCSSRuleCustom.cpp:
386         (WebCore::JSCSSRule::visitChildren):
387         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
388         (WebCore::JSCSSStyleDeclaration::visitChildren):
389         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
390         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
391         (WebCore::toHTMLCanvasStyle):
392         * bindings/js/JSCanvasRenderingContextCustom.cpp:
393         (WebCore::JSCanvasRenderingContext::visitChildren):
394         * bindings/js/JSDOMBinding.cpp:
395         (WebCore::valueToDate):
396         * bindings/js/JSDOMBinding.h:
397         (WebCore::DOMConstructorObject::createStructure):
398         (WebCore::getDOMStructure):
399         (WebCore::toRefPtrNativeArray):
400         (WebCore::getStaticValueSlotEntryWithoutCaching):
401         * bindings/js/JSDOMFormDataCustom.cpp:
402         (WebCore::toHTMLFormElement):
403         (WebCore::JSDOMFormData::append):
404         * bindings/js/JSDOMGlobalObject.cpp:
405         (WebCore::JSDOMGlobalObject::finishCreation):
406         (WebCore::JSDOMGlobalObject::scriptExecutionContext):
407         (WebCore::JSDOMGlobalObject::visitChildren):
408         * bindings/js/JSDOMGlobalObject.h:
409         (WebCore::JSDOMGlobalObject::info):
410         (WebCore::JSDOMGlobalObject::createStructure):
411         (WebCore::getDOMConstructor):
412         * bindings/js/JSDOMStringListCustom.cpp:
413         (WebCore::toDOMStringList):
414         * bindings/js/JSDOMWindowBase.cpp:
415         (WebCore::JSDOMWindowBase::finishCreation):
416         (WebCore::toJSDOMWindow):
417         * bindings/js/JSDOMWindowBase.h:
418         (WebCore::JSDOMWindowBase::createStructure):
419         * bindings/js/JSDOMWindowCustom.cpp:
420         (WebCore::JSDOMWindow::visitChildren):
421         (WebCore::JSDOMWindow::getOwnPropertySlot):
422         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
423         (WebCore::toDOMWindow):
424         * bindings/js/JSDOMWindowShell.cpp:
425         (WebCore::JSDOMWindowShell::finishCreation):
426         * bindings/js/JSDOMWindowShell.h:
427         (WebCore::JSDOMWindowShell::createStructure):
428         * bindings/js/JSEventTargetCustom.cpp:
429         (WebCore::toEventTarget):
430         * bindings/js/JSHistoryCustom.cpp:
431         (WebCore::JSHistory::getOwnPropertySlotDelegate):
432         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
433         * bindings/js/JSImageConstructor.cpp:
434         (WebCore::JSImageConstructor::finishCreation):
435         * bindings/js/JSImageConstructor.h:
436         (WebCore::JSImageConstructor::createStructure):
437         * bindings/js/JSInjectedScriptHostCustom.cpp:
438         (WebCore::JSInjectedScriptHost::isHTMLAllCollection):
439         (WebCore::JSInjectedScriptHost::type):
440         (WebCore::JSInjectedScriptHost::functionDetails):
441         * bindings/js/JSInspectorFrontendHostCustom.cpp:
442         (WebCore::populateContextMenuItems):
443         * bindings/js/JSLocationCustom.cpp:
444         (WebCore::JSLocation::getOwnPropertySlotDelegate):
445         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
446         (WebCore::JSLocation::putDelegate):
447         * bindings/js/JSMessageChannelCustom.cpp:
448         (WebCore::JSMessageChannel::visitChildren):
449         * bindings/js/JSMessagePortCustom.cpp:
450         (WebCore::JSMessagePort::visitChildren):
451         * bindings/js/JSNodeCustom.cpp:
452         (WebCore::JSNode::pushEventHandlerScope):
453         (WebCore::JSNode::visitChildren):
454         * bindings/js/JSNodeFilterCustom.cpp:
455         (WebCore::JSNodeFilter::visitChildren):
456         (WebCore::toNodeFilter):
457         * bindings/js/JSNodeIteratorCustom.cpp:
458         (WebCore::JSNodeIterator::visitChildren):
459         * bindings/js/JSPluginElementFunctions.h:
460         (WebCore::pluginElementCustomGetOwnPropertySlot):
461         (WebCore::pluginElementCustomGetOwnPropertyDescriptor):
462         * bindings/js/JSSVGElementInstanceCustom.cpp:
463         (WebCore::JSSVGElementInstance::visitChildren):
464         * bindings/js/JSSharedWorkerCustom.cpp:
465         (WebCore::JSSharedWorker::visitChildren):
466         * bindings/js/JSStyleSheetCustom.cpp:
467         (WebCore::JSStyleSheet::visitChildren):
468         * bindings/js/JSTextTrackCueCustom.cpp:
469         (WebCore::JSTextTrackCue::visitChildren):
470         * bindings/js/JSTextTrackCustom.cpp:
471         (WebCore::JSTextTrack::visitChildren):
472         * bindings/js/JSTextTrackListCustom.cpp:
473         (WebCore::JSTextTrackList::visitChildren):
474         * bindings/js/JSTrackCustom.cpp:
475         (WebCore::toTrack):
476         * bindings/js/JSTreeWalkerCustom.cpp:
477         (WebCore::JSTreeWalker::visitChildren):
478         * bindings/js/JSVideoTrackCustom.cpp:
479         (WebCore::JSVideoTrack::visitChildren):
480         * bindings/js/JSVideoTrackListCustom.cpp:
481         (WebCore::JSVideoTrackList::visitChildren):
482         * bindings/js/JSWebGLRenderingContextCustom.cpp:
483         (WebCore::JSWebGLRenderingContext::visitChildren):
484         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
485         (WebCore::JSWebGLRenderingContext::getProgramParameter):
486         (WebCore::JSWebGLRenderingContext::getShaderParameter):
487         (WebCore::JSWebGLRenderingContext::getUniform):
488         (WebCore::dataFunctionf):
489         (WebCore::dataFunctioni):
490         (WebCore::dataFunctionMatrix):
491         * bindings/js/JSWorkerGlobalScopeBase.cpp:
492         (WebCore::JSWorkerGlobalScopeBase::finishCreation):
493         (WebCore::toJSDedicatedWorkerGlobalScope):
494         (WebCore::toJSSharedWorkerGlobalScope):
495         * bindings/js/JSWorkerGlobalScopeBase.h:
496         (WebCore::JSWorkerGlobalScopeBase::createStructure):
497         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
498         (WebCore::JSWorkerGlobalScope::visitChildren):
499         * bindings/js/JSXMLHttpRequestCustom.cpp:
500         (WebCore::JSXMLHttpRequest::visitChildren):
501         (WebCore::JSXMLHttpRequest::send):
502         * bindings/js/JSXPathResultCustom.cpp:
503         (WebCore::JSXPathResult::visitChildren):
504         * bindings/js/ScriptDebugServer.cpp:
505         (WebCore::ScriptDebugServer::dispatchDidPause):
506         * bindings/js/ScriptState.cpp:
507         (WebCore::domWindowFromScriptState):
508         (WebCore::scriptExecutionContextFromScriptState):
509         * bindings/js/SerializedScriptValue.cpp:
510         (WebCore::CloneSerializer::isArray):
511         (WebCore::CloneSerializer::dumpArrayBufferView):
512         (WebCore::CloneSerializer::dumpIfTerminal):
513         (WebCore::CloneSerializer::serialize):
514         (WebCore::CloneDeserializer::CloneDeserializer):
515         (WebCore::CloneDeserializer::readArrayBufferView):
516         * bindings/objc/DOM.mm:
517         (+[DOMNode _nodeFromJSWrapper:]):
518         * bindings/objc/DOMUtility.mm:
519         (JSC::createDOMWrapper):
520         * bindings/objc/WebScriptObject.mm:
521         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
522         * bindings/scripts/CodeGeneratorJS.pm:
523         (GenerateGetOwnPropertySlotBody):
524         (GenerateGetOwnPropertyDescriptorBody):
525         (GenerateHeader):
526         (GenerateParametersCheckExpression):
527         (GenerateImplementation):
528         (GenerateParametersCheck):
529         (GenerateConstructorDeclaration):
530         (GenerateConstructorHelperMethods):
531         * bindings/scripts/test/JS/JSFloat64Array.cpp:
532         (WebCore::JSFloat64ArrayConstructor::finishCreation):
533         (WebCore::JSFloat64Array::finishCreation):
534         (WebCore::JSFloat64Array::getOwnPropertySlot):
535         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
536         (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
537         (WebCore::JSFloat64Array::put):
538         (WebCore::JSFloat64Array::putByIndex):
539         (WebCore::JSFloat64Array::getOwnPropertyNames):
540         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
541         (WebCore::jsFloat64ArrayPrototypeFunctionSet):
542         (WebCore::JSFloat64Array::getByIndex):
543         (WebCore::toFloat64Array):
544         * bindings/scripts/test/JS/JSFloat64Array.h:
545         (WebCore::JSFloat64Array::createStructure):
546         (WebCore::JSFloat64ArrayPrototype::createStructure):
547         (WebCore::JSFloat64ArrayConstructor::createStructure):
548         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
549         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
550         (WebCore::JSTestActiveDOMObject::finishCreation):
551         (WebCore::JSTestActiveDOMObject::getOwnPropertySlot):
552         (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
553         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
554         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
555         (WebCore::toTestActiveDOMObject):
556         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
557         (WebCore::JSTestActiveDOMObject::createStructure):
558         (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
559         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
560         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
561         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
562         (WebCore::JSTestCustomNamedGetter::finishCreation):
563         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
564         (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
565         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
566         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
567         (WebCore::toTestCustomNamedGetter):
568         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
569         (WebCore::JSTestCustomNamedGetter::createStructure):
570         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
571         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
572         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
573         (WebCore::JSTestEventConstructorConstructor::finishCreation):
574         (WebCore::JSTestEventConstructor::finishCreation):
575         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
576         (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
577         (WebCore::toTestEventConstructor):
578         * bindings/scripts/test/JS/JSTestEventConstructor.h:
579         (WebCore::JSTestEventConstructor::createStructure):
580         (WebCore::JSTestEventConstructorPrototype::createStructure):
581         (WebCore::JSTestEventConstructorConstructor::createStructure):
582         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
583         (WebCore::JSTestEventTargetConstructor::finishCreation):
584         (WebCore::JSTestEventTarget::finishCreation):
585         (WebCore::JSTestEventTarget::getOwnPropertySlot):
586         (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
587         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
588         (WebCore::JSTestEventTarget::getOwnPropertyNames):
589         (WebCore::jsTestEventTargetPrototypeFunctionItem):
590         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
591         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
592         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
593         (WebCore::JSTestEventTarget::visitChildren):
594         (WebCore::JSTestEventTarget::indexGetter):
595         (WebCore::toTestEventTarget):
596         * bindings/scripts/test/JS/JSTestEventTarget.h:
597         (WebCore::JSTestEventTarget::createStructure):
598         (WebCore::JSTestEventTargetPrototype::createStructure):
599         (WebCore::JSTestEventTargetConstructor::createStructure):
600         * bindings/scripts/test/JS/JSTestException.cpp:
601         (WebCore::JSTestExceptionConstructor::finishCreation):
602         (WebCore::JSTestException::finishCreation):
603         (WebCore::JSTestException::getOwnPropertySlot):
604         (WebCore::JSTestException::getOwnPropertyDescriptor):
605         (WebCore::toTestException):
606         * bindings/scripts/test/JS/JSTestException.h:
607         (WebCore::JSTestException::createStructure):
608         (WebCore::JSTestExceptionPrototype::createStructure):
609         (WebCore::JSTestExceptionConstructor::createStructure):
610         * bindings/scripts/test/JS/JSTestInterface.cpp:
611         (WebCore::JSTestInterfaceConstructor::finishCreation):
612         (WebCore::JSTestInterface::finishCreation):
613         (WebCore::JSTestInterface::getOwnPropertySlot):
614         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
615         (WebCore::JSTestInterface::put):
616         (WebCore::JSTestInterface::putByIndex):
617         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
618         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
619         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
620         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
621         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
622         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
623         (WebCore::toTestInterface):
624         * bindings/scripts/test/JS/JSTestInterface.h:
625         (WebCore::JSTestInterface::createStructure):
626         (WebCore::JSTestInterfacePrototype::createStructure):
627         (WebCore::JSTestInterfaceConstructor::createStructure):
628         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
629         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
630         (WebCore::JSTestMediaQueryListListener::finishCreation):
631         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
632         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
633         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
634         (WebCore::toTestMediaQueryListListener):
635         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
636         (WebCore::JSTestMediaQueryListListener::createStructure):
637         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
638         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
639         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
640         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
641         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
642         (WebCore::JSTestNamedConstructor::finishCreation):
643         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
644         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
645         (WebCore::toTestNamedConstructor):
646         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
647         (WebCore::JSTestNamedConstructor::createStructure):
648         (WebCore::JSTestNamedConstructorPrototype::createStructure):
649         (WebCore::JSTestNamedConstructorConstructor::createStructure):
650         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
651         * bindings/scripts/test/JS/JSTestNode.cpp:
652         (WebCore::JSTestNodeConstructor::finishCreation):
653         (WebCore::JSTestNode::finishCreation):
654         (WebCore::JSTestNode::getOwnPropertySlot):
655         (WebCore::JSTestNode::getOwnPropertyDescriptor):
656         (WebCore::JSTestNode::visitChildren):
657         * bindings/scripts/test/JS/JSTestNode.h:
658         (WebCore::JSTestNode::createStructure):
659         (WebCore::JSTestNodePrototype::createStructure):
660         (WebCore::JSTestNodeConstructor::createStructure):
661         * bindings/scripts/test/JS/JSTestObj.cpp:
662         (WebCore::JSTestObjConstructor::finishCreation):
663         (WebCore::JSTestObj::finishCreation):
664         (WebCore::JSTestObj::getOwnPropertySlot):
665         (WebCore::JSTestObj::getOwnPropertyDescriptor):
666         (WebCore::JSTestObj::put):
667         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
668         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
669         (WebCore::jsTestObjPrototypeFunctionByteMethod):
670         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
671         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
672         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
673         (WebCore::jsTestObjPrototypeFunctionLongMethod):
674         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
675         (WebCore::jsTestObjPrototypeFunctionObjMethod):
676         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
677         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
678         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
679         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
680         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
681         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
682         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
683         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
684         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
685         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
686         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
687         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
688         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
689         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
690         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
691         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
692         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
693         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
694         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
695         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
696         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
697         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
698         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
699         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
700         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
701         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
702         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
703         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
704         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
705         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
706         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
707         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
708         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
709         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
710         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
711         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
712         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
713         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
714         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
715         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
716         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
717         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
718         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
719         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
720         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
721         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
722         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
723         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
724         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
725         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
726         (WebCore::jsTestObjPrototypeFunctionConvert1):
727         (WebCore::jsTestObjPrototypeFunctionConvert2):
728         (WebCore::jsTestObjPrototypeFunctionConvert4):
729         (WebCore::jsTestObjPrototypeFunctionConvert5):
730         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
731         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
732         (WebCore::jsTestObjPrototypeFunctionOrange):
733         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
734         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
735         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
736         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
737         (WebCore::JSTestObj::visitChildren):
738         (WebCore::toTestObj):
739         * bindings/scripts/test/JS/JSTestObj.h:
740         (WebCore::JSTestObj::createStructure):
741         (WebCore::JSTestObjPrototype::createStructure):
742         (WebCore::JSTestObjConstructor::createStructure):
743         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
744         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
745         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
746         (WebCore::JSTestOverloadedConstructors::finishCreation):
747         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
748         (WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
749         (WebCore::toTestOverloadedConstructors):
750         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
751         (WebCore::JSTestOverloadedConstructors::createStructure):
752         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
753         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
754         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
755         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
756         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
757         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
758         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
759         (WebCore::JSTestSerializedScriptValueInterface::put):
760         (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
761         (WebCore::toTestSerializedScriptValueInterface):
762         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
763         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
764         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
765         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
766         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
767         (WebCore::JSTestTypedefsConstructor::finishCreation):
768         (WebCore::JSTestTypedefs::finishCreation):
769         (WebCore::JSTestTypedefs::getOwnPropertySlot):
770         (WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
771         (WebCore::JSTestTypedefs::put):
772         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
773         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
774         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
775         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
776         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
777         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
778         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
779         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
780         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
781         (WebCore::toTestTypedefs):
782         * bindings/scripts/test/JS/JSTestTypedefs.h:
783         (WebCore::JSTestTypedefs::createStructure):
784         (WebCore::JSTestTypedefsPrototype::createStructure):
785         (WebCore::JSTestTypedefsConstructor::createStructure):
786         * bridge/c/CRuntimeObject.cpp:
787         (JSC::Bindings::CRuntimeObject::finishCreation):
788         * bridge/c/CRuntimeObject.h:
789         (JSC::Bindings::CRuntimeObject::createStructure):
790         * bridge/c/c_instance.cpp:
791         (JSC::Bindings::CRuntimeMethod::createStructure):
792         (JSC::Bindings::CRuntimeMethod::finishCreation):
793         (JSC::Bindings::CInstance::invokeMethod):
794         * bridge/c/c_utility.cpp:
795         (JSC::Bindings::convertValueToNPVariant):
796         * bridge/objc/ObjCRuntimeObject.h:
797         (JSC::Bindings::ObjCRuntimeObject::createStructure):
798         * bridge/objc/objc_instance.mm:
799         (ObjCRuntimeMethod::finishCreation):
800         (ObjcInstance::invokeMethod):
801         * bridge/objc/objc_runtime.h:
802         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
803         * bridge/objc/objc_runtime.mm:
804         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
805         (JSC::Bindings::callObjCFallbackObject):
806         * bridge/qt/qt_instance.cpp:
807         (JSC::Bindings::QtRuntimeObject::createStructure):
808         (JSC::Bindings::QtInstance::getInstance):
809         * bridge/qt/qt_pixmapruntime.cpp:
810         (JSC::Bindings::assignToHTMLImageElement):
811         (JSC::Bindings::QtPixmapRuntime::toQt):
812         * bridge/qt/qt_runtime.cpp:
813         (JSC::Bindings::isJSUint8Array):
814         (JSC::Bindings::isJSArray):
815         (JSC::Bindings::isJSDate):
816         (JSC::Bindings::isQtObject):
817         (JSC::Bindings::unwrapBoxedPrimitive):
818         (JSC::Bindings::convertQVariantToValue):
819         * bridge/runtime_array.cpp:
820         (JSC::RuntimeArray::finishCreation):
821         * bridge/runtime_array.h:
822         (JSC::RuntimeArray::createStructure):
823         * bridge/runtime_method.cpp:
824         (JSC::RuntimeMethod::finishCreation):
825         (JSC::callRuntimeMethod):
826         * bridge/runtime_method.h:
827         (JSC::RuntimeMethod::createStructure):
828         * bridge/runtime_object.cpp:
829         (JSC::Bindings::RuntimeObject::finishCreation):
830         (JSC::Bindings::callRuntimeObject):
831         (JSC::Bindings::callRuntimeConstructor):
832         * bridge/runtime_object.h:
833         (JSC::Bindings::RuntimeObject::createStructure):
834
835 2013-08-13  Ryosuke Niwa  <rniwa@webkit.org>
836
837         REGRESSION(r150187): Safari fails to render allrecipe.com comment popups
838         https://bugs.webkit.org/show_bug.cgi?id=119780
839
840         Reviewed by Benjamin Poulain.
841
842         The bug was caused by SelectorDataList::executeFastPathForIdSelector not verifying that
843         elements found by getAllElementsById are descendents of rootNode when there are multiple
844         elements of the same id. This resulted in querySelector and querySelectorAll of an element
845         returning nodes outside of the element.
846
847         Fixed the bug by checking this condition when we have multiple elements of the same id.
848
849         Test: fast/selectors/querySelector-id-with-multiple-elements-with-same-id.html
850
851         * dom/SelectorQuery.cpp:
852         (WebCore::SelectorDataList::executeFastPathForIdSelector):
853
854 2013-08-12  Ryosuke Niwa  <rniwa@webkit.org>
855
856         Fix orphan needsLayout state in RenderTextControlSingleLine
857         https://bugs.webkit.org/show_bug.cgi?id=119726
858
859         Reviewed by Kent Tamura.
860
861         Merge https://chromium.googlesource.com/chromium/blink/+/c0aec52ef348b2be0c882f8646fe3cf537831f59
862
863         We should mark the renderer for containerElement, which wraps innerTextElement and innerBlockElement
864         in cases of input[type=search] and input[type=number], dirty.
865
866         * rendering/RenderTextControlSingleLine.cpp:
867         (WebCore::setNeedsLayoutOnAncestors):
868         (WebCore::RenderTextControlSingleLine::layout):
869
870 2013-08-13  Sam Weinig  <sam@webkit.org>
871
872         [Re-land] Cleanup MediaQueryListListener
873         https://bugs.webkit.org/show_bug.cgi?id=119664
874
875         Reviewed by Andreas Kling.
876
877         Make MediaQueryListListener a proper WebIDL callback.
878
879         * CMakeLists.txt:
880         * DerivedSources.cpp:
881         * DerivedSources.make:
882         * DerivedSources.pri:
883         * GNUmakefile.list.am:
884         * Target.pri:
885         * WebCore.vcxproj/WebCore.vcxproj:
886         * WebCore.vcxproj/WebCore.vcxproj.filters:
887         * WebCore.xcodeproj/project.pbxproj:
888         Update project files.
889
890         * bindings/scripts/CodeGeneratorJS.pm:
891         (GenerateCallbackHeader):
892         (GenerateCallbackImplementation):
893         (JSValueToNative):
894         * bindings/scripts/IDLAttributes.txt:
895         Add support for CallbackNeedsOperatorEqual, which adds an operator==.
896
897         * css/MediaAllInOne.cpp:
898         Remove MediaQueryListListener.cpp.
899
900         * css/MediaQueryListListener.cpp:
901         Removed.
902
903         * css/MediaQueryListListener.h:
904         (WebCore::MediaQueryListListener::~MediaQueryListListener):
905         (WebCore::MediaQueryListListener::MediaQueryListListener):
906         * css/MediaQueryListListener.idl:
907         Convert to a proper WebIDL callback.
908
909         * css/MediaQueryMatcher.cpp:
910         (WebCore::MediaQueryMatcher::Listener::evaluate):
911         (WebCore::MediaQueryMatcher::styleResolverChanged):
912         * css/MediaQueryMatcher.h:
913         Remove all traces of the ScriptState.
914
915 2013-08-13  Dean Jackson  <dino@apple.com>
916
917         <https://webkit.org/b/119776> Don't use ScriptProfiler to find canvases for instrumentation
918
919         Reviewed by Joseph Pecoraro.
920
921         InspectorCanvasAgent::findFramesWithUninstrumentedCanvases uses a ScriptProfiler to walk the tree
922         looking for canvas elements. This is currently not implemented in JSC, but we can do this directly
923         with DOM methods. We're only looking for Canvas elements that have a context, so there isn't a need
924         for this abstract walking object.
925
926         * html/HTMLCanvasElement.h: Add new helpers to cast to <canvas>.
927         (WebCore::isHTMLCanvasElement):
928         (WebCore::toHTMLCanvasElement):
929         * inspector/InspectorCanvasAgent.cpp:
930         (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases): Simply walk
931         the frame tree and use getElementsByTagName to find canvas elements.
932         * bindings/js/bindings/js/ScriptProfiler.h: Removed unused method.
933
934 2013-08-13  Brent Fulgham  <bfulgham@apple.com>
935
936         [Windows] Windows is incorrectly using a LayerTypeTiledBackingLayer
937         https://bugs.webkit.org/show_bug.cgi?id=119772
938
939         Reviewed by Simon Fraser.
940
941         * platform/graphics/ca/GraphicsLayerCA.cpp:
942         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ensure that we use
943         the correct (supported) tiled layer type for Windows.
944         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
945         (PlatformCALayer::PlatformCALayer): Add an assertion to notify us if
946         we introduce this mistake again in the future.
947
948 2013-08-13  Anders Carlsson  <andersca@apple.com>
949
950         <https://webkit.org/b/119771> Use NeverDestroyed for smart pointer slot static locals
951
952         Reviewed by Andreas Kling.
953
954         This is preparation for making it a hard error to use DEFINE_STATIC_LOCAL with smart pointer types.
955
956         * dom/UserTypingGestureIndicator.cpp:
957         (WebCore::focusedNode):
958         * page/mac/EventHandlerMac.mm:
959         (WebCore::currentNSEventSlot):
960         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
961         (WebCore::defaultNetworkStorageSession):
962         (WebCore::cookieStorageOverride):
963
964 2013-08-13  Anders Carlsson  <andersca@apple.com>
965
966         Stop using DEFINE_STATIC_LOCAL with RefPtr
967         https://bugs.webkit.org/show_bug.cgi?id=119769
968
969         Reviewed by Andreas Kling.
970
971         No need to waste heap memory allocating RefPtr, just store the raw pointers directly.
972
973         * dom/ContextFeatures.cpp:
974         (WebCore::ContextFeatures::defaultSwitch):
975         * dom/DocumentMarker.cpp:
976         (WebCore::DocumentMarkerTextMatch::instanceFor):
977         * editing/EditingStyle.cpp:
978         (WebCore::StyleChange::extractTextStyles):
979         * html/FTPDirectoryDocument.cpp:
980         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
981         * html/HTMLPlugInImageElement.cpp:
982         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
983         * html/track/TextTrack.cpp:
984         (WebCore::TextTrack::captionMenuOffItem):
985         (WebCore::TextTrack::captionMenuAutomaticItem):
986         * loader/icon/IconDatabase.cpp:
987         (WebCore::loadDefaultIconRecord):
988         * platform/graphics/Image.cpp:
989         (WebCore::Image::nullImage):
990         * platform/graphics/PlatformTextTrack.h:
991         (WebCore::PlatformTextTrack::captionMenuOffItem):
992         (WebCore::PlatformTextTrack::captionMenuAutomaticItem):
993         * rendering/style/RenderStyle.cpp:
994         (WebCore::RenderStyle::initialShapeInside):
995         * testing/MockCDM.cpp:
996         (WebCore::initDataPrefix):
997         (WebCore::keyPrefix):
998         (WebCore::keyRequest):
999
1000 2013-08-13  Anders Carlsson  <andersca@apple.com>
1001
1002         Stop using DEFINE_STATIC_LOCAL with RetainPtr
1003         https://bugs.webkit.org/show_bug.cgi?id=119765
1004
1005         Reviewed by Jessie Berlin.
1006
1007         No need to waste heap memory allocating RetainPtrs, just store the raw pointers directly.
1008
1009         * platform/graphics/mac/ColorMac.mm:
1010         (WebCore::nsColor):
1011         * platform/graphics/mac/GraphicsContextMac.mm:
1012         (WebCore::makePatternColor):
1013         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1014         * platform/graphics/mac/SimpleFontDataMac.mm:
1015         (WebCore::webFallbackFontFamily):
1016
1017 2013-08-13  Commit Queue  <commit-queue@webkit.org>
1018
1019         Unreviewed, rolling out r153925.
1020         http://trac.webkit.org/changeset/153925
1021         https://bugs.webkit.org/show_bug.cgi?id=119768
1022
1023         broke fast/media/media-query-list-07.html (Requested by kling
1024         on #webkit).
1025
1026         * CMakeLists.txt:
1027         * DerivedSources.cpp:
1028         * DerivedSources.make:
1029         * DerivedSources.pri:
1030         * GNUmakefile.list.am:
1031         * Target.pri:
1032         * WebCore.vcxproj/WebCore.vcxproj:
1033         * WebCore.vcxproj/WebCore.vcxproj.filters:
1034         * WebCore.xcodeproj/project.pbxproj:
1035         * bindings/scripts/CodeGeneratorJS.pm:
1036         (GenerateCallbackHeader):
1037         (GenerateCallbackImplementation):
1038         (JSValueToNative):
1039         * bindings/scripts/IDLAttributes.txt:
1040         * bindings/scripts/test/JS/JSTestCallback.cpp:
1041         (WebCore::JSTestCallback::JSTestCallback):
1042         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1043         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1044         * css/MediaAllInOne.cpp:
1045         * css/MediaQueryListListener.cpp: Copied from Source/WebCore/css/MediaQueryListListener.idl.
1046         (WebCore::MediaQueryListListener::queryChanged):
1047         * css/MediaQueryListListener.h:
1048         (WebCore::MediaQueryListListener::create):
1049         (WebCore::MediaQueryListListener::operator==):
1050         (WebCore::MediaQueryListListener::MediaQueryListListener):
1051         * css/MediaQueryListListener.idl:
1052         * css/MediaQueryMatcher.cpp:
1053         (WebCore::MediaQueryMatcher::Listener::evaluate):
1054         (WebCore::MediaQueryMatcher::styleResolverChanged):
1055         * css/MediaQueryMatcher.h:
1056
1057 2013-08-13  Simon Fraser  <simon.fraser@apple.com>
1058
1059         Every scroll causes additional layer tree work because of flatteningLayer->removeFromParent();
1060         https://bugs.webkit.org/show_bug.cgi?id=119551
1061
1062         Reviewed by Dean Jackson.
1063
1064         Only re-parent the flattening layer if we had to update our
1065         layer configuration (reparenting is necessary then to get
1066         the correct sibling ordering), or if it was parented in some
1067         other layer.
1068         
1069         This avoid unnecessary flushing of state to CA.
1070
1071         * rendering/RenderLayerBacking.cpp:
1072         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1073
1074 2013-08-13  Robert Hogan  <robert@webkit.org>
1075
1076         Section's collapsed borders painted in wrong place in rtl tables
1077         https://bugs.webkit.org/show_bug.cgi?id=119691
1078
1079         Reviewed by Darin Adler.
1080
1081         Table row-groups can be RTL too, so look to the section rather than the
1082         table when deciding the direction of a row. The section will inherit the
1083         table's direction if it doesn't override it.
1084
1085         Test: fast/table/paint-collapsed-borders-rtl-section.html
1086
1087         * rendering/RenderTableCell.cpp:
1088         (WebCore::RenderTableCell::hasStartBorderAdjoiningTable):
1089         (WebCore::RenderTableCell::hasEndBorderAdjoiningTable):
1090
1091 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1092
1093         NodeList.item() does not behave according to specification
1094         https://bugs.webkit.org/show_bug.cgi?id=119722
1095
1096         Reviewed by Darin Adler.
1097
1098         Make NodeList.item() indexed getter behave according to specification:
1099         http://dom.spec.whatwg.org/#nodelist
1100
1101         Namely, we no longer throw if the index is negative (meaning the
1102         [IsIndex] extended attribute is dropped) and the argument is now
1103         mandatory.
1104
1105         This behavior is consistent with both IE10 and Firefox and since
1106         recently Blink.
1107
1108         Test: fast/dom/nodelist-item-parameter.html
1109
1110         * dom/NodeList.idl:
1111
1112 2013-08-13  Anders Carlsson  <andersca@apple.com>
1113
1114         Fix build.
1115
1116         * WebCore.exp.in:
1117
1118 2013-08-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1119
1120         REGRESSION(SUBPIXEL_LAYOUT) Composited layers can cause one pixel shifts
1121         https://bugs.webkit.org/show_bug.cgi?id=115304
1122
1123         Reviewed by David Hyatt.
1124
1125         Accelerated layers can cause blocks at subpixel offsets to shift because
1126         accumulated subpixel offsets are lost between each layers.
1127
1128         To solve this layer bounds are now calculated in LayoutUnits, and their
1129         subpixel offset saved so it can be used to ensure correct pixel-snapping
1130         during painting.
1131
1132         Test: fast/sub-pixel/sub-pixel-composited-layers.html
1133
1134         * WebCore.exp.in:
1135         * inspector/InspectorLayerTreeAgent.cpp:
1136         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1137         * platform/graphics/LayoutPoint.h:
1138         (WebCore::LayoutPoint::fraction):
1139         * rendering/RenderLayer.cpp:
1140         (WebCore::RenderLayer::setupClipPath):
1141         (WebCore::RenderLayer::setupFilters):
1142         (WebCore::RenderLayer::paintLayerContents):
1143         (WebCore::RenderLayer::calculateLayerBounds):
1144         * rendering/RenderLayer.h:
1145         * rendering/RenderLayerBacking.cpp:
1146         (WebCore::RenderLayerBacking::updateCompositedBounds):
1147         (WebCore::RenderLayerBacking::updateAfterWidgetResize):
1148         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1149         (WebCore::RenderLayerBacking::resetContentsRect):
1150         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
1151         (WebCore::RenderLayerBacking::contentsBox):
1152         (WebCore::RenderLayerBacking::backgroundBox):
1153         (WebCore::RenderLayerBacking::paintIntoLayer):
1154         (WebCore::RenderLayerBacking::paintContents):
1155         (WebCore::RenderLayerBacking::compositedBounds):
1156         (WebCore::RenderLayerBacking::setCompositedBounds):
1157         * rendering/RenderLayerBacking.h:
1158         * rendering/RenderLayerCompositor.cpp:
1159         (WebCore::RenderLayerCompositor::logLayerInfo):
1160         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1161         * rendering/RenderLayerCompositor.h:
1162         * rendering/RenderTreeAsText.cpp:
1163         (WebCore::operator<<):
1164         * rendering/RenderTreeAsText.h:
1165
1166 2013-08-13  peavo@outlook.com  <peavo@outlook.com>
1167
1168         [Curl] Possible infinite loop while downloading.
1169         https://bugs.webkit.org/show_bug.cgi?id=119744
1170
1171         Reviewed by Darin Adler.
1172
1173         If adding/removing curl handles fails, the download thread
1174         can end up in an endless loop trying to update the curl handle list.
1175
1176         * platform/network/curl/CurlDownload.cpp:
1177         (WebCore::CurlDownloadManager::updateHandleList): Avoid infinite loop by ignoring return value.
1178
1179 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1180
1181         HTMLSelectElement.item() does not behave according to specification
1182         https://bugs.webkit.org/show_bug.cgi?id=119738
1183
1184         Reviewed by Darin Adler.
1185
1186         Make HTMLSelectElement.item() behave according to specification:
1187         http://www.w3.org/TR/html51/forms.html#dom-select-item
1188         http://dom.spec.whatwg.org/#dom-htmlcollection-item
1189
1190         Namely, we no longer throw if the offset argument is negative. Also,
1191         the argument is now mandatory.
1192
1193         IE10, Firefox and Blink do not throw when HTMLSelectElement.item() is
1194         called with a negative value (as per the specification).
1195
1196         The argument is mandatory in Firefox and Blink, but optional in IE10
1197         (it returns null when called without argument). This looks like a bug
1198         in IE because other item() getters' argument is usually mandatory in IE
1199         (e.g. NodeList.item()).
1200
1201         Test: fast/dom/HTMLSelectElement/select-element-item-argument.html
1202
1203         * html/HTMLSelectElement.idl:
1204
1205 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1206
1207         On request error, always fire events on the XMLHttpRequestUpload before the XMLHttpRequest
1208         https://bugs.webkit.org/show_bug.cgi?id=119714
1209
1210         Reviewed by Alexey Proskuryakov.
1211
1212         On request error, fire events on the XMLHttpRequestUpload object before the XMLHttpRequest
1213         object as per the latest specification:
1214         http://xhr.spec.whatwg.org/#request-error
1215
1216         This specification change was made in Sept 2010:
1217         http://dev.w3.org/cvsweb/2006/webapi/XMLHttpRequest-2/Overview.src.html.diff?r1=1.138;r2=1.139;f=h
1218
1219         It addresses the following comment:
1220         http://lists.w3.org/Archives/Public/public-webapps/2010JulSep/0777.html
1221
1222         IE10 and since recently Blink behave according to specification but WebKit was firing the
1223         events on the XMLHttpRequest object BEFORE the XMLHttpRequestUpload object in case of
1224         'network error' or 'abort error'. WebKit was however behaving according to specification
1225         in case of 'timeout error', which was inconsistent.
1226
1227         Test: http/tests/xmlhttprequest/upload-request-error-event-order.html
1228
1229         * xml/XMLHttpRequest.cpp:
1230         (WebCore::XMLHttpRequest::networkError):
1231         (WebCore::XMLHttpRequest::abortError):
1232
1233 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1234
1235         Simplify RadioNodeList's anonymous indexed getter
1236         https://bugs.webkit.org/show_bug.cgi?id=119725
1237
1238         Reviewed by Darin Adler.
1239
1240         Simplify RadioNodeList's anonymous indexed getter by dropping [IsIndex]
1241         IDL extended attribute from its parameter and making it mandatory.
1242
1243         This change has strictly no impact on the generated bindings code
1244         but it simplifies the IDL.
1245
1246         No new test, no behavior change.
1247
1248         * html/RadioNodeList.idl:
1249
1250 2013-08-13  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
1251
1252         [GTK] close the volume slider when the media control panel is hidden
1253         https://bugs.webkit.org/show_bug.cgi?id=119062
1254
1255         Reviewed by Gustavo Noronha Silva.
1256
1257         It's not obvious how to close the volume slider on webkitGtk.
1258         The volume slider should close if the control panel is hidden.
1259
1260         * html/shadow/MediaControlsGtk.cpp:
1261         (WebCore::MediaControlsGtk::makeTransparent):
1262         * html/shadow/MediaControlsGtk.h:
1263
1264 2013-08-13  Commit Queue  <commit-queue@webkit.org>
1265
1266         Unreviewed, rolling out r152563.
1267         http://trac.webkit.org/changeset/152563
1268         https://bugs.webkit.org/show_bug.cgi?id=119740
1269
1270         causes random crashes (Requested by carewolf on #webkit).
1271
1272         * platform/graphics/qt/FontCacheQt.cpp:
1273         (WebCore::FontCache::getLastResortFallbackFont):
1274
1275 2013-08-13  Andrei Bucur  <abucur@adobe.com>
1276
1277         Unreviewed.
1278
1279         Fix the build after http://trac.webkit.org/changeset/153990.
1280
1281         * rendering/RenderBlock.cpp:
1282         (WebCore::RenderBlock::updateShapesBeforeBlockLayout): Add the default return value if CSS Shapes are disabled.
1283
1284 2013-08-13  Andrei Bucur  <abucur@adobe.com>
1285
1286         [CSS Regions] Compute correct region ranges for boxes
1287         https://bugs.webkit.org/show_bug.cgi?id=116296
1288
1289         Reviewed by David Hyatt.
1290
1291         The patch extends the region ranges implementation with the following behavior:
1292         - the range of a box is always included in the range of its containing block (even for floats); this will simplify how overflow
1293         is propagated to the regions and it should later change on a case by case basis.
1294         - if the range of a box is not correctly estimated before the layout it will be marked for relayout; this is necessary to correctly
1295         position boxes that overflow naturally, like floats.
1296         - all the boxes have a range now, not only the blocks.
1297         - regionAtBlockOffset can clamp to a box.
1298         - an unsplittable box has a region range of a single region, the one where the box top falls into.
1299
1300         When the layout of a child box starts it tries to give an estimate based on the maximal height of the box. After the layout,
1301         if the estimation was wrong, the box is relaid out. For example, if a block with a float is laid out in a region but the float
1302         overflows in the next region a relayout is needed for the float so it can be positioned relative to the containing block
1303         region (this step can be optimized by making a layout pass only for the children that don't have the region range enclosed in the
1304         containing block range).
1305
1306         Tests: fast/regions/bottom-overflow-out-of-first-region-absolute.html
1307                fast/regions/float-pushed-width-change-2.html
1308                fast/regions/scrollable-paragraph-unsplittable.html
1309
1310         * rendering/RenderBlock.cpp:
1311         (WebCore::RenderBlock::updateShapesBeforeBlockLayout): Doesn't do anything for regions now.
1312         (WebCore::RenderBlock::updateShapesAfterBlockLayout): Doesn't do anything for regions now.
1313         (WebCore::RenderBlock::relayoutToAvoidWidows): The layout to avoid widows. Widows use the line index to determine the break point,
1314         not the RootLineBox pointer as before. This is necessary to prevent stale pointers in further layouts.
1315         (WebCore::RenderBlock::layoutBlock):
1316         (WebCore::RenderBlock::layoutBlockChild):
1317         (WebCore::RenderBlock::layoutPositionedObjects):
1318         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): Relayout for widows during layoutBlock(). Don't wait to exit the block layout.
1319         (WebCore::RenderBlock::positionNewFloats):
1320         (WebCore::RenderBlock::hasNextPage):
1321         (WebCore::RenderBlock::applyBeforeBreak):
1322         (WebCore::RenderBlock::applyAfterBreak):
1323         (WebCore::RenderBlock::setPageBreak):
1324         (WebCore::RenderBlock::updateMinimumPageHeight):
1325         (WebCore::RenderBlock::regionAtBlockOffset): This function can now clamp at a box.
1326         (WebCore::RenderBlock::computeRegionRangeForBoxChild): Calculate the box region range using the box height.
1327         (WebCore::RenderBlock::estimateRegionRangeForBoxChild): Estimate the box region range using a huge height for the box.
1328         (WebCore::RenderBlock::updateRegionRangeForBoxChild): Determine the final region range of a box.
1329         * rendering/RenderBlock.h:
1330         (WebCore::RenderBlock::logicalWidthForChild):
1331         (WebCore::RenderBlock::logicalHeightForChild):
1332         (WebCore::RenderBlock::logicalTopForChild):
1333         * rendering/RenderBlockLineLayout.cpp:
1334         (WebCore::RenderBlock::layoutInlineChildren):
1335         * rendering/RenderBox.cpp:
1336         (WebCore::RenderBox::clampToStartAndEndRegions):
1337         (WebCore::RenderBox::borderBoxRectInRegion):
1338         * rendering/RenderBox.h:
1339         * rendering/RenderDeprecatedFlexibleBox.cpp:
1340         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1341         * rendering/RenderFlexibleBox.cpp:
1342         (WebCore::RenderFlexibleBox::layoutBlock):
1343         * rendering/RenderFlowThread.cpp:
1344         (WebCore::RenderFlowThread::validateRegions):
1345         (WebCore::RenderFlowThread::regionAtBlockOffset):
1346         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
1347         (WebCore::RenderFlowThread::pageLogicalTopForOffset):
1348         (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
1349         (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
1350         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1351         (WebCore::RenderFlowThread::mapFromFlowToRegion):
1352         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
1353         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
1354         (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
1355         (WebCore::RenderFlowThread::setRegionRangeForBox):
1356         (WebCore::RenderFlowThread::applyBreakAfterContent):
1357         (WebCore::RenderFlowThread::addForcedRegionBreak):
1358         * rendering/RenderFlowThread.h:
1359         * rendering/RenderGrid.cpp:
1360         (WebCore::RenderGrid::layoutBlock):
1361         * rendering/RenderMultiColumnFlowThread.cpp:
1362         (WebCore::RenderMultiColumnFlowThread::setPageBreak):
1363         (WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
1364         * rendering/RenderMultiColumnFlowThread.h:
1365
1366 2013-08-13  Ryosuke Niwa  <rniwa@webkit.org>
1367
1368         One more speculative Windows build fix after r153978.
1369
1370         * page/win/DragControllerWin.cpp:
1371
1372 2013-08-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1373
1374         Update scheme list according to latest specification
1375         https://bugs.webkit.org/show_bug.cgi?id=119510
1376
1377         Reviewed by Christophe Dumez.
1378
1379         New schemes are added to it additionally. Those are bitcoin, im, ircs and wtai.
1380         As additional work, scheme order is listed to be sync with spec.
1381
1382         Spec: http://www.w3.org/html/wg/drafts/html/master/webappapis.html#custom-handlers
1383
1384         Test: fast/dom/register-protocol-handler.html
1385               fast/dom/unregister-protocol-handler.html
1386
1387         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
1388         (WebCore::initProtocolHandlerWhitelist):
1389
1390 2013-08-13  Ryosuke Niwa  <rniwa@webkit.org>
1391
1392         Yet another Windows build fix attempt after r153978.
1393
1394         * page/win/DragControllerWin.cpp:
1395         (WebCore::DragController::declareAndWriteDragImage):
1396
1397 2013-08-13  Ryosuke Niwa  <rniwa@webkit.org>
1398
1399         Another Windows build fix attempt after r153978.
1400
1401         * page/win/DragControllerWin.cpp:
1402
1403 2013-08-12  Ryosuke Niwa  <rniwa@webkit.org>
1404
1405         Windows build fix attempt after r153978.
1406
1407         * page/win/DragControllerWin.cpp:
1408
1409 2013-08-12  Zan Dobersek  <zdobersek@igalia.com>
1410
1411         ASSERTION FAILED: type() == Percent in WebCore::Length::percent
1412         https://bugs.webkit.org/show_bug.cgi?id=116715
1413
1414         Reviewed by Darin Adler.
1415
1416         Allow the Calculated type in the Length::percent method that returns the Length's
1417         float value. This reflects the changes in r110148 that adjusted the Length::isPercent
1418         method to return true for Length objects of either Percent or Calculated type.
1419
1420         Test: fast/css/calculated-length-as-percent-crash.html
1421
1422         * platform/Length.h:
1423         (WebCore::Length::percent): Assert that Length::isPercent is true when Length::percent
1424         is called, ensuring the Length's type is either Percent or Calculated.
1425
1426 2013-06-16  Darin Adler  <darin@apple.com>
1427
1428         Move Clipboard::declareAndWriteDragImage to DragController
1429         https://bugs.webkit.org/show_bug.cgi?id=117683
1430
1431         Reviewed by Brent Fulgham.
1432
1433         * dom/Clipboard.h: Removed declareAndWriteDragImage.
1434
1435         * page/DragController.cpp:
1436         (WebCore::selectImageBeforeDragging): Half of the old prepareClipboardForImageDrag
1437         is now refactored into this function.
1438         (WebCore::DragController::startDrag): Where we called prepareClipboardForImageDrag,
1439         instead call selectImageBeforeDragging and declareAndWriteDragImage. This is needed
1440         because declareAndWriteDragImage needs to be a member function, for Mac at least.
1441
1442         * page/DragController.h: Added declareAndWriteDragImage.
1443
1444         * page/efl/DragControllerEfl.cpp:
1445         (WebCore::DragController::declareAndWriteDragImage): Added empty placeholder.
1446         It would be better to delete this file rather than having these placeholders.
1447         I don't think EFL actually has drag support, and it makes work to have to keep
1448         source files up to date that are really unused.
1449
1450         * page/gtk/DragControllerGtk.cpp:
1451         (WebCore::DragController::declareAndWriteDragImage): Added. Calls Pasteboard::writeImage.
1452         * page/mac/DragControllerMac.mm:
1453         (WebCore::DragController::declareAndWriteDragImage): Added. Calls to DragClient, which
1454         does the work.
1455         * page/qt/DragControllerQt.cpp:
1456         (WebCore::DragController::declareAndWriteDragImage): Added. Calls Pasteboard::writeImage.
1457         * page/win/DragControllerWin.cpp:
1458         (WebCore::DragController::declareAndWriteDragImage): Added. Uses Pasteboard functions to
1459         do the work.
1460
1461         * platform/Clipboard.h: Changed the pasteboard function to return a non-const reference.
1462         For now, it's not clear what const will mean for pasteboards, and it's currently not
1463         possible to write to a const pasteboard, which we need to do in the new
1464         DragController::declareAndWriteDragImage functions.
1465
1466         * platform/Pasteboard.h: Added a new writeMarkup function, implemented only for Windows
1467         at this time.
1468
1469         * platform/efl/ClipboardEfl.cpp: Deleted declareAndWriteDragImage.
1470         * platform/gtk/ClipboardGtk.cpp: Ditto.
1471         * platform/ios/ClipboardIOS.h: Ditto.
1472         * platform/ios/ClipboardIOS.mm: Ditto.
1473         * platform/mac/ClipboardMac.mm: Ditto.
1474         * platform/qt/ClipboardQt.cpp: Ditto.
1475         * platform/win/ClipboardWin.cpp: Ditto.
1476
1477         * platform/win/PasteboardWin.cpp:
1478         (WebCore::Pasteboard::writePlainTextToDataObject): Took out a pointless line of code.
1479         (WebCore::Pasteboard::writeMarkup): Added. Currently implemented only for Windows.
1480         This factors out a significant piece of DragController::declareAndWriteDragImage,
1481         and will probably be handy for other platforms later.
1482
1483 2013-08-12  Ryosuke Niwa  <rniwa@webkit.org>
1484
1485         Fix NULL de-refernce in HTMLAnchorElement::sendPings when settings doesn't exist
1486         https://bugs.webkit.org/show_bug.cgi?id=119716
1487
1488         Reviewed by Darin Adler.
1489
1490         Merge https://chromium.googlesource.com/chromium/blink/+/d5783da353ab783e9994b8fbecd91880be5192a1
1491
1492         No new tests since the test in the Blink change doesn't reproduce crash on WebKit.
1493
1494         * html/HTMLAnchorElement.cpp:
1495         (WebCore::HTMLAnchorElement::sendPings):
1496
1497 2013-08-12  Seokju Kwon  <seokju@webkit.org>
1498
1499         Use the correct preprocessor in shouldRepaintFixedBackgroundsOnScroll()
1500         https://bugs.webkit.org/show_bug.cgi?id=119710
1501
1502         Reviewed by Darin Adler.
1503
1504         No behavior change, no new tests needed.
1505
1506         * rendering/RenderObject.cpp: Remove unused parameter warning.
1507         (WebCore::shouldRepaintFixedBackgroundsOnScroll):
1508
1509 2013-08-12  Alexey Proskuryakov  <ap@apple.com>
1510
1511         http/tests/security/sandboxed-iframe-invalid.html is flaky on Mac
1512         https://bugs.webkit.org/show_bug.cgi?id=85522
1513
1514         Reviewed by Andy Estes.
1515
1516         Drive-by FIXMEs and trivial fixes for WebCore issues I noticed while working
1517         on this bug. No behavior change expected.
1518
1519         * loader/FrameLoader.cpp:
1520         (WebCore::FrameLoader::submitForm):
1521         (WebCore::FrameLoader::findFrameForNavigation):
1522         * loader/NavigationScheduler.cpp:
1523         (WebCore::ScheduledFormSubmission::fire):
1524
1525 2013-08-13  Ryosuke Niwa  <rniwa@webkit.org>
1526
1527         Fix variable name |end| -> |size| in EventTarget::fireEventListeners
1528         https://bugs.webkit.org/show_bug.cgi?id=119715
1529
1530         Reviewed by Benjamin Poulain.
1531
1532         Merge https://chromium.googlesource.com/chromium/blink/+/f58b017539c48059bb2b88d18ee0ee3d14decb01
1533         and also fix variable names in FiringEventIterator.
1534
1535         * dom/EventTarget.cpp:
1536         (WebCore::EventTarget::removeEventListener):
1537         (WebCore::EventTarget::fireEventListeners):
1538         (WebCore::EventTarget::removeAllEventListeners):
1539         * dom/EventTarget.h:
1540         (WebCore::FiringEventIterator::FiringEventIterator):
1541
1542 2013-08-12  Ryosuke Niwa  <rniwa@webkit.org>
1543
1544         Encapsulate access to documentNamedItemMap and windowNamedItemMap
1545         https://bugs.webkit.org/show_bug.cgi?id=119701
1546
1547         Reviewed by Darin Adler.
1548
1549         Encapsulate m_documentNamedItem and m_windowNamedItem by adding various methods on HTMLDocument.
1550         This will help us doing more refactorings in the future.
1551
1552         * bindings/js/JSDOMWindowCustom.cpp:
1553         (WebCore::namedItemGetter):
1554         (WebCore::JSDOMWindow::getOwnPropertySlot):
1555         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
1556         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1557         * bindings/js/JSHTMLDocumentCustom.cpp:
1558         (WebCore::JSHTMLDocument::canGetItemsForName):
1559         (WebCore::JSHTMLDocument::nameGetter):
1560         * dom/Element.cpp:
1561         (WebCore::Element::updateNameForDocument):
1562         (WebCore::Element::updateIdForDocument):
1563         * html/HTMLDocument.cpp:
1564         (WebCore::HTMLDocument::addDocumentNamedItem): Added.
1565         (WebCore::HTMLDocument::removeDocumentNamedItem): Added.
1566         (WebCore::HTMLDocument::addWindowNamedItem): Added.
1567         (WebCore::HTMLDocument::removeWindowNamedItem): Added.
1568         * html/HTMLDocument.h:
1569         (WebCore::HTMLDocument::documentNamedItem): Added.
1570         (WebCore::HTMLDocument::hasDocumentNamedItem): Added.
1571         (WebCore::HTMLDocument::documentNamedItemContainsMultipleElements): Added.
1572         (WebCore::HTMLDocument::windowNamedItem): Added.
1573         (WebCore::HTMLDocument::hasWindowNamedItem): Added.
1574         (WebCore::HTMLDocument::windowNamedItemContainsMultipleElements): Added.
1575         * html/HTMLImageElement.cpp:
1576         (WebCore::HTMLImageElement::parseAttribute):
1577         * html/HTMLObjectElement.cpp:
1578         (WebCore::HTMLObjectElement::updateDocNamedItem):
1579
1580 2013-08-12  Patrick Gansterer  <paroga@webkit.org>
1581
1582         [CMake] Use the correct list of files when compiling ANGLESupport on Windows
1583         https://bugs.webkit.org/show_bug.cgi?id=119439
1584
1585         Reviewed by Gyuyoung Kim.
1586
1587         * CMakeLists.txt: Use ossource_win.cpp instead of ossource_posix.cpp on Windows platforms.
1588
1589 2013-08-12  Arnaud Renevier  <a.renevier@samsung.com>
1590
1591         [cairo] memory corruption with putImageData and accelerated canvas.
1592         https://bugs.webkit.org/show_bug.cgi?id=118621
1593
1594         Reviewed by Martin Robinson.
1595
1596         When we have an accelerated imageBuffer, and we putByteArray with a
1597         non zero destPoint, we create temporary surface of sourceSize. Then,
1598         we write to image data with an offset. This results in an out of bound
1599         write.
1600
1601         In order to avoid that, we use a 0 offset when writing data.
1602
1603         In addition, we also create image with the minimal needed size in
1604         getImageData, and also use a 0 offset. This decrease data transfer
1605         between cpu and gpu
1606
1607         Instead of the map/unmap mechanism, perform an explicit surface copy
1608         when needed. This change also removes an unneeded glReadPixels at the
1609         start of putByteArray
1610
1611         Add two parameters to copyRectFromOneSurfaceToAnother: destination
1612         offset, and cairo drawing operator.
1613
1614         No new tests. Accelerated canvas is not enabled for testing yet.
1615
1616         * platform/graphics/cairo/CairoUtilities.cpp:
1617         (WebCore::copyRectFromOneSurfaceToAnother):
1618         * platform/graphics/cairo/CairoUtilities.h:
1619         * platform/graphics/cairo/ImageBufferCairo.cpp:
1620         (WebCore::copySurfaceToImageAndAdjustRect):
1621         (WebCore::getImageData):
1622         (WebCore::ImageBuffer::putByteArray):
1623
1624 2013-08-12  Ryosuke Niwa  <rniwa@webkit.org>
1625
1626         Use const AtomicStringImpl* in DocumentOrderedMap
1627         https://bugs.webkit.org/show_bug.cgi?id=119700
1628
1629         Reviewed by Benjamin Poulain.
1630
1631         Use const AtomicStringImpl* in DocumentOrderedMap. It caught at least one bug that HTMLNameCollection'
1632         subclasses' nodeMatches were taking const AtomicString& instead of AtomicStringImpl*. This was forcing
1633         DocumentOrderedMap::getElementByWindowNamedItem and DocumentOrderedMap::getElementByDocumentNamedItem
1634         to create temporary AtomicStrings.
1635
1636         * dom/DocumentOrderedMap.cpp:
1637         (WebCore::keyMatchesId):
1638         (WebCore::keyMatchesName):
1639         (WebCore::keyMatchesMapName):
1640         (WebCore::keyMatchesLowercasedMapName):
1641         (WebCore::keyMatchesLabelForAttribute):
1642         (WebCore::keyMatchesWindowNamedItem):
1643         (WebCore::keyMatchesDocumentNamedItem):
1644         (WebCore::DocumentOrderedMap::add):
1645         (WebCore::DocumentOrderedMap::remove):
1646         (WebCore::DocumentOrderedMap::get):
1647         (WebCore::DocumentOrderedMap::getElementById):
1648         (WebCore::DocumentOrderedMap::getElementByName):
1649         (WebCore::DocumentOrderedMap::getElementByMapName):
1650         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
1651         (WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
1652         (WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
1653         (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
1654         (WebCore::DocumentOrderedMap::getAllElementsById):
1655         * dom/DocumentOrderedMap.h:
1656         (WebCore::DocumentOrderedMap::containsSingle):
1657         (WebCore::DocumentOrderedMap::contains):
1658         (WebCore::DocumentOrderedMap::containsMultiple):
1659         * html/HTMLNameCollection.cpp:
1660         (WebCore::WindowNameCollection::nodeMatches):
1661         (WebCore::DocumentNameCollection::nodeMatches):
1662         * html/HTMLNameCollection.h:
1663         (WebCore::WindowNameCollection::nodeMatches):
1664         (WebCore::DocumentNameCollection::nodeMatches):
1665
1666 2013-08-12  Beth Dakin  <bdakin@apple.com>
1667
1668         The LayoutMilestones didLayout callback should only fire for the main frame
1669         https://bugs.webkit.org/show_bug.cgi?id=119457
1670
1671         Reviewed by Sam Weinig.
1672
1673         This patch makes it so that FrameLoader::didLayout(LayoutMilestones) is only ever 
1674         called for the main frame. Technically this will change existing API for 
1675         didFirstVisuallyNonEmptyLayoutInFrame and didFirstLayoutInFrame. Clients used to 
1676         be able to register for those callbacks for any frame they wanted, however, now 
1677         they will only ever get the callback when it applies to the main frame. We think 
1678         that this is acceptable since we don’t know of any clients that ever used those 
1679         APIs for a non-main frame. This change also makes nothing but sense for the 
1680         didLayout(LayoutMilestones) callback, since that is a Page-level concept, so it 
1681         should only fire for the main frame.
1682
1683         Only call didLayout for the main frame.
1684         * dom/Document.cpp:
1685         (WebCore::Document::setVisualUpdatesAllowed):
1686
1687         Assert that this is the main frame.
1688         * loader/FrameLoader.cpp:
1689         (WebCore::FrameLoader::didLayout):
1690
1691         Only call didLayout for the main frame.
1692         * page/FrameView.cpp:
1693         (WebCore::FrameView::performPostLayoutTasks):
1694
1695 2013-08-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1696
1697         Define DOM_KEY_LOCATION_* constants on KeyboardEvent
1698         https://bugs.webkit.org/show_bug.cgi?id=119341
1699
1700         Reviewed by Ryosuke Niwa.
1701
1702         Add support for the DOM_KEY_LOCATION_* constants on KeyboardEvent as per
1703         the specification:
1704         http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
1705
1706         Those constants are already supported by IE10, Firefox 22 and since
1707         recently Blink.
1708
1709         Note that the following constants are not supported / exposed yet:
1710         DOM_KEY_LOCATION_MOBILE and DOM_KEY_LOCATION_JOYSTICK.
1711
1712         Test: fast/events/keyboardevent-location-constants.html
1713
1714         * dom/KeyboardEvent.cpp:
1715         (WebCore::keyLocationCode):
1716         (WebCore::KeyboardEvent::KeyboardEvent):
1717         * dom/KeyboardEvent.h:
1718         * dom/KeyboardEvent.idl:
1719
1720 2013-08-12  Tim Horton  <timothy_horton@apple.com>
1721
1722         dataLog dumpers for WebCore's basic geometry types
1723         https://bugs.webkit.org/show_bug.cgi?id=119636
1724
1725         Reviewed by Filip Pizlo.
1726
1727         * platform/graphics/FloatPoint.cpp:
1728         (WebCore::FloatPoint::dump):
1729         * platform/graphics/FloatPoint.h:
1730         * platform/graphics/FloatRect.cpp:
1731         (WebCore::FloatRect::dump):
1732         * platform/graphics/FloatRect.h:
1733         * platform/graphics/FloatSize.cpp:
1734         (WebCore::FloatSize::dump):
1735         * platform/graphics/FloatSize.h:
1736         * platform/graphics/IntPoint.h:
1737         (WebCore::IntPoint::dump):
1738         * platform/graphics/IntRect.cpp:
1739         (WebCore::IntRect::dump):
1740         * platform/graphics/IntRect.h:
1741         * platform/graphics/IntSize.h:
1742         (WebCore::IntSize::dump):
1743
1744 2013-08-12  Dean Jackson  <dino@apple.com>
1745
1746         Shadows don't support viewport units
1747         https://bugs.webkit.org/show_bug.cgi?id=119649
1748
1749         Reviewed by Darin Adler.
1750
1751         We don't yet support viewport units in shadows, so
1752         fail parsing if we see one. The bug to fix this
1753         completely is: https://webkit.org/b/119650
1754
1755         Test: fast/css/shadow-viewport-units.html
1756
1757         * css/CSSParser.cpp:
1758         (WebCore::CSSParser::parseShadow): Fail if we get one of
1759         vh, vw, vmin, vmax.
1760
1761 2013-08-12  peavo@outlook.com  <peavo@outlook.com>
1762
1763         [Curl] Cookie is not set when url string is unicode.
1764         https://bugs.webkit.org/show_bug.cgi?id=119545
1765
1766         Reviewed by Brent Fulgham.
1767
1768         When the method setCookiesFromDOM is called with an unicode url parameter, the cookie is not correctly set.
1769         We need to convert the cookie string to 8 bit, before passing it to the Curl api function.
1770
1771         * platform/network/curl/CookieJarCurl.cpp:
1772         (WebCore::setCookiesFromDOM): Convert cookie string to 8 bit, if needed.
1773
1774 2013-08-12  Eric Carlson  <eric.carlson@apple.com>
1775
1776         Revert r153912 because it broke some track tests.
1777
1778         Rubber-stamped by Antti Koivisto.
1779
1780         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1781         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
1782         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack):
1783
1784 2013-08-12  Antti Koivisto  <antti@apple.com>
1785
1786         Add ElementTraversal::next/previousSibling
1787         https://bugs.webkit.org/show_bug.cgi?id=119681
1788
1789         Reviewed by Andreas Kling.
1790
1791         Add nextSibling/previousSibling/lastWithin to ElementTraversal namespace.
1792         
1793         - Use them to replace internal use of Element::next/previousElementSibling DOM API for traversal.
1794         - Replace some Node::nextSibling() usage with ElementTraversal::nextSibling() for tighter code.
1795         - Replace ElementTraversal::nextSkippingChildren where it is used to traverse over immediate children only.
1796
1797         * css/SelectorChecker.cpp:
1798         (WebCore::isFirstChildElement):
1799         (WebCore::isLastChildElement):
1800         (WebCore::isFirstOfType):
1801         (WebCore::isLastOfType):
1802         (WebCore::countElementsBefore):
1803         (WebCore::countElementsOfTypeBefore):
1804         (WebCore::countElementsAfter):
1805         (WebCore::countElementsOfTypeAfter):
1806         * dom/Element.cpp:
1807         (WebCore::Element::lastElementChild):
1808         (WebCore::Element::previousElementSibling):
1809         (WebCore::Element::nextElementSibling):
1810         * dom/Element.h:
1811         * dom/ElementTraversal.h:
1812         (WebCore::ElementTraversal::lastElementWithinTemplate):
1813         (WebCore::ElementTraversal::lastWithin):
1814         (WebCore::ElementTraversal::traverseNextSiblingElementTemplate):
1815         (WebCore::ElementTraversal::nextSibling):
1816         (WebCore::ElementTraversal::traversePreviousSiblingElementTemplate):
1817         (WebCore::ElementTraversal::previousSibling):
1818         * editing/ApplyStyleCommand.cpp:
1819         (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan):
1820         (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
1821         * editing/CompositeEditCommand.cpp:
1822         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1823         * editing/IndentOutdentCommand.cpp:
1824         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
1825         * editing/InsertListCommand.cpp:
1826         (WebCore::InsertListCommand::mergeWithNeighboringLists):
1827         * editing/markup.cpp:
1828         (WebCore::createContextualFragment):
1829         * html/HTMLCollection.cpp:
1830         (WebCore::firstMatchingChildElement):
1831         (WebCore::nextMatchingSiblingElement):
1832         (WebCore::HTMLCollection::traverseNextElement):
1833         (WebCore::HTMLCollection::traverseForwardToOffset):
1834         * html/HTMLFieldSetElement.cpp:
1835         (WebCore::HTMLFieldSetElement::childrenChanged):
1836         (WebCore::HTMLFieldSetElement::legend):
1837         * html/HTMLMediaElement.cpp:
1838         (WebCore::HTMLMediaElement::finishParsingChildren):
1839         * html/HTMLObjectElement.cpp:
1840         (WebCore::HTMLObjectElement::containsJavaApplet):
1841         * rendering/FilterEffectRenderer.cpp:
1842         (WebCore::FilterEffectRenderer::buildReferenceFilter):
1843         * style/StyleResolveTree.cpp:
1844         (WebCore::Style::resolveTree):
1845         * svg/SVGStyledElement.cpp:
1846         (WebCore::SVGStyledElement::title):
1847
1848 2013-08-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1849
1850         [Qt] Add Support for canvas blend modes
1851         https://bugs.webkit.org/show_bug.cgi?id=100072
1852
1853         Reviewed by Jocelyn Turcotte.
1854
1855         Implement basic support for the blend-modes supported by QPainter.
1856
1857         Covered by existing tests.
1858
1859         * platform/graphics/qt/GraphicsContextQt.cpp:
1860         (WebCore::toQtCompositionMode):
1861         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1862         * platform/graphics/qt/ImageBufferQt.cpp:
1863         (WebCore::ImageBuffer::draw):
1864         * platform/graphics/qt/ImageQt.cpp:
1865         (WebCore::BitmapImage::draw):
1866         * platform/graphics/qt/StillImageQt.cpp:
1867         (WebCore::StillImage::draw):
1868
1869 2013-08-12  Gabor Abraham  <abrhm@inf.u-szeged.hu>
1870
1871         Buildfix for !ENABLE(SVG). Fix warning by adding guard after r153901:
1872         void WebCore::addString(WebCore::FeatureSet&, const char*)'
1873         defined but not used [-Werror=unused-function]
1874
1875         Reviewed by Csaba Osztrogonác.
1876
1877         * dom/DOMImplementation.cpp:
1878
1879 2013-08-12  Antti Koivisto  <antti@apple.com>
1880
1881         Move ElementTraversal to ElementTraversal.h
1882         https://bugs.webkit.org/show_bug.cgi?id=119678
1883
1884         Rubber-stamped by Andreas Kling.
1885
1886         Move ElementTraversal namespace from NodeTraversal.h to a correctly named file.
1887
1888         * GNUmakefile.list.am:
1889         * Target.pri:
1890         * WebCore.vcxproj/WebCore.vcxproj:
1891         * WebCore.xcodeproj/project.pbxproj:
1892         * accessibility/AccessibilityRenderObject.cpp:
1893         * css/StyleInvalidationAnalysis.cpp:
1894         * dom/Document.cpp:
1895         * dom/DocumentOrderedMap.cpp:
1896         * dom/Element.cpp:
1897         * dom/ElementTraversal.h: Added.
1898         (WebCore::ElementTraversal::firstElementWithinTemplate):
1899         (WebCore::ElementTraversal::firstWithin):
1900         (WebCore::ElementTraversal::traverseNextElementTemplate):
1901         (WebCore::ElementTraversal::next):
1902         (WebCore::ElementTraversal::traverseNextElementSkippingChildrenTemplate):
1903         (WebCore::ElementTraversal::nextSkippingChildren):
1904         (WebCore::ElementTraversal::previousIncludingPseudo):
1905         (WebCore::ElementTraversal::nextIncludingPseudo):
1906         (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
1907         (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
1908         * dom/Node.cpp:
1909         * dom/NodeTraversal.h:
1910         * dom/SelectorQuery.cpp:
1911         * dom/TreeScope.cpp:
1912         * dom/VisitedLinkState.cpp:
1913         * editing/FrameSelection.cpp:
1914         * editing/markup.cpp:
1915         * html/HTMLCollection.cpp:
1916         * html/HTMLFieldSetElement.cpp:
1917         * html/HTMLFormElement.cpp:
1918         * html/HTMLLabelElement.cpp:
1919         * html/HTMLLegendElement.cpp:
1920         * html/HTMLMapElement.cpp:
1921         * html/HTMLObjectElement.cpp:
1922         * html/HTMLSelectElement.cpp:
1923         * html/shadow/ContentDistributor.cpp:
1924         * page/FocusController.cpp:
1925         * rendering/RenderCounter.cpp:
1926         * rendering/RenderListItem.cpp:
1927         * svg/SVGSVGElement.cpp:
1928         * svg/SVGStyledElement.cpp:
1929         * svg/SVGUseElement.cpp:
1930         * svg/animation/SMILTimeContainer.cpp:
1931         * svg/graphics/SVGImage.cpp:
1932
1933 2013-08-12  Antti Koivisto  <antti@apple.com>
1934
1935         Move some Document recalcStyle code to StyleResolveTree
1936         https://bugs.webkit.org/show_bug.cgi?id=119676
1937
1938         Reviewed by Andreas Kling.
1939
1940         Move the code that resolves the document and child styles to Style::resolveTree(Document*).
1941
1942         * dom/Document.cpp:
1943         (WebCore::Document::recalcStyle):
1944         * style/StyleResolveTree.cpp:
1945         (WebCore::Style::resolveTree):
1946         * style/StyleResolveTree.h:
1947
1948 2013-08-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1949
1950         Resource leak related to gstreamer and videos
1951         https://bugs.webkit.org/show_bug.cgi?id=109350
1952
1953         Reviewed by Eric Carlson.
1954
1955         Since active DOM object are only stopped once and can not be restarted, we can
1956         unreference the media player there, instead of waiting for garbage collection.
1957
1958         If the r152778 is rolled back, this also breaks a circular reference between
1959         GStreamer and WebKit which prevented garbage collecting from triggering.
1960
1961         * html/HTMLMediaElement.cpp:
1962         (WebCore::HTMLMediaElement::stop):
1963
1964 2013-08-12  Gabor Rapcsanyi  <rgabor@webkit.org>
1965
1966         [Qt] Unreviewed buildfix for webaudio.
1967
1968         * Target.pri: Add missing files
1969
1970 2013-08-12  Andreas Kling  <akling@apple.com>
1971
1972         Some build juice for the Windows bots after r153926 + r153927.
1973
1974         * html/shadow/MediaControlElements.cpp:
1975         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1976         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
1977         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
1978
1979 2013-08-11  Sam Weinig  <sam@webkit.org>
1980
1981         Move RenderMathMLSpace.h/cpp to the right group in the Xcode project.
1982
1983         Reviewed by Dean Jackson.
1984
1985         * WebCore.xcodeproj/project.pbxproj:
1986
1987 2013-08-11  Andreas Kling  <akling@apple.com>
1988
1989         Make Page::settings() return a reference.
1990         <http://webkit.org/b/119662>
1991
1992         Reviewed by Anders Carlsson.
1993
1994         ...and remove some pointless null checks that were exposed by doing this.
1995
1996 2013-08-11  Andreas Kling  <akling@apple.com>
1997
1998         Make some things that return never-null pointers return references instead.
1999         <http://webkit.org/b/119660>
2000
2001         Reviewed by Antti Koivisto.
2002
2003         These functions never return null anyway, so remove any ambiguity by letting
2004         them return references instead of pointers.
2005
2006         - Node::ensureRareData()
2007         - Element::ensureUniqueElementData()
2008         - Element::ensureShadow()
2009         - Element::ensureUserAgentShadowRoot()
2010         - StyledElement::ensureMutableInlineStyle()
2011         - NodeRareData::ensureNodeLists()
2012         - NodeRareData::ensureMutationObserverData()
2013         - EventTarget::ensureEventTargetData()
2014         - Document::ensureStyleResolver()
2015         - Document::selectorQueryCache()
2016         - Document::mediaQueryMatcher()
2017         - FlowThreadController::ensureRenderFlowThreadWithName()
2018         - HTMLTrackElement::ensureTrack()
2019         - SVGElement::ensureSVGRareData()
2020         - AnimationControllerPrivate::ensureCompositeAnimation()
2021
2022 2013-08-11  Sam Weinig  <sam@webkit.org>
2023
2024         Cleanup MediaQueryListListener
2025         https://bugs.webkit.org/show_bug.cgi?id=119664
2026
2027         Reviewed by Andreas Kling.
2028
2029         Make MediaQueryListListener a proper WebIDL callback.
2030
2031         * CMakeLists.txt:
2032         * DerivedSources.cpp:
2033         * DerivedSources.make:
2034         * DerivedSources.pri:
2035         * GNUmakefile.list.am:
2036         * Target.pri:
2037         * WebCore.vcxproj/WebCore.vcxproj:
2038         * WebCore.vcxproj/WebCore.vcxproj.filters:
2039         * WebCore.xcodeproj/project.pbxproj:
2040         Update project files.
2041
2042         * bindings/scripts/CodeGeneratorJS.pm:
2043         (GenerateCallbackHeader):
2044         (GenerateCallbackImplementation):
2045         (JSValueToNative):
2046         * bindings/scripts/IDLAttributes.txt:
2047         Add support for CallbackNeedsOperatorEqual, which adds an operator==.
2048
2049         * css/MediaAllInOne.cpp:
2050         Remove MediaQueryListListener.cpp.
2051
2052         * css/MediaQueryListListener.cpp:
2053         Removed.
2054
2055         * css/MediaQueryListListener.h:
2056         (WebCore::MediaQueryListListener::~MediaQueryListListener):
2057         (WebCore::MediaQueryListListener::MediaQueryListListener):
2058         * css/MediaQueryListListener.idl:
2059         Convert to a proper WebIDL callback.
2060
2061         * css/MediaQueryMatcher.cpp:
2062         (WebCore::MediaQueryMatcher::Listener::evaluate):
2063         (WebCore::MediaQueryMatcher::styleResolverChanged):
2064         * css/MediaQueryMatcher.h:
2065         Remove all traces of the ScriptState.
2066
2067 2013-08-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2068
2069         Unreviewed. Fix make distcheck.
2070
2071         * GNUmakefile.list.am: Remove unexistent header file.
2072
2073 2013-08-09  Gustavo Noronha Silva  <gns@gnome.org>
2074
2075         [GObject] Wrap KeyboardEvent
2076         https://bugs.webkit.org/show_bug.cgi?id=119651
2077
2078         Reviewed by Christophe Dumez.
2079
2080         This exposes KeyboardEvent to our GObject API. It is required for handling
2081         keyboard events, such as keydown, keypress, and so on.
2082
2083         * bindings/gobject/GNUmakefile.am:
2084         * bindings/gobject/WebKitDOMPrivate.cpp:
2085         (WebKit::wrap): make sure we create a WebKitDOMKeyboardEvent for a DOM event that
2086         is a KeyboardEvent.
2087         * bindings/scripts/CodeGeneratorGObject.pm:
2088         (GetBaseClass): make WebKitDOMEvent be WebKitDOMKeyboardEvent's parent, like we do
2089         for WebKitDOMMouseEvent.
2090         * dom/KeyboardEvent.idl: generate a single initialization method.
2091
2092 2013-08-09  Jer Noble  <jer.noble@apple.com>
2093
2094         Crash in com.apple.WebKit.WebContent at com.apple.MediaToolbox.
2095         https://bugs.webkit.org/show_bug.cgi?id=119645
2096
2097         Reviewed by Eric Carlson.
2098
2099         Work around crash caused by <rdar://problem/14688471> by releasing
2100         m_request as soon as keys have been added to it.
2101
2102         * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
2103         (WebCore::CDMSessionAVFoundation::update):
2104
2105 2013-08-09  Anders Carlsson  <andersca@apple.com>
2106
2107         Artifacts seen sometimes with layer backed WebKit1 plug-in
2108         https://bugs.webkit.org/show_bug.cgi?id=119647
2109         <rdar://problem/14002715>
2110
2111         Reviewed by Beth Dakin.
2112
2113         Don't try to paint layer backed views - they will be painted by Core Animation.
2114
2115         * platform/mac/WidgetMac.mm:
2116         (WebCore::Widget::paint):
2117
2118 2013-08-09  Rob Buis  <rwlbuis@webkit.org>
2119
2120         ASSERTION FAILED: stroke->opacity != other->stroke->opacity in WebCore::SVGRenderStyle::diff
2121         https://bugs.webkit.org/show_bug.cgi?id=119623
2122
2123         Reviewed by Dirk Schulze.
2124
2125         Include all the stroke attributes in the style diff comparison, the visited links ones were missing.
2126
2127         Test: svg/animations/animate-stroke-crasher.html
2128
2129         * rendering/style/SVGRenderStyle.cpp:
2130         (WebCore::SVGRenderStyle::diff):
2131
2132 2013-08-09  Alexey Proskuryakov  <ap@apple.com>
2133
2134         REGRESSION (r142755): window.open creates an invisible window when width and height are 0
2135         https://bugs.webkit.org/show_bug.cgi?id=119633
2136
2137         Reviewed by Darin Adler.
2138
2139         Test: fast/dom/Window/open-zero-size-as-default.html
2140
2141         Relying on each WebKit to refuse setting size to zero was fragile - because this
2142         required each one to have the check, and because by the time the client was called,
2143         the initially zero size was not necessarily zero.
2144
2145         * loader/FrameLoader.cpp: (WebCore::createWindow): When sizes are zero, keep the
2146         size the window was created with, because that's the default one by definition.
2147
2148         * page/DOMWindow.cpp: (WebCore::DOMWindow::adjustWindowRect): It's too late to
2149         check for zero size now, it's been mangled to adjust for the difference between
2150         window and viewport size.
2151
2152 2013-08-09  Eric Carlson  <eric.carlson@apple.com>
2153
2154         [Mac] some track language tags are not recognized
2155         https://bugs.webkit.org/show_bug.cgi?id=119643
2156
2157         Reviewed by Dean Jackson.
2158
2159         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2160         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Always call languageOfPrimaryAudioTrack(),
2161             a track may have changed so we may have a new language.
2162         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Call [AVAssetTrack languageCode]
2163             if [AVAssetTrack extendedLanguageTag] returns NULL in case the media file has an old
2164             QuickTime language code.
2165
2166 2013-08-09  Dean Jackson  <dino@apple.com>
2167
2168         Captions menu needs to reset text-align
2169         https://bugs.webkit.org/show_bug.cgi?id=119637
2170
2171         Reviewed by Eric Carlson.
2172
2173         Reset the text-align property on the menu so that it
2174         doesn't get the inherited value. The full fix for all
2175         controls is http://webkit.org/b/116100.
2176
2177         * css/mediaControlsQuickTime.css:
2178         (video::-webkit-media-controls-closed-captions-container):
2179
2180 2013-08-09  Beth Dakin  <bdakin@apple.com>
2181
2182         AX: Not able to use arrow keys to read text in a WK2 app
2183         https://bugs.webkit.org/show_bug.cgi?id=119605
2184         -and corresponding-
2185         <rdar://problem/14281275>
2186
2187         Reviewed by Darin Adler.
2188
2189         This code from defaultKeyboardEventHandler() is the magic that makes this AX 
2190         functionality work. This patch moves that into a separate function so that we can 
2191         call it from WK2.
2192         * WebCore.exp.in:
2193         * page/EventHandler.cpp:
2194         (WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):
2195         (WebCore::EventHandler::defaultKeyboardEventHandler):
2196         * page/EventHandler.h:
2197
2198 2013-08-09  Antti Koivisto  <antti@apple.com>
2199
2200         Move static StyleResolver functions to Style namespace
2201         https://bugs.webkit.org/show_bug.cgi?id=119629
2202
2203         Reviewed by Sam Weinig and Andreas Kling.
2204
2205         - Move static font size computation functions to StyleFontSizeFunctions.h/.cpp
2206         - Move StyleResolver::styleForDocument to Style::resolveForDocument
2207
2208         * WebCore.xcodeproj/project.pbxproj:
2209         * css/DeprecatedStyleBuilder.cpp:
2210         (WebCore::ApplyPropertyFontFamily::applyInitialValue):
2211         (WebCore::ApplyPropertyFontFamily::applyValue):
2212         (WebCore::ApplyPropertyFontSize::applyInitialValue):
2213         (WebCore::ApplyPropertyFontSize::applyValue):
2214         * css/StyleResolver.cpp:
2215         (WebCore::StyleResolver::adjustRenderStyle):
2216         (WebCore::checkForOrientationChange):
2217         (WebCore::StyleResolver::applyProperty):
2218         (WebCore::StyleResolver::checkForGenericFamilyChange):
2219         (WebCore::StyleResolver::initializeFontStyle):
2220         (WebCore::StyleResolver::setFontSize):
2221         * css/StyleResolver.h:
2222         * dom/Document.cpp:
2223         (WebCore::Document::recalcStyle):
2224         * editing/EditingStyle.cpp:
2225         (WebCore::legacyFontSizeFromCSSValue):
2226         * html/HTMLLinkElement.cpp:
2227         (WebCore::HTMLLinkElement::process):
2228         * rendering/style/RenderStyle.cpp:
2229         (WebCore::RenderStyle::getFontAndGlyphOrientation):
2230         
2231             Moved from StyleResolver.cpp so it can be used by Style::resolveForDocument().
2232             This depends on RenderStyle only so it is a natural member function.
2233
2234         * rendering/style/RenderStyle.h:
2235         * rendering/svg/RenderSVGInlineText.cpp:
2236         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
2237         * style/StyleFontSizeFunctions.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
2238         (WebCore::Style::computedFontSizeFromSpecifiedSize):
2239         (WebCore::Style::computedFontSizeFromSpecifiedSizeForSVGInlineText):
2240         (WebCore::Style::fontSizeForKeyword):
2241         (WebCore::Style::legacyFontSizeForPixelSize):
2242         * style/StyleFontSizeFunctions.h: Added.
2243         * style/StyleResolveForDocument.cpp: Added.
2244         (WebCore::Style::resolveForDocument):
2245         * style/StyleResolveForDocument.h: Added.
2246
2247 2013-08-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2248
2249         Add support for KeyboardEvent.location attribute
2250         https://bugs.webkit.org/show_bug.cgi?id=119326
2251
2252         Reviewed by Benjamin Poulain.
2253
2254         Add support for KeyboardEvent.location attribute as per the latest specification:
2255         http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-KeyboardEvent
2256
2257         IE10, Firefox 22 and recently Blink all support KeyboardEvent.location already.
2258
2259         The deprecated 'keyLocation' attribute was not removed to maintain backward
2260         compatibility.
2261
2262         No new tests, covered by existing tests.
2263
2264         * bindings/objc/PublicDOMInterfaces.h:
2265         * bindings/scripts/CodeGeneratorJS.pm:
2266         (GenerateConstructorDefinition):
2267         * dom/KeyboardEvent.cpp:
2268         (WebCore::KeyboardEventInit::KeyboardEventInit):
2269         (WebCore::KeyboardEvent::KeyboardEvent):
2270         (WebCore::KeyboardEvent::initKeyboardEvent):
2271         * dom/KeyboardEvent.h:
2272         (WebCore::KeyboardEvent::location):
2273         * dom/KeyboardEvent.idl:
2274
2275 2013-08-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2276
2277         Make atob() throw an InvalidCharacterError on excess padding characters
2278         https://bugs.webkit.org/show_bug.cgi?id=118898
2279
2280         Reviewed by Darin Adler.
2281
2282         According to the latest specification, window.atob() should throw an
2283         InvalidCharacterError on excess padding characters:
2284         http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#dom-windowbase64-atob
2285
2286         This behavior is consistent with both Firefox, IE10 and recently Blink.
2287
2288         No new tests, already covered by:
2289         fast/dom/Window/atob-btoa.html
2290
2291         * page/DOMWindow.cpp:
2292         (WebCore::DOMWindow::atob):
2293
2294 2013-08-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2295
2296         Make DOMImplementation::hasFeature() behave according to specification
2297         https://bugs.webkit.org/show_bug.cgi?id=119329
2298
2299         Reviewed by Ryosuke Niwa.
2300
2301         Make DOMImplementation::hasFeature() behave according to the latest specification:
2302         http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
2303
2304         Specifically, the function should now return true unconditionally for any non-SVG feature.
2305         This behavior is consistent with Firefox and since recently Blink.
2306
2307         hasFeature() originally would report whether the user agent claimed to support a
2308         given DOM feature, but experience proved it was not nearly as reliable or granular
2309         as simply checking whether the desired interfaces, attributes, or methods existed.
2310         As such, it should no longer be used, but continues to exist (and simply returns
2311         true) so that old pages don't stop working.
2312
2313         No new tests, covered by existing tests.
2314
2315         * dom/DOMImplementation.cpp:
2316         (WebCore::isSupportedSVG10Feature):
2317         (WebCore::isSupportedSVG11Feature):
2318         (WebCore::DOMImplementation::hasFeature):
2319
2320 2013-08-09  Alejandro G. Castro  <alex@igalia.com>
2321
2322         [GTK] [EFL] Enable tiled shadow blur for the inset shadows.
2323         https://bugs.webkit.org/show_bug.cgi?id=119078
2324
2325         Reviewed by Martin Robinson.
2326
2327         Already covered in the tests.
2328
2329         * platform/graphics/GraphicsContext.cpp:
2330         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2331         (WebCore::fillCurrentCairoPath): Added to allow fill the path
2332         without the shadow.
2333         (WebCore::shadowAndFillCurrentCairoPath):
2334         (WebCore::GraphicsContext::fillRectWithRoundedHole): Added cairo
2335         implementation.
2336
2337 2013-08-09  Jakob Petsovits  <jpetsovits@blackberry.com>
2338
2339         [BlackBerry] Don't release the canvas Drawable, flush it directly instead.
2340         https://bugs.webkit.org/show_bug.cgi?id=119589
2341         https://jira.bbqnx.net/browse/BRWSR-12531
2342         JIRA 444857
2343
2344         Reviewed by George Staikos.
2345
2346         The previous code here used releaseBufferDrawable() to
2347         flush painted ImageBuffer contents, but then proceeded
2348         to use that released Drawable for further painting
2349         without ever locking a new one.
2350
2351         In an implementation that actually releases the Drawable
2352         rather than keeping it around and just flushing it,
2353         this will wreak havoc as bad as black screens or crashes.
2354
2355         As a solution that doesn't require the ImageBuffer object
2356         to swap out its m_canvas member for a new Drawable, we can
2357         access the PlatformGraphicsContext::flush() method directly
2358         to achieve the same effect as was previously intended by
2359         calling releaseBufferDrawable(). All it needs is letting
2360         the canvas layer know about the Drawable so it can call
2361         that flush() method by itself.
2362
2363         No new tests, verified by not crashing with an aforementioned
2364         implementation of releaseBufferDrawable().
2365
2366         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2367         (WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
2368         (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
2369         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
2370         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
2371         (WebCore::CanvasLayerWebKitThread::create):
2372         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
2373         (WebCore::ImageBuffer::ImageBuffer):
2374         (WebCore::ImageBuffer::~ImageBuffer):
2375
2376 2013-08-08  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2377
2378         [Qt][WK2] Composited and transformed links asserts in tap highlight
2379         https://bugs.webkit.org/show_bug.cgi?id=94345
2380
2381         Reviewed by Jocelyn Turcotte.
2382
2383         Use a mapping that does not assert when hitting transforms. We still skip
2384         transforms that produces non-rectangular areas.
2385
2386         * page/GestureTapHighlighter.cpp:
2387
2388 2013-08-09  Gabor Abraham  <abrhm@inf.u-szeged.hu>
2389
2390         Buildfix. Fix warning after r153887:
2391         control reaches end of non-void function [-Werror=return-type]
2392
2393         Reviewed by Csaba Osztrogonác.
2394
2395         * svg/SVGAnimateElement.cpp:
2396         (WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition):
2397
2398 2013-08-09  Bruno de Oliveira Abinader  <bruno.d@partner.samsung.com>
2399
2400         Text decorations should be listed as non-inheritable
2401         https://bugs.webkit.org/show_bug.cgi?id=119608
2402
2403         Reviewed by Andreas Kling.
2404
2405         Both "text-decoration" specs (CSS 2.1, CSS 3) and "text-decoration-line"
2406         spec (CSS 3) states these properties are not inherited (w/ exceptions,
2407         which are currently handled by -in-effect property), however those were
2408         listed as inherited for no reason - thus preserving behavior as shown by
2409         layout test results.
2410
2411         Backported from Blink: https://codereview.chromium.org/20751008
2412
2413         Updated getComputedStyle tests for both 'text-decoration' and
2414         'text-decoration-line' properties to check that both are not implicitly
2415         inherited.
2416
2417         * css/CSSProperty.cpp:
2418         (WebCore::CSSProperty::isInheritedProperty):
2419
2420 2013-08-09  Andreas Kling  <akling@apple.com>
2421
2422         I wish we had a Windows EWS. :(
2423
2424         * css/ElementRuleCollector.cpp:
2425         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList): No range-based for today.
2426
2427 2013-08-09  Rob Buis  <rwlbuis@webkit.org>
2428
2429         ASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
2430         https://bugs.webkit.org/show_bug.cgi?id=113224
2431
2432         Reviewed by Darin Adler.
2433
2434         Do not perform from-by animations for non-additive attributes.
2435
2436         Test: svg/animations/non-additive-type-from-by-animation.html
2437
2438         * svg/SVGAnimateElement.cpp:
2439         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2440         (WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition):
2441         (WebCore::SVGAnimateElement::isAdditive):
2442         * svg/SVGAnimateElement.h:
2443
2444 2013-08-09  Rob Buis  <rwlbuis@webkit.org>
2445
2446         ASSERT(m_type == toSVGTransform.type())
2447         https://bugs.webkit.org/show_bug.cgi?id=113217
2448
2449         Reviewed by Darin Adler.
2450
2451         For to animations clear the transform list while animating and reset to it after the animation is done.
2452         This matches Firefox and Opera 12 behavior.
2453
2454         Tests: svg/animations/animateTransform-to-scale-expected.svg
2455                svg/animations/animateTransform-to-scale.svg
2456
2457         * svg/SVGAnimatedTransformList.cpp:
2458         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
2459
2460 2013-08-09  Arunprasad Rajkumar  <arurajku@cisco.com>
2461
2462         [Qt] QtWebKit should allow sending domain specific keycode to HTML applications
2463         https://bugs.webkit.org/show_bug.cgi?id=118445
2464
2465         Reviewed by Allan Sandfeld Jensen.
2466
2467         No new test required, it is covered by QtWebKit API test.
2468
2469         This fix allows sending QKeyEvent::nativeVirtualKey as the DOM KeyboardEvent keyCode value instead
2470         of Windows virtual key code. It can be enabled/disabled using "_q_useNativeVirtualKeyAsDOMKey"
2471         dynamic property present in QWebPage.
2472
2473         * platform/PlatformKeyboardEvent.h:
2474         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2475         * platform/qt/PlatformKeyboardEventQt.cpp:
2476         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2477         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2478
2479 2013-08-09  Renata Hodovan  <reni@webkit.org>
2480
2481         Missing NULL check in ApplyStyleCommand::applyInlineStyleToNodeRange()
2482         https://bugs.webkit.org/show_bug.cgi?id=119570
2483
2484         Reviewed by Ryosuke Niwa.
2485
2486         The m_mutableStyleSet of EditingStyle can be NULL in ApplyStyleCommand::applyInlineStyleToNodeRange but
2487         this scenario was not checked earlier.
2488
2489         Test: editing/execCommand/null-style-crash.html
2490
2491         * css/StylePropertySet.cpp:
2492         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
2493         * css/StylePropertySet.h:
2494         * css/ViewportStyleResolver.cpp:
2495         (WebCore::ViewportStyleResolver::addViewportRule):
2496         * editing/ApplyStyleCommand.cpp:
2497         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2498         * editing/EditingStyle.cpp:
2499         (WebCore::styleFromMatchedRulesForElement):
2500         (WebCore::EditingStyle::mergeStyleFromRules):
2501         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2502
2503 2013-08-09  Andreas Kling  <akling@apple.com>
2504
2505         ElementRuleCollector: Use range-based for syntax in rule collection loop.
2506         <http://webkit.org/b/119617>
2507         <rdar://problem/14695311>
2508
2509         Reviewed by Antti Koivisto.
2510
2511         * css/ElementRuleCollector.cpp:
2512         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
2513
2514 2013-08-09  Andreas Kling  <akling@apple.com>
2515
2516         StyleRule*::properties() should return const references.
2517         <http://webkit.org/b/119596>
2518
2519         Reviewed by Antti Koivisto.
2520
2521         Make StyleRule::properties() & friends return const-references instead of
2522         pointers. This exposed some pointless null checking, since rules should
2523         always have properties.
2524
2525         All rule objects that contain properties now require a StylePropertySet at
2526         the time of construction instead having you call setProperties() later.
2527
2528         The only rules that could ever have null properties were the default-inserted
2529         animation keyframe rules for 0% and 100% that we'd conjure up if the author
2530         didn't provide them. Now they just have an empty property set instead.
2531
2532         * css/CSSFontFaceRule.cpp:
2533         (WebCore::CSSFontFaceRule::cssText):
2534         * css/CSSFontSelector.cpp:
2535         (WebCore::CSSFontSelector::addFontFaceRule):
2536         * css/CSSPageRule.cpp:
2537         (WebCore::CSSPageRule::cssText):
2538         * css/CSSParser.cpp:
2539         (WebCore::CSSParser::createFilterRule):
2540         (WebCore::CSSParser::createStyleRule):
2541         (WebCore::CSSParser::createFontFaceRule):
2542         (WebCore::CSSParser::rewriteSpecifiers):
2543         * css/CSSStyleRule.cpp:
2544         (WebCore::CSSStyleRule::cssText):
2545         * css/ElementRuleCollector.cpp:
2546         (WebCore::leftToRightDeclaration):
2547         (WebCore::rightToLeftDeclaration):
2548         (WebCore::ElementRuleCollector::addElementStyleProperties):
2549         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
2550         * css/PageRuleCollector.cpp:
2551         (WebCore::PageRuleCollector::matchPageRulesForList):
2552         * css/StylePropertySet.cpp:
2553         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
2554         * css/StylePropertySet.h:
2555         * css/StyleResolver.cpp:
2556         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
2557         (WebCore::StyleResolver::styleForKeyframe):
2558         (WebCore::StyleResolver::keyframeStylesForAnimation):
2559         * css/StyleResolver.h:
2560         * css/StyleRule.cpp:
2561         (WebCore::StyleRule::StyleRule):
2562         (WebCore::StyleRule::create):
2563         (WebCore::StyleRulePage::StyleRulePage):
2564         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
2565         (WebCore::StyleRuleViewport::StyleRuleViewport):
2566         (WebCore::StyleRuleViewport::mutableProperties):
2567         (WebCore::StyleRuleFilter::StyleRuleFilter):
2568         * css/StyleRule.h:
2569         (WebCore::StyleRule::create):
2570         (WebCore::StyleRule::properties):
2571         (WebCore::StyleRuleFontFace::create):
2572         (WebCore::StyleRuleFontFace::properties):
2573         (WebCore::StyleRulePage::create):
2574         (WebCore::StyleRulePage::properties):
2575         (WebCore::StyleRuleViewport::create):
2576         (WebCore::StyleRuleViewport::properties):
2577         (WebCore::StyleRuleFilter::create):
2578         (WebCore::StyleRuleFilter::properties):
2579         * css/StyleSheetContents.cpp:
2580         (WebCore::StyleSheetContents::addSubresourceStyleURLs):
2581         (WebCore::childRulesHaveFailedOrCanceledSubresources):
2582         * css/WebKitCSSFilterRule.cpp:
2583         (WebCore::WebKitCSSFilterRule::cssText):
2584         * css/WebKitCSSKeyframeRule.cpp:
2585         (WebCore::StyleKeyframe::StyleKeyframe):
2586         (WebCore::StyleKeyframe::mutableProperties):
2587         * css/WebKitCSSKeyframeRule.h:
2588         (WebCore::StyleKeyframe::create):
2589         (WebCore::StyleKeyframe::properties):
2590         * css/WebKitCSSViewportRule.cpp:
2591         (WebCore::WebKitCSSViewportRule::cssText):
2592         * editing/ApplyStyleCommand.cpp:
2593         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2594         * editing/EditingStyle.cpp:
2595         (WebCore::EditingStyle::mergeStyleFromRules):
2596         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2597         * inspector/InspectorStyleSheet.cpp:
2598         (WebCore::InspectorStyleSheet::revalidateStyle):
2599         * page/PageSerializer.cpp:
2600         (WebCore::PageSerializer::retrieveResourcesForRule):
2601         * svg/SVGFontFaceElement.cpp:
2602         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2603         (WebCore::SVGFontFaceElement::fontFamily):
2604         (WebCore::SVGFontFaceElement::rebuildFontFace):
2605
2606 2013-08-09  Julien Brianceau  <jbrianceau@nds.com>
2607
2608         [Qt] Fix build (broken by changeset r153826).
2609         https://bugs.webkit.org/show_bug.cgi?id=119616
2610
2611         Reviewed by Andreas Kling.
2612
2613         * xml/parser/XMLDocumentParserQt.cpp:
2614         (WebCore::XMLDocumentParser::XMLDocumentParser):
2615
2616 2013-08-08  Tim Horton  <timothy_horton@apple.com>
2617
2618         navigator.plugins has plugins in it when plugins are disabled
2619         https://bugs.webkit.org/show_bug.cgi?id=119607
2620         <rdar://problem/14678030>
2621
2622         Reviewed by Anders Carlsson.
2623
2624         Test: plugins/navigator-plugins-disabled.html
2625
2626         * page/Settings.cpp:
2627         (WebCore::Settings::setPluginsEnabled):
2628         Refresh the plugin database when plugins are enabled or disabled.
2629         This is necessary to ensure that navigator.plugins will have the
2630         correct set of plugins after dynamically changing whether plugins
2631         are enabled, which makes the test for this patch possible (but it
2632         makes sense in the browser as well).
2633
2634 2013-08-08  Timothy Hatcher  <timothy@apple.com>
2635
2636         Allow SVG images to be drawn into canvas without tainting.
2637         https://bugs.webkit.org/show_bug.cgi?id=119492
2638
2639         Reviewed by Darin Adler.
2640
2641         Tests: svg/as-image/svg-canvas-not-tainted.html
2642                svg/as-image/svg-canvas-link-not-colored.html
2643                svg/as-image/svg-canvas-xhtml-tainted.html
2644
2645         * html/HTMLAnchorElement.cpp:
2646         (WebCore::HTMLAnchorElement::parseAttribute): Call shouldProhibitLinks.
2647         (WebCore::shouldProhibitLinks): Added.
2648         * html/HTMLAnchorElement.h:
2649         * html/HTMLImageElement.cpp:
2650         (WebCore::HTMLImageElement::parseAttribute): Call shouldProhibitLinks.
2651         * rendering/svg/RenderSVGRoot.cpp:
2652         (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage): Use isInSVGImage.
2653         * svg/SVGAElement.cpp:
2654         (WebCore::SVGAElement::svgAttributeChanged): Call shouldProhibitLinks.
2655         * svg/graphics/SVGImage.cpp:
2656         (WebCore::SVGImage::hasSingleSecurityOrigin): Added.
2657         (WebCore::isInSVGImage): Added.
2658         * svg/graphics/SVGImage.h:
2659
2660 2013-08-08  Simon Fraser  <simon.fraser@apple.com>
2661
2662         Fix ASSERT(m_contentsSolidColor.isValid()) assertion on iOS at nytimes.com
2663         https://bugs.webkit.org/show_bug.cgi?id=119603
2664
2665         Reviewed by Dean Jackson.
2666
2667         On iOS it's possible for a GraphicsLayer to transition between having
2668         a solid background color, and containing media. This happens on nytimes.com
2669         when playing video.
2670         
2671         In this case, GraphicsLayerCA::updateContentsColorLayer() would assert
2672         because m_contentsLayer had been already set up to contain media, but
2673         it would be trying to update the color.
2674         
2675         Fix by bailing from all the updateContents* functions if there is no
2676         contents layer, or that layer exists for a different purpose.
2677
2678         * platform/graphics/ca/GraphicsLayerCA.cpp:
2679         (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
2680         (WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
2681         (WebCore::GraphicsLayerCA::updateContentsColorLayer):
2682
2683 2013-08-08  Commit Queue  <commit-queue@webkit.org>
2684
2685         Unreviewed, rolling out r153847.
2686         http://trac.webkit.org/changeset/153847
2687         https://bugs.webkit.org/show_bug.cgi?id=119609
2688
2689         caused new SVG animation test failures (Requested by smfr on
2690         #webkit).
2691
2692         * svg/SVGAnimateElement.cpp:
2693         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2694
2695 2013-08-08  Simon Fraser  <simon.fraser@apple.com>
2696
2697         Kill updateStyleForAllDocuments()
2698         https://bugs.webkit.org/show_bug.cgi?id=118093
2699
2700         Reviewed by Geoff Garen.
2701
2702         We should never have to eagerly update style, especially for all documents
2703         that the process knows about. The WebKit model is to update style when
2704         required for layout etc, not to update it eagerly.
2705         
2706         This is historical code whose origins are lost in the mists of KHTML.
2707         r42384 makes it possible to do away with this eager updating, and
2708         r55568 removed some calls. Discussion in bug 32580 suggests that
2709         form control code still need this, but tests still pass without it.
2710
2711         * bindings/js/JSCallbackData.cpp:
2712         (WebCore::JSCallbackData::invokeCallback):
2713         * bindings/js/JSCustomXPathNSResolver.cpp:
2714         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2715         * dom/Document.cpp:
2716         (WebCore::Document::scheduleStyleRecalc):
2717         (WebCore::Document::unscheduleStyleRecalc):
2718         * dom/Document.h:
2719         * dom/Element.cpp:
2720         (WebCore::Element::setActive):
2721
2722 2013-08-08  Jer Noble  <jer.noble@apple.com>
2723
2724         [EME] MediaKey APIs should be prefixed.
2725         https://bugs.webkit.org/show_bug.cgi?id=119606
2726
2727         Reviewed by Anders Carlsson.
2728
2729         No new tests; updated exsisting tests with new names.
2730
2731         Prefix all new classes with "WebKit" and new methods on existing unprefixed
2732         classes with "webkit"
2733
2734         * Modules/encryptedmedia/MediaKeyMessageEvent.idl: MediaKeyMessageEvent -> WebKitMediaKeyMessageEvent
2735         * Modules/encryptedmedia/MediaKeySession.idl: MediaKeySession -> WebKitMediaKeySession
2736         * Modules/encryptedmedia/MediaKeys.idl: MediaKeys -> WebKitMediaKeys
2737         * html/HTMLMediaElement.idl: keys -> webkitKeys, setMediaKeys -> webkitSetMediaKeys
2738         * html/MediaKeyError.idl: MediaKeyError -> WebKitMediaKeyError
2739
2740 2013-08-08  Jer Noble  <jer.noble@apple.com>
2741
2742         [EME] setMediaKeys function as defined in the EME specification does not work
2743         https://bugs.webkit.org/show_bug.cgi?id=119597
2744
2745         Reviewed by Anders Carlsson.
2746
2747         No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html
2748
2749         Rename the mediaKeys attribute 'keys' and make readonly, and add an explicit
2750         setMediaKeys() method in HTMLMediaElement's IDL.
2751
2752         * html/HTMLMediaElement.h:
2753         (WebCore::HTMLMediaElement::keys):
2754         * html/HTMLMediaElement.idl:
2755
2756 2013-08-06  Sam Weinig  <sam@webkit.org>
2757
2758         Hashing SecurityOrigin's can lead to trouble if you mutate them :(
2759         https://bugs.webkit.org/show_bug.cgi?id=119533
2760         <rdar://problem/12978338>
2761
2762         Reviewed by Andreas Kling.
2763
2764         We are getting into trouble in the following circumstance:
2765         - You have a HashMap<RefPtr<SecurityOrigin>, Value> map.
2766         - You add security origin A (http, www.webkit.org, 80) to the map.
2767         - You mutate security origin A by domain relaxation, so that it has the domain webkit.org.
2768         - You add security origin B (http, www.webkit.org, 80) to the map.
2769         - You mutate security origin B by domain relaxation, so that it has the domain webkit.org.
2770             You now have two identical keys in the map.
2771         - Add few more items to the map causing a rehash.
2772         - When you try to add A and B back into the map, you will have a collision, because they now equal each other.
2773
2774         We should probably stop using SecurityOrigins as keys in HashMaps (and move to using a non-mutable SecurityOriginTuple,
2775         or something), but for now, we can just only use the scheme / host / port part for equality, which is what all the users
2776         really want.
2777
2778         * page/SecurityOriginHash.h:
2779         (WebCore::SecurityOriginHash::equal):
2780         Switch to using isSameSchemeHostPort() for SecurityOriginHash::equal().
2781
2782 2013-08-08  Rob Buis  <rwlbuis@webkit.org>
2783
2784         ASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
2785         https://bugs.webkit.org/show_bug.cgi?id=113224
2786
2787         Reviewed by Dirk Schulze.
2788
2789         Do not perform from-by animations for non-additive attributes.
2790
2791         Test: svg/animations/non-additive-type-from-by-animation.html
2792
2793         * svg/SVGAnimateElement.cpp:
2794         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2795
2796 2013-08-08  Brent Fulgham  <bfulgham@apple.com>
2797
2798         [Windows] Improper Caption Button Displayed to Users
2799         https://bugs.webkit.org/show_bug.cgi?id=119593 
2800
2801         Reviewed by Eric Carlson.
2802
2803         Remove the custom drawing code for the Windows port, and
2804         have it render using the CSS/SVG markup like we do on OS X.
2805
2806         * rendering/RenderThemeWin.cpp: Remove drawing code.
2807         * rendering/RenderThemeWin.h: Remove declaration.
2808
2809 2013-08-08  Alex Christensen  <achristensen@apple.com>
2810
2811         Work towards WebGL on AppleWin port.
2812         https://bugs.webkit.org/show_bug.cgi?id=119562
2813
2814         Reviewed by Brent Fulgham.
2815
2816         * WebCore.vcxproj/WebCore.vcxproj:
2817         Build GLContext.cpp and GraphicsContext3DPrivate.cpp on AppleWin port.
2818         * WebCore.vcxproj/WebCore.vcxproj.filters:
2819         Moved GLContext and GraphicsContext3DPrivate from Cairo filter to graphics.
2820         * platform/graphics/GraphicsContext3D.h:
2821         Added m_webGLLayer for AppleWin port.
2822         * platform/graphics/GraphicsContext3DPrivate.cpp:
2823         Protected inclusion of PlatformContextCairo.h in USE(CAIRO) macro for non-cairo ports.
2824         * platform/graphics/win/GraphicsContext3DWin.cpp:
2825         Removed stub GraphicsContext3DPrivate implementation in favor of GraphicsContext3DPrivate.cpp.
2826         (WebCore::GraphicsContext3D::GraphicsContext3D):
2827         Added GraphicsContext3DPrivate and PlatformCALayer initialization.
2828         (WebCore::GraphicsContext3D::makeContextCurrent):
2829         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
2830         Added implementation based on Cairo ports' to be refactored soon.
2831         (WebCore::GraphicsContext3D::platformLayer):
2832         Return PlatformCALayer's PlatformLayer instead of 0.
2833
2834 2013-08-08  Jer Noble  <jer.noble@apple.com>
2835
2836         [EME] Implement MediaKeys.isTypeSupported()
2837         https://bugs.webkit.org/show_bug.cgi?id=119586
2838
2839         Reviewed by Eric Carlson.
2840
2841         Test: media/encrypted-media/encrypted-media-is-type-supported.html
2842
2843         The EME spec has removed the extra keySystem parameter from
2844         HTMLMediaElement.canPlayType() in favor of a new isTypeSupported()
2845         method on MediaKeys.
2846
2847         To implement this method, the CDMFactory needs to know whether the
2848         registered CDM supports the specified mime type.  CDMs must register
2849         this new factory method, which requires changes to CDMPrivateAVFoundation
2850         and MockCDM.
2851
2852         Add the new MediaKeys.isTypeSupported() method:
2853         * Modules/encryptedmedia/MediaKeys.cpp:
2854         (WebCore::MediaKeys::isTypeSupported):
2855         * Modules/encryptedmedia/MediaKeys.h:
2856         * Modules/encryptedmedia/MediaKeys.idl:
2857
2858         Add the new factory CDMSupportsKeySystemAndMimeType method:
2859         * Modules/encryptedmedia/CDM.cpp:
2860         (WebCore::CDMFactory::CDMFactory): Now takes a third parameter.
2861         (WebCore::installedCDMFactories): When adding the AVFoundation CDM, pass its new method.
2862         (WebCore::CDM::registerCDMFactory): Now takes a third parameter.
2863         (WebCore::CDM::keySystemSupportsMimeType): Added.
2864         * Modules/encryptedmedia/CDM.h:
2865         * WebCore.exp.in:
2866
2867         Register this new method with the factory for all concrete CDMs:
2868         * Modules/encryptedmedia/CDMPrivateAVFoundation.h:
2869         * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
2870         (WebCore::CDMPrivateAVFoundation::supportsKeySystem):
2871         (WebCore::CDMPrivateAVFoundation::supportsKeySystemAndMimeType):
2872         * testing/Internals.cpp:
2873         (WebCore::Internals::initializeMockCDM):
2874         * testing/MockCDM.cpp:
2875         (WebCore::MockCDM::supportsKeySystem):
2876         (WebCore::MockCDM::supportsKeySystemAndMimeType):
2877         * testing/MockCDM.h:
2878
2879 2013-08-08  Rob Buis  <rwlbuis@webkit.org>
2880
2881         Crash in WTF::RefPtr<WebCore::SpaceSplitStringData>::operator UnspecifiedBoolType
2882         https://bugs.webkit.org/show_bug.cgi?id=118839
2883
2884         Reviewed by Darin Adler.
2885
2886         Take into account that elementData() can be null in classAttributeChanged.
2887
2888         Test: svg/animations/classAttributeSettingCrash.html
2889
2890         * dom/Element.cpp:
2891         (WebCore::Element::classAttributeChanged):
2892
2893 2013-08-08  Robert Hogan  <robert@webkit.org>
2894
2895         REGRESSION(r147019): Page has extra space
2896         https://bugs.webkit.org/show_bug.cgi?id=119424
2897
2898         Reviewed by David Hyatt.
2899
2900         Clear the overflow rect before recomputing it in table sections.
2901
2902         No new tests: the reduction uses jquery and I was unable to simulate the reduction without it.
2903
2904         * rendering/RenderTableSection.cpp:
2905         (WebCore::RenderTableSection::layoutRows):
2906         (WebCore::RenderTableSection::computeOverflowFromCells):
2907
2908 2013-08-08  Andreas Kling  <akling@apple.com>
2909
2910         Inserting multiple rules into an empty style sheet should avoid style recalc if possible.
2911         <http://webkit.org/b/119568>
2912
2913         Reviewed by Antti Koivisto.
2914
2915         As a follow-up to <http://webkit.org/b/119475>, where I added a hack for inserting
2916         a single rule into an empty style sheet, this broadens the optimization to support
2917         any number of rules.
2918
2919         This optimizes the scenario where a style sheet is added to the DOM and then populated
2920         rule-by-rule via CSSOM insertRule()/addRule() calls. Previously we'd do a full style
2921         recalc for this case, but now we'll treat it the same as a full sheet added at once.
2922
2923         * css/CSSStyleSheet.h:
2924         * css/CSSStyleSheet.cpp:
2925         (WebCore::CSSStyleSheet::willMutateRules):
2926
2927             Made willMutateRules() return whether the style sheet contents were cloned by the
2928             copy-on-write mechanism.
2929
2930         * dom/Document.h:
2931         (WebCore::CSSStyleSheet::didMutateRules):
2932         (WebCore::CSSStyleSheet::insertRule):
2933
2934             Replaced the InsertionIntoEmptySheet mutation type by a general RuleInsertion.
2935             The mutation callback checks if we're inserting into a rule that's not (yet) part
2936             of the document's active sheet set. In that case, we defer doing the style sheet
2937             until all the insertions are done (or something forces us to style+layout.)
2938
2939             Note that this optimization only happens if the style sheet had a single client.
2940             Shared style sheets that just got cloned before mutation may have pointers into
2941             them from the Document's StyleResolver, so we're forced to do an immediate sheet
2942             update in that case.
2943
2944         (WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
2945         (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
2946
2947             Moved these out-of-line.
2948
2949         (WebCore::CSSStyleSheet::didMutateRuleFromCSSStyleDeclaration):
2950         * css/PropertySetCSSStyleDeclaration.cpp:
2951         (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
2952
2953             Made a separate mutation callback for CSSStyleDeclaration since its needs are
2954             so simple compared to the mutation callback from CSSStyleSheet. Seems better
2955             than adding yet another mode to the enum.
2956
2957         * dom/Document.cpp:
2958         (WebCore::Document::Document):
2959         (WebCore::Document::recalcStyle):
2960         (WebCore::Document::styleResolverChanged):
2961         (WebCore::Document::optimizedStyleSheetUpdateTimerFired):
2962         (WebCore::Document::scheduleOptimizedStyleSheetUpdate):
2963
2964             Added mechanism to defer doing a RecalcStyleIfNeeded.
2965
2966         (WebCore::Document::updateStyleIfNeeded):
2967
2968             Synchronize the optimized style sheet update if there's one scheduled.
2969             This ensures that stuff like layout-dependent property access won't operate
2970             on stale style.
2971
2972         * dom/DocumentStyleSheetCollection.h:
2973         (WebCore::DocumentStyleSheetCollection::pendingUpdateType):
2974         (WebCore::DocumentStyleSheetCollection::setPendingUpdateType):
2975         (WebCore::DocumentStyleSheetCollection::flushPendingUpdates):
2976         * dom/DocumentStyleSheetCollection.cpp:
2977         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
2978         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
2979
2980             Have DSSC track the kind of style sheet update it needs to do (instead of just
2981             a boolean "needs update.") This is used by Document::recalcStyle() to make sure
2982             the right kind of update happens if there's one scheduled.
2983
2984         (WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):
2985
2986             Added helper to check if a CSSStyleSheet is part of the active set.
2987
2988 2013-08-08  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2989
2990         [WK1] NPStream::headers not initialized
2991         https://bugs.webkit.org/show_bug.cgi?id=119574
2992
2993         Reviewed by Alexey Proskuryakov.
2994
2995         Initialize the header field. According to user feedback that should solve some
2996         cases of random crashes when loading plugins on Mac and Windows.
2997
2998         * plugins/PluginStream.cpp:
2999         (WebCore::PluginStream::PluginStream):
3000
3001 2013-08-08  Andreas Kling  <akling@apple.com>
3002
3003         Element: Modernize attribute storage accessor functions.
3004         <http://webkit.org/b/119578>
3005
3006         Reviewed by Antti Koivisto.
3007
3008         Rename these functions to more WebKit-style names.
3009
3010         - const Attribute* attributeItem(index) => const Attribute& attributeAt(index)
3011         - const Attribute* getAttributeItem(name) => const Attribute* findAttributeByName(name)
3012         - unsigned getAttributeItemIndex(name) => unsigned findAttributeIndexByName(name)
3013
3014         Note that attributeAt() now returns a reference instead of a pointer. That's right.
3015
3016         * css/SelectorChecker.cpp:
3017         (WebCore::attributeValueMatches):
3018         (WebCore::anyAttributeMatches):
3019         * css/SelectorChecker.h:
3020         (WebCore::SelectorChecker::checkExactAttribute):
3021         * dom/Attr.cpp:
3022         (WebCore::Attr::elementAttribute):
3023         * dom/DatasetDOMStringMap.cpp:
3024         (WebCore::DatasetDOMStringMap::getNames):
3025         (WebCore::DatasetDOMStringMap::item):
3026         (WebCore::DatasetDOMStringMap::contains):
3027         * dom/Element.cpp:
3028         (WebCore::Element::detachAttribute):
3029         (WebCore::Element::removeAttribute):
3030         (WebCore::Element::getAttribute):
3031         (WebCore::Element::setAttribute):
3032         (WebCore::Element::setSynchronizedLazyAttribute):
3033         (WebCore::Element::setAttributeInternal):
3034         (WebCore::Element::setAttributeNode):
3035         (WebCore::Element::removeAttributeNode):
3036         (WebCore::Element::removeAttributeInternal):
3037         (WebCore::Element::getAttributeNode):
3038         (WebCore::Element::getAttributeNodeNS):
3039         (WebCore::Element::hasAttribute):
3040         (WebCore::Element::hasAttributeNS):
3041         (WebCore::Element::computeInheritedLanguage):
3042         (WebCore::Element::normalizeAttributes):
3043         (WebCore::Element::getURLAttribute):
3044         (WebCore::Element::getNonEmptyURLAttribute):
3045         (WebCore::Element::detachAllAttrNodesFromElement):
3046         (WebCore::Element::cloneAttributesFromElement):
3047         (WebCore::ElementData::isEquivalent):
3048         (WebCore::ElementData::findAttributeIndexByNameSlowCase):
3049         (WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
3050         (WebCore::UniqueElementData::findAttributeByName):
3051         (WebCore::UniqueElementData::attributeAt):
3052         * dom/Element.h:
3053         (WebCore::Element::findAttributeIndexByName):
3054         (WebCore::Element::fastHasAttribute):
3055         (WebCore::Element::fastGetAttribute):
3056         (WebCore::Element::attributeAt):
3057         (WebCore::Element::findAttributeByName):
3058         (WebCore::ElementData::findAttributeByName):
3059         (WebCore::ElementData::findAttributeIndexByName):
3060         (WebCore::ElementData::attributeAt):
3061         * dom/NamedNodeMap.cpp:
3062         (WebCore::NamedNodeMap::removeNamedItem):
3063         (WebCore::NamedNodeMap::removeNamedItemNS):
3064         (WebCore::NamedNodeMap::item):
3065         * dom/Node.cpp:
3066         (WebCore::Node::dumpStatistics):
3067         (WebCore::Node::isDefaultNamespace):
3068         (WebCore::Node::lookupNamespaceURI):
3069         (WebCore::Node::lookupNamespacePrefix):
3070         (WebCore::Node::compareDocumentPosition):
3071         * dom/StyledElement.cpp:
3072         (WebCore::StyledElement::makePresentationAttributeCacheKey):
3073         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
3074         * editing/MarkupAccumulator.cpp:
3075         (WebCore::MarkupAccumulator::appendElement):
3076         * editing/markup.cpp:
3077         (WebCore::completeURLs):
3078         (WebCore::StyledMarkupAccumulator::appendElement):
3079         * html/HTMLEmbedElement.cpp:
3080         (WebCore::HTMLEmbedElement::parametersForPlugin):
3081         * html/HTMLInputElement.cpp:
3082         (WebCore::HTMLInputElement::updateType):
3083         * html/HTMLObjectElement.cpp:
3084         (WebCore::HTMLObjectElement::parametersForPlugin):
3085         * html/HTMLSelectElement.cpp:
3086         (WebCore::HTMLSelectElement::parseAttribute):
3087         * html/parser/HTMLConstructionSite.cpp:
3088         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3089         * inspector/DOMPatchSupport.cpp:
3090         (WebCore::DOMPatchSupport::innerPatchNode):
3091         (WebCore::DOMPatchSupport::createDigest):
3092         * inspector/InspectorDOMAgent.cpp:
3093         (WebCore::InspectorDOMAgent::setAttributesAsText):
3094         (WebCore::InspectorDOMAgent::performSearch):
3095         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
3096         * page/PageSerializer.cpp:
3097         (WebCore::isCharsetSpecifyingNode):
3098         * svg/SVGStyledElement.cpp:
3099         (WebCore::SVGStyledElement::getPresentationAttribute):
3100         * xml/XPathFunctions.cpp:
3101         (WebCore::XPath::FunLang::evaluate):
3102         * xml/XPathNodeSet.cpp:
3103         (WebCore::XPath::NodeSet::traversalSort):
3104         * xml/XPathStep.cpp:
3105         (WebCore::XPath::Step::nodesInAxis):
3106         * xml/parser/XMLDocumentParserLibxml2.cpp:
3107         (WebCore::XMLDocumentParser::XMLDocumentParser):
3108         * xml/parser/XMLDocumentParserQt.cpp:
3109         (WebCore::XMLDocumentParser::XMLDocumentParser):
3110
3111 2013-08-08  Mark Lam  <mark.lam@apple.com>
3112
3113         Restoring use of StackIterator instead of Interpreter::getStacktrace().
3114         https://bugs.webkit.org/show_bug.cgi?id=119575.
3115
3116         Reviewed by Oliver Hunt.
3117
3118         No new tests.
3119
3120         * bindings/js/ScriptCallStackFactory.cpp:
3121         (WebCore::createScriptCallStack):
3122
3123 2013-08-08  Zalan Bujtas  <zalan@apple.com>
3124
3125         REGRESSION (r121551) Incorrect handling of invalid media query list.
3126         https://bugs.webkit.org/show_bug.cgi?id=119164
3127
3128         Reviewed by Antti Koivisto.
3129
3130         Differentiate between syntactically invalid media queries and media queries with empty expressions.
3131
3132         Introduce a dedicated function for valid, but empty expression queries, so that passing NULL MediaQuerySet
3133         object to CSSParser::createMediaRule() can indicate invalid media query.
3134
3135         Test: fast/media/invalid-media-query-list.html
3136
3137         * css/CSSGrammar.y.in:
3138         * css/CSSParser.cpp:
3139         (WebCore::CSSParser::createMediaRule):
3140         (WebCore::CSSParser::createEmptyMediaRule):
3141         * css/CSSParser.h:
3142
3143 2013-08-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3144
3145         Introduce toSVGMPathElement(), and use it
3146         https://bugs.webkit.org/show_bug.cgi?id=119566
3147
3148         Reviewed by Andreas Kling.
3149
3150         As a step to change static_cast with toSVGXXX, static_cast<SVGMPathElement*> can
3151         be changed with toSVGMPathElement().
3152
3153         * svg/SVGAnimateMotionElement.cpp:
3154         (WebCore::SVGAnimateMotionElement::updateAnimationPath):
3155         * svg/SVGMPathElement.h:
3156         (WebCore::toSVGMPathElement):
3157         * svg/SVGPathElement.cpp:
3158         (WebCore::SVGPathElement::invalidateMPathDependencies):
3159
3160 2013-08-08  Antti Koivisto  <antti@apple.com>
3161
3162         Move more style recalc code to StyleResolveTree.cpp
3163         https://bugs.webkit.org/show_bug.cgi?id=119553
3164
3165         Reviewed by Andreas Kling.
3166
3167         * css/StyleResolver.cpp:
3168         * css/StyleResolver.h:
3169         
3170             Remove now unused StyleResolver::styleForText.
3171
3172         * dom/ElementShadow.cpp:
3173         * dom/ElementShadow.h:
3174         
3175             Remove ElementShadow::recalcStyle.
3176
3177         * dom/ShadowRoot.cpp:
3178         (WebCore::ShadowRoot::setResetStyleInheritance):
3179         
3180             Use Style::resolveTree instead of ElementShadow::recalcStyle.
3181
3182         * dom/ShadowRoot.h:
3183         
3184             Remove ShadowRoot::recalcStyle.
3185
3186         * dom/Text.cpp:
3187         * dom/Text.h:
3188         
3189             Remove Text::recalcTextStyle.
3190
3191         * style/StyleResolveTree.cpp:
3192         (WebCore::Style::updateTextStyle):
3193         
3194             Moved from Text::recalcTextStyle. Speed up by just setting the parent style on common case.
3195
3196         (WebCore::Style::resolveShadowTree):
3197         
3198             Moved from ShadowRoot::recalcStyle. 
3199             Simplified to cover only cases that can occur with the current shadow DOM support.
3200
3201         (WebCore::Style::resolveTree):
3202
3203 2013-08-08  Andreas Kling  <akling@apple.com>
3204
3205         REGRESSION(r139282): Old caret sometimes gets "stuck" (not repainted) in contenteditable elements.
3206         <http://webkit.org/b/119520>
3207         <rdar://problem/14658929>
3208
3209         Reviewed by Simon Fraser.
3210
3211         When computing a new caret rect, don't forget to repaint the old rect if the caret jumped
3212         from one node to another.
3213         We were being a little too clever, assuming that oldRect==newRect meant that no repaint was
3214         necessary, but moving from (0,0) in one node to (0,0) in another would cause a ghost caret
3215         in the old node.
3216
3217         Test: fast/repaint/caret-jump-between-nodes.html
3218
3219         * editing/FrameSelection.cpp:
3220         (WebCore::FrameSelection::recomputeCaretRect):
3221
3222             Fall through all the way down to caret repaints if the selection's new anchor node is not
3223             the same as m_previousCaretNode.
3224
3225 2013-08-07  Andrei Bucur  <abucur@adobe.com>
3226
3227         [CSS Regions] Propagate overflow from the flow thread to the first and last region
3228         https://bugs.webkit.org/show_bug.cgi?id=118526
3229
3230         Reviewed by David Hyatt.
3231
3232         The patch implements layout overflow propagation for the first and last regions. The approach
3233         taken is triggering a simple layout on the regions after the named flows are laid out
3234         that extracts the layout overflow from the flow thread and adds it to the regions.
3235
3236         The process is based on adding two new layout phases: the overflow phase and the final phase.
3237         The overflow phase is set after the flow threads are laid out and it marks the regions as
3238         needing to extract the overflow from the flow thread. In case there are blocks with auto overflow
3239         it's possible the overflow to create scrollbars that shrink the regions. In this case the flow
3240         thread is relaid out and set in the final phase, forcing the regions to recollect the layout
3241         overflow. In theory this would be an N-step layout because scrollbars can force content to change
3242         regions and create overflow for other blocks (and thus creating more scrollbars). For now, we are
3243         limiting this to the first pass by inserting this new final layout phase.
3244
3245         A short description of the processing model for a document:
3246         - layout the document (all the flow threads should be in the constrained layout phase after this step)
3247         - reverse iterate through the flow threads and mark the regions for simplified layout (we need to
3248         reverse iterate so the overflow can correctly propagate with nested regions)
3249         - if the layout changes the size of a region, invalidate the flow thread and when laying it out mark
3250         it as needing a new pass
3251         - make a secondary pass through the flow threads that changed after scrollbars have been added and
3252         recompute the overflow for their regions; mark the flow threads in the final phase (flow threads can't
3253         be invalidated in the final phase)
3254         - after the overflow was propagated update all the flow threads in the normal layout phase
3255
3256         There are some issues with the patch:
3257         - the simplified layout doesn't compute correct overflow values for inline blocks
3258         - the layout overflow from the flow thread doesn't take the region size into account
3259
3260         The first issue is not related to regions and will be fixed in a future patch. The second issue
3261         will be fixed when box overflow will be region bound.
3262
3263         Tests: fast/regions/overflow-scrollable-1.html
3264                fast/regions/overflow-scrollable-2.html
3265                fast/regions/overflow-scrollable-3.html
3266                fast/regions/overflow-scrollable-fit-complex.html
3267                fast/regions/overflow-scrollable-fit.html
3268                fast/regions/overflow-scrollable-nested.html
3269
3270         * rendering/FlowThreadController.cpp: Flow threads layout driver functions.
3271         (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
3272         (WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
3273         (WebCore::FlowThreadController::updateFlowThreadsIntoOverflowPhase):
3274         (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
3275         (WebCore::FlowThreadController::updateFlowThreadsIntoFinalPhase):
3276         * rendering/FlowThreadController.h:
3277         * rendering/RenderBlock.cpp:
3278         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
3279         * rendering/RenderFlowThread.cpp:
3280         (WebCore::RenderFlowThread::RenderFlowThread):
3281         (WebCore::RenderFlowThread::invalidateRegions):
3282         (WebCore::RenderFlowThread::validateRegions):
3283         (WebCore::RenderFlowThread::layout):
3284         (WebCore::RenderFlowThread::firstRegion): This getter should work even though the region chain is invalid.
3285         (WebCore::RenderFlowThread::lastRegion): This getter should work even though the region chain is invalid.
3286         (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
3287         (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded): If the flow thread has no overflow do nothing.
3288         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
3289         (WebCore::RenderFlowThread::addForcedRegionBreak):
3290         * rendering/RenderFlowThread.h:
3291         * rendering/RenderMultiColumnSet.cpp:
3292         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
3293         * rendering/RenderRegion.cpp:
3294         (WebCore::RenderRegion::pageLogicalHeight):
3295         (WebCore::RenderRegion::maxPageLogicalHeight):
3296         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
3297         (WebCore::RenderRegion::flowThreadPortionOverflowRect):
3298         (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Used to get the flow thread visual or layout overflow.
3299         (WebCore::RenderRegion::layoutBlock):
3300         (WebCore::RenderRegion::computeOverflowFromFlowThread):
3301         (WebCore::RenderRegion::updateLogicalHeight):
3302         * rendering/RenderRegion.h:
3303         * rendering/RenderView.cpp:
3304         (WebCore::RenderView::layoutContentToComputeOverflowInRegions):
3305         (WebCore::RenderView::layout):
3306         * rendering/RenderView.h:
3307
3308 2013-08-07  Simon Fraser  <simon.fraser@apple.com>
3309
3310         Avoid spurious "all repaint" layouts when scrolling WebViews on Retina displays
3311         https://bugs.webkit.org/show_bug.cgi?id=119564
3312
3313         Reviewed by Beth Dakin.
3314
3315         When scrolling WebViews on Macs with Retina displays, AppKit uses
3316         device pixels for the scroll offset, so [scrollView() documentVisibleRect]
3317         can return a CGRect with non-integral origin. This rect is used by layout,
3318         via layoutSize(), to decide whether the view size changed, which prompts
3319         a full repaint. However, FrameView gets a value which has been rounded
3320         by enclosingIntRect(), which increases the height or width by 1px if the 
3321         y or x offset is on a half-pixel, causing spurious full repaints.
3322         
3323         Fix by plumbing through platformVisibleContentSize(), which just
3324         gets the size of the -documentVisibleRect.
3325         
3326         * page/FrameView.cpp:
3327         (WebCore::FrameView::layout): Don't get layoutHeight and layoutWidth
3328         separately, since that is two calls down into platformVisibleContentSize.
3329         * platform/ScrollView.cpp:
3330         (WebCore::ScrollView::unscaledVisibleContentSize):
3331         (WebCore::ScrollView::platformVisibleContentSize):
3332         * platform/ScrollView.h:
3333         * platform/mac/ScrollViewMac.mm:
3334         (WebCore::ScrollView::platformVisibleContentSize):
3335
3336 2013-08-07  Simon Fraser  <simon.fraser@apple.com>
3337
3338         Be more aggressive about sending fake mouse events less frequently
3339         https://bugs.webkit.org/show_bug.cgi?id=119563
3340         <rdar://problem/14669029>
3341
3342         Reviewed by Tim Horton.
3343
3344         r109151 added code that throttles back the fake mouse events that we
3345         send during scrolling, but in such a way that a page could take up to
3346         100ms to handle a single mousemove, and we'd still send fake mousemove
3347         events every 100ms. This could cause serious scrolling stutter.
3348         
3349         Fix by changing when we drop back to sending events every 250ms, rather than every
3350         100ms: if the slowest mousemove takes 10ms or more (less than one frame), drop back
3351         to a 250ms fake move interval.
3352
3353         * page/EventHandler.cpp:
3354         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
3355
3356 2013-08-07  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3357
3358         [rendering] Implement PaintInfo interfaces
3359         https://bugs.webkit.org/show_bug.cgi?id=119388
3360
3361         Reviewed by Benjamin Poulain.
3362
3363         In discussion in IRC, it was decided to remove this comment since implementing such change
3364         would have a vast impact on rendering classes.
3365
3366         * rendering/PaintInfo.h:
3367
3368 2013-08-07  Dean Jackson  <dino@apple.com>
3369
3370         Don't remove contents layer from its parent unless necessary
3371         https://bugs.webkit.org/show_bug.cgi?id=119560
3372
3373         Reviewed by Simon Fraser.
3374
3375         RenderLayerBacking::updateInternalHierarchy() is called in some
3376         instances where there doesn't need to be a complete reparenting of the
3377         the m_graphicsLayer. For example, on OS X when the user changes the
3378         scrollbar styles to/from always visible. We don't need to always
3379         remove the graphics layer from its parent - any reparenting does that
3380         automatically.
3381
3382         Unfortunately we can't trigger this situation in an automated test.
3383
3384         * rendering/RenderLayerBacking.cpp:
3385         (WebCore::RenderLayerBacking::updateInternalHierarchy): Don't call removeFromParent().
3386
3387 2013-08-07  Tim Horton  <timothy_horton@apple.com>
3388
3389         Fall out of simple image layer optimization if the image has EXIF rotation
3390         https://bugs.webkit.org/show_bug.cgi?id=119535
3391         <rdar://problem/14071174>
3392
3393         Reviewed by Simon Fraser.
3394
3395         Test: fast/images/exif-orientation-composited.html
3396
3397         * platform/graphics/BitmapImage.cpp:
3398         (WebCore::BitmapImage::frameOrientationAtIndex):
3399         Ensure that the frame is cached if we're requesting the orientation,
3400         so we can acquire orientation information at any given time.
3401
3402         * platform/mac/DragImageMac.mm:
3403         (WebCore::createDragImageFromImage):
3404         * platform/graphics/BitmapImage.h:
3405         Rename currentFrameOrientation to frameOrientationForCurrentFrame to match
3406         the similarly-behaving nativeImageForCurrentFrame.
3407
3408         * platform/graphics/Image.h:
3409         (WebCore::Image::orientationForCurrentFrame): Added. Virtual, overriden by BitmapImage.
3410
3411         * rendering/RenderLayerBacking.cpp:
3412         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
3413         If the given image has a non-default image orientation, don't use direct compositing.
3414
3415 2013-08-07  Antti Koivisto  <antti@apple.com>
3416
3417         fast/frames/seamless/seamless-custom-font-pruning-crash.html asserts
3418         https://bugs.webkit.org/show_bug.cgi?id=119557
3419
3420         Rubber-stamped by Eric Carlson.
3421         
3422         Pass Style::Detach style change to seamless document as Style::Force. Style::resolveTree does not expect to be called with Detach.
3423
3424         * html/HTMLIFrameElement.cpp:
3425         (WebCore::HTMLIFrameElement::didRecalcStyle):
3426
3427 2013-08-07  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
3428
3429         Disable HTTP request "Accept-Encoding:" header field on gstreamer source element to avoid receiving the wrong size when retrieving data
3430         https://bugs.webkit.org/show_bug.cgi?id=115354
3431
3432         Reviewed by Philippe Normand.
3433
3434         The default value for the HTTP "Accept-Encoding:" header field in the request allows
3435         compressed data to be received on requests.
3436         While this works fine for most cases, it can break the webkit source that needs to rely on the
3437         the proper data size when receiving the response (even though the received data is already
3438         uncompressed the size reported in ResourceResponse::expectedContentLength() is the same
3439         represented by the HTTP header field "Content-Length" which is the size of the compressed data).
3440
3441         This patch disables the HTTP "Accept-Encoding:" header field when using the request
3442         as we don't want the received response to be encoded in any way, as we need to rely on the proper
3443         size of the returned data on ResourceHandle::didReceiveResponse().
3444
3445         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3446         (webKitWebSrcStart):
3447         * platform/network/soup/ResourceRequest.h:
3448         (ResourceRequestBase):
3449         (WebCore::ResourceRequest::acceptEncoding):
3450         (WebCore::ResourceRequest::setAcceptEncoding):
3451         (WebCore::ResourceRequest::ResourceRequestBase):
3452         * platform/network/soup/ResourceRequestSoup.cpp:
3453         (WebCore::ResourceRequest::updateSoupMessage):
3454         (WebCore::ResourceRequest::toSoupMessage):
3455
3456 2013-08-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3457
3458         [Qt] REGRESSION(r) Two pixel result fail after r153522
3459         https://bugs.webkit.org/show_bug.cgi?id=119392
3460
3461         Reviewed by Jocelyn Turcotte.
3462
3463         Consider scaling transform on the painter to determine final destination size.
3464
3465         Covered by existing tests.
3466
3467         * platform/graphics/qt/ImageQt.cpp:
3468         (WebCore::prescaleImageIfRequired):
3469         (WebCore::BitmapImage::draw):
3470
3471 2013-08-07  Antti Koivisto  <antti@apple.com>
3472
3473         2.5% regression on page cycler moz
3474         https://bugs.webkit.org/show_bug.cgi?id=102822
3475
3476         Reviewed by Andreas Kling.
3477
3478         DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache() triggers a style recalc for quirks mode
3479         documents in the beginning of document parsing via Document::setCompatibilityMode. This often coalesces 
3480         with style recalc triggered by stylesheet loading. However on very simple documents it can generate genuinely
3481         unnecessary work.
3482
3483         * dom/DocumentStyleSheetCollection.cpp:
3484         (WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
3485         
3486             Check that we actually have cached injected stylesheets before triggering style recalc.
3487             
3488         * page/PageGroup.cpp:
3489         (WebCore::PageGroup::addUserStyleSheetToWorld):
3490         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
3491         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
3492         (WebCore::PageGroup::removeAllUserContent):
3493         
3494             Fix a misspelling.
3495
3496         (WebCore::PageGroup::invalidateInjectedStyleSheetCacheInAllFrames):
3497         
3498             Always invalidate style when user sheets change since we don't do that in
3499             DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache anymore.
3500
3501         * page/PageGroup.h:
3502
3503 2013-08-07  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
3504
3505         Do no check seek offset against internal size on gstreamer source element
3506         https://bugs.webkit.org/show_bug.cgi?id=116533
3507
3508         Reviewed by Philippe Normand.
3509
3510         The internal size on gstreamer source element may be wrong in case the received size in
3511         didReceiveResponse is not accurate. Lets just try to seek and let it fail if necessary.
3512
3513         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3514         (webKitWebSrcSeekDataCb):
3515
3516 2013-08-07  Antti Koivisto  <antti@apple.com>
3517
3518         Create WebCore/style and move StyleResolveTree there
3519         https://bugs.webkit.org/show_bug.cgi?id=119543
3520
3521         Reviewed by Andreas Kling.
3522
3523         WebCore/css is bloated. We should move the internal style representation and the style resolver
3524         related code to a directory of their own. CSS language related code including parser and 
3525         CSSOM stays under css.
3526
3527         Things named StyleFoo should generally move under WebCore/style. They should also be moved to
3528         the Style namespace at the same time.
3529
3530         * CMakeLists.txt:
3531         * GNUmakefile.am:
3532         * GNUmakefile.list.am:
3533         * WebCore.pri:
3534         * Target.pri:
3535         * WebCore.vcxproj/WebCore.vcxproj:
3536         * WebCore.vcxproj/WebCoreCommon.props:
3537         * WebCore.vcxproj/copyForwardingHeaders.cmd:
3538         * WebCore.xcodeproj/project.pbxproj:
3539         * css/StyleResolveTree.cpp: Removed.
3540         * css/StyleResolveTree.h: Removed.
3541         * style: Added.
3542         * style/StyleResolveTree.cpp: Copied from Source/WebCore/css/StyleResolveTree.cpp.
3543         * style/StyleResolveTree.h: Copied from Source/WebCore/css/StyleResolveTree.h.
3544
3545 2013-08-07  Antti Koivisto  <antti@apple.com>
3546
3547         Move style recalculation out from Element
3548         https://bugs.webkit.org/show_bug.cgi?id=119497
3549
3550         Reviewed by Andreas Kling.
3551
3552         Element currently does too much. Element::recalcStyle() and the related functions can be turned into
3553         standalone functions that operate on DOM tree. This will also give more freedom for future refactoring,
3554         for example making style recalculation non-recursive.
3555
3556         * WebCore.xcodeproj/project.pbxproj:
3557         * css/StyleResolveTree.cpp: Added.
3558         (WebCore::Style::determineChange):
3559                 
3560             - moved and renamed from Node::diff
3561             - factored to use early return style
3562             - simplifield the null input logic
3563
3564         (WebCore::Style::pseudoStyleCacheIsInvalid):
3565         
3566             - moved from Element::pseudoStyleCacheIsInvalid
3567             - narrowed to take RenderObject rather than operate on Element
3568
3569         (WebCore::Style::resolveLocal):
3570         
3571             - split from Element::recalcStyle
3572             - factored to use early return style
3573
3574         (WebCore::Style::resolveTree):
3575         
3576             - moved and renamed from Element::recalcStyle
3577
3578         * css/StyleResolveTree.h: Added.
3579         
3580             - introcuduce Style namespace for style related classes and functions
3581             - move and rename Node::StyleChange -> Style::Change
3582
3583         * css/StyleResolver.h:
3584         (WebCore::StyleResolverParentPusher::StyleResolverParentPusher):
3585         (WebCore::StyleResolverParentPusher::push):
3586         (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher):
3587         
3588             Moved this stack helper to StyleResolver.h for now since it is needed by both
3589             StyleRecalculation and Element.
3590
3591         * dom/Document.cpp:
3592         (WebCore::Document::recalcStyle):
3593         (WebCore::Document::updateStyleIfNeeded):
3594         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
3595         (WebCore::Document::attach):
3596         (WebCore::Document::styleResolverChanged):
3597         (WebCore::Document::webkitWillEnterFullScreenForElement):
3598         * dom/Document.h:
3599         * dom/Element.cpp:
3600         (WebCore::shouldIgnoreAttributeCase):
3601         (WebCore::Element::updatePseudoElement):
3602         (WebCore::Element::resetComputedStyle):
3603         (WebCore::Element::willRecalcStyle):
3604         (WebCore::Element::didRecalcStyle):
3605         * dom/Element.h:
3606         
3607             - remove Element::recalcStyle
3608             - make a few private functions needed by StyleRecalculation public
3609
3610         * dom/ElementShadow.cpp:
3611         (WebCore::ElementShadow::recalcStyle):
3612         * dom/ElementShadow.h:
3613         * dom/Node.cpp:
3614         * dom/Node.h:
3615
3616             - remove Node::StyleChange
3617             - remove Node::diff
3618
3619         * dom/PseudoElement.cpp:
3620         (WebCore::PseudoElement::didRecalcStyle):
3621         * dom/PseudoElement.h:
3622         * dom/ShadowRoot.cpp:
3623         (WebCore::ShadowRoot::recalcStyle):
3624         (WebCore::ShadowRoot::setResetStyleInheritance):
3625         * dom/ShadowRoot.h:
3626         * dom/Text.cpp:
3627         (WebCore::Text::recalcTextStyle):
3628         * dom/Text.h:
3629         * html/HTMLFormControlElement.cpp:
3630         (WebCore::HTMLFormControlElement::didRecalcStyle):
3631         * html/HTMLFormControlElement.h:
3632         * html/HTMLFrameSetElement.cpp:
3633         (WebCore::HTMLFrameSetElement::willRecalcStyle):
3634         * html/HTMLFrameSetElement.h:
3635         * html/HTMLIFrameElement.cpp:
3636         (WebCore::HTMLIFrameElement::didRecalcStyle):
3637         * html/HTMLIFrameElement.h:
3638         * html/HTMLMediaElement.cpp:
3639         (WebCore::HTMLMediaElement::didRecalcStyle):
3640         * html/HTMLMediaElement.h:
3641         * html/HTMLOptionElement.cpp:
3642         (WebCore::HTMLOptionElement::didRecalcStyle):
3643         * html/HTMLOptionElement.h:
3644         * html/HTMLPlugInImageElement.cpp:
3645         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
3646         (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
3647         (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
3648         * html/HTMLPlugInImageElement.h:
3649         * inspector/InspectorOverlay.cpp:
3650         (WebCore::InspectorOverlay::update):
3651         * loader/DocumentWriter.cpp:
3652         (WebCore::DocumentWriter::reportDataReceived):
3653         * page/Frame.cpp:
3654         (WebCore::Frame::setPageAndTextZoomFactors):
3655         * page/Page.cpp:
3656         (WebCore::Page::setPageScaleFactor):
3657         * rendering/RenderBlock.cpp:
3658         (WebCore::RenderBlock::updateFirstLetterStyle):
3659         * svg/SVGElement.cpp:
3660         (WebCore::SVGElement::willRecalcStyle):
3661         * svg/SVGElement.h:
3662         * svg/SVGUseElement.cpp:
3663         (WebCore::SVGUseElement::willRecalcStyle):
3664         * svg/SVGUseElement.h:
3665
3666 2013-08-07  Mihnea Ovidenie  <mihnea@adobe.com>
3667
3668         [CSSRegions] Wrong auto-height region computation for nested named flows
3669         https://bugs.webkit.org/show_bug.cgi?id=119517
3670
3671         Reviewed by David Hyatt.
3672
3673         Test: fast/regions/abspos-autoheight-nested-region.html
3674
3675         In the case of an (inner) auto-height region that is absolutely positioned in a named flow that is displayed in an (outer) auto-height region,
3676         when we are doing the layout for the named flow we need to add a "forced region break" also for the case of simplified layout, otherwise
3677         the outer auto-height region will not get the chance to compute its auto-height, ending up with a huge value that was used to initialize
3678         the auto-height computed value before the start of the layout algorithm.
3679
3680         * rendering/RenderBlock.cpp:
3681         (WebCore::RenderBlock::simplifiedLayout):
3682
3683 2013-08-06  Stephanie Lewis  <slewis@apple.com>
3684
3685         Update Order Files for Safari
3686         <rdar://problem/14517392>
3687
3688         Unreviewed.
3689
3690         No change in functionality.
3691
3692         * WebCore.order:
3693
3694 2013-08-04  Sam Weinig  <sam@webkit.org>
3695
3696         Remove support for HTML5 Microdata
3697         https://bugs.webkit.org/show_bug.cgi?id=119480
3698
3699         Reviewed by Anders Carlsson.
3700
3701         * CMakeLists.txt:
3702         * Configurations/FeatureDefines.xcconfig:
3703         * DerivedSources.cpp:
3704         * DerivedSources.make:
3705         * DerivedSources.pri:
3706         * GNUmakefile.list.am:
3707         * Target.pri:
3708         * UseJSC.cmake:
3709         * WebCore.vcxproj/WebCore.vcxproj:
3710         * WebCore.vcxproj/WebCore.vcxproj.filters:
3711         * WebCore.xcodeproj/project.pbxproj:
3712         * bindings/gobject/GNUmakefile.am:
3713         * bindings/js/JSBindingsAllInOne.cpp:
3714         * bindings/js/JSHTMLCollectionCustom.cpp:
3715         (WebCore::JSHTMLCollection::nameGetter):
3716         * bindings/js/JSHTMLElementCustom.cpp:
3717         * bindings/js/JSMicroDataItemValueCustom.cpp: Removed.
3718         * bindings/scripts/CodeGeneratorJS.pm:
3719         (GenerateImplementation):
3720         * dom/Document.cpp:
3721         * dom/Document.h:
3722         * dom/Document.idl:
3723         * dom/Element.cpp:
3724         (WebCore::Element::ensureCachedHTMLCollection):
3725         * dom/LiveNodeList.cpp:
3726         (WebCore::LiveNodeListBase::rootNode):
3727         (WebCore::LiveNodeListBase::invalidateCache):
3728         (WebCore::LiveNodeList::namedItem):
3729         * dom/LiveNodeList.h:
3730         (WebCore::LiveNodeListBase::shouldInvalidateTypeOnAttributeChange):
3731         * dom/MicroDataItemList.cpp: Removed.
3732         * dom/MicroDataItemList.h: Removed.
3733         * dom/Node.cpp:
3734         * dom/Node.h:
3735         * dom/NodeRareData.cpp:
3736         * dom/NodeRareData.h:
3737         * dom/PropertyNodeList.cpp: Removed.
3738         * dom/PropertyNodeList.h: Removed.
3739         * dom/PropertyNodeList.idl: Removed.
3740         * html/CollectionType.h:
3741         * html/HTMLAnchorElement.cpp:
3742         * html/HTMLAnchorElement.h:
3743         * html/HTMLAreaElement.cpp:
3744         * html/HTMLAreaElement.h:
3745         * html/HTMLCollection.cpp:
3746         (WebCore::shouldOnlyIncludeDirectChildren):
3747         (WebCore::rootTypeFromCollectionType):
3748         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
3749         (WebCore::isMatchingElement):
3750         (WebCore::LiveNodeListBase::item):
3751         * html/HTMLElement.cpp:
3752         (WebCore::HTMLElement::parseAttribute):
3753         (WebCore::HTMLElement::isURLAttribute):
3754         * html/HTMLElement.h:
3755         * html/HTMLElement.idl:
3756         * html/HTMLEmbedElement.cpp:
3757         * html/HTMLEmbedElement.h:
3758         * html/HTMLIFrameElement.cpp:
3759         * html/HTMLIFrameElement.h:
3760         * html/HTMLImageElement.cpp:
3761         * html/HTMLImageElement.h:
3762         * html/HTMLLinkElement.cpp:
3763         * html/HTMLLinkElement.h:
3764         * html/HTMLMediaElement.cpp:
3765         * html/HTMLMediaElement.h:
3766         * html/HTMLMetaElement.cpp:
3767         * html/HTMLMetaElement.h:
3768         * html/HTMLObjectElement.cpp:
3769         * html/HTMLObjectElement.h:
3770         * html/HTMLPropertiesCollection.cpp: Removed.
3771         * html/HTMLPropertiesCollection.h: Removed.
3772         * html/HTMLPropertiesCollection.idl: Removed.
3773         * html/HTMLSourceElement.cpp:
3774         * html/HTMLSourceElement.h:
3775         * html/HTMLTrackElement.cpp:
3776         * html/HTMLTrackElement.h:
3777         * html/MicroDataAttributeTokenList.cpp: Removed.
3778         * html/MicroDataAttributeTokenList.h: Removed.
3779         * html/MicroDataItemValue.cpp: Removed.
3780         * html/MicroDataItemValue.h: Removed.
3781         * html/MicroDataItemValue.idl: Removed.
3782
3783 2013-08-06  Tim Horton  <timothy_horton@apple.com>
3784
3785         Remove PlatformCALayer::contentsTransform and ::setContentsTransform
3786         https://bugs.webkit.org/show_bug.cgi?id=119529
3787
3788         Reviewed by Sam Weinig.
3789
3790         No new tests, removing dead code.
3791
3792         These methods are not used and are currently unimplemented.
3793
3794         * platform/graphics/ca/PlatformCALayer.h:
3795         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3796         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3797
3798 2013-08-06  Alex Christensen  <achristensen@apple.com>
3799
3800         Moved GraphicsContext3DPrivate out of cairo directory to be used by the AppleWin port.
3801         https://bugs.webkit.org/show_bug.cgi?id=119525
3802
3803         Reviewed by Dean Jackson.
3804
3805         * GNUmakefile.list.am:
3806         * PlatformGTK.cmake:
3807         * WebCore.vcxproj/WebCore.vcxproj:
3808         * WebCore.vcxproj/WebCore.vcxproj.filters:
3809         Changed location of GraphicsContext3DPrivate.cpp and GraphicsContext3DPrivate.h.
3810         * platform/graphics/GraphicsContext3DPrivate.cpp: Copied from WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp.
3811         * platform/graphics/GraphicsContext3DPrivate.h: Copied from WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h.
3812         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Removed.
3813         * platform/graphics/cairo/GraphicsContext3DPrivate.h: Removed.
3814
3815 2013-08-06  Brent Fulgham  <bfulgham@apple.com>
3816
3817         [Windows] Unreviewed build correction after r153754 and r153757.
3818
3819         * page/animation/CSSPropertyAnimation.cpp:
3820         (WebCore::blendFunc): Don't force std::remainder, since we are using our own
3821         custom implementation on Windows.
3822
3823 2013-08-06  Brent Fulgham  <bfulgham@apple.com>
3824
3825         Improper Calculation of In-band Cue Colors
3826         https://bugs.webkit.org/show_bug.cgi?id=119523
3827
3828         Reviewed by Eric Carlson.
3829
3830         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3831         (WebCore::makeRGBA32FromARGBCFArray): Remove redundant multiplication by
3832         255.  The internal conversion logic already converts to bytes.
3833
3834 2013-08-06  Rob Buis  <rwlbuis@webkit.org>
3835
3836         Speculative build fix after r153754.
3837
3838         * page/animation/CSSPropertyAnimation.cpp:
3839         (WebCore::blendFunc):
3840
3841 2013-07-23  David Farler  <dfarler@apple.com>
3842
3843         Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
3844         https://bugs.webkit.org/show_bug.cgi?id=117762
3845
3846         Reviewed by Mark Rowe.
3847
3848         No new tests necessary.
3849
3850         * Configurations/DebugRelease.xcconfig:
3851         Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
3852         * Configurations/WebCore.xcconfig:
3853         Add ASAN_OTHER_LDFLAGS.
3854         * Configurations/WebCoreTestShim.xcconfig:
3855         Add ASAN_OTHER_LDFLAGS.
3856         * Configurations/WebCoreTestSupport.xcconfig:
3857         Add ASAN_OTHER_LDFLAGS.
3858         * WebCore.xcodeproj/project.pbxproj:
3859         Don't use ASAN for build tools.
3860
3861 2013-08-05  Rob Buis  <rwlbuis@webkit.org>
3862
3863         SVG stroke-dasharray is not animatable
3864         https://bugs.webkit.org/show_bug.cgi?id=118574
3865
3866         Reviewed by Dirk Schulze.
3867
3868         Make stroke-dasharray a property that can be animated using CSS transitions.
3869
3870         * page/animation/CSSPropertyAnimation.cpp:
3871         (WebCore::blendFunc):
3872         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
3873         * rendering/style/RenderStyle.h:
3874
3875 2013-08-06  Sergio Villar Senin  <svillar@igalia.com>
3876
3877         [CSS Grid Layout] Allow defining named grid lines on the grid element
3878         https://bugs.webkit.org/show_bug.cgi?id=118255
3879
3880         Reviewed by Andreas Kling.
3881
3882         From Blink r149798 by <jchaffraix@chromium.org>
3883
3884         This change adds parsing, style resolution and getComputedStyle
3885         support for named grid lines at the grid element level
3886         (i.e. extends our <track-list> support). Per the specification, we
3887         allow multiple grid lines with the same name.
3888
3889         To fully support resolving the grid lines to a position on our
3890         grid, we need to add the parsing at the grid item's level (which
3891         means extending our <grid-line> support). This will be done in a
3892         follow-up change.
3893
3894         Test: fast/css-grid-layout/named-grid-line-get-set.html
3895
3896         * css/CSSComputedStyleDeclaration.cpp:
3897         (WebCore::addValuesForNamedGridLinesAtIndex):
3898         (WebCore::valueForGridTrackList):
3899         (WebCore::ComputedStyleExtractor::propertyValue):
3900         * css/CSSParser.cpp:
3901         (WebCore::CSSParser::parseGridTrackList):
3902         * css/StyleResolver.cpp:
3903         (WebCore::createGridTrackList):
3904         (WebCore::StyleResolver::applyProperty):
3905         * rendering/style/RenderStyle.h:
3906         * rendering/style/StyleGridData.cpp:
3907         (WebCore::StyleGridData::StyleGridData):
3908         * rendering/style/StyleGridData.h:
3909         (WebCore::StyleGridData::operator==):
3910
3911 2013-08-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3912
3913         [Qt] Fix minimal build.
3914
3915         Unreviewed build fix.
3916
3917         Fix build witt XSLT disabled
3918
3919         * xml/parser/XMLDocumentParserLibxml2.cpp:
3920         (WebCore::hasNoStyleInformation):
3921
3922 2013-08-06  Zan Dobersek  <zdobersek@igalia.com>
3923
3924         webkit-gtk fails to build with bison-3.0
3925         https://bugs.webkit.org/show_bug.cgi?id=119373
3926
3927         Reviewed by Gustavo Noronha Silva.
3928
3929         * GNUmakefile.am: Remove rules for generating ANGLE's glslang source files with Bison.
3930
3931 2013-06-26  Sergio Villar Senin  <svillar@igalia.com>
3932
3933         [CSS Grid Layout] Add support for parsing <grid-line> that includes a 'span'
3934         https://bugs.webkit.org/show_bug.cgi?id=118051
3935
3936         Reviewed by Andreas Kling.
3937
3938         From Blink r148766 by <jchaffraix@chromium.org>
3939
3940         This adds the parsing, style resolution and getComputedStyle bits
3941         to our code. The rendering code was not made aware of the new type
3942         of GridPosition yet.
3943
3944         * css/CSSComputedStyleDeclaration.cpp:
3945         (WebCore::valueForGridPosition):
3946         * css/CSSParser.cpp:
3947         (WebCore::CSSParser::parseValue):
3948         (WebCore::CSSParser::parseGridPosition):
3949         * css/CSSParser.h:
3950         * css/CSSValueKeywords.in:
3951         * css/StyleResolver.cpp:
3952         (WebCore::StyleResolver::adjustRenderStyle):
3953         (WebCore::StyleResolver::adjustGridItemPosition):
3954         (WebCore::createGridPosition):
3955         * css/StyleResolver.h:
3956         * rendering/RenderGrid.cpp:
3957         (WebCore::RenderGrid::resolveGridPositionFromStyle):
3958         * rendering/style/GridPosition.h:
3959         (WebCore::GridPosition::isInteger):
3960         (WebCore::GridPosition::isSpan):
3961         (WebCore::GridPosition::setSpanPosition):
3962         (WebCore::GridPosition::spanPosition):
3963
3964 2013-06-25  Sergio Villar Senin  <svillar@igalia.com>
3965
3966         [CSS Grid Layout] Rename grid placement properties
3967         https://bugs.webkit.org/show_bug.cgi?id=117878
3968
3969         Reviewed by Andreas Kling.
3970
3971         Renamed the grid placement properties to match the latest version
3972         of the spec. The new names are -webkit-grid-column-{start|end} and
3973         -webkit-grid-row-{start|end}.
3974
3975         No new tests needed as we're just renaming some properties,
3976         functionality already covered by existing tests in
3977         fast/css-grid-layout.
3978
3979         * css/CSSComputedStyleDeclaration.cpp:
3980         (WebCore::ComputedStyleExtractor::propertyValue):
3981         * css/CSSParser.cpp:
3982         (WebCore::CSSParser::parseValue):
3983         * css/CSSProperty.cpp:
3984         (WebCore::CSSProperty::isInheritedProperty):
3985         * css/CSSPropertyNames.in:
3986         * css/StylePropertyShorthand.cpp:
3987         (WebCore::webkitGridColumnShorthand):
3988         (WebCore::webkitGridRowShorthand):
3989         * css/StyleResolver.cpp:
3990         (WebCore::StyleResolver::applyProperty):
3991         * rendering/RenderGrid.cpp:
3992         (WebCore::RenderGrid::maximumIndexInDirection):
3993         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
3994         (WebCore::RenderGrid::resolveGridPositionFromStyle):
3995         * rendering/RenderGrid.h:
3996         * rendering/style/RenderStyle.h:
3997         * rendering/style/StyleGridItemData.cpp:
3998         (WebCore::StyleGridItemData::StyleGridItemData):
3999         * rendering/style/StyleGridItemData.h:
4000         (WebCore::StyleGridItemData::operator==):
4001
4002 2013-08-05  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
4003
4004         [WebGL] validateRenderingState method name change
4005         https://bugs.webkit.org/show_bug.cgi?id=119485
4006
4007         According to validateRenderingState method functionality its name should be
4008         changed. This method validates only vertex attributes.
4009
4010         Reviewed by Dean Jackson.
4011
4012         No new tests. Covered by existing tests. No changes in functionality.
4013
4014         * html/canvas/WebGLRenderingContext.cpp:
4015         (WebCore::WebGLRenderingContext::validateVertexAttributes):
4016         (WebCore::WebGLRenderingContext::drawArrays):
4017         (WebCore::WebGLRenderingContext::drawElements):
4018         * html/canvas/WebGLRenderingContext.h:
4019
4020 2013-07-27  Mark Rowe  <mrowe@apple.com>
4021
4022         Logging should be configurable using human-readable channel names rather than crazy bitmasks
4023         <http://webkit.org/b/119031>
4024
4025         Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
4026         and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
4027
4028         Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
4029         "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
4030         being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
4031         for history and loading being enabled.
4032
4033         For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
4034         the old user defaults to remain set for those people that need to switch between version of WebKit before and
4035         after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
4036         the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
4037
4038         For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
4039         consistency with the other platforms and to enable more code sharing.
4040
4041         While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
4042         adding a new logging channel. Now only the header in the relevant project needs to be updated.
4043
4044         Reviewed by Sam Weinig.
4045
4046         * GNUmakefile.list.am: Remove the now-unused InitializeLogging.h
4047         * Target.pri: Ditto.
4048         * WebCore.xcodeproj/project.pbxproj: Ditto.
4049         * platform/InitializeLogging.h: Removed. Ditto.
4050         * platform/Logging.cpp: Use WEBCORE_LOG_CHANNELS to define all of the channels.
4051         (WebCore::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
4052         to find a log channel rather than repeating the names of the log channels a further two times each.
4053         (WebCore::initializeLoggingChannelsIfNecessary): Pass the channels and the log level string to the new
4054         WTF function that handles the initialization.
4055         * platform/Logging.h: Declare a WEBCORE_LOG_CHANNELS macro that can be used to apply a preprocessor macro
4056         across the set of all logging channels. Use this macro to declare the logging channels.
4057         * platform/blackberry/LoggingBlackBerry.cpp:
4058         (WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
4059         * platform/efl/LoggingEfl.cpp:
4060         (WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable, and then prepend
4061         NotYetImplemented to it so that that channel will be enabled by default.
4062         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
4063         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink): Accommodate the rename to logChannelByName.
4064         * platform/gtk/LoggingGtk.cpp:
4065         (WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable, and then prepend
4066         NotYetImplemented to it so that that channel will be enabled by default.
4067         * platform/mac/LoggingMac.mm: