CachedFrame construction should begin with a Frame&.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-04  Andreas Kling  <akling@apple.com>
2
3         CachedFrame construction should begin with a Frame&.
4         <https://webkit.org/b/120719>
5
6         Reviewed by Anders Carlsson.
7
8         We can't create a CachedFrame from a null Frame anyway.
9
10         * bindings/js/ScriptCachedFrameData.cpp:
11         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
12         (WebCore::ScriptCachedFrameData::restore):
13         * bindings/js/ScriptCachedFrameData.h:
14         * history/CachedFrame.cpp:
15         (WebCore::CachedFrameBase::CachedFrameBase):
16         (WebCore::CachedFrameBase::restore):
17         (WebCore::CachedFrame::CachedFrame):
18         * history/CachedFrame.h:
19         (WebCore::CachedFrame::create):
20         * history/CachedPage.cpp:
21         (WebCore::CachedPage::CachedPage):
22
23 2013-09-04  Andreas Kling  <akling@apple.com>
24
25         Set "render tree being torn down" flag a bit earlier.
26         <https://webkit.org/b/120717>
27
28         Reviewed by Anders Carlsson.
29
30         Set the flag at the start of Document::detach() so everyone can get a chance
31         to avoid unnecessary work, not just renderers.
32
33         * dom/Document.cpp:
34         (WebCore::Document::detach):
35
36 2013-09-04  Andreas Kling  <akling@apple.com>
37
38         Cached Page and Frame don't need to be ref-counted.
39         <https://webkit.org/b/120710>
40
41         Reviewed by Anders Carlsson.
42
43         - CachedPage is owned by HistoryItem.
44         - CachedFrame is owned by CachedPage.
45
46         Remove the ref counting from these objects to make the code less confusing.
47
48         The only place that used this was in FrameLoader::commitProvisionalLoad() which
49         took a temporary ref on the CachedPage. Switched this to using a raw pointer.
50
51         * history/CachedFrame.h:
52         (WebCore::CachedFrame::create):
53         * history/CachedPage.cpp:
54         (WebCore::CachedPage::create):
55         * history/CachedPage.h:
56         * history/HistoryItem.h:
57         * loader/FrameLoader.cpp:
58         (WebCore::FrameLoader::commitProvisionalLoad):
59         (WebCore::FrameLoader::transitionToCommitted):
60         * loader/FrameLoader.h:
61
62 2013-09-04  Roger Fong  <roger_fong@apple.com>
63
64         Unreviewed. Windows build fix and WebCore project cleanup.
65
66         * WebCore.vcxproj/WebCore.vcxproj.filters:
67         * rendering/RenderingAllInOne.cpp:
68
69 2013-09-04  Mark Lam  <mark.lam@apple.com>
70
71         Renamed StackIterator to StackVisitor.
72         https://bugs.webkit.org/show_bug.cgi?id=120706.
73
74         Reviewed by Geoffrey Garen.
75
76         No new tests.
77
78         * ForwardingHeaders/interpreter/StackIterator.h: Removed.
79         * ForwardingHeaders/interpreter/StackVisitor.h: Copied from Source/WebCore/ForwardingHeaders/interpreter/StackIterator.h.
80         * bindings/js/JSXMLHttpRequestCustom.cpp:
81         (WebCore::SendFunctor::operator()):
82         * bindings/js/ScriptCallStackFactory.cpp:
83         (WebCore::CreateScriptCallStackFunctor::operator()):
84         (WebCore::CreateScriptCallStackForConsoleFunctor::operator()):
85
86 2013-09-04  Samuel White  <samuel_white@apple.com>
87
88         AX: when no other label on provided on form elements, WebKit should fall back to using @title
89         https://bugs.webkit.org/show_bug.cgi?id=112842
90
91         Reviewed by Chris Fleizach.
92
93         Don't let input elements include empty labels in their accessibility title.
94
95         Test: platform/mac/accessibility/input-title.html
96
97         * accessibility/AccessibilityNodeObject.cpp:
98         (WebCore::AccessibilityNodeObject::titleElementText):
99
100 2013-09-04  Andreas Kling  <akling@apple.com>
101
102         Make ImageQualityController per-RenderView.
103         <https://webkit.org/b/120702>
104
105         Reviewed by Anders Carlsson.
106
107         Move ImageQualityController to its own files and add a RenderView::imageQualityController()
108         getter instead of using a global map for all render trees.
109
110         This avoids having to unregister every renderer (well, every RenderBoxModelObject) from the
111         global hash map during render tree teardown.
112
113         It also simplifies the live resize optimization a bit since it can now short-circuit if
114         the RenderView's FrameView is being resized. (Previously there could be any number of
115         RenderViews present in the map.)
116
117         * CMakeLists.txt:
118         * GNUmakefile.list.am:
119         * Target.pri:
120         * WebCore.vcxproj/WebCore.vcxproj:
121         * WebCore.xcodeproj/project.pbxproj:
122         * rendering/ImageQualityController.cpp: Added.
123         * rendering/ImageQualityController.h: Added.
124
125 2013-09-04  Roger Fong  <roger_fong@apple.com>
126
127         Unreviewed Build fix for Windows DebugSuffix configuration.
128
129         * WebCore.vcxproj/WebCore.vcxproj:
130         * WebCore.vcxproj/WebCore.vcxproj.filters:
131
132 2013-09-04  Mark Lam  <mark.lam@apple.com>
133
134         Refining the StackIterator callback interface.
135         https://bugs.webkit.org/show_bug.cgi?id=120695.
136
137         Reviewed by Geoffrey Garen.
138
139         No new tests.
140
141         * bindings/js/JSXMLHttpRequestCustom.cpp:
142         (WebCore::SendFunctor::SendFunctor):
143         (WebCore::SendFunctor::line):
144         (WebCore::SendFunctor::url):
145         (WebCore::SendFunctor::operator()):
146         (WebCore::JSXMLHttpRequest::send):
147         * bindings/js/ScriptCallStackFactory.cpp:
148         (WebCore::createScriptCallStack):
149
150 2013-09-04  Andreas Kling  <akling@apple.com>
151
152         Remove unnecessary RenderView.h inclusion from headers.
153         <https://webkit.org/b/120365>
154
155         Reviewed by Anders Carlsson.
156
157         RenderView.h was overzealously included by RenderText and RenderTextTrackCue,
158         making it unpleasant to edit on my laptop.
159
160         * rendering/RenderText.h:
161         * rendering/RenderTextTrackCue.h:
162
163             Don't include RenderView.h here, do it in .cpp files.
164
165 2013-09-04  Alexey Proskuryakov  <ap@apple.com>
166
167         Editor::m_removedAnchor is unused
168         https://bugs.webkit.org/show_bug.cgi?id=120701
169
170         Reviewed by Ryosuke Niwa.
171
172         * editing/Editor.h: Removed m_removedAnchor. It was not only unused, but also broken,
173         as we didn't reset it when navigating.
174
175 2013-09-04  Pratik Solanki  <psolanki@apple.com>
176
177         Document::updateHoverActiveState() should allow for deferred style recalcs
178         https://bugs.webkit.org/show_bug.cgi?id=120700
179
180         Reviewed by Simon Fraser.
181
182         Add an extra argument to Document::updateHoverActiveState() to specify if a style recalc
183         should be done. The default value keeps the current behavior of doing a style recalc. iOS
184         touch handling code will pass in DeferRecalcStyleIfNeeded to avoid the work.
185
186         No new tests because no functional changes.
187
188         * dom/Document.cpp:
189         (WebCore::Document::updateHoverActiveState):
190         * dom/Document.h:
191
192 2013-09-04  Tim Horton  <timothy_horton@apple.com>
193
194         [mac] PDFDocumentImage should use PDFKit to draw
195         https://bugs.webkit.org/show_bug.cgi?id=120651
196         <rdar://problem/12810731>
197
198         Reviewed by Alexey Proskuryakov.
199
200         Use PDFKit to draw PDF-in-<img> on Mac, so that annotations in PDF are painted.
201
202         Test: fast/images/pdf-as-image-with-annotations.html
203
204         * WebCore.xcodeproj/project.pbxproj:
205         Add PDFDocumentImageMac.mm.
206
207         * platform/graphics/cg/PDFDocumentImage.cpp:
208         (WebCore::PDFDocumentImage::PDFDocumentImage):
209         We don't need to initialize m_document anymore because it's now a RetainPtr.
210         Initialize m_hasPage to false.
211
212         (WebCore::PDFDocumentImage::~PDFDocumentImage):
213         We don't need to manually release our CGPDFDocumentRef anymore because it's now a RetainPtr.
214
215         (WebCore::PDFDocumentImage::size):
216         Use expandedIntSize for explicitness.
217
218         (WebCore::PDFDocumentImage::applyRotationForPainting):
219         Rename adjustCTM to applyRotationForPainting, and move the one non-rotation related transformation out.
220         We need to do this because PDFKit applies the rotation transformation itself, so we don't need to.
221         Also, explicitly use std::min instead of importing the whole std namespace.
222
223         (WebCore::PDFDocumentImage::dataChanged):
224         Assert that we don't re-enter dataChanged after we've created a document,
225         because it seems like that shouldn't happen - we only create a document when
226         we've supposedly received all data, and it would be nice if we didn't have
227         all this varying code to deal with SharedBuffers changing out from under each other.
228         Factor the code to create a CGPDFDocumentRef out into createPDFDocument, so we can
229         replace it with a different implementation that creates a PDFDocument.
230
231         (WebCore::PDFDocumentImage::setCurrentPage):
232         Make all page-number-related things unsigned, since they are in CG and PDFKit,
233         and add m_hasPage to denote whether we've acquired a valid page yet.
234         Factor code to retrieve the PDF box bounds into computeBoundsForCurrentPage.
235         Remove setCurrentPage itself, as we never use a page other than the first page;
236         we will call computeBoundsForCurrentPage and set hasPage in dataChanged, now.
237
238         (WebCore::PDFDocumentImage::draw):
239         Fix a weird comment.
240         Factor code that actually draws the PDF out into drawPDFPage.
241
242         The rest of the functions in this file are only built for USE(CG) && !PLATFORM(MAC):
243
244         (WebCore::PDFDocumentImage::createPDFDocument):
245         Factored out of dataChanged(); I only kept the !PLATFORM(MAC) branch.
246
247         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
248         Factored out of setCurrentPage().
249         Use deg2rad since we have it.
250
251         (WebCore::PDFDocumentImage::pageCount):
252         (WebCore::PDFDocumentImage::drawPDFPage):
253         Factored out of draw().
254         Reduced an unnecessary transform (we were effectively doing mediaBox.origin - cropBox.origin - mediaBox.origin).
255
256         * platform/graphics/cg/PDFDocumentImage.h:
257         Unindent all the things, as we don't indent the first level inside a namespace scope.
258         Forward-declare PDFDocument.
259         Make m_currentPage unsigned as it should be.
260         Add m_hasPage.
261         Make m_document a PDFDocument on PLATFORM(MAC) and a CGPDFDocumentRef on other platforms.
262
263         * platform/graphics/mac/PDFDocumentImageMac.mm: Added.
264         Soft-link in PDFKit and specifically the PDFDocument class.
265
266         (WebCore::PDFDocumentImage::createPDFDocument):
267         Create our PDFDocument from the SharedBuffer's NSData directly. This shouldn't be a problem
268         (with respect to the SharedBuffer's data being appended to in secret), because we've waited
269         for the document to finish loading before getting here.
270
271         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
272         Ask PDFKit for the page's media and crop boxes; it automatically performs the correct fallback.
273         Ask PDFKit for the page's rotation.
274
275         (WebCore::PDFDocumentImage::pageCount):
276         Ask PDFKit for the page count.
277
278         (WebCore::PDFDocumentImage::drawPDFPage):
279         Paint the current page of the PDF. Note that we do not apply the rotation here
280         via applyRotationForPainting because PDFKit will do it itself.
281
282         * platform/mac/SoftLinking.h:
283         I couldn't find any clients of SOFT_LINK_FRAMEWORK_IN_CORESERVICES_UMBRELLA,
284         so I made it the more generic SOFT_LINK_FRAMEWORK_IN_UMBRELLA, taking the name
285         of the umbrella framework and the subframework, so I could use it to soft link
286         Quartz.framework's PDFKit.framework.
287
288 2013-09-04  Roger Fong  <roger_fong@apple.com>
289
290         Unreviewed Windows build fix.
291
292         * WebCore.vcxproj/WebCoreCommon.props:
293
294 2013-09-04  Bem Jones-Bey  <bjonesbe@adobe.com>
295
296         FloatingObjects should manage cleaning it's line box tree pointers itself
297         https://bugs.webkit.org/show_bug.cgi?id=120692
298
299         Reviewed by David Hyatt.
300
301         This is another step in properly encapsulating FloatingObjects.
302         Instead of having RenderBlock walk and clear the line box tree
303         pointers, create a method for the behavior, and have RenderBlock call
304         that.
305
306         In addtion, add a proper destructor to FloatingObjects, so that
307         RenderBlock does not have to explicitly delete the set in
308         FloatingObjects.
309
310         And as a bonus, fix the ordering of an if to avoid the expensive
311         descendantChild check.
312
313         This is a port of a Blink patch by Eric Seidel.
314
315         No new tests, no behavior change.
316
317         * rendering/RenderBlock.cpp:
318         (WebCore::RenderBlock::~RenderBlock):
319         (WebCore::RenderBlock::deleteLineBoxTree):
320         (WebCore::RenderBlock::repaintOverhangingFloats):
321         (WebCore::RenderBlock::FloatingObjects::~FloatingObjects):
322         (WebCore::RenderBlock::FloatingObjects::clearLineBoxTreePointers):
323         (WebCore::RenderBlock::FloatingObjects::clear):
324         * rendering/RenderBlock.h:
325
326 2013-09-04  Tim Horton  <timothy_horton@apple.com>
327
328         Rename customCssText -> customCSSText to match WebKit style
329         https://bugs.webkit.org/show_bug.cgi?id=120694
330
331         Reviewed by Simon Fraser.
332
333         No new tests, just a rename.
334
335         * WebCore.order:
336         * css/CSSAspectRatioValue.cpp:
337         (WebCore::CSSAspectRatioValue::customCSSText):
338         * css/CSSAspectRatioValue.h:
339         * css/CSSBorderImageSliceValue.cpp:
340         (WebCore::CSSBorderImageSliceValue::customCSSText):
341         * css/CSSBorderImageSliceValue.h:
342         * css/CSSCalculationValue.cpp:
343         (WebCore::CSSCalcValue::customCSSText):
344         (WebCore::CSSCalcPrimitiveValue::customCSSText):
345         (WebCore::CSSCalcBinaryOperation::customCSSText):
346         * css/CSSCalculationValue.h:
347         * css/CSSCanvasValue.cpp:
348         (WebCore::CSSCanvasValue::customCSSText):
349         * css/CSSCanvasValue.h:
350         * css/CSSCrossfadeValue.cpp:
351         (WebCore::CSSCrossfadeValue::customCSSText):
352         * css/CSSCrossfadeValue.h:
353         * css/CSSCursorImageValue.cpp:
354         (WebCore::CSSCursorImageValue::customCSSText):
355         * css/CSSCursorImageValue.h:
356         * css/CSSFilterImageValue.cpp:
357         (WebCore::CSSFilterImageValue::customCSSText):
358         * css/CSSFilterImageValue.h:
359         * css/CSSFontFaceSrcValue.cpp:
360         (WebCore::CSSFontFaceSrcValue::customCSSText):
361         * css/CSSFontFaceSrcValue.h:
362         * css/CSSFunctionValue.cpp:
363         (WebCore::CSSFunctionValue::customCSSText):
364         * css/CSSFunctionValue.h:
365         * css/CSSGradientValue.cpp:
366         (WebCore::CSSLinearGradientValue::customCSSText):
367         (WebCore::CSSRadialGradientValue::customCSSText):
368         * css/CSSGradientValue.h:
369         * css/CSSImageSetValue.cpp:
370         (WebCore::CSSImageSetValue::customCSSText):
371         * css/CSSImageSetValue.h:
372         * css/CSSImageValue.cpp:
373         (WebCore::CSSImageValue::customCSSText):
374         * css/CSSImageValue.h:
375         * css/CSSInheritedValue.cpp:
376         (WebCore::CSSInheritedValue::customCSSText):
377         * css/CSSInheritedValue.h:
378         * css/CSSInitialValue.cpp:
379         (WebCore::CSSInitialValue::customCSSText):
380         * css/CSSInitialValue.h:
381         * css/CSSLineBoxContainValue.cpp:
382         (WebCore::CSSLineBoxContainValue::customCSSText):
383         * css/CSSLineBoxContainValue.h:
384         * css/CSSPrimitiveValue.cpp:
385         (WebCore::CSSPrimitiveValue::customCSSText):
386         (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
387         * css/CSSPrimitiveValue.h:
388         * css/CSSReflectValue.cpp:
389         (WebCore::CSSReflectValue::customCSSText):
390         * css/CSSReflectValue.h:
391         * css/CSSTimingFunctionValue.cpp:
392         (WebCore::CSSLinearTimingFunctionValue::customCSSText):
393         (WebCore::CSSCubicBezierTimingFunctionValue::customCSSText):
394         (WebCore::CSSStepsTimingFunctionValue::customCSSText):
395         * css/CSSTimingFunctionValue.h:
396         * css/CSSUnicodeRangeValue.cpp:
397         (WebCore::CSSUnicodeRangeValue::customCSSText):
398         * css/CSSUnicodeRangeValue.h:
399         * css/CSSValue.cpp:
400         (WebCore::CSSValue::cssText):
401         * css/CSSValueList.cpp:
402         (WebCore::CSSValueList::customCSSText):
403         * css/CSSValueList.h:
404         * css/FontFeatureValue.cpp:
405         (WebCore::FontFeatureValue::customCSSText):
406         * css/FontFeatureValue.h:
407         * css/FontValue.cpp:
408         (WebCore::FontValue::customCSSText):
409         * css/FontValue.h:
410         * css/ShadowValue.cpp:
411         (WebCore::ShadowValue::customCSSText):
412         * css/ShadowValue.h:
413         * css/WebKitCSSArrayFunctionValue.cpp:
414         (WebCore::WebKitCSSArrayFunctionValue::customCSSText):
415         * css/WebKitCSSArrayFunctionValue.h:
416         * css/WebKitCSSFilterValue.cpp:
417         (WebCore::WebKitCSSFilterValue::customCSSText):
418         * css/WebKitCSSFilterValue.h:
419         * css/WebKitCSSMatFunctionValue.cpp:
420         (WebCore::WebKitCSSMatFunctionValue::customCSSText):
421         * css/WebKitCSSMatFunctionValue.h:
422         * css/WebKitCSSMixFunctionValue.cpp:
423         (WebCore::WebKitCSSMixFunctionValue::customCSSText):
424         * css/WebKitCSSMixFunctionValue.h:
425         * css/WebKitCSSSVGDocumentValue.cpp:
426         (WebCore::WebKitCSSSVGDocumentValue::customCSSText):
427         * css/WebKitCSSSVGDocumentValue.h:
428         * css/WebKitCSSShaderValue.cpp:
429         (WebCore::WebKitCSSShaderValue::customCSSText):
430         * css/WebKitCSSShaderValue.h:
431         * css/WebKitCSSTransformValue.cpp:
432         (WebCore::WebKitCSSTransformValue::customCSSText):
433         * css/WebKitCSSTransformValue.h:
434         * svg/SVGColor.cpp:
435         (WebCore::SVGColor::customCSSText):
436         * svg/SVGColor.h:
437         * svg/SVGPaint.cpp:
438         (WebCore::SVGPaint::customCSSText):
439         * svg/SVGPaint.h:
440
441 2013-09-04  Chris Fleizach  <cfleizach@apple.com>
442
443         AX: aria-valuetext property not exposing AXValueDescription
444         https://bugs.webkit.org/show_bug.cgi?id=120375
445
446         Reviewed by Darin Adler.
447
448         Expose value based attributes for incrementor roles (which are called spinbuttons by ARIA).
449
450         Test: platform/mac/accessibility/spinbutton-valuedescription.html
451
452         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
453         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
454
455 2013-09-04  Javier Fernandez  <jfernandez@igalia.com>
456
457         <https://webkit.org/b/119622> [CSSRegions] Not possible to clear the selection when mixing content from different FlowThreads
458
459         Reviewed by David Hyatt.
460
461         When using CSS Regions is usual that the RenderTree doesn't match
462         the DOM Tree in terms of relative position of the nodes. Besides,
463         usually the content of a certain node is split and spread across
464         multiple blocks, rendered in different positions.
465
466         Regarding the Selection, this problem is even more important; the
467         selection direction changes when crossing the FlowThread
468         boundaries. This weird behavior is also present in other layouts
469         using non-regular positioning mechanisms, like absolute,
470         static. However, for those layouts the RenderTree preserves the
471         order of the nodes, unlike the CSS Regions layout model.
472
473         Because of how the RenderTree is generated with CSS Regions, the
474         RenderView::setSelection algorithm is not able to repaint some of
475         the rectangles defined during the selection process. In order to
476         face this issue, the proposed fix determines whether it should
477         backwards traversing the RenderTree, from the "stop" node to the
478         RenderView node.
479
480         Test: fast/regions/selecting-text-through-different-region-flows-2.html
481
482         * rendering/RenderView.cpp:
483         (WebCore::getNextOrPrevRenderObjectBasedOnDirection): Added.
484         (WebCore::RenderView::setSelection):
485
486 2013-09-04  Eric Carlson  <eric.carlson@apple.com>
487
488         Get MEDIA_STREAM compiling on OSX
489         https://bugs.webkit.org/show_bug.cgi?id=120650
490
491         Reviewed by Darin Adler.
492
493         No new tests, the code changed doesn't run on OSX yet.
494
495         * DerivedSources.make: Add MediaStream idl files.
496
497         * Modules/mediastream/LocalMediaStream.h: Mark class as FINAL.
498
499         * Modules/mediastream/MediaConstraintsImpl.cpp:
500         (WebCore::MediaConstraintsImpl::getOptionalConstraints): append -> appendRange so we don't
501             need a MediaConstraint copy constructor.
502
503         * Modules/mediastream/RTCDataChannel.cpp:
504         (WebCore::RTCDataChannel::send): Remove an unused parameter name.
505         * Modules/mediastream/RTCDataChannel.h: ArrayBuffer and ArrayBufferView are in the JSC namespace.
506
507         * Modules/mediastream/RTCPeerConnection.cpp:
508         (WebCore::RTCPeerConnection::RTCPeerConnection): loader() doesn't return a pointer.
509         (WebCore::RTCPeerConnection::localDescription): Set the ExceptionCode on error.
510         (WebCore::RTCPeerConnection::remoteDescription): Ditto.
511
512         * Modules/mediastream/RTCSessionDescription.cpp:
513         (WebCore::RTCSessionDescription::setSdp): Remove the unused ExceptionCode parameter.
514         * Modules/mediastream/RTCSessionDescription.h: Ditto.
515         * Modules/mediastream/RTCSessionDescription.idl: Ditto.
516
517         * Modules/mediastream/RTCStatsResponse.cpp:
518         (WebCore::RTCStatsResponse::canGetItemsForName): Add so JSRTCStatsResponse::canGetItemsForName
519             doesn't cause ref count churn.
520         * Modules/mediastream/RTCStatsResponse.h: Mark class as FINAL. Declare canGetItemsForName.
521
522         * WebCore.xcodeproj/project.pbxproj: Add new files.
523
524         * bindings/js/JSRTCStatsResponseCustom.cpp:
525         (WebCore::JSRTCStatsResponse::canGetItemsForName): Use canGetItemsForName instead of namedItem.
526             Use propertyNameToAtomicString instead of propertyNameToString 
527         (WebCore::JSRTCStatsResponse::nameGetter): Use propertyNameToAtomicString instead of 
528             propertyNameToString because namedItem takes an AtomicString.
529
530         * platform/mediastream/mac: Added.
531         * platform/mediastream/mac/MediaStreamCenterMac.cpp: Added.
532         * platform/mediastream/mac/MediaStreamCenterMac.h: Added.
533
534 2013-09-04  Daniel Bates  <dabates@apple.com>
535
536         [iOS] Fix the build following <http://trac.webkit.org/changeset/154903>
537         (https://bugs.webkit.org/show_bug.cgi?id=120540)
538
539         * style/StyleResolveTree.cpp:
540         (WebCore::Style::resolveTree): Use address operator and dot-notation when
541         passing Element to CheckForVisibilityChangeOnRecalcStyle and calling
542         Element::renderStyle(), respectively.
543
544 2013-09-04  Bem Jones-Bey  <bjonesbe@adobe.com>
545
546         Move logical dimension getters/setters to FloatingObject from RenderBlock
547         https://bugs.webkit.org/show_bug.cgi?id=120686
548
549         Reviewed by David Hyatt.
550
551         This is the first step in decoupling FloatingObject, FloatingObjects,
552         et al from RenderBlock. It is not ideal that the methods take a bool;
553         however, passing down the actual writing mode would require
554         refactoring the way that RenderBlock stores this information, which is
555         a task for the future.
556
557         No new tests, no behavior change.
558
559         * rendering/RenderBlock.cpp:
560         (WebCore::RenderBlock::repaintOverhangingFloats): Use new methods.
561         (WebCore::RenderBlock::insertFloatingObject):  Ditto.
562         (WebCore::RenderBlock::removeFloatingObject): Ditto.
563         (WebCore::RenderBlock::removeFloatingObjectsBelow): Ditto.
564         (WebCore::RenderBlock::computeLogicalLocationForFloat): Ditto.
565         (WebCore::RenderBlock::positionNewFloats): Ditto.
566         (WebCore::::updateOffsetIfNeeded): Ditto.
567         (WebCore::::collectIfNeeded): Ditto.
568         (WebCore::::getHeightRemaining): Ditto.
569         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Ditto.
570         (WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
571         (WebCore::RenderBlock::nextFloatLogicalBottomBelow): Ditto.
572         (WebCore::RenderBlock::lowestFloatLogicalBottom): Ditto.
573         (WebCore::RenderBlock::clearFloats): Ditto.
574         (WebCore::RenderBlock::addOverhangingFloats): Ditto.
575         (WebCore::RenderBlock::hasOverhangingFloat): Ditto.
576         (WebCore::RenderBlock::addIntrudingFloats): Ditto.
577         * rendering/RenderBlock.h:
578         (WebCore::RenderBlock::FloatingObject::logicalTop): Moved from RenderBlock::logicalTopForFloat
579         (WebCore::RenderBlock::FloatingObject::logicalBottom): Moved from RenderBlock::logicalBottomForFloat
580         (WebCore::RenderBlock::FloatingObject::logicalLeft): Moved from RenderBlock::logicalLeftForFloat
581         (WebCore::RenderBlock::FloatingObject::logicalRight): Moved from RenderBlock::logicalRightForFloat
582         (WebCore::RenderBlock::FloatingObject::logicalWidth): Moved from RenderBlock::logicalWidthForFloat
583         (WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalTop): Moved from RenderBlock::pixelSnappedLogicalTopForFloat
584         (WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalBottom): Moved from RenderBlock::pixelSnappedLogicalBottomForFloat
585         (WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalLeft): Moved from RenderBlock::pixelSnappedLogicalLeftForFloat
586         (WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalRight): Moved from RenderBlock::pixelSnappedLogicalRightForFloat
587         (WebCore::RenderBlock::FloatingObject::setLogicalTop): Moved from RenderBlock::setLogicalTopForFloat
588         (WebCore::RenderBlock::FloatingObject::setLogicalLeft): Moved from RenderBlock::setLogicalLeftForFloat
589         (WebCore::RenderBlock::FloatingObject::setLogicalHeight): Moved from RenderBlock::setLogicalHeightForFloat
590         (WebCore::RenderBlock::FloatingObject::setLogicalWidth): Moved from RenderBlock::setLogicalWidthForFloat
591         * rendering/RenderBlockLineLayout.cpp:
592         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Use new methods.
593         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine): Ditto.
594         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Ditto.
595         (WebCore::RenderBlock::positionNewFloatOnLine): Ditto.
596
597 2013-09-04  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
598
599         REGRESSION(r154977): Do not urlencode soup message on ResourceRequest::toSoupMessage()
600         https://bugs.webkit.org/show_bug.cgi?id=120681
601
602         Reviewed by Martin Robinson.
603
604         Do not call soup_message_set_uri with soupURI() (url encoded uri) on
605         ResourceRequest::toSoupMessage().
606
607         * platform/network/soup/ResourceRequest.h:
608         * platform/network/soup/ResourceRequestSoup.cpp:
609         (WebCore::ResourceRequest::updateSoupMessageMembers):
610         (WebCore::ResourceRequest::updateSoupMessage):
611         (WebCore::ResourceRequest::toSoupMessage):
612         Split common code from updateSoupMessage/toSoupMessage into updateSoupMessageMembers.
613
614 2013-09-04  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
615
616         [GTK] add support for subtitles on webkit2GTK
617         https://bugs.webkit.org/show_bug.cgi?id=117008
618
619         By activating subtitles support on webkit2GTK, the video player
620         recognizes and use text <tracks> inside <video> elements.
621
622         Reviewed by Martin Robinson.
623
624         Layout tests (track-menu) should cover this change.
625
626         * css/mediaControlsGtk.css:
627         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
628         (video::-webkit-media-controls-closed-captions-container):
629         (video::-webkit-media-controls-closed-captions-track-list):
630         (video::-webkit-media-controls-closed-captions-track-list h3):
631         (video::-webkit-media-controls-closed-captions-track-list ul):
632         (video::-webkit-media-controls-closed-captions-track-list li):
633         (video::-webkit-media-controls-closed-captions-track-list li.selected):
634         * html/shadow/MediaControlElements.cpp:
635         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
636         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
637         * html/shadow/MediaControlElements.h:
638         * html/shadow/MediaControlsGtk.cpp:
639         (WebCore::MediaControlsGtkEventListener::create):
640         (WebCore::MediaControlsGtkEventListener::cast):
641         (WebCore::MediaControlsGtkEventListener::MediaControlsGtkEventListener):
642         (WebCore::MediaControlsGtk::MediaControlsGtk):
643         (WebCore::MediaControlsGtk::initializeControls):
644         (WebCore::MediaControlsGtk::setMediaController):
645         (WebCore::MediaControlsGtk::reset):
646         (WebCore::MediaControlsGtk::makeTransparent):
647         (WebCore::MediaControlsGtk::toggleClosedCaptionTrackList):
648         (WebCore::MediaControlsGtk::showClosedCaptionTrackList):
649         (WebCore::MediaControlsGtk::hideClosedCaptionTrackList):
650         (WebCore::MediaControlsGtk::handleClickEvent):
651         (WebCore::MediaControlsGtk::eventListener):
652         (WebCore::MediaControlsGtkEventListener::handleEvent):
653         (WebCore::MediaControlsGtkEventListener::operator==):
654         * html/shadow/MediaControlsGtk.h:
655         * page/CaptionUserPreferences.cpp:
656         (WebCore::trackDisplayName):
657         * platform/gtk/LocalizedStringsGtk.cpp:
658         (WebCore::textTrackSubtitlesText):
659         (WebCore::textTrackOffMenuItemText):
660         (WebCore::textTrackNoLabelText):
661         * platform/gtk/RenderThemeGtk.h:
662
663 2013-09-03  Darin Adler  <darin@apple.com>
664
665         Use OwnPtr in the RenderLayerFilterInfo map
666         https://bugs.webkit.org/show_bug.cgi?id=120619
667
668         Reviewed by Anders Carlsson.
669
670         * rendering/RenderLayer.cpp:
671         (WebCore::RenderLayer::~RenderLayer): Use FilterInfo::remove directly instead of
672         going through removeFilterInfoIfNeeded function.
673         (WebCore::RenderLayer::paintsWithFilters): Rearranged #if a little bit and tweaked
674         the comment.
675         (WebCore::RenderLayer::requiresFullLayerImageForFilters): Use && instead of ternary.
676         (WebCore::RenderLayer::filterRenderer): Use FilterInfo::getIfExists directly instead
677         of going through filterInfo function.
678         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): Use FilterInfo::get
679         directly instead of going through filterInfo function. Also use references instead
680         of pointers.
681         (WebCore::shouldDoSoftwarePaint): Marked this simple function, used only once, as
682         inline.
683         (WebCore::paintForFixedRootBackground): Ditto.
684         (WebCore::RenderLayer::setupFilters): Use FilterInfo::getIfExists directly instead
685         of going through filterInfo function. Also get rendererer out of filterInfo instead
686         of calling filterRenderer.
687         (WebCore::RenderLayer::updateOrRemoveFilterClients): Use FilterInfo::get and
688         FilterInfo::getIfExists directly instead of using ensureFilterInfo and
689         filterInfo functions.
690         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Use FilterInfo::getIfExists
691         and FilterInfo::get directly instead of using filterInfo function.
692
693         * rendering/RenderLayer.h: Removed the ifdefs around forward declarations; overkill,
694         since there is no harm in a few extras. Marked the RenderLayer class FINAL. Removed the
695         no-longer-needed filterInfo, ensureFilterInfo, removeFilterInfoIfNeeded, hasFilterInfo,
696         and setHasFilterInfo functions. Mark everything private instead of protected since
697         there are no classes derived from this one. Made FilterInfo an embedded class so it
698         can get at the m_hasFilterInfo data member directly and has a shorter name.
699
700         * rendering/RenderLayerFilterInfo.cpp: Removed the ifs around includes, which were
701         overkill, since there is little harm including a few extra files.
702         (WebCore::RenderLayer::FilterInfo::map): Added. Returns the single global map.
703         (WebCore::RenderLayer::FilterInfo::getIfExists): Renamed from filterInfoForRenderLayer.
704         Also changed to take a reference instead of a pointer, and to use the new filterMap.
705         (WebCore::RenderLayer::FilterInfo::get): Renamed from createFilterInfoForRenderLayerIfNeeded.
706         Also changed to take a reference instead of a pointer, to use the new filterMap, and
707         to use add to avoid hashing twice when adding a new layer to the map.
708         (WebCore::RenderLayer::FilterInfo::remove): Renamed from removeFilterInfoForRenderLayer.
709         Also changed to take a reference instead of a pointer and eliminated the explicit
710         delete since we use OwnPtr now.
711         (WebCore::RenderLayer::FilterInfo::FilterInfo): Take a reference instead of a pointer.
712         (WebCore::RenderLayer::FilterInfo::~FilterInfo): Updated class name.
713         (WebCore::RenderLayer::FilterInfo::setRenderer): Ditto.
714         (WebCore::RenderLayer::FilterInfo::notifyFinished): Update since m_layer is a reference.
715         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients): Update to iterate in a
716         slightly more idiomatic and efficient way. Also update since m_layer is a reference.
717         (WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients): Ditto.
718         (WebCore::RenderLayer::FilterInfo::notifyCustomFilterProgramLoaded): Ditto.
719         (WebCore::RenderLayer::FilterInfo::updateCustomFilterClients): Ditto. Also switched to
720         a raw pointer for CustomFilterProgram*.
721         (WebCore::RenderLayer::FilterInfo::removeCustomFilterClients): Ditto.
722
723         * rendering/RenderLayerFilterInfo.h: Removed the ifs around includes, which were
724         overkill, since there is little harm including a few extra files. Changed to be a
725         member class of RenderLayer, marked the class FINAL, and changed the style of the
726         conditionals around the base classes. Renamed functions. Made overrides private and
727         used OVERRIDE. Changed functions to take references instead of pointers. Did some
728         small style cleanup. Made deleteOwnedPtr a friend so we can keep the destructor private.
729         Moved the typedef of RenderLayerFilterInfoMap into the class and named it just Map.
730         Got rid of s_filterMap and instead added a function named just map().
731
732 2013-09-04  Andreas Kling  <akling@apple.com>
733
734         Simplify subtree relayout scheduling a bit.
735         <https://webkit.org/b/120684>
736
737         Reviewed by Antti Koivisto.
738
739         Subtree relayout scheduling should only happen while there's a render tree up,
740         the code can freely assume that there's a RenderView present.
741
742         Added an assertion that the render tree isn't being torn down. This should catch
743         renderers doing unnecessary work during document detach and could be a source
744         of "performance freebies."
745
746         I also un-nested scheduleRelayoutOfSubtree() with early-return style to make
747         the code more human-readable.
748
749         * page/FrameView.h:
750         * page/FrameView.cpp:
751         (WebCore::FrameView::scheduleRelayoutOfSubtree):
752         * rendering/RenderObject.cpp:
753         (WebCore::RenderObject::scheduleRelayout):
754
755 2013-09-04  Jae Hyun Park  <jae.park@company100.net>
756
757         [Coordinated Graphics] Remove unused method in CoordinatedGraphicsLayer
758         https://bugs.webkit.org/show_bug.cgi?id=120664
759
760         Reviewed by Darin Adler.
761
762         CoordinatedGraphicsLayer::hasPendingVisibleChanges is not used as of
763         r148952.
764
765         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
766         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
767
768 2013-09-04  Hans Muller  <hmuller@adobe.com>
769
770         [CSS Shapes] Revise the ShapeInterval set operations' implementation
771         https://bugs.webkit.org/show_bug.cgi?id=120349
772
773         Reviewed by Alexandru Chiculita.
774
775         Revised the ShapeIntervals unite, intersect, and subtract operations to
776         improve efficiency and clarity.
777
778         No new tests are required, this is just an internal refactoring.
779
780         * rendering/shapes/PolygonShape.cpp:
781         (WebCore::computeOverlappingEdgeXProjections): Removed call to ShapeInterval<T>sortVector(), since calling std::sort directly is simpler.
782         * rendering/shapes/ShapeInterval.h:
783         (WebCore::ShapeInterval::contains): True if the interval parameter is within this interval.
784         (WebCore::ShapeInterval::intersect): Substantially revised version of the original method.
785         (WebCore::ShapeInterval::uniteVectors): Ditto.
786         (WebCore::ShapeInterval::intersectVectors): Ditto.
787         (WebCore::ShapeInterval::subtractVectors): Ditto.
788
789 2013-09-04  Krzysztof Czech  <k.czech@samsung.com>
790
791         [ATK] Adds an accessibility support to access a value of the color control element
792         https://bugs.webkit.org/show_bug.cgi?id=114354
793
794         Reviewed by Mario Sanchez Prada.
795
796         Implements a possibility of retrieving a value of the color control element.
797
798         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
799         (webkitAccessibleTextGetText):
800         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
801         (getInterfaceMaskFromObject):
802
803 2013-09-04  Andreas Kling  <akling@apple.com>
804
805         Use Vector<Ref<T>> in three random WebCore loops.
806         <https://webkit.org/b/120661>
807
808         Reviewed by Darin Adler.
809
810         Clean up three little loops to use Refs to avoid null checking known-valid objects.
811         Also apply auto, reserveInitialCapacity and uncheckedAppend as appropriate.
812
813         * page/DOMWindow.cpp:
814         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
815         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
816         * platform/graphics/FontCache.cpp:
817         (WebCore::FontCache::invalidate):
818
819 2013-09-04  Claudio Saavedra  <csaavedra@igalia.com>
820
821         [GTK] Color of input button's text broken with recent gnome-themes-standard
822         https://bugs.webkit.org/show_bug.cgi?id=120581
823
824         Reviewed by Carlos Garcia Campos.
825
826         * platform/gtk/RenderThemeGtk3.cpp:
827         (WebCore::getStyleContext): add the "text-button" class.
828         (WebCore::RenderThemeGtk::systemColor): Use the ACTIVE state flag,
829         as this is the one actually used for button labels.
830
831 2013-09-04  Zan Dobersek  <zdobersek@igalia.com>
832
833         [GTK] Add support for the Wayland build target
834         https://bugs.webkit.org/show_bug.cgi?id=120627
835
836         Reviewed by Gustavo Noronha Silva.
837
838         * GNUmakefile.list.am: Reorder the Source/WebCore/plugins/np* source files.
839         The X11-specific source files should only be included if the X11 target is being built. PluginPackageNone and
840         PluginViewNone source files must be included in non-X11-target builds. Other source files that were previously
841         guarded with the TARGET_X11 conditional should also be built for the Wayland target, so the new TARGET_X11_OR_WAYLAND
842         conditional is used. If neither of those two targets is being built we fall back to adding source files to the build
843         as necessary by the actual build target.
844         * platform/gtk/GtkVersioning.c:
845         (gdk_screen_get_monitor_workarea): Additionally guard bits of code that depend on the GDK_WINDOWING_X11 macro being
846         defined - these should only be built when building the X11 target, checked for with PLATFORM(X11).
847
848 2013-09-04  Mario Sanchez Prada  <mario.prada@samsung.com>
849
850         [GTK] Reimplement atk_text_get_text_*_offset for SENTENCE boundaries
851         https://bugs.webkit.org/show_bug.cgi?id=114873
852
853         Reviewed by Chris Fleizach.
854
855         Re-implement these functions without using GailTextUtil nor Pango.
856
857         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
858         (webkitAccessibleTextWordForBoundary): Renamed from webkitAccessibleTextGetWordForBoundary,
859         to keep it consistent with names for new functions.
860         (isSentenceBoundary): Helper function to know when we are either
861         at the beginning or the end of a sentence.
862         (isWhiteSpaceBetweenSentences): It returns true if we are in the
863         middle of a white space between sentences. Useful for implementing
864         the SENTENCE_END boundary type.
865         (sentenceAtPositionForAtkBoundary): New helper function to find the
866         sentence at a given position considering values of AtkTextBoundary.
867         (webkitAccessibleTextSentenceForBoundary): New function,
868         implementing atk_text_get_text_*_offset for SENTENCE.
869         (webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
870         SENTENCE boundaries with webkitAccessibleTextSentenceForBoundary().
871
872 2013-09-04  Andrei Bucur  <abucur@adobe.com>
873
874         [CSS Regions] Extend the RenderRegionRange class to include overflow information + apply the layout overflow
875         https://bugs.webkit.org/show_bug.cgi?id=116299
876
877         Reviewed by David Hyatt.
878
879         Patch for computing overflow for boxes per region and applying it for layout overflow.
880         The approach is based on adding a RenderOverflow object inside the RenderBoxRegionInfo
881         structure. The RenderOverflow object is manipulated by the RenderRegion using some utility
882         functions that receive the target box as a parameter.
883         When computing the portion of a box inside a region it is necessary to split the border
884         rect of the box between regions. This means mapping the rectangle in the flow thread
885         coordinates, making the split and then remapping the fragment in the box coordinates.
886         For now, this is not optimized and walks the render tree to compute the block offsets.
887         The function getRegionRangeForBox is used to determine in what regions a box should
888         be rendered into. The range is computed at layout time and it depends on the height of
889         the box, if its unsplittable for fragmentation etc.
890         The patch also propagates the layout overflow to the regions. This enables to correctly
891         display scrollbars when chaining varying size regions (currently the horizontal overflow
892         is as wide as the widest region for all the regions). Unsplittable boxes will also generate
893         layout overflow in the start region so they can be scrolled and fully reachable. This
894         functionality depends on fixing the visual overflow and adapting the layout to take into
895         account the unsplittable box. Besides this, the relative positioning and transforms are applied
896         at a fragment level. This is in line with the CSS3 Break specification:
897         http://dev.w3.org/csswg/css-break/#transforms
898
899         Tests: fast/regions/overflow-scrollable-rel-pos-fragment.html
900                fast/regions/overflow-scrollable-rotated-fragment.html
901                fast/regions/overflow-scrollable-unsplittable-fragment.html
902                fast/regions/overflow-scrollable-varying-width-1.html
903                fast/regions/overflow-scrollable-varying-width-2.html
904
905         * rendering/RenderBlock.cpp:
906         (WebCore::RenderBlock::computeOverflow):
907         (WebCore::RenderBlock::clearLayoutOverflow):
908         (WebCore::RenderBlock::addVisualOverflowFromTheme):
909         (WebCore::RenderBlock::relayoutForPagination):
910         * rendering/RenderBlockLineLayout.cpp:
911         (WebCore::RenderBlock::addOverflowFromInlineChildren):
912         * rendering/RenderBox.cpp:
913         (WebCore::RenderBox::clientBoxRectInRegion):
914         (WebCore::RenderBox::addVisualEffectOverflow):
915         (WebCore::RenderBox::applyVisualEffectOverflow):
916         (WebCore::RenderBox::addOverflowFromChild):
917         (WebCore::RenderBox::clearOverflow):
918         * rendering/RenderBox.h:
919         * rendering/RenderBoxRegionInfo.h:
920         (WebCore::RenderBoxRegionInfo::createOverflow):
921         (WebCore::RenderBoxRegionInfo::overflow):
922         (WebCore::RenderBoxRegionInfo::clearOverflow):
923         * rendering/RenderEmbeddedObject.cpp:
924         (WebCore::RenderEmbeddedObject::layout):
925         * rendering/RenderFlowThread.cpp:
926         (WebCore::RenderFlowThread::updateLogicalWidth):
927         (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
928         (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
929         (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
930         (WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
931         (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
932         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
933         (WebCore::RenderFlowThread::addRegionsLayoutOverflow):
934         (WebCore::RenderFlowThread::clearRegionsOverflow):
935         * rendering/RenderFlowThread.h:
936         * rendering/RenderIFrame.cpp:
937         (WebCore::RenderIFrame::layout):
938         * rendering/RenderRegion.cpp:
939         (WebCore::RenderRegion::computeOverflowFromFlowThread):
940         (WebCore::RenderRegion::setRenderBoxRegionInfo):
941         (WebCore::RenderRegion::ensureOverflowForBox):
942         (WebCore::RenderRegion::rectFlowPortionForBox):
943         (WebCore::RenderRegion::addLayoutOverflowForBox):
944         (WebCore::RenderRegion::addVisualOverflowForBox):
945         (WebCore::RenderRegion::layoutOverflowRectForBox):
946         (WebCore::RenderRegion::visualOverflowRectForBox):
947         (WebCore::RenderRegion::layoutOverflowRectForBoxForPropagation):
948         (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
949         * rendering/RenderRegion.h:
950         * rendering/RenderReplaced.cpp:
951         (WebCore::RenderReplaced::layout):
952         * rendering/RenderTableSection.cpp:
953         (WebCore::RenderTableSection::computeOverflowFromCells):
954
955 2013-09-04  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
956
957         [GStreamer] cannot play live streams
958         https://bugs.webkit.org/show_bug.cgi?id=116831
959
960         Reviewed by Philippe Normand.
961
962         Fix issues with rtsp streams embedded on <video> not loading.
963
964         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
965         Do not reset pipeline to READY state on STATE_CHANGE_ASYNC when entering PAUSED state for
966         live streams, otherwise we enter an endless loop of READY->PAUSED->READY->PAUSED when
967         starting playback.
968
969 2013-09-03  Chris Fleizach  <cfleizach@apple.com>
970
971         AX: REGRESSION: @title is exposed as AXDescription when label label from contents already exists.
972         https://bugs.webkit.org/show_bug.cgi?id=120550
973
974         Reviewed by Mario Sanchez Prada.
975
976         Resolve a FIXME from the accessible name computation refactoring so that alternative text for links do not
977         show up in the title field and do not duplicate naming when a title tag is used.
978
979         Effectively, this means that links no longer use AXTitle for alternative text. They use AXDescription
980         like all other elements.
981
982         Test: platform/mac/accessibility/link-with-title.html
983
984         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
985         (-[WebAccessibilityObjectWrapper accessibilityTitle]):
986         (-[WebAccessibilityObjectWrapper accessibilityDescription]):
987
988 2013-09-03  Darin Adler  <darin@apple.com>
989
990         Change type of Document::doctype back to a raw pointer
991         https://bugs.webkit.org/show_bug.cgi?id=120617
992
993         Reviewed by Andreas Kling.
994
995         * dom/Document.cpp:
996         (WebCore::Document::doctype): Return a raw pointer.
997         (WebCore::Document::childrenChanged): Use the raw pointer.
998         Also added a FIXME about this code that is probably in the wrong place.
999         * dom/Document.h: More of the same.
1000
1001         * editing/markup.cpp:
1002         (WebCore::documentTypeString): Get rid of local variable entirely,
1003         since null is already handled right by createMarkup, and also remove
1004         the call to get since doctype is just a raw pointer.
1005
1006 2013-09-03  Andreas Kling  <akling@apple.com>
1007
1008         ASSERTION FAILED: frame().view() == this closing a page with SVG or video
1009         <https://webkit.org/b/120645>
1010
1011         Reviewed by Antti Koivisto.
1012
1013         Have RenderSVGResourceContainer check if the document is being destroyed before
1014         triggering any repaints. This replaces the previous check for a null RenderView
1015         which meant basically the same thing.
1016
1017         We could add more and better assertions to catch unnecessary work during tree
1018         teardown, but let's do that separately.
1019
1020         * rendering/svg/RenderSVGResourceContainer.cpp:
1021         (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
1022
1023 2013-09-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1024
1025         Fix uninitialized build warning in make_names.pl
1026         https://bugs.webkit.org/show_bug.cgi?id=120658
1027
1028         Reviewed by Andreas Kling.
1029
1030         No new tests, no behavior change.
1031
1032         * dom/make_names.pl:
1033         (printTypeChecks): Fixed a build warning since r154965.
1034
1035 2013-09-03  Darin Adler  <darin@apple.com>
1036
1037         Fix backwards branch in ~Node from r154967
1038         https://bugs.webkit.org/show_bug.cgi?id=120659
1039
1040         Reviewed by Andreas Kling.
1041
1042         * dom/Node.cpp:
1043         (WebCore::Node::~Node): Fix backwards branch. The old code ran the code only
1044         when we did not remove the item from the table. I removed a ! from this expression
1045         after review; bad idea.
1046
1047 2013-09-03  Enrica Casucci  <enrica@apple.com>
1048
1049         Can't select Katakana word by double-clicking.
1050         <rdar://problem/14654926>
1051
1052         Reviewed by Alexey Proskuryakov and Ryosuke Niwa.
1053
1054         For some languages, like Japanese we need
1055         to use more context for word breaking.
1056
1057         New test: editing/selection/doubleclick-japanese-text.html
1058
1059         * platform/text/TextBoundaries.h:
1060         (WebCore::requiresContextForWordBoundary):
1061
1062 2013-09-03  Mark Lam  <mark.lam@apple.com>
1063
1064         Converting StackIterator to a callback interface.
1065         https://bugs.webkit.org/show_bug.cgi?id=120564.
1066
1067         Reviewed by Filip Pizlo.
1068
1069         No new tests.
1070
1071         * bindings/js/JSXMLHttpRequestCustom.cpp:
1072         (WebCore::SendFunctor::SendFunctor):
1073         (WebCore::SendFunctor::hasViableFrame):
1074         (WebCore::SendFunctor::operator()):
1075         (WebCore::JSXMLHttpRequest::send):
1076         * bindings/js/ScriptCallStackFactory.cpp:
1077         (WebCore::CreateScriptCallStackFunctor::CreateScriptCallStackFunctor):
1078         (WebCore::CreateScriptCallStackFunctor::operator()):
1079         (WebCore::createScriptCallStack):
1080         (WebCore::CreateScriptCallStackForConsoleFunctor::CreateScriptCallStackForConsoleFunctor):
1081         (WebCore::CreateScriptCallStackForConsoleFunctor::operator()):
1082
1083 2013-09-03  Oliver Hunt  <oliver@apple.com>
1084
1085         Support structured clone of Map and Set
1086         https://bugs.webkit.org/show_bug.cgi?id=120654
1087
1088         Reviewed by Simon Fraser.
1089
1090         Add support for cloning Map and Set.  Fairly self explanatory change.
1091         Needed to add Forwarding headers for the JSMap, JSSet and MapData classes.
1092
1093         * ForwardingHeaders/runtime/JSMap.h: Added.
1094         * ForwardingHeaders/runtime/JSSet.h: Added.
1095         * ForwardingHeaders/runtime/MapData.h: Added.
1096         * bindings/js/SerializedScriptValue.cpp:
1097         (WebCore::CloneSerializer::isMap):
1098         (WebCore::CloneSerializer::isSet):
1099         (WebCore::CloneSerializer::startSet):
1100         (WebCore::CloneSerializer::startMap):
1101         (WebCore::CloneSerializer::serialize):
1102         (WebCore::CloneDeserializer::consumeMapDataTerminationIfPossible):
1103         (WebCore::CloneDeserializer::deserialize):
1104
1105 2013-09-03  Bear Travis  <betravis@adobe.com>
1106
1107         [CSS Shapes] Shape's content gets extra left offset when left-border is positive on the content box
1108         https://bugs.webkit.org/show_bug.cgi?id=117573
1109
1110         Reviewed by David Hyatt.
1111
1112         Nested blocks need to take into account their offset from the shape-inside container.
1113         The new code calculates the offset from the shape-inside container, then applies the
1114         offset to the computed segments. The line must be moved down by the offset's height,
1115         and each segment must be moved left by the offset's width.
1116
1117         Test: fast/shapes/shape-inside/shape-inside-offset-block-children.html
1118
1119         * rendering/RenderBlock.cpp:
1120         (WebCore::RenderBlock::relayoutShapeDescendantIfMoved): Relayout a block child if its
1121         new logical left would cause it to rest at a new position within a shape container.
1122         (WebCore::RenderBlock::logicalOffsetFromShapeAncestorContainer): Calculate the logical
1123         offset form a shape inside ancestor container.
1124         (WebCore::RenderBlock::layoutBlockChild): Call relayoutShapeDescendantIfMoved with the
1125         new position offset.
1126         * rendering/RenderBlock.h:
1127         * rendering/RenderBlockLineLayout.cpp:
1128         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Use layout offset, rather
1129         than just vertical offset.
1130         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Ditto.
1131         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
1132         * rendering/shapes/ShapeInsideInfo.h:
1133         (WebCore::ShapeInsideInfo::computeSegmentsForLine): Shift segments logically left when
1134         there is an inline offset.
1135
1136 2013-09-03  Antoine Quint  <graouts@apple.com>
1137
1138         Web Inspector: exceptions triggered from console evaluation do not pause the debugger
1139         https://bugs.webkit.org/show_bug.cgi?id=120460
1140
1141         Reviewed by Timothy Hatcher.
1142
1143         * inspector/InjectedScriptSource.js:
1144         Explicitly set a sourceURL such that the frontend may identify injected script when
1145         processing call frames in order to hide such code from the debugger.
1146
1147 2013-09-03  Andreas Kling  <akling@apple.com>
1148
1149         Support Vector<Ref<T>>.
1150         <https://webkit.org/b/120637>
1151
1152         Reviewed by Antti Koivisto.
1153
1154         Use Vector<Ref<T>> internally in Page.
1155
1156         * page/Page.cpp:
1157         (WebCore::networkStateChanged):
1158         (WebCore::Page::refreshPlugins):
1159
1160             Clean up these functions and use Vector<Ref<Frame>> to store pointers to frames
1161             since we know they are not going to be null.
1162
1163         (WebCore::Page::pluginViews):
1164
1165             Changed this to return a Vector<Ref<PluginView>> by value instead of passing a
1166             writable vector as an argument. Clean up loops with 'auto'.
1167
1168         (WebCore::Page::storageBlockingStateChanged):
1169         (WebCore::Page::privateBrowsingStateChanged):
1170
1171             Tweaked for pluginViews() returning a Vector now.
1172
1173         (WebCore::Page::setVisibilityState):
1174
1175             Store Documents that need a visibilitychange event in a Vector<Ref<Document>>.
1176
1177 2013-08-28  Sergio Villar Senin  <svillar@igalia.com>
1178
1179         [CSS Grid Layout] Add parsing for named grid lines
1180         https://bugs.webkit.org/show_bug.cgi?id=119540
1181
1182         Reviewed by Andreas Kling.
1183
1184         From Blink r150381,r150587 by <jchaffraix@chromium.org>
1185
1186         Adds parsing support for named grid lines at <grid-line> level,
1187         i.e., inside grid-{row|column}-{start|end}. This change covers
1188         only the parsing, layout changes coming in a follow up patch.
1189
1190         * css/CSSComputedStyleDeclaration.cpp:
1191         (WebCore::valueForGridPosition):
1192         * css/CSSParser.cpp:
1193         (WebCore::CSSParser::parseIntegerOrStringFromGridPosition):
1194         (WebCore::CSSParser::parseGridPosition):
1195         * css/CSSParser.h:
1196         * css/StyleResolver.cpp:
1197         (WebCore::createGridPosition):
1198         * rendering/RenderGrid.cpp:
1199         (WebCore::RenderGrid::resolveGridPositionFromStyle):
1200         * rendering/style/GridPosition.h:
1201         (WebCore::GridPosition::setExplicitPosition):
1202         (WebCore::GridPosition::setSpanPosition):
1203         (WebCore::GridPosition::integerPosition):
1204         (WebCore::GridPosition::namedGridLine):
1205
1206 2013-09-03  Alexey Proskuryakov  <ap@apple.com>
1207
1208         [Mac] Hyphenation respects regional format settings language instead of primary language
1209         https://bugs.webkit.org/show_bug.cgi?id=120641
1210
1211         Reviewed by Dan Bernstein.
1212
1213         Fixes hyphenation tests on my machine with non-English regional format settings.
1214
1215         * platform/text/cf/HyphenationCF.cpp: (createValueForNullKey):
1216         Use primary UI language for hyphenation, not regional settings language.
1217
1218 2013-09-03  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
1219
1220         [GTK][EFL] include missing localized strings for subtitle auto track
1221         https://bugs.webkit.org/show_bug.cgi?id=120629
1222
1223         those methods are necessary to show the "Auto" track on webkitgtk
1224
1225         Reviewed by Gustavo Noronha Silva.
1226
1227         * platform/efl/LocalizedStringsEfl.cpp:
1228         (WebCore::textTrackAutomaticMenuItemText):
1229         * platform/gtk/LocalizedStringsGtk.cpp:
1230         (WebCore::textTrackAutomaticMenuItemText):
1231
1232 2013-09-03  Daniel Bates  <dabates@apple.com>
1233
1234         Require layout when -webkit-overflow-scrolling changes
1235         https://bugs.webkit.org/show_bug.cgi?id=120535
1236
1237         Reviewed by Darin Adler.
1238
1239         Test: fast/repaint/overflow-scroll-touch-repaint.html
1240
1241         We want to require a layout when the value of -webkit-overflow-scrolling changes
1242         since -webkit-overflow-scrolling creates a stacking context.
1243
1244         * rendering/style/RenderStyle.cpp:
1245         (WebCore::RenderStyle::changeRequiresLayout):
1246
1247 2013-09-02  Ryosuke Niwa  <rniwa@webkit.org>
1248
1249         Support the "json" responseType and JSON response entity in XHR
1250         https://bugs.webkit.org/show_bug.cgi?id=73648
1251
1252         Reviewed by Oliver Hunt.
1253
1254         Based on the patch written by Jarred Nicholls.
1255
1256         Implement 'json' type for XMLHttpRequest.response. We cache the result on JSC side as a cached attribute
1257         unlike other response types like 'document' and 'blob' for which the parsed response object is cached
1258         in XMLHttpRequest itself. In the long run, we should do the same for other types of response types.
1259
1260         Also refactored the various code to share the code.
1261
1262         Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-json-invalid.html
1263                fast/xmlhttprequest/xmlhttprequest-responsetype-json-utf16.html
1264                fast/xmlhttprequest/xmlhttprequest-responsetype-json-valid.html
1265
1266         * ForwardingHeaders/runtime/JSONObject.h: Added.
1267
1268         * bindings/js/JSXMLHttpRequestCustom.cpp:
1269         (WebCore::JSXMLHttpRequest::visitChildren):
1270         (WebCore::JSXMLHttpRequest::response): Use JSONParse to parse the response text and cache the result.
1271         Call didCacheResponseJSON to set the cache status and clear the original response buffer.
1272
1273         * xml/XMLHttpRequest.cpp:
1274         (WebCore::XMLHttpRequest::XMLHttpRequest): Added m_responseCacheIsValid to invalidate the cache of
1275         a json response.
1276         (WebCore::XMLHttpRequest::responseText):
1277         (WebCore::XMLHttpRequest::didCacheResponseJSON): Added; Updates m_responseCacheIsValid and clears the
1278         response buffer to save memory.
1279         (WebCore::XMLHttpRequest::responseXML):
1280         (WebCore::XMLHttpRequest::setResponseType):
1281         (WebCore::XMLHttpRequest::responseType):
1282         (WebCore::XMLHttpRequest::clearResponseBuffers):
1283         (WebCore::XMLHttpRequest::didReceiveData):
1284
1285         * xml/XMLHttpRequest.h:
1286         (WebCore::XMLHttpRequest::doneWithoutErrors): Extracted from responseXML.
1287         (WebCore::XMLHttpRequest::responseTextIgnoringResponseType): Extracted from responseText.
1288         (WebCore::XMLHttpRequest::responseCacheIsValid): Added.
1289         (WebCore::XMLHttpRequest::shouldDecodeResponse): Extracted from didReceiveData.
1290         Also modified to decode when the response type is ResponseTypeJSON.
1291
1292         * xml/XMLHttpRequest.idl: Added CachedAttribute IDL extention on response property. This cache is
1293         used when the response type is 'json'.
1294
1295 2013-09-03  Commit Queue  <commit-queue@webkit.org>
1296
1297         Unreviewed, rolling out r154881.
1298         http://trac.webkit.org/changeset/154881
1299         https://bugs.webkit.org/show_bug.cgi?id=120643
1300
1301         Crashes on macworld.com (Requested by kling on #webkit).
1302
1303         * dom/Element.cpp:
1304         (WebCore::Element::setAttributeInternal):
1305
1306 2013-09-03  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
1307
1308         [GStreamer] Don't set state to NULL until element is destroyed
1309         https://bugs.webkit.org/show_bug.cgi?id=117354
1310
1311         Reviewed by Philippe Normand.
1312
1313         Don't set playbin to NULL until it is going to be destroyed or if we stay
1314         for too long on the READY state. Instead only set the state to READY as this
1315         allows much faster state changes to PAUSED/PLAYING again. playbin internally
1316         caches some state that is destroyed when setting it to NULL.
1317         This state is independent of the URI and it is even possible to change the
1318         URI in READY state.
1319
1320         To avoid having resources (e.g. audio devices) open indefinitely,
1321         when setting the state to READY we create a timeout and if the timeout
1322         is reached we reset the pipeline state to NULL to free resources.
1323
1324         Also now all state changes use the changePipelineState method instead of setting
1325         the playbin state directly with gst_element_set_state, so we have a better control
1326         of when we are requesting state changes.
1327
1328         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1329         (WebCore::mediaPlayerPrivateReadyStateTimeoutCallback):
1330         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1331         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1332         (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
1333         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
1334         (WebCore::MediaPlayerPrivateGStreamer::setRate):
1335         (WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult):
1336         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1337
1338 2013-09-03  peavo@outlook.com  <peavo@outlook.com>
1339
1340         [WinCairo] Unneeded code in method GlyphPage::fill().
1341         https://bugs.webkit.org/show_bug.cgi?id=120634
1342
1343         Reviewed by Andreas Kling.
1344
1345         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1346         (WebCore::GlyphPage::fill): Remove unneeded call to GetTextMetrics() function.
1347
1348 2013-09-03  Mihnea Ovidenie  <mihnea@adobe.com>
1349
1350         [CSSRegions] Pseudo-elements as regions should not be exposed to JS
1351         https://bugs.webkit.org/show_bug.cgi?id=120633
1352
1353         Reviewed by Andreas Kling.
1354
1355         Until we properly implement the Region interface (http://dev.w3.org/csswg/css-regions/#the-region-interface)
1356         for pseudo-elements, we should not return these as regions in JS.
1357
1358         Tests: fast/regions/get-regions-by-content-pseudo.html
1359                fast/regions/webkit-named-flow-get-regions-pseudo.html
1360
1361         * dom/WebKitNamedFlow.cpp:
1362         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex): Skip pseudo-elements as regions here too,
1363         otherwise we may get an index that cannot be used with getRegions().
1364         (WebCore::WebKitNamedFlow::getRegionsByContent):
1365         (WebCore::WebKitNamedFlow::getRegions):
1366
1367 2013-09-03  Zan Dobersek  <zdobersek@igalia.com>
1368
1369         REGRESSION(r154967): http appcache tests crashing on WK1
1370         https://bugs.webkit.org/show_bug.cgi?id=120620
1371
1372         Reviewed by Andreas Kling.
1373
1374         * loader/appcache/ApplicationCacheGroup.cpp:
1375         (WebCore::ApplicationCacheGroup::cacheDestroyed): Reintroduce pre-r154967 behavior that returned early in
1376         this method if the passed-in ApplicationCache object was not found in the ApplicationCacheGroup's HashSet
1377         of all the caches. This is now done by checking that the HashSet<T>::remove(T) returns true (meaning the
1378         object was found in the HashSet and removed from it) in addition to that HashSet being subsequently empty
1379         before the method moves on to destroying its ApplicationCacheGroup instance.
1380
1381 2013-09-03  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
1382
1383         [gstreamer] Disable HTTP request "Accept-Encoding:" header field on gstreamer source element to avoid receiving the wrong size when retrieving data
1384         https://bugs.webkit.org/show_bug.cgi?id=115354
1385
1386         Reviewed by Philippe Normand.
1387
1388         Also disable Accept-Encoding on ResourceRequest::toSoupMessage accordingly.
1389
1390         * platform/network/soup/ResourceRequestSoup.cpp:
1391         (WebCore::ResourceRequest::toSoupMessage):
1392         Call ResourceRequest::updateSoupMessage from ResourceRequest::toSoupMessage so that the
1393         Accept-Encoding header is also respected.
1394
1395 2013-09-03  Krzysztof Czech  <k.czech@samsung.com>
1396
1397         [AX][ATK] Added support for sort and help attributes.
1398         https://bugs.webkit.org/show_bug.cgi?id=120456
1399
1400         Reviewed by Chris Fleizach.
1401
1402         Added support for aria-sort and aria-help attributes.
1403
1404         Test: accessibility/aria-sort.html
1405
1406         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1407         (webkitAccessibleGetAttributes):
1408
1409 2013-09-03  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1410
1411         [Qt] Remove dead code for QtXmlPatterns
1412         https://bugs.webkit.org/show_bug.cgi?id=120624
1413
1414         Reviewed by Simon Hausmann.
1415
1416         Remove code supporting XSLT using QtXmlPatterns which has been
1417         dead for some time.
1418
1419         * Target.pri:
1420         * WebCore.pri:
1421         * dom/TransformSourceQt.cpp: Removed.
1422         * xml/XSLStyleSheetQt.cpp: Removed.
1423         * xml/XSLTProcessorQt.cpp: Removed.
1424         * xml/parser/XMLDocumentParserQt.cpp:
1425         (WebCore::XMLDocumentParser::doEnd):
1426         (WebCore::XMLDocumentParser::parseProcessingInstruction):
1427
1428 2013-09-03  Mihnea Ovidenie  <mihnea@adobe.com>
1429
1430         [CSS Regions] position: fixed is computed relative to the first region, not the viewport
1431         https://bugs.webkit.org/show_bug.cgi?id=111176
1432
1433         Reviewed by David Hyatt.
1434
1435         Fixed positioned elements inside a named flow should be positioned and sized relative to the viewport,
1436         not on the first region, as described in the spec: http://dev.w3.org/csswg/css-regions/#the-flow-into-property.
1437         While the flow thread will still act as containing block for the fixed positioned elements, the painting and hit
1438         testing for the fixed positioned elements is done by RenderView. The layers for the fixed positioned elements
1439         are collected by the flow thread.
1440  
1441         Tests: fast/regions/element-in-named-flow-absolute-from-fixed.html
1442                fast/regions/element-in-named-flow-fixed-from-absolute.html
1443                fast/regions/element-inflow-fixed-from-outflow-static.html
1444                fast/regions/element-outflow-static-from-inflow-fixed.html
1445                fast/regions/fixed-element-transformed-parent.html
1446                fast/regions/fixed-in-named-flow-scroll.html
1447                fast/regions/fixed-inside-fixed-in-named-flow.html
1448                fast/regions/fixed-inside-named-flow-zIndex.html
1449                fast/regions/fixed-pos-elem-in-namedflow-noregions.html
1450                fast/regions/fixed-pos-region-in-nested-flow.html
1451
1452         * rendering/FlowThreadController.cpp:
1453         (WebCore::FlowThreadController::collectFixedPositionedLayers):
1454         Return the list of layers for the fixed positioned elements with named flows as containing blocks.
1455         Used in RenderLayer:: paintFixedLayersInNamedFlows and RenderLayer:: hitTestFixedLayersInNamedFlows.
1456         * rendering/FlowThreadController.h:
1457         * rendering/RenderBox.cpp:
1458         (WebCore::RenderBox::mapLocalToContainer):
1459         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1460         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1461         For fixed positioned elements, width and height are given by the view instead of the first region.
1462         * rendering/RenderLayer.cpp:
1463         (WebCore::accumulateOffsetTowardsAncestor):
1464         Modified for the fixed positioned elements inside named flows with the named flows as containing block
1465         to take into account the view scroll.
1466         (WebCore::compareZIndex):
1467         Moved upwards because it is used in RenderLayer::paintFixedLayersInNamedFlows.
1468         (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
1469         Paint the list of fixed layers directly from the RenderView instead of painting them through regions -> named flows.
1470         (WebCore::RenderLayer::paintLayerContents):
1471         (WebCore::RenderLayer::paintList):
1472         (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
1473         Hit test the layers for the fix positioned elements inside named flows from the RenderView layer
1474         instead of the region -> named flow layer.
1475         (WebCore::RenderLayer::hitTestLayer):
1476         (WebCore::RenderLayer::calculateRects):
1477         * rendering/RenderLayer.h:
1478         * rendering/RenderLayerCompositor.cpp:
1479         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
1480         We do not support yet the accelerated compositing for elements in named flows,
1481         so bail out early here. We need to revisit fixed elements once we finish accelerated compositing for elements in named flows.
1482         * rendering/RenderObject.cpp:
1483         (WebCore::RenderObject::fixedPositionedWithNamedFlowContainingBlock):
1484         (WebCore::hasFixedPosInNamedFlowContainingBlock):
1485         (WebCore::RenderObject::containerForRepaint):
1486         Changed to take into account that RenderView should be the repaintContainer for the
1487         fixed positioned elements with named flow as the containing block.
1488         * rendering/RenderObject.h:
1489
1490 2013-09-03  Arvid Nilsson  <anilsson@rim.com>
1491
1492         [BlackBerry] Remove LayerData::LayerProgram
1493         https://bugs.webkit.org/show_bug.cgi?id=120601
1494
1495         Reviewed by Anders Carlsson.
1496
1497         JIRA 490672
1498         All layer contents are RGBA now, so there's no need to support BGRA any
1499         more and the LayerData::LayerProgram enum can be removed. Related dead
1500         code was removed.
1501
1502         No new tests, no change in behavior.
1503
1504         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
1505         (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
1506         * platform/graphics/blackberry/LayerData.h:
1507         (WebCore::LayerData::LayerData):
1508         * platform/graphics/blackberry/LayerRenderer.cpp:
1509         (WebCore::LayerRenderer::compositeLayersRecursive):
1510         (WebCore::LayerRenderer::createProgram):
1511         * platform/graphics/blackberry/LayerRenderer.h:
1512         * platform/graphics/blackberry/LayerWebKitThread.h:
1513         * platform/graphics/blackberry/PluginLayerWebKitThread.cpp:
1514         (WebCore::PluginLayerWebKitThread::setPluginView):
1515
1516 2013-09-03  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1517
1518         [GStreamer] Video player sets system volume to 100%
1519         https://bugs.webkit.org/show_bug.cgi?id=118974
1520
1521         Reviewed by Philippe Normand.
1522
1523         In order to preserve the system volume we need to keep track of
1524         the volume being initialized in the HTMLMediaElement and then just
1525         setting the volume to the sink when initializing the pipeline if
1526         that volume was changed before.
1527
1528         * html/HTMLMediaElement.cpp:
1529         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialized
1530         attribute to false.
1531         (WebCore::HTMLMediaElement::setVolume): Set the attribute to true
1532         when volume is changed.
1533         (WebCore::HTMLMediaElement::updateVolume): Set the volume only if
1534         volume was initialized.
1535         (WebCore::HTMLMediaElement::mediaPlayerPlatformVolumeConfigurationRequired):
1536         Platform volume configuration is required only if volume was not
1537         initialized before.
1538         * html/HTMLMediaElement.h: Added attribute and interface method.
1539         * platform/graphics/MediaPlayer.h:
1540         (WebCore::MediaPlayerClient::mediaPlayerPlatformVolumeConfigurationRequired):
1541         Declared and added default implementation for the interface method.
1542         (WebCore::MediaPlayer::platformVolumeConfigurationRequired):
1543         Asked the client, meaning the HTMLMediaElement if the platform
1544         volume configuration is required.
1545         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1546         (WebCore::mediaPlayerPrivateVolumeChangedCallback): Added log.
1547         (WebCore::MediaPlayerPrivateGStreamerBase::setVolume): Added log.
1548         (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
1549         Set the volume only if not platform volume is required and added log.
1550
1551 2013-09-02  Darin Adler  <darin@apple.com>
1552
1553         * inspector/InspectorProfilerAgent.cpp:
1554         (WebCore::InspectorProfilerAgent::removeProfile): Fix braces here; a review
1555         comment I forgot to address in my last check-in.
1556
1557 2013-09-02  Darin Adler  <darin@apple.com>
1558
1559         Cut down on double hashing and code needlessly using hash table iterators
1560         https://bugs.webkit.org/show_bug.cgi?id=120611
1561
1562         Reviewed by Andreas Kling.
1563
1564         Some of these changes are primarily code cleanup, but others could provide
1565         a small code size and speed improvement by avoiding extra hashing.
1566
1567         * Modules/geolocation/Geolocation.cpp:
1568         (WebCore::Geolocation::Watchers::find): Use get instead of find.
1569         (WebCore::Geolocation::Watchers::remove): Use take instead of find.
1570         (WebCore::Geolocation::makeCachedPositionCallbacks): Use the return
1571         value from remove to avoid hashing twice.
1572
1573         * Modules/webaudio/AudioContext.cpp:
1574         (WebCore::AudioContext::addAutomaticPullNode): Use the return value from
1575         add to avoid hashing twice.
1576         (WebCore::AudioContext::removeAutomaticPullNode): Use the return value
1577         from remove to avoid hashing twice.
1578
1579         * Modules/webaudio/AudioNodeInput.cpp:
1580         (WebCore::AudioNodeInput::connect): Use the return value from add to avoid
1581         hashing twice.
1582         (WebCore::AudioNodeInput::disconnect): Use the return value from remove
1583         to avoid hashing twice.
1584
1585         * Modules/webaudio/AudioParam.cpp:
1586         (WebCore::AudioParam::connect): Use the return value from add to avoid
1587         hashing twice.
1588         (WebCore::AudioParam::disconnect): Use the return value from remove to
1589         avoid hashing twice.
1590
1591         * bridge/NP_jsobject.cpp:
1592         (ObjectMap::remove): Use remove instead of find/remove.
1593
1594         * dom/Node.cpp:
1595         (WebCore::Node::~Node): Use the return value from remove instead of
1596         find/remove.
1597
1598         * inspector/InspectorProfilerAgent.cpp:
1599         (WebCore::InspectorProfilerAgent::removeProfile): Remove needless
1600         calls to contains.
1601
1602         * loader/DocumentLoader.cpp:
1603         (WebCore::DocumentLoader::removeSubresourceLoader): Use the return
1604         value from remove instead of find/remove.
1605
1606         * loader/ResourceLoadScheduler.cpp:
1607         (WebCore::ResourceLoadScheduler::HostInformation::remove): Use the
1608         return value from remove to avoid hashing twice.
1609
1610         * loader/appcache/ApplicationCacheGroup.cpp:
1611         (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Use
1612         remove instead of find/remove.
1613         (WebCore::ApplicationCacheGroup::cacheDestroyed): Removed a needless
1614         call to contains to avoid hashing twice. It's fine to do the check
1615         for an empty hash table unconditionally.
1616
1617         * page/DOMWindow.cpp:
1618         (WebCore::addUnloadEventListener): Eliminated a local variable for clarity.
1619         (WebCore::removeUnloadEventListener): Ditto. Also use remove instead
1620         of find/remove.
1621         (WebCore::removeAllUnloadEventListeners): Ditto. Also use removeAll instead
1622         of find/removeAll.
1623         (WebCore::addBeforeUnloadEventListener): Ditto.
1624         (WebCore::removeBeforeUnloadEventListener): Ditto.
1625         (WebCore::removeAllBeforeUnloadEventListeners): Ditto.
1626
1627         * page/FrameView.cpp:
1628         (WebCore::FrameView::removeViewportConstrainedObject): Use the return
1629         value from remove to avoid hashing twice.
1630         (WebCore::FrameView::removeScrollableArea): Use the return value from
1631         remove instead of find/remove.
1632         (WebCore::FrameView::containsScrollableArea): Use && instead of an if
1633         statement in a way that is idiomatic for this kind of function.
1634
1635         * page/Page.cpp:
1636         (WebCore::Page::addRelevantRepaintedObject): Use the return value from
1637         remove instead of find/remove.
1638
1639         * page/PageGroup.cpp:
1640         (WebCore::PageGroup::removeUserScriptsFromWorld): Use remove instead
1641         of find/remove.
1642         (WebCore::PageGroup::removeUserStyleSheetsFromWorld): Use the return
1643         value from remove instead of find/remove.
1644
1645         * page/PerformanceUserTiming.cpp:
1646         (WebCore::clearPeformanceEntries): Removed a needless call to contains.
1647
1648         * platform/graphics/DisplayRefreshMonitor.cpp:
1649         (WebCore::DisplayRefreshMonitor::removeClient): Use the return value
1650         from remove instead of find/remove.
1651         (WebCore::DisplayRefreshMonitorManager::displayDidRefresh): Use remove
1652         instead of find/remove.
1653
1654         * platform/graphics/blackberry/LayerRenderer.cpp:
1655         (WebCore::LayerRenderer::removeLayer): Use the return value from remove
1656         instead of find/remove.
1657
1658         * platform/win/WindowMessageBroadcaster.cpp:
1659         (WebCore::WindowMessageBroadcaster::removeListener): Use remove instead
1660         of find/remove. It's fine to do the check for an empty hash table unconditionally.
1661
1662         * plugins/PluginDatabase.cpp:
1663         (WebCore::PluginDatabase::removeDisabledPluginFile): Use the return value
1664         from remove instead of find/remove.
1665
1666         * rendering/style/StyleCustomFilterProgramCache.cpp:
1667         (WebCore::StyleCustomFilterProgramCache::lookup): Use get instead of find.
1668         (WebCore::StyleCustomFilterProgramCache::add): Use contains instead of find
1669         in an assertion.
1670         (WebCore::StyleCustomFilterProgramCache::remove): Use remove instead of
1671         find/remove.
1672
1673         * svg/SVGCursorElement.cpp:
1674         (WebCore::SVGCursorElement::removeClient): Use the return value from remove
1675         instead of find/remove.
1676
1677         * svg/SVGDocumentExtensions.cpp:
1678         (WebCore::SVGDocumentExtensions::removeResource): Removed an unneeded call
1679         to contains.
1680         (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Use
1681         remove instead of find/remove. It's fine to do the check for an empty hash
1682         table unconditionally.
1683         (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Use
1684         remove instead of find/remove. Also removed unhelpful assertions. One is
1685         already done by HashMap, and the other is just checking a basic invariant
1686         of every HashMap that doesn't need to be checked.
1687
1688         * svg/graphics/SVGImageCache.cpp:
1689         (WebCore::SVGImageCache::removeClientFromCache): Removed an unneeded call
1690         to contains.
1691
1692         * svg/properties/SVGAnimatedProperty.cpp:
1693         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): Use the version of
1694         remove that takes an iterator rather than the one that takes a key, so
1695         we don't need to redo the hashing.
1696
1697 2013-09-02  Andreas Kling  <akling@apple.com>
1698
1699         Generate isFooElement() functions from tagname data.
1700         <https://webkit.org/b/120584>
1701
1702         Reviewed by Antti Koivisto.
1703
1704         Add a "generateTypeChecks" attribute that can be used in HTMLTagNames.in & friends.
1705         If present, isFooElement() style helpers will be added to HTMLElementTypeChecks.h.
1706         This also outputs an isElementOfType<T> check for the Element iterators.
1707
1708         Removed all the hand-written isFooElement() functions that only checked tag name.
1709
1710         * html/HTMLTagNames.in:
1711         * svg/svgtags.in:
1712
1713             Added "generateTypeChecks" attribute as appropriate.
1714
1715         * GNUmakefile.am:
1716         * GNUmakefile.list.am:
1717         * WebCore.vcxproj/WebCore.vcxproj:
1718         * WebCore.xcodeproj/project.pbxproj:
1719
1720             Added to build systems based on how HTMLNames.h was done.
1721             We're just outputting an additional header file in the generated code directory
1722             so I suspect most ports will just pick this up automagically.
1723
1724         * dom/make_names.pl:
1725         (defaultTagPropertyHash):
1726         (printLicenseHeader):
1727         (printTypeChecks):
1728         (printTypeChecksHeaderFile):
1729
1730             Generate a separate file for each namespace with isFooElement() helpers for
1731             elements with "generateTypeChecks" attribute set.
1732
1733 2013-09-02  Darin Adler  <darin@apple.com>
1734
1735         [Mac] No need for HardAutorelease, which is same as CFBridgingRelease
1736         https://bugs.webkit.org/show_bug.cgi?id=120569
1737
1738         Reviewed by Andy Estes.
1739
1740         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1741         (AXTextMarkerRange):
1742         (AXTextMarkerRangeStart):
1743         (AXTextMarkerRangeEnd):
1744         (textMarkerForVisiblePosition):
1745         Use CFBridgingRelease.
1746
1747         * platform/mac/KURLMac.mm:
1748         (WebCore::KURL::operator NSURL *): Use CFBridgingRelease.
1749         (WebCore::KURL::createCFURL): Get rid of needless local variable.
1750
1751         * platform/mac/WebCoreNSURLExtras.mm:
1752         (WebCore::mapHostNameWithRange):
1753         (WebCore::URLWithData):
1754         (WebCore::userVisibleString):
1755         * platform/text/mac/StringImplMac.mm:
1756         (WTF::StringImpl::operator NSString *):
1757         Use CFBridgingRelease.
1758
1759 2013-09-01  Andreas Kling  <akling@apple.com>
1760
1761         Ref: A smart pointer for the reference age.
1762         <https://webkit.org/b/120570>
1763
1764         Reviewed by Antti Koivisto.
1765
1766         Use Ref<T> for various stack guards where null checking isn't needed.
1767
1768 2013-09-02  Andreas Kling  <akling@apple.com>
1769
1770         Simplify DocumentType handling.
1771         <https://webkit.org/b/120529>
1772
1773         Reviewed by Antti Koivisto.
1774
1775         Removed the insertedInto()/removedFrom() handlers from DocumentType.
1776
1777         Document no longer keeps a pointer to its doctype node, it was only used for the
1778         document.doctype DOM API, which now just looks through the list of (<=2) children.
1779
1780         The ENABLE(LEGACY_VIEWPORT_ADAPTION) hunk from Document::setDocType() was moved
1781         into Document::childrenChanged().
1782
1783         We no longer clear the style resolver on doctype insertion/removal since it
1784         doesn't actually affect style anyway.
1785
1786         Also made doctype() return a PassRefPtr<DocumentType> instead of a raw pointer.
1787
1788         * dom/Document.cpp:
1789         (WebCore::Document::dispose):
1790         (WebCore::Document::doctype):
1791         (WebCore::Document::childrenChanged):
1792         * dom/Document.h:
1793         * dom/DocumentType.cpp:
1794         * dom/DocumentType.h:
1795         * editing/markup.cpp:
1796         (WebCore::documentTypeString):
1797
1798 2013-09-02  Anton Obzhirov  <a.obzhirov@samsung.com>
1799
1800         <https://webkit.org/b/98350> [GTK] accessibility/aria-invalid.html times out
1801
1802         Reviewed by Mario Sanchez Prada.
1803
1804         The patch exposes aria-invalid attribute to ATK.
1805
1806         * accessibility/atk/AXObjectCacheAtk.cpp:
1807         (WebCore::AXObjectCache::postPlatformNotification):
1808         Added emitting state-change signal for aria-invalid event.
1809         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1810         (webkitAccessibleGetAttributes):
1811         Added aria-invalid attribute.
1812
1813 2013-09-02  Commit Queue  <commit-queue@webkit.org>
1814
1815         Unreviewed, rolling out r154955.
1816         http://trac.webkit.org/changeset/154955
1817         https://bugs.webkit.org/show_bug.cgi?id=120605
1818
1819         broke xcode4 build :| (Requested by kling on #webkit).
1820
1821         * GNUmakefile.am:
1822         * GNUmakefile.list.am:
1823         * WebCore.vcxproj/WebCore.vcxproj:
1824         * WebCore.xcodeproj/project.pbxproj:
1825         * dom/make_names.pl:
1826         (defaultTagPropertyHash):
1827         (printLicenseHeader):
1828         * html/HTMLAnchorElement.h:
1829         (WebCore::isHTMLAnchorElement):
1830         (WebCore::HTMLAnchorElement):
1831         * html/HTMLAreaElement.h:
1832         (WebCore::isHTMLAreaElement):
1833         (WebCore::HTMLAreaElement):
1834         * html/HTMLAudioElement.h:
1835         (WebCore::isHTMLAudioElement):
1836         * html/HTMLBaseElement.h:
1837         (WebCore::isHTMLBaseElement):
1838         (WebCore::HTMLBaseElement):
1839         * html/HTMLCanvasElement.h:
1840         (WebCore::isHTMLCanvasElement):
1841         * html/HTMLElement.h:
1842         * html/HTMLFieldSetElement.h:
1843         (WebCore::isHTMLFieldSetElement):
1844         (WebCore::HTMLFieldSetElement):
1845         * html/HTMLFormElement.h:
1846         (WebCore::isHTMLFormElement):
1847         * html/HTMLFrameSetElement.h:
1848         (WebCore::isHTMLFrameSetElement):
1849         (WebCore::HTMLFrameSetElement):
1850         * html/HTMLImageElement.h:
1851         (WebCore::isHTMLImageElement):
1852         * html/HTMLInputElement.h:
1853         (WebCore::isHTMLInputElement):
1854         * html/HTMLLabelElement.h:
1855         (WebCore::isHTMLLabelElement):
1856         (WebCore::HTMLLabelElement):
1857         * html/HTMLLegendElement.h:
1858         (WebCore::isHTMLLegendElement):
1859         (WebCore::HTMLLegendElement):
1860         * html/HTMLMapElement.h:
1861         (WebCore::isHTMLMapElement):
1862         * html/HTMLMeterElement.h:
1863         (WebCore::isHTMLMeterElement):
1864         * html/HTMLOptGroupElement.h:
1865         (WebCore::isHTMLOptGroupElement):
1866         * html/HTMLOptionElement.h:
1867         (WebCore::isHTMLOptionElement):
1868         * html/HTMLParamElement.h:
1869         (WebCore::isHTMLParamElement):
1870         (WebCore::HTMLParamElement):
1871         * html/HTMLProgressElement.h:
1872         (WebCore::isHTMLProgressElement):
1873         * html/HTMLScriptElement.h:
1874         (WebCore::isHTMLScriptElement):
1875         * html/HTMLSourceElement.h:
1876         (WebCore::isHTMLSourceElement):
1877         (WebCore::HTMLSourceElement):
1878         * html/HTMLStyleElement.h:
1879         (WebCore::isHTMLStyleElement):
1880         (WebCore::HTMLStyleElement):
1881         * html/HTMLTableElement.h:
1882         (WebCore::isHTMLTableElement):
1883         * html/HTMLTableRowElement.h:
1884         (WebCore::isHTMLTableRowElement):
1885         (WebCore::HTMLTableRowElement):
1886         * html/HTMLTagNames.in:
1887         * html/HTMLTextAreaElement.h:
1888         (WebCore::isHTMLTextAreaElement):
1889         * html/HTMLTitleElement.h:
1890         (WebCore::isHTMLTitleElement):
1891         (WebCore::HTMLTitleElement):
1892         * html/HTMLTrackElement.h:
1893         (WebCore::isHTMLTrackElement):
1894         (WebCore::HTMLTrackElement):
1895         * svg/SVGElement.h:
1896         * svg/SVGFontElement.h:
1897         (WebCore::isSVGFontElement):
1898         * svg/SVGFontFaceElement.h:
1899         (WebCore::isSVGFontFaceElement):
1900         (WebCore::SVGFontFaceElement):
1901         * svg/SVGForeignObjectElement.h:
1902         (WebCore::isSVGForeignObjectElement):
1903         (WebCore::SVGForeignObjectElement):
1904         * svg/SVGImageElement.h:
1905         (WebCore::isSVGImageElement):
1906         * svg/SVGScriptElement.h:
1907         (WebCore::isSVGScriptElement):
1908         * svg/svgtags.in:
1909
1910 2013-09-02  Antti Koivisto  <antti@apple.com>
1911
1912         Clean up ContainerNode::childrenChanged
1913         https://bugs.webkit.org/show_bug.cgi?id=120599
1914
1915         Reviewed by Andreas Kling.
1916
1917         - Make childrenChanged take a single struct argument instead of a long list of arguments.
1918         - Use enum instead of childCountDelta. It was always -1, 0, 1 or the total number of children (in case of removing them all).
1919         - Remove use of Node*, give the change range as Elements.
1920         - Related cleanups.
1921
1922         * dom/Attr.cpp:
1923         (WebCore::Attr::childrenChanged):
1924         * dom/Attr.h:
1925         * dom/CharacterData.cpp:
1926         (WebCore::CharacterData::parserAppendData):
1927         (WebCore::CharacterData::dispatchModifiedEvent):
1928         * dom/ContainerNode.cpp:
1929         (WebCore::ContainerNode::insertBefore):
1930         (WebCore::ContainerNode::notifyChildInserted):
1931         (WebCore::ContainerNode::notifyChildRemoved):
1932         
1933             Add private helpers for setting up the struct.
1934
1935         (WebCore::ContainerNode::parserInsertBefore):
1936         (WebCore::ContainerNode::replaceChild):
1937         (WebCore::ContainerNode::removeChild):
1938         (WebCore::ContainerNode::parserRemoveChild):
1939         (WebCore::ContainerNode::removeChildren):
1940         (WebCore::ContainerNode::appendChild):
1941         (WebCore::ContainerNode::parserAppendChild):
1942         (WebCore::ContainerNode::childrenChanged):
1943         (WebCore::ContainerNode::updateTreeAfterInsertion):
1944         * dom/ContainerNode.h:
1945         * dom/Document.cpp:
1946         (WebCore::Document::childrenChanged):
1947         * dom/Document.h:
1948         * dom/Element.cpp:
1949         (WebCore::checkForSiblingStyleChanges):
1950         
1951             Clean up and simplify. Since we now get element range automatically we don't need to compute it.
1952
1953         (WebCore::Element::childrenChanged):
1954         (WebCore::Element::finishParsingChildren):
1955         * dom/Element.h:
1956         * dom/ShadowRoot.cpp:
1957         (WebCore::ShadowRoot::childrenChanged):
1958         * dom/ShadowRoot.h:
1959         * html/HTMLElement.cpp:
1960         (WebCore::HTMLElement::childrenChanged):
1961         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
1962         
1963             Try to keep the existing behavior. This code needs  more cleanup to be sane. It shouldn't operate on Nodes
1964             as it only really cares about Elements.
1965
1966         * html/HTMLElement.h:
1967         * html/HTMLFieldSetElement.cpp:
1968         (WebCore::HTMLFieldSetElement::childrenChanged):
1969         * html/HTMLFieldSetElement.h:
1970         * html/HTMLObjectElement.cpp:
1971         (WebCore::HTMLObjectElement::childrenChanged):
1972         * html/HTMLObjectElement.h:
1973         * html/HTMLOptGroupElement.cpp:
1974         (WebCore::HTMLOptGroupElement::childrenChanged):
1975         * html/HTMLOptGroupElement.h:
1976         * html/HTMLOptionElement.cpp:
1977         (WebCore::HTMLOptionElement::childrenChanged):
1978         * html/HTMLOptionElement.h:
1979         * html/HTMLOutputElement.cpp:
1980         (WebCore::HTMLOutputElement::childrenChanged):
1981         * html/HTMLOutputElement.h:
1982         * html/HTMLScriptElement.cpp:
1983         (WebCore::HTMLScriptElement::childrenChanged):
1984         * html/HTMLScriptElement.h:
1985         * html/HTMLSelectElement.cpp:
1986         (WebCore::HTMLSelectElement::childrenChanged):
1987         * html/HTMLSelectElement.h:
1988         * html/HTMLStyleElement.cpp:
1989         (WebCore::HTMLStyleElement::childrenChanged):
1990         * html/HTMLStyleElement.h:
1991         * html/HTMLTextAreaElement.cpp:
1992         (WebCore::HTMLTextAreaElement::childrenChanged):
1993         * html/HTMLTextAreaElement.h:
1994         * html/HTMLTitleElement.cpp:
1995         (WebCore::HTMLTitleElement::childrenChanged):
1996         * html/HTMLTitleElement.h:
1997         * html/shadow/InsertionPoint.cpp:
1998         (WebCore::InsertionPoint::childrenChanged):
1999         * html/shadow/InsertionPoint.h:
2000         * svg/SVGClipPathElement.cpp:
2001         (WebCore::SVGClipPathElement::childrenChanged):
2002         * svg/SVGClipPathElement.h:
2003         * svg/SVGElement.cpp:
2004         (WebCore::SVGElement::childrenChanged):
2005         * svg/SVGElement.h:
2006         * svg/SVGFELightElement.cpp:
2007         (WebCore::SVGFELightElement::childrenChanged):
2008         * svg/SVGFELightElement.h:
2009         * svg/SVGFilterElement.cpp:
2010         (WebCore::SVGFilterElement::childrenChanged):
2011         * svg/SVGFilterElement.h:
2012         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2013         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
2014         * svg/SVGFilterPrimitiveStandardAttributes.h:
2015         * svg/SVGFontFaceElement.cpp:
2016         (WebCore::SVGFontFaceElement::childrenChanged):
2017         * svg/SVGFontFaceElement.h:
2018         * svg/SVGFontFaceFormatElement.cpp:
2019         (WebCore::SVGFontFaceFormatElement::childrenChanged):
2020         * svg/SVGFontFaceFormatElement.h:
2021         * svg/SVGFontFaceSrcElement.cpp:
2022         (WebCore::SVGFontFaceSrcElement::childrenChanged):
2023         * svg/SVGFontFaceSrcElement.h:
2024         * svg/SVGFontFaceUriElement.cpp:
2025         (WebCore::SVGFontFaceUriElement::childrenChanged):
2026         * svg/SVGFontFaceUriElement.h:
2027         * svg/SVGGradientElement.cpp:
2028         (WebCore::SVGGradientElement::childrenChanged):
2029         * svg/SVGGradientElement.h:
2030         * svg/SVGMarkerElement.cpp:
2031         (WebCore::SVGMarkerElement::childrenChanged):
2032         * svg/SVGMarkerElement.h:
2033         * svg/SVGMaskElement.cpp:
2034         (WebCore::SVGMaskElement::childrenChanged):
2035         * svg/SVGMaskElement.h:
2036         * svg/SVGPatternElement.cpp:
2037         (WebCore::SVGPatternElement::childrenChanged):
2038         * svg/SVGPatternElement.h:
2039         * svg/SVGScriptElement.cpp:
2040         (WebCore::SVGScriptElement::childrenChanged):
2041         * svg/SVGScriptElement.h:
2042         * svg/SVGStyleElement.cpp:
2043         (WebCore::SVGStyleElement::childrenChanged):
2044         * svg/SVGStyleElement.h:
2045         * svg/SVGTitleElement.cpp:
2046         (WebCore::SVGTitleElement::childrenChanged):
2047         * svg/SVGTitleElement.h:
2048
2049 2013-09-02  Andreas Kling  <akling@apple.com>
2050
2051         Generate isFooElement() functions from tagname data.
2052         <https://webkit.org/b/120584>
2053
2054         Reviewed by Antti Koivisto.
2055
2056         Add a "generateTypeChecks" attribute that can be used in HTMLTagNames.in & friends.
2057         If present, isFooElement() style helpers will be added to HTMLElementTypeChecks.h.
2058         This also outputs an isElementOfType<T> check for the Element iterators.
2059
2060         Removed all the hand-written isFooElement() functions that only checked tag name.
2061
2062         * html/HTMLTagNames.in:
2063         * svg/svgtags.in:
2064
2065             Added "generateTypeChecks" attribute as appropriate.
2066
2067         * GNUmakefile.am:
2068         * GNUmakefile.list.am:
2069         * WebCore.vcxproj/WebCore.vcxproj:
2070         * WebCore.xcodeproj/project.pbxproj:
2071
2072             Added to build systems based on how HTMLNames.h was done.
2073             We're just outputting an additional header file in the generated code directory
2074             so I suspect most ports will just pick this up automagically.
2075
2076         * dom/make_names.pl:
2077         (defaultTagPropertyHash):
2078         (printLicenseHeader):
2079         (printTypeChecks):
2080         (printTypeChecksHeaderFile):
2081
2082             Generate a separate file for each namespace with isFooElement() helpers for
2083             elements with "generateTypeChecks" attribute set.
2084
2085 2013-09-02  Dirk Schulze  <krit@webkit.org>
2086
2087         Use edgeMode=duplicate for blurring on filter() function
2088         https://bugs.webkit.org/show_bug.cgi?id=120590
2089
2090         Reviewed by Antti Koivisto.
2091
2092         Filters on the CSS Image function filter() are not allowed to extend the
2093         dimension of the input image. This causes weird results on blurring an image,
2094         where the fading on the edges is clipped at the half of the fading.
2095         We shouldn't fade edges at all and use the edgeMode=duplicate instead.
2096         This will duplicate the pixel value on the nearest edge of the input image
2097         instead of taking transparent black and results in nice blurred images with
2098         sharp edges.
2099
2100         Spec: http://dev.w3.org/fxtf/filters/#blurEquivalent
2101
2102         Test: fast/filter-image/filter-image-blur.html
2103
2104         * css/CSSFilterImageValue.cpp: Pass consumer information to the renderer.
2105         (WebCore::CSSFilterImageValue::image):
2106         * rendering/FilterEffectRenderer.cpp: Set edgeMode for feGaussianBlur to
2107             'duplicate' or 'none' depending on the consumer.
2108         (WebCore::FilterEffectRenderer::build):
2109         * rendering/FilterEffectRenderer.h: Add enumeration to differ between the 
2110             different consumers of the renderer.
2111         * rendering/RenderLayer.cpp:
2112         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):  Pass consumer
2113             information to the renderer.
2114
2115 2013-09-01  Dirk Schulze  <krit@webkit.org>
2116
2117         Add 'edgeMode' attribute to SVGFEGaussianBlur
2118         https://bugs.webkit.org/show_bug.cgi?id=120582
2119
2120         Add 'edgeMode' attribute to the SVGFEGaussianBlur element. This attribute
2121         allows users to define the behavior on edges with the values 'none' where
2122         pixel values outside the input image are treated as transparent black. (The
2123         current blurring behavior.) 'duplicate' which repeats the values on the
2124         nearest edge and 'warp', which takes the pixel of the opposite site of
2125         the input image.
2126         Beside the attribute, this patch implements the behavior of 'duplicate'.
2127
2128         http://dev.w3.org/fxtf/filters/#feGaussianBlurEdgeModeAttribute
2129
2130         Reviewed by Rob Buis.
2131
2132         Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html
2133                svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html
2134                svg/filters/svg-gaussianblur-edgeMode-duplicate-expected.svg
2135                svg/filters/svg-gaussianblur-edgeMode-duplicate.svg
2136
2137         * platform/graphics/filters/FEGaussianBlur.cpp:
2138         (WebCore::FEGaussianBlur::FEGaussianBlur):
2139         (WebCore::FEGaussianBlur::create):
2140         (WebCore::FEGaussianBlur::edgeMode):
2141         (WebCore::FEGaussianBlur::setEdgeMode):
2142         (WebCore::boxBlur):
2143         (WebCore::FEGaussianBlur::platformApplyGeneric):
2144         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
2145         * platform/graphics/filters/FEGaussianBlur.h:
2146         * rendering/FilterEffectRenderer.cpp:
2147         (WebCore::FilterEffectRenderer::build):
2148         * svg/SVGFEGaussianBlurElement.cpp:
2149         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2150         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
2151         (WebCore::SVGFEGaussianBlurElement::parseAttribute):
2152         (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
2153         (WebCore::SVGFEGaussianBlurElement::build):
2154         * svg/SVGFEGaussianBlurElement.h:
2155         * svg/SVGFEGaussianBlurElement.idl:
2156
2157 2013-09-01  Andreas Kling  <akling@apple.com>
2158
2159         EventHandler::m_frame should be a Frame&.
2160         <https://webkit.org/b/120580>
2161
2162         Reviewed by Darin Adler.
2163
2164         EventHandler is tied to the lifetime of its frame, so let m_frame be a Frame&.
2165         A handful of null checks and assertions removed.
2166
2167 2013-09-01  Darin Adler  <darin@apple.com>
2168
2169         Fix a mistake in my recent pasteboard/editor refactoring that was causing tests to fail.
2170
2171         * editing/mac/EditorMac.mm:
2172         (WebCore::getImage): One place this said cachedImage but it should have said tentativeCachedImage.
2173
2174 2013-09-01  Darin Adler  <darin@apple.com>
2175
2176         HitTestResult should have innerNonSharedElement
2177         https://bugs.webkit.org/show_bug.cgi?id=120579
2178
2179         Reviewed by Andreas Kling.
2180
2181         * editing/Editor.cpp:
2182         (WebCore::Editor::copyImage): Call HitTestResult member function version of
2183         innerNonSharedElement instead of a local function that does it.
2184
2185         * page/Chrome.cpp:
2186         (WebCore::Chrome::setToolTip): Use innerNonSharedElement instead of getting
2187         the node and checking if it's an input element. Also added some missing braces.
2188
2189         * page/EventHandler.cpp:
2190         (WebCore::EventHandler::selectClosestWordFromHitTestResult): Use targetNode for
2191         local variables instead of innerNode to match the HitTestResult function name.
2192         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
2193         (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
2194         (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
2195         (WebCore::EventHandler::handleMousePressEvent): Ditto.
2196
2197         * rendering/HitTestResult.cpp:
2198         (WebCore::HitTestResult::innerElement): Rewrote so there there is no loop.
2199         (WebCore::HitTestResult::innerNonSharedElement): Ditto.
2200
2201         * rendering/HitTestResult.h: Added innerNonSharedElement. Generally speaking,
2202         we'd like to avoid using Node unless there is some real need.
2203
2204 2013-09-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2205
2206         Volume slider value should be 0 when audio is muted
2207         https://bugs.webkit.org/show_bug.cgi?id=120553
2208
2209         Reviewed by Eric Carlson.
2210
2211         Fixed the problem of showing a non empty slider when audio is
2212         muted.
2213
2214         Test: media/volume-bar-empty-when-muted.html.
2215
2216         * html/shadow/MediaControls.cpp:
2217         (WebCore::MediaControls::reset): Use setSliderVolume.
2218         (WebCore::MediaControls::changedVolume): Use setSliderVolume.
2219         (WebCore::MediaControls::setSliderVolume): Added to set the volume
2220         to 0 when muted and to its value otherwise.
2221         * html/shadow/MediaControls.h: Added setSliderVolume.
2222         * html/shadow/MediaControlsApple.cpp:
2223         (WebCore::MediaControlsApple::reset): Used setSliderVolume and
2224         setFullscreenSliderVolume.
2225         (WebCore::MediaControlsApple::changedVolume): Used
2226         setFullscreenSliderVolume.
2227         (WebCore::MediaControlsApple::setFullscreenSliderVolume): Added to
2228         set the volume to 0 when muted and to its value otherwise.
2229         * html/shadow/MediaControlsApple.h: Added setFullscreenSliderVolume
2230         * html/shadow/MediaControlsBlackBerry.cpp:
2231         (WebCore::MediaControlsBlackBerry::reset): Used setSliderVolume.
2232
2233 2013-09-01  Andreas Kling  <akling@apple.com>
2234
2235         Give EditCommand a protected Frame& getter.
2236         <https://webkit.org/b/120574>
2237
2238         Reviewed by Darin Adler.
2239
2240         EditCommand is only created for documents that are attached to a Frame,
2241         we already ASSERTed as much in the EditCommand constructor.
2242
2243         This patch adds a "Frame& EditCommand::frame()" helper, so EditCommand
2244         and its subclasses don't have to fumble around with pointers.
2245
2246 2013-08-31  Antti Koivisto  <antti@apple.com>
2247
2248         Add element ancestor iterator
2249         https://bugs.webkit.org/show_bug.cgi?id=120563
2250
2251         Reviewed by Andreas Kling.
2252
2253         This patch adds ancestor iterators. They iterate over elements parent chain up to the root.
2254         
2255         To iterate over Element ancestors:
2256         
2257         auto ancestors = elementAncestors(this);
2258         for (auto it = ancestors.begin(), end = ancestors.end(); it != end; ++it) {
2259             Element& element = *it;
2260             ...
2261
2262         To iterate over Element ancestors including the current element:
2263         
2264         auto lineage = elementLineage(this);
2265         for (auto it = lineage.begin(), end = lineage.end(); it != end; ++it) {
2266             Element& element = *it;
2267             ...
2268             
2269         To iterate over ancestors of a specific Element subclass:
2270
2271         auto htmlAncestors = ancestorsOfType<HTMLElement>(this);
2272         for (auto it = htmlAncestors.begin(), end = htmlAncestors.end(); it != end; ++it) {
2273             HTMLElement& htmlElement = *it;
2274             ...
2275             
2276         To iterate over ancestors of a specific Element subclass including the current element:
2277
2278         auto htmlLineage = lineageOfType<HTMLElement>(this);
2279         for (auto it = htmlLineage.begin(), end = htmlLineage.end(); it != end; ++it) {
2280             HTMLElement& htmlElement = *it;
2281             ...
2282             
2283         The patch also uses the new types in a few places.
2284
2285         * WebCore.xcodeproj/project.pbxproj:
2286         * accessibility/AccessibilityNodeObject.cpp:
2287         (WebCore::AccessibilityNodeObject::mouseButtonListener):
2288         (WebCore::AccessibilityNodeObject::labelForElement):
2289         * dom/ElementAncestorIterator.h: Added.
2290         (WebCore::::ElementAncestorIterator):
2291         (WebCore::::operator):
2292         (WebCore::::ElementAncestorConstIterator):
2293         (WebCore::::ElementAncestorIteratorAdapter):
2294         (WebCore::::begin):
2295         (WebCore::::end):
2296         (WebCore::::ElementAncestorConstIteratorAdapter):
2297         (WebCore::elementLineage):
2298         (WebCore::elementAncestors):
2299         (WebCore::ancestorsOfType):
2300         * dom/ElementIterator.h:
2301         (WebCore::findElementAncestorOfType):
2302         (WebCore::::traverseAncestor):
2303         (WebCore::=):
2304         * html/HTMLElement.cpp:
2305         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
2306         * html/HTMLFieldSetElement.h:
2307         (WebCore::isHTMLFieldSetElement):
2308         (WebCore::HTMLFieldSetElement):
2309         * html/HTMLFrameSetElement.cpp:
2310         (WebCore::HTMLFrameSetElement::findContaining):
2311         * html/HTMLFrameSetElement.h:
2312         (WebCore::HTMLFrameSetElement):
2313         * html/HTMLInputElement.h:
2314         (WebCore::isHTMLInputElement):
2315         (WebCore::toHTMLInputElement):
2316         * html/HTMLLegendElement.cpp:
2317         (WebCore::HTMLLegendElement::associatedControl):
2318
2319 2013-08-31  Darin Adler  <darin@apple.com>
2320
2321         Refactor URL and image writing so layer-violating parts are in Editor, not Pasteboard (Mac-only at first)
2322         https://bugs.webkit.org/show_bug.cgi?id=120573
2323
2324         Reviewed by Andreas Kling.
2325
2326         * editing/Editor.cpp:
2327         (WebCore::Editor::copy): Use writeImageToPasteboard instead of Pasteboard::writeImage on Mac.
2328         (WebCore::Editor::copyURL): Use writeURLToPasteboard instead of Pasteboard::writeURL on Mac.
2329         (WebCore::innerNonSharedElement): Added. Used in copyImage.
2330         (WebCore::Editor::copyImage): Use innerNonSharedElement instead of innerNonSharedNode.
2331         Use writeImageToPasteboard instead of Pasteboard::writeImage on Mac.
2332
2333         * editing/Editor.h: Add new functions, writeURLToPasteboard and writeImageToPasteboard,
2334         both Mac-only for now.
2335
2336         * editing/mac/EditorMac.mm:
2337         (WebCore::Editor::pasteWithPasteboard): Removed unneeded "m_frame.editor()" round trip that
2338         was left behind in this function.
2339         (WebCore::getImage): Added. Helper used by writeImageToPasteboard.
2340         (WebCore::Editor::writeURLToPasteboard): Added. Sets up PasteboardURL and then calls
2341         Pasteboard::write with it.
2342         (WebCore::Editor::writeImageToPasteboard): Added. Sets up PasteboardImage and then calls
2343         Pasteboard::write with it.
2344         * page/DragController.cpp:
2345         (WebCore::DragController::startDrag): Use Editor::writeURLToPasteboard instead of
2346         Pasteboard::writeURL on Mac.
2347
2348         * platform/Pasteboard.h: Added PasteboardURL and PasteboardImage structures.
2349         Declare write functions for PasteboardWebContent, PasteboardURL, and PasteboardImage.
2350         Guard writeURL and writeImage with !PLATFORM(MAC).
2351
2352         * platform/mac/PasteboardMac.mm:
2353         (WebCore::writeURLForTypes): Changed this to take a PasteboardURL.
2354         (WebCore::Pasteboard::write): Renamed writeURL and writeImage to this. Refactor both
2355         to take PasteboardURL and PasteboardImage arguments.
2356         (WebCore::fileWrapper): Renamed from fileWrapperForImage since the fact that this is
2357         for an image is now clear from its argument, a PasteboardImage.
2358         (WebCore::writeFileWrapperAsRTFDAttachment): Changed this function to use early return.
2359
2360 2013-08-31  Andreas Kling  <akling@apple.com>
2361
2362         EditCommand constructors should take Document&.
2363         <https://webkit.org/b/120566>
2364
2365         Reviewed by Darin Adler.
2366
2367         Let EditCommand's and all subclass constructors take Document& instead of Document*.
2368         EditCommand::document() now returns a Document&.
2369
2370         Added Editor::document() which returns Editor::frame().document() after asserting
2371         that it's non-null, to make passing a Document& from Editor functions easier.
2372
2373 2013-08-31  Andreas Kling  <akling@apple.com>
2374
2375         Make more use of toRenderFoo(RenderObject&) cast helpers.
2376         <https://webkit.org/b/120565>
2377
2378         Reviewed by Darin Adler.
2379
2380         To make amends for putting ugly toRenderFoo(&renderer) casts everywhere,
2381         here's a patch that switches a bunch of code over to using reference-based casts.
2382
2383         I removed pointer-based casts altogether for these renderers:
2384
2385             - RenderBR
2386             - RenderCombineText
2387             - RenderListMarker
2388             - RenderVideo
2389             - RenderView
2390
2391 2013-08-31  Santosh Mahto  <santosh.ma@samsung.com>
2392
2393         warning: unused parameter ‘renderingMode'  in ImageBufferCairo.cpp:94
2394         https://bugs.webkit.org/show_bug.cgi?id=120543
2395
2396         Reviewed by Darin Adler.
2397
2398         Fixing warning by adding ASSERT_UNUSED.
2399
2400         * platform/graphics/cairo/ImageBufferCairo.cpp:
2401         (WebCore::ImageBuffer::ImageBuffer):
2402
2403 2013-08-31  Andreas Kling  <akling@apple.com>
2404
2405         Fix typo in r154931 that caused assertions in continuation tests.
2406
2407         * rendering/InlineFlowBox.cpp:
2408         (WebCore::InlineFlowBox::paint):
2409
2410 2013-08-31  Rob Buis  <rwlbuis@webkit.org>
2411
2412         XMLSerializer-attribute-namespace-prefix-conflicts can't produce reliable results
2413         https://bugs.webkit.org/show_bug.cgi?id=120490
2414
2415         Reviewed by Ryosuke Niwa.
2416
2417         Retain the key of the namespaces map by using AtomicString as key instead of AtomicStringImpl*.
2418
2419         * editing/MarkupAccumulator.h:
2420
2421 2013-08-31  Andreas Kling  <akling@apple.com>
2422
2423         InlineBox::renderer() and pals should return references.
2424         <https://webkit.org/b/120562>
2425
2426         Reviewed by Antti Koivisto.
2427
2428         Make InlineBox::renderer() and its friends return references instead of pointers.
2429         Every box always has a renderer, so this clears up any ambiguity, and a number of
2430         weird assertions in SVG code.
2431
2432         Made InlineBox::m_renderer private so subclasses have to go through renderer().
2433         The next step will be to replace renderer() with tightly-typed accessors where
2434         applicable (e.g InlineTextBox's renderer is always a RenderText.)
2435
2436         Also added reference versions of these RenderObject casts:
2437
2438             - toRenderBox()
2439             - toRenderBlock()
2440             - toRenderInline()
2441             - toRenderSVGInlineText()
2442
2443 2013-08-31  Andreas Kling  <akling@apple.com>
2444
2445         PostAttachCallbackDisabler should take a ContainerNode&.
2446         <https://webkit.org/b/120560>
2447
2448         Reviewed by Antti Koivisto.
2449
2450         Let PostAttachCallbackDisabler take a reference and remove an ugly assertion.
2451
2452         * dom/ContainerNode.h:
2453         (WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
2454         (WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):
2455         * dom/Document.cpp:
2456         (WebCore::Document::recalcStyle):
2457         * style/StyleResolveTree.cpp:
2458         (WebCore::Style::attachRenderTree):
2459
2460 2013-08-31  Antti Koivisto  <antti@apple.com>
2461
2462         Rename ChildIterator -> ElementChildIterator, DescendantIterator -> ElementDescendantIterator
2463         https://bugs.webkit.org/show_bug.cgi?id=120561
2464
2465         Reviewed by Andreas Kling.
2466
2467         New names are more descriptive and consistent. They also put related iterator files close by in file lists.
2468         The types are always used with auto so longer names don't make them any clumsier to use.
2469
2470         For simplicity included all Element iterator types from ElementIterator.h so it is the only file that has
2471         to be included by the clients.
2472
2473         * GNUmakefile.list.am:
2474         * Target.pri:
2475         * WebCore.vcxproj/WebCore.vcxproj:
2476         * WebCore.xcodeproj/project.pbxproj:
2477         * accessibility/AccessibilityNodeObject.cpp:
2478         * accessibility/AccessibilityRenderObject.cpp:
2479         * accessibility/AccessibilityTable.cpp:
2480         * css/CSSFontFaceSource.cpp:
2481         * dom/ChildIterator.h: Removed.
2482         * dom/DescendantIterator.h: Removed.
2483         * dom/Document.cpp:
2484         * dom/ElementChildIterator.h: Copied from Source/WebCore/dom/ChildIterator.h.
2485         (WebCore::::ElementChildIterator):
2486         (WebCore::::operator):
2487         (WebCore::::ElementChildConstIterator):
2488         (WebCore::::ElementChildIteratorAdapter):
2489         (WebCore::::begin):
2490         (WebCore::::end):
2491         (WebCore::::ElementChildConstIteratorAdapter):
2492         (WebCore::elementChildren):
2493         (WebCore::childrenOfType):
2494         * dom/ElementDescendantIterator.h: Copied from Source/WebCore/dom/DescendantIterator.h.
2495         (WebCore::::ElementDescendantIterator):
2496         (WebCore::::operator):
2497         (WebCore::::ElementDescendantConstIterator):
2498         (WebCore::::ElementDescendantIteratorAdapter):
2499         (WebCore::::begin):
2500         (WebCore::::end):
2501         (WebCore::::ElementDescendantConstIteratorAdapter):
2502         (WebCore::elementDescendants):
2503         (WebCore::descendantsOfType):
2504         * dom/ElementIterator.h:
2505         * dom/Node.cpp:
2506         * dom/TreeScope.cpp:
2507         * editing/ApplyStyleCommand.cpp:
2508         * editing/markup.cpp:
2509         * html/HTMLAppletElement.cpp:
2510         * html/HTMLFieldSetElement.cpp:
2511         * html/HTMLLabelElement.cpp:
2512         * html/HTMLMapElement.cpp:
2513         * html/HTMLMediaElement.cpp:
2514         * html/HTMLObjectElement.cpp:
2515         * loader/PlaceholderDocument.cpp:
2516         * rendering/FilterEffectRenderer.cpp:
2517         * style/StyleResolveTree.cpp:
2518         * svg/SVGElement.cpp:
2519         * svg/SVGSVGElement.cpp:
2520         * svg/animation/SMILTimeContainer.cpp:
2521         * svg/graphics/SVGImage.cpp:
2522
2523 2013-08-31  Andreas Kling  <akling@apple.com>
2524
2525         Don't do document style recalc unless there's a RenderView.
2526         <https://webkit.org/b/120558>
2527
2528         Reviewed by Antti Koivisto.
2529
2530         There's no sense in computing style for a Document that has no RenderView.
2531         Checking this before continuing also lets us know that there's a Frame & FrameView
2532         present, simplifying some things later on.
2533
2534         * dom/Document.cpp:
2535         (WebCore::Document::recalcStyle):
2536         * style/StyleResolveForDocument.cpp:
2537         (WebCore::Style::resolveForDocument):
2538
2539 2013-08-31  Antti Koivisto  <antti@apple.com>
2540
2541         Add common base for element iterators
2542         https://bugs.webkit.org/show_bug.cgi?id=120557
2543
2544         Reviewed by Andreas Kling.
2545
2546         Add ElementIterator and use it as the base for child and descendant iterators. The only difference is the definition of operator++.
2547         
2548         Also renamed DescendantIteratorAssertions to ElementIteratorAssertions.
2549
2550         * GNUmakefile.list.am:
2551         * Target.pri:
2552         * WebCore.vcxproj/WebCore.vcxproj:
2553         * WebCore.xcodeproj/project.pbxproj:
2554         * dom/ChildIterator.h:
2555         (WebCore::::ChildIterator):
2556         (WebCore::::operator):
2557         (WebCore::::ChildConstIterator):
2558         (WebCore::::begin):
2559         (WebCore::::end):
2560         * dom/DescendantIterator.h:
2561         (WebCore::::DescendantIterator):
2562         (WebCore::::operator):
2563         (WebCore::::DescendantConstIterator):
2564         * dom/DescendantIteratorAssertions.h: Removed.
2565         * dom/ElementIterator.h: Added.
2566         (WebCore::::ElementIterator):
2567         (WebCore::::traverseNext):
2568         (WebCore::::traversePrevious):
2569         (WebCore::::traverseNextSibling):
2570         (WebCore::::traversePreviousSibling):
2571         (WebCore::::operator):
2572         (WebCore::=):
2573         (WebCore::::ElementConstIterator):
2574         * dom/ElementIteratorAssertions.h: Copied from Source/WebCore/dom/DescendantIteratorAssertions.h.
2575         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
2576         (WebCore::ElementIteratorAssertions::domTreeHasMutated):
2577         (WebCore::ElementIteratorAssertions::dropEventDispatchAssertion):
2578
2579 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
2580
2581         [Windows] Build fix after r154921.
2582
2583         AVFoundationCF uses an internal wrapper object around the C-API. The call point
2584         in the original patch was inside the wrapper, which did not (yet) provide
2585         a method implementation.
2586
2587         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2588         (WebCore::MediaPlayerPrivateAVFoundationCF::updateVideoLayerGravity):
2589         (WebCore::AVFWrapper::updateVideoLayerGravity):
2590
2591 2013-08-30  Simon Fraser  <simon.fraser@apple.com>
2592
2593         Video with object-fit: cover can spill outside the box
2594         https://bugs.webkit.org/show_bug.cgi?id=52103
2595
2596         Reviewed by Dean Jackson.
2597         
2598         object-fit on renderers which use accelerated compositing needs special
2599         treatment.
2600         
2601         For directly composited images, and video, GraphicsLayer needs to know
2602         both the size of the content layer, and also a rectangle at which this
2603         should be clipped (because, for the first time, that content layer can be
2604         larger than the renderer's content box).
2605         
2606         AVFoundation would always aspect-ratio fit video by default, so plumb
2607         through MediaPlayer a way to override that when object-fit requires it.
2608         
2609         Added a LAYER_TREE_INCLUDES_CONTENT_LAYERS enum to the layerTreeAsText()
2610         flags so we can dump content layers for testing.
2611
2612         Tests: compositing/images/direct-image-object-fit.html
2613                compositing/reflections/direct-image-object-fit-reflected.html
2614                compositing/video/video-object-fit.html
2615
2616         * page/Frame.h: New LayerTreeFlagsIncludeContentLayers flag.
2617         * platform/graphics/GraphicsLayer.h: New flag.
2618         * platform/graphics/MediaPlayer.cpp:
2619         (WebCore::MediaPlayer::shouldMaintainAspectRatio):
2620         (WebCore::MediaPlayer::setShouldMaintainAspectRatio):
2621         * platform/graphics/MediaPlayer.h:
2622         * platform/graphics/MediaPlayerPrivate.h:
2623         (WebCore::MediaPlayerPrivateInterface::shouldMaintainAspectRatio):
2624         (WebCore::MediaPlayerPrivateInterface::setShouldMaintainAspectRatio):
2625         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2626         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
2627         (WebCore::MediaPlayerPrivateAVFoundation::setShouldMaintainAspectRatio):
2628         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2629         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2630         (WebCore::MediaPlayerPrivateAVFoundationCF::updateVideoLayerGravity):
2631         (WebCore::AVFWrapper::platformLayer):
2632         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2633         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2634         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2635         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2636         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):
2637         * platform/graphics/ca/GraphicsLayerCA.cpp: We need a new m_contentsClippingLayer to
2638         clip the contents layer, which only gets created when necessary. It has to be cloned
2639         for reflections.
2640         (WebCore::GraphicsLayerCA::willBeDestroyed):
2641         (WebCore::GraphicsLayerCA::setContentsRect):
2642         (WebCore::GraphicsLayerCA::setContentsClippingRect):
2643         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2644         (WebCore::GraphicsLayerCA::updateSublayerList):
2645         (WebCore::GraphicsLayerCA::updateContentsImage):
2646         (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
2647         (WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
2648         (WebCore::GraphicsLayerCA::updateContentsColorLayer):
2649         (WebCore::GraphicsLayerCA::updateContentsRects):
2650         (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
2651         (WebCore::GraphicsLayerCA::ensureCloneLayers):
2652         (WebCore::GraphicsLayerCA::removeCloneLayers):
2653         (WebCore::GraphicsLayerCA::fetchCloneLayers):
2654         * platform/graphics/ca/GraphicsLayerCA.h:
2655         * rendering/RenderLayerBacking.cpp: Need to push both the contentsRect and
2656         the contentsClippingRect down to the GraphicsLayers. Most of the time they
2657         are the same, unless object-fit makes them different.
2658         (WebCore::RenderLayerBacking::resetContentsRect):
2659         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
2660         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
2661         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
2662         (WebCore::RenderLayerBacking::updateImageContents):
2663         (WebCore::RenderLayerBacking::contentsBox):
2664         * rendering/RenderLayerCompositor.cpp:
2665         (WebCore::RenderLayerCompositor::layerTreeAsText):
2666         * rendering/RenderVideo.cpp:
2667         (WebCore::RenderVideo::updatePlayer):
2668         * testing/Internals.cpp:
2669         (WebCore::Internals::layerTreeAsText):
2670         * testing/Internals.h:
2671         * testing/Internals.idl:
2672
2673 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
2674
2675         [Windows] Update to incorporate additional suggestions
2676         https://bugs.webkit.org/show_bug.cgi?id=120448
2677
2678         Reviewed by Darin Adler
2679
2680         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Add
2681         notes as to why AVFoundationCF needs this extra method call.
2682         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Use OVERRIDE
2683         * rendering/RenderVideo.cpp: Replace ternary operator with logical &&.
2684
2685 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
2686
2687         [Windows] Vide element in page always uses non-hw accelerated mode.
2688         https://bugs.webkit.org/show_bug.cgi?id=120448
2689
2690         Reviewed by Darin Adler
2691
2692         This patch is unfortunately larger than my original idea, but seems to make the
2693         layout system happier. Instead of switching into composited mode when building
2694         the media player, we now build the original layout tree with compositing active
2695         if the underlying media element requires it. The AVFoundationCF player needs to
2696         have the compositor available at construction time so it can attach to the
2697         rendering device. Otherwise it falls back to CPU-only mode.
2698
2699         * platform/graphics/MediaPlayer.cpp:
2700         (WebCore::MediaPlayer::requiresImmediateCompositing): Added
2701         * platform/graphics/MediaPlayer.h:
2702         * platform/graphics/MediaPlayerPrivate.h:
2703         (WebCore::MediaPlayerPrivateInterface::requiresImmediateCompositing): Added
2704         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2705         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer): Added
2706         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2707         (WebCore::MediaPlayerPrivateAVFoundationCF::requiresImmediateCompositing):
2708         * rendering/RenderLayerCompositor.cpp:
2709         (WebCore::RenderLayerCompositor::requiresCompositingForVideo): Uses new
2710         'requiresImmediateCompositing' to short-circuit check for whether a
2711         compositor is required.
2712         * rendering/RenderVideo.cpp:
2713         (WebCore::RenderVideo::requiresImmediateCompositing):
2714         * rendering/RenderVideo.h:
2715
2716 2013-08-30  Joseph Pecoraro  <pecoraro@apple.com>
2717
2718         Web Inspector: Breakpoints should have Automatically Continue Option
2719         https://bugs.webkit.org/show_bug.cgi?id=120187
2720
2721         Reviewed by Timothy Hatcher.
2722
2723         Tests: inspector-protocol/debugger/removeBreakpoint.html
2724                inspector-protocol/debugger/setBreakpoint-autoContinue.html
2725                inspector-protocol/debugger/setBreakpoint-column.html
2726                inspector-protocol/debugger/setBreakpoint-condition.html
2727                inspector-protocol/debugger/setBreakpoint.html
2728
2729         * inspector/Inspector.json:
2730         Convert the "condition" argument of setBreakpoint and setBreakpointByUrl
2731         to a BreakpointOptions object with optional properties. One of which
2732         is "condition" and a new option "autoContinue".
2733
2734         * bindings/js/ScriptDebugServer.h:
2735         * bindings/js/ScriptDebugServer.cpp:
2736         (WebCore::ScriptDebugServer::hasBreakpoint):
2737         (WebCore::ScriptDebugServer::pauseIfNeeded):
2738         Automatically continue if the breakpoint was hit and has autoContinue.
2739
2740         * inspector/InspectorDebuggerAgent.h:
2741         * inspector/InspectorDebuggerAgent.cpp:
2742         (WebCore::buildObjectForBreakpointCookie):
2743         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2744         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2745         (WebCore::InspectorDebuggerAgent::continueToLocation):
2746         (WebCore::InspectorDebuggerAgent::didParseSource):
2747         * inspector/ScriptBreakpoint.h:
2748         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
2749         Handle the new incoming BreakpointOptions type, and set the
2750         autoContinue state on ScriptBreakpoints.
2751
2752         * inspector/front-end/DebuggerModel.js:
2753         (WebInspector.DebuggerModel.prototype.setBreakpointByURL):
2754         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2755         Update old front-end to be compatible with the new API.
2756
2757 2013-08-30  Dean Jackson  <dino@apple.com>
2758
2759         Animations should use double for key values, not floats
2760         https://bugs.webkit.org/show_bug.cgi?id=120547
2761
2762         Reviewed by Simon Fraser.
2763
2764         Merge https://chromium.googlesource.com/chromium/blink/+/71de046541c77120874b9bff82958ee9e0e20c7c
2765
2766         Some files have been renamed in the Blink port, and they have made some
2767         improvements, but I took what applied to us.
2768
2769         All our existing tests passed.
2770
2771         * css/StyleResolver.cpp:
2772         (WebCore::StyleResolver::keyframeStylesForAnimation):
2773         * css/WebKitCSSKeyframeRule.cpp:
2774         (WebCore::StyleKeyframe::parseKeyString):
2775         * css/WebKitCSSKeyframeRule.h:
2776         (WebCore::StyleKeyframe::getKeys):
2777         * platform/graphics/GraphicsLayer.h:
2778         (WebCore::AnimationValue::keyTime):
2779         (WebCore::AnimationValue::AnimationValue):
2780         (WebCore::FloatAnimationValue::create):
2781         (WebCore::FloatAnimationValue::FloatAnimationValue):
2782         (WebCore::TransformAnimationValue::create):
2783         (WebCore::TransformAnimationValue::TransformAnimationValue):
2784         (WebCore::FilterAnimationValue::create):
2785         (WebCore::FilterAnimationValue::FilterAnimationValue):
2786         * rendering/RenderLayerBacking.cpp:
2787         (WebCore::RenderLayerBacking::startAnimation):
2788         * rendering/style/KeyframeList.h:
2789         (WebCore::KeyframeValue::KeyframeValue):
2790         (WebCore::KeyframeValue::key):
2791         (WebCore::KeyframeValue::setKey):
2792
2793 2013-08-30  Brendan Long  <b.long@cablelabs.com>
2794
2795         [GStreamer] support in-band text tracks
2796         https://bugs.webkit.org/show_bug.cgi?id=103771
2797
2798         Reviewed by Eric Carlson.
2799
2800         Tests: New tests added because existing tests were too specific.
2801            media/track/in-band/track-in-band-kate-ogg-cues-added-once.html
2802            media/track/in-band/track-in-band-kate-ogg-kind.html
2803            media/track/in-band/track-in-band-kate-ogg-language.html
2804            media/track/in-band/track-in-band-kate-ogg-mode.html
2805            media/track/in-band/track-in-band-kate-ogg-style.html
2806            media/track/in-band/track-in-band-kate-ogg-track-order.html
2807            media/track/in-band/track-in-band-srt-mkv-cues-added-once.html
2808            media/track/in-band/track-in-band-srt-mkv-kind.html
2809            media/track/in-band/track-in-band-srt-mkv-language.html
2810            media/track/in-band/track-in-band-srt-mkv-mode.html
2811            media/track/in-band/track-in-band-srt-mkv-style.html
2812            media/track/in-band/track-in-band-srt-mkv-track-order.html
2813
2814         * CMakeLists.txt: Add InbandTextTrackPrivateGStreamer, InbandGenericTextTrack, InbandWebVTTTextTrack, and TextCombinerGStreamer files.
2815         * GNUmakefile.list.am: Same.
2816         * PlatformEfl.cmake: Same.
2817         * Target.pri: Same.
2818         * WebCore.vcxproj/WebCore.vcxproj: Same.
2819         * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
2820         * WebCore.xcodeproj/project.pbxproj: Same.
2821         * html/track/InbandGenericTextTrack.cpp: Split out code for handling generic cues.
2822         (WebCore::GenericTextTrackCueMap::GenericTextTrackCueMap): Move from InbandTextTrack.
2823         (WebCore::GenericTextTrackCueMap::~GenericTextTrackCueMap): Same.
2824         (WebCore::GenericTextTrackCueMap::add): Same.
2825         (WebCore::GenericTextTrackCueMap::find): Same.
2826         (WebCore::GenericTextTrackCueMap::remove): Same.
2827         (WebCore::InbandGenericTextTrack::create): Same.
2828         (WebCore::InbandGenericTextTrack::updateCueFromCueData): Same.
2829         (WebCore::InbandGenericTextTrack::addGenericCue): Same.
2830         (WebCore::InbandGenericTextTrack::updateGenericCue): Same.
2831         (WebCore::InbandGenericTextTrack::removeGenericCue): Same.
2832         (WebCore::InbandGenericTextTrack::removeCue): Same.
2833         (WebCore::InbandGenericTextTrack::InbandGenericTextTrack): Empty.
2834         (WebCore::InbandGenericTextTrack::~InbandGenericTextTrack): Empty.
2835         * html/track/InbandGenericTextTrack.h: Copied from Source/WebCore/html/track/InbandTextTrack.h.
2836         The only addition is the ASSERT_NOT_REACHED() for WebVTT cues.
2837         * html/track/InbandTextTrack.cpp: Add label and language changed callbacks.
2838         (WebCore::InbandTextTrack::create): Return a generic or WebVTT text track based on the private CueFormat.
2839         (WebCore::InbandTextTrack::labelChanged): Added.
2840         (WebCore::InbandTextTrack::languageChanged): Added.
2841         * html/track/InbandTextTrack.h: Add label and language changed callbacks.
2842         * html/track/InbandWebVTTTextTrack.cpp: Added, based on InbandTextTrack.
2843         (WebCore::InbandWebVTTTextTrack::create): Same.
2844         (WebCore::InbandWebVTTTextTrack::InbandWebVTTTextTrack): Empty.
2845         (WebCore::InbandWebVTTTextTrack::~InbandWebVTTTextTrack): Empty.
2846         (WebCore::InbandWebVTTTextTrack::parseWebVTTCueData): Sends data to a WebVTTParser.
2847         (WebCore::InbandWebVTTTextTrack::newCuesParsed): Adds cues when WebVTTParser parses them.
2848         (WebCore::InbandWebVTTTextTrack::fileFailedToParse): Prints a warning when WebVTTParser has a problem.
2849         * html/track/InbandWebVTTTextTrack.h: Added.
2850         * platform/graphics/InbandTextTrackPrivate.h:
2851         (WebCore::InbandTextTrackPrivate::cueFormat): For determining if the track will have generic or WebVTT cues.
2852         (WebCore::InbandTextTrackPrivate::InbandTextTrackPrivate): Pass CueFormat in the constructor.
2853         * platform/graphics/InbandTextTrackPrivateClient.h: Same.
2854         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2855         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Pass CueFormat (Generic) to InbandTextTrackPrivate.
2856         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr specializations for GstSample and GstEvent.
2857         * platform/graphics/gstreamer/GRefPtrGStreamer.h: Same.
2858         * platform/graphics/gstreamer/GStreamerUtilities.h: Add WARN_MEDIA_MESSAGE.
2859         * platform/graphics/gstreamer/GStreamerVersioning.h: Add a function to check GStreamer version at runtime.
2860         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: Added.
2861         (WebCore::textTrackPrivateEventCallback): Watches for tag and stream start events.
2862         (WebCore::textTrackPrivateSampleTimeoutCallback): See notifyTrackOfSample();
2863         (WebCore::textTrackPrivateStreamTimeoutCallback): See notifyTrackOfStreamChanged();
2864         (WebCore::textTrackPrivateTagsChangeTimeoutCallback): See notifyTrackOfTagsChanged();
2865         (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer): Initializes tags and stream and sets up event callback.
2866         (WebCore::InbandTextTrackPrivateGStreamer::~InbandTextTrackPrivateGStreamer): Calls disconnect:
2867         (WebCore::InbandTextTrackPrivateGStreamer::disconnect): Removes signal handlers and frees some memory.
2868         (WebCore::InbandTextTrackPrivateGStreamer::handleSample): Adds samples to a list and sets up callback.
2869         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged): Sets up callback.
2870         (WebCore::InbandTextTrackPrivateGStreamer::tagsChanged): Same.
2871         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample): Parses all queued samples with WebVTTParser.
2872         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfStreamChanged): Keeps track of current stream.
2873         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfTagsChanged): Sets label and language from tags.
2874         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: Added.
2875         (WebCore::InbandTextTrackPrivateGStreamer::create): Basic RefPtr create function.
2876         (WebCore::InbandTextTrackPrivateGStreamer::pad): Returns the pad this track is associated with (used
2877         to determine if a playbin text stream has already been associated with a text track).
2878         (WebCore::InbandTextTrackPrivateGStreamer::setIndex): Sets the track index (used for sorting).
2879         (WebCore::InbandTextTrackPrivateGStreamer::streamId): Returns the stream ID (used to handle new samples).
2880         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2881         (WebCore::mediaPlayerPrivateTextChangedCallback): Called for playbin "text-changed" event. See textChanged().
2882         (WebCore::mediaPlayerPrivateTextChangeTimeoutCallback): See notifyPlayerOfText().
2883         (WebCore::mediaPlayerPrivateNewTextSampleCallback): See newTextSample().
2884         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Initialize m_textTimerHandler.
2885         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Disconnect text tracks (they don't necessarily
2886         get freed here, since a script could hold a reference).
2887         (WebCore::MediaPlayerPrivateGStreamer::textChanged): Setup callback for notifyPlayerOfText.
2888         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Create text tracks.
2889         (WebCore::MediaPlayerPrivateGStreamer::newTextSample): Handle new samples by giving them to a text track
2890         with a matching stream. This method is syncryonous because we need to get the stream start sticky event
2891         immediately.
2892         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2893         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp: Added. This element forwards buffers from all
2894         of its input pads, but also converts plain text to WebVTT as needed.
2895         (webkit_text_combiner_init): Setup internal funnel.
2896         (webkitTextCombinerPadEvent): If the caps are plain text make sure we have a webvttenv, otherwise connect
2897         directly to the funnel.
2898         (webkitTextCombinerRequestNewPad): Setup ghostpad and event callback.
2899         (webkitTextCombinerReleasePad): Release pad and optional associated webvttenc.
2900         (webkit_text_combiner_class_init): Setup pad templates and request/release pad functions.
2901         (webkitTextCombinerNew): Returns a new WebKitTextCombiner.
2902         * platform/graphics/gstreamer/TextCombinerGStreamer.h: Added.
2903         * platform/graphics/gstreamer/TextSinkGStreamer.cpp: Added.
2904         (webkit_text_sink_init): Set sync=false.
2905         (webkitTextSinkGetProperty): Ignore sync property.
2906         (webkitTextSinkSetProperty): Same.
2907         (webkitTextSinkQuery): Ignore position and duration queries, forward everything else to appsink.
2908         (webkit_text_sink_class_init): Setup property and query functions.
2909         (webkitTextSinkNew): Return a new WebKitTextSink.
2910         * platform/graphics/gstreamer/TextSinkGStreamer.h: Added.
2911
2912 2013-08-30  Dirk Schulze  <krit@webkit.org>
2913
2914         Animate CSS Image filter() function
2915         https://bugs.webkit.org/show_bug.cgi?id=119938
2916
2917         Reviewed by Simon Fraser.
2918
2919         With this patch, the new introduced CSS Image function filter() can be
2920         animated. According to the spec, just filter functions can be
2921         interpolated.
2922
2923         The patch also prepares StyleImage blending for interpolation of other
2924         generated images like gradients or cross-fade().
2925
2926         http://dev.w3.org/fxtf/filters/#interpolating-filter-image
2927
2928         Test: fast/filter-image/filter-image-animation.html
2929
2930         * css/CSSComputedStyleDeclaration.cpp: Reuse the code that creates a
2931             CSSValueList from ComputeStyle logic.
2932         (WebCore::valueForPixel):
2933             For StyleRules we want to have not-adjusted length values.
2934         (WebCore::ComputedStyleExtractor::valueForShadow):
2935             Add argument to switch between adjusted and not-adjusted length.
2936         (WebCore::ComputedStyleExtractor::valueForFilter):
2937             Ditto.
2938         (WebCore::ComputedStyleExtractor::propertyValue):
2939         * css/CSSComputedStyleDeclaration.h:
2940         * css/CSSFilterImageValue.h: Add helper functions
2941             for animating filters. We need to pass the FilterOperations for
2942             the image generation and the CSSValueList for StyleRule.
2943         (WebCore::CSSFilterImageValue::filterOperations):
2944         (WebCore::CSSFilterImageValue::setFilterOperations):
2945         (WebCore::CSSFilterImageValue::cachedImage):
2946         * page/animation/CSSPropertyAnimation.cpp:
2947             Add animation code to support animations between two filter()
2948             function values.
2949         (WebCore::blendFilterOperations):
2950         (WebCore::blendFunc):
2951         (WebCore::filterBlend):
2952         * rendering/style/StyleGeneratedImage.h: Add helper functions.
2953         (WebCore::CSSFilterImageValue::imageValue):
2954
2955
2956 2013-08-30  Leo Yang  <leoyang@blackberry.com>
2957
2958         Make sure remove CachedResourceClient when destructing IconLoader
2959         https://bugs.webkit.org/show_bug.cgi?id=120541
2960
2961         Reviewed by Darin Adler.
2962
2963         It's a good practice to call CachedResource::removeClient(client)
2964         when the client is being destructed. We need to do this for InconLoader
2965         to prevent m_resource from keeping dangling client in case m_resource
2966         is referenced by someone else in the future.
2967
2968         Found by code inspection. Just a defensive enhancement no new tests.
2969
2970         * loader/icon/IconLoader.cpp:
2971         (WebCore::IconLoader::~IconLoader):
2972
2973 2013-08-30  Hans Muller  <hmuller@adobe.com>
2974
2975         [CSS Shapes] Redefine the ShapeIntervals class as a template
2976         https://bugs.webkit.org/show_bug.cgi?id=120381
2977
2978         Reviewed by Alexandru Chiculita.
2979
2980         No new tests, this was just an internal refactoring.
2981
2982         The existing ShapeIntervals class has been converted into a template whose
2983         type specifies the type of the interval's x1 and x2 horizontal endpoints
2984         (formerly float). There were several other minor changes, all in the realm
2985         of refactoring:
2986
2987         - The original type was a struct with public x1 and x2 fields. It's now a class
2988         with x1 and x2 accessors. ASSERTS are now used to maintain the x2 >= x1 invariant.
2989         In the original code the invariant was not checked.
2990
2991         - The logical comparison operators have been overloaded for ShapeInterval.
2992         This obviates the IntervalX1Comparator class which has been removed.
2993
2994         - The names of the global ShapeInterval Vector set operation methods have been
2995         changed to reflect the fact that they're now members of the template class,
2996         rather than globals.
2997
2998         PolygonShape.cpp depended on the ShapeInterval class. In the one or two places
2999         where an interval's x1 or x1 fields had been set explicitly, ShapeInterval::set()
3000         is now used to set both fields. This also enables the invariant check mentioned
3001         earlier. The other changes to this class are syntatic, to account for the ShapeInterval
3002         class's changes.
3003
3004         * CMakeLists.txt:
3005         * GNUmakefile.list.am:
3006         * WebCore.vcxproj/WebCore.vcxproj:
3007         * WebCore.xcodeproj/project.pbxproj:
3008         * rendering/shapes/PolygonShape.cpp:
3009         (WebCore::appendIntervalX):
3010         (WebCore::computeXIntersections):
3011         (WebCore::computeOverlappingEdgeXProjections):
3012         (WebCore::PolygonShape::getExcludedIntervals):
3013         (WebCore::PolygonShape::getIncludedIntervals):
3014         * rendering/shapes/PolygonShape.h:
3015         * rendering/shapes/ShapeInterval.cpp: Removed.
3016         * rendering/shapes/ShapeInterval.h: The entire implementation is now here. 
3017         (WebCore::ShapeInterval::ShapeInterval):
3018         (WebCore::ShapeInterval::x1):
3019         (WebCore::ShapeInterval::x2):
3020         (WebCore::ShapeInterval::set):
3021         (WebCore::ShapeInterval::overlaps):
3022         (WebCore::ShapeInterval::intersect):
3023         (WebCore::ShapeInterval::sortVector):
3024         (WebCore::ShapeInterval::uniteVectors):
3025         (WebCore::ShapeInterval::intersectVectors):
3026         (WebCore::ShapeInterval::subtractVectors):
3027         (WebCore::operator==):
3028         (WebCore::operator!=):
3029         (WebCore::operator< ):
3030         (WebCore::operator> ):
3031         (WebCore::operator<=):
3032         (WebCore::operator>=):
3033
3034 2013-08-30  Antti Koivisto  <antti@apple.com>
3035
3036         Use Element& in StyleResolveTree
3037         https://bugs.webkit.org/show_bug.cgi?id=120540
3038
3039         Reviewed by Andreas Kling.
3040
3041         * dom/ContainerNode.cpp:
3042         (WebCore::attachChild):
3043         (WebCore::detachChild):
3044         * dom/Document.cpp:
3045         (WebCore::Document::recalcStyle):
3046         (WebCore::Document::createRenderTree):
3047         (WebCore::Document::detach):
3048         * dom/Element.cpp:
3049         (WebCore::Element::lazyReattach):
3050         (WebCore::Element::updateExistingPseudoElement):
3051         (WebCore::Element::createPseudoElementIfNeeded):
3052         (WebCore::disconnectPseudoElement):
3053         * dom/ShadowRoot.cpp:
3054         (WebCore::ShadowRoot::setResetStyleInheritance):
3055         * html/HTMLDetailsElement.cpp:
3056         (WebCore::HTMLDetailsElement::parseAttribute):
3057         * html/HTMLInputElement.cpp:
3058         (WebCore::HTMLInputElement::updateType):
3059         (WebCore::HTMLInputElement::parseAttribute):
3060         * html/HTMLObjectElement.cpp:
3061         (WebCore::HTMLObjectElement::renderFallbackContent):
3062         * html/HTMLPlugInImageElement.cpp:
3063         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
3064         (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
3065         (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
3066         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
3067         * html/HTMLSelectElement.cpp:
3068         (WebCore::HTMLSelectElement::parseAttribute):
3069         (WebCore::HTMLSelectElement::parseMultipleAttribute):
3070         * html/HTMLViewSourceDocument.cpp:
3071         (WebCore::HTMLViewSourceDocument::createContainingTable):
3072         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
3073         (WebCore::HTMLViewSourceDocument::addLine):
3074         (WebCore::HTMLViewSourceDocument::finishLine):
3075         (WebCore::HTMLViewSourceDocument::addBase):
3076         (WebCore::HTMLViewSourceDocument::addLink):
3077         * html/parser/HTMLConstructionSite.cpp:
3078         (WebCore::executeTask):
3079         * html/parser/HTMLTreeBuilder.cpp:
3080         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3081         * html/shadow/InsertionPoint.cpp:
3082         (WebCore::InsertionPoint::willAttachRenderers):
3083         (WebCore::InsertionPoint::willDetachRenderers):
3084         * loader/PlaceholderDocument.cpp:
3085         (WebCore::PlaceholderDocument::createRenderTree):
3086         * style/StyleResolveTree.cpp:
3087         (WebCore::Style::attachChildren):
3088         (WebCore::Style::attachRenderTree):
3089         (WebCore::Style::detachChildren):
3090         (WebCore::Style::detachRenderTree):
3091         (WebCore::Style::resolveLocal):
3092         (WebCore::Style::updateTextStyle):
3093         (WebCore::Style::resolveShadowTree):
3094         (WebCore::Style::resolveTree):
3095         
3096             Documents only ever have one child element. Remove the loop.
3097
3098         (WebCore::Style::detachRenderTreeInReattachMode):
3099         (WebCore::Style::reattachRenderTree):
3100         * style/StyleResolveTree.h:
3101         * svg/SVGTests.cpp:
3102         (WebCore::SVGTests::handleAttributeChange):
3103         * xml/XMLErrors.cpp:
3104         (WebCore::XMLErrors::insertErrorMessageBlock):
3105         * xml/parser/XMLDocumentParserLibxml2.cpp:
3106         (WebCore::XMLDocumentParser::startElementNs):
3107
3108 2013-08-30  Andreas Kling  <akling@apple.com>
3109
3110         Document style resolve should take Document&.
3111         <https://webkit.org/b/120534>
3112
3113         Reviewed by Darin Adler.
3114
3115         Tweak Style::resolveTree(Document*) and Style::resolveForDocument(Document*) to take Document& instead.
3116
3117         * dom/Document.cpp:
3118         (WebCore::Document::recalcStyle):
3119         * html/HTMLLinkElement.cpp:
3120         (WebCore::HTMLLinkElement::process):
3121         * style/StyleResolveForDocument.cpp:
3122         (WebCore::Style::resolveForDocument):
3123         * style/StyleResolveForDocument.h:
3124         * style/StyleResolveTree.cpp:
3125         (WebCore::Style::resolveTree):
3126         * style/StyleResolveTree.h:
3127
3128 2013-08-30  Darin Adler  <darin@apple.com>
3129
3130         [Mac] No need for Pasteboard::getDataSelection
3131         https://bugs.webkit.org/show_bug.cgi?id=120536
3132
3133         Reviewed by Anders Carlsson.
3134
3135         * editing/Editor.h: Added some Mac-only private member functions.
3136
3137         * editing/mac/EditorMac.mm:
3138         (WebCore::Editor::selectionInWebArchiveFormat): Added.
3139         (WebCore::Editor::adjustedSelectionRange): Added.
3140         (WebCore::attributedStringForRange): Added.
3141         (WebCore::dataInRTFDFormat): Added.
3142         (WebCore::dataInRTFFormat): Added.
3143         (WebCore::Editor::dataSelectionForPasteboard): Moved the implementation
3144         of Pasteboard::getDataSelection here, refactoring to share code with the
3145         writeSelectionToPasteboard function.
3146         (WebCore::Editor::writeSelectionToPasteboard): Refactored to share code
3147         with the new function above.
3148
3149         * platform/Pasteboard.h: Removed getDataSelection. One less layering violation.
3150         * platform/mac/PasteboardMac.mm: Ditto.
3151
3152 2013-08-30  Rob Buis  <rwlbuis@webkit.org>
3153
3154         SVG error parsing empty path
3155         https://bugs.webkit.org/show_bug.cgi?id=78980
3156
3157         Reviewed by Darin Adler.
3158
3159         According to the spec (http://www.w3.org/TR/SVG/paths.html#PathData), path 'd' attribute can be empty.
3160         No error should be reported in this case.
3161
3162         * svg/SVGPathParser.cpp:
3163         (WebCore::SVGPathParser::parsePathDataFromSource):
3164         * svg/SVGPathUtilities.cpp:
3165         (WebCore::buildPathFromString):
3166         (WebCore::buildSVGPathByteStreamFromSVGPathSegList):
3167         (WebCore::buildPathFromByteStream):
3168         (WebCore::buildSVGPathSegListFromByteStream):
3169         (WebCore::buildStringFromByteStream):
3170         (WebCore::buildStringFromSVGPathSegList):
3171         (WebCore::buildSVGPathByteStreamFromString):
3172         (WebCore::buildAnimatedSVGPathByteStream):
3173         (WebCore::addToSVGPathByteStream):
3174
3175 2013-08-30  Andreas Kling  <akling@apple.com>
3176
3177         Try to fix CSS_VARIABLES and CSS_DEVICE_ADAPTATION builds.
3178
3179         * css/StyleResolver.cpp:
3180         (WebCore::StyleResolver::StyleResolver):
3181         (WebCore::StyleResolver::resolveVariables):
3182
3183 2013-08-30  Commit Queue  <commit-queue@webkit.org>
3184
3185         Unreviewed, rolling out r154891.
3186         http://trac.webkit.org/changeset/154891
3187         https://bugs.webkit.org/show_bug.cgi?id=120539
3188
3189         broke the mac build (Requested by Ossy on #webkit).
3190
3191         * platform/network/SynchronousLoaderClient.h:
3192
3193 2013-08-30  Csaba Osztrogonác  <ossy@webkit.org>
3194
3195         Add USE(CFNETWORK) guard to SynchronousLoaderClient::didReceiveAuthenticationChallengedidReceiveAuthenticationChallenge()
3196         https://bugs.webkit.org/show_bug.cgi?id=120532
3197
3198         Reviewed by Darin Adler.
3199
3200         * platform/network/SynchronousLoaderClient.h:
3201
3202 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
3203
3204         [Windows] Video inside page always uses non-hardware accelerated playback
3205         https://bugs.webkit.org/show_bug.cgi?id=120448
3206
3207         Reviewed by Eric Carlson.
3208
3209         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3210         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer): Check for
3211         D3D device. If it doesn't exist, switch to compositing mode and try again.
3212
3213 2013-08-30  Leo Yang  <leoyang@blackberry.com>
3214
3215         Possible dangling CachedResourceClient of StyleRuleImport and XSLImportRule
3216         https://bugs.webkit.org/show_bug.cgi?id=120479
3217
3218         Reviewed by Darin Adler.
3219
3220         In StyleRuleImport::requestStyleSheet() and XSLImportRule::loadSheet() we
3221         didn't call removeClient() for m_cachedSheet before assigning m_cachedSheet
3222         a new value. This could leave the client as a client of the old cached
3223         sheet and dangling after the client is deleted. Fix them by calling removeClient()
3224         before assigning m_cacheSheet a new value.
3225
3226         Found by code inspection. Seems no way to test it automatically.
3227
3228         * css/StyleRuleImport.cpp:
3229         (WebCore::StyleRuleImport::requestStyleSheet):
3230         * xml/XSLImportRule.cpp:
3231         (WebCore::XSLImportRule::loadSheet):
3232
3233 2013-08-30  Gabor Abraham  <abrhm@inf.u-szeged.hu>
3234
3235         Fix unused parameter warning in graphics/cairo/GraphicsContextCairo.cpp file.
3236         https://bugs.webkit.org/show_bug.cgi?id=120524
3237
3238         Reviewed by Darin Adler.
3239
3240         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3241         (WebCore::GraphicsContext::fillRectWithRoundedHole):
3242
3243 2013-08-30  Andreas Kling  <akling@apple.com>
3244
3245         StyleResolver & friends should use Document&.
3246         <https://webkit.org/b/120527>
3247
3248         Reviewed by Antti Koivisto.
3249
3250         Document&-ify StyleResolver, ElementRuleCollector and SelectorChecker.
3251
3252 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
3253
3254         [Windows] Unreviewed build correction after r154835. Only seen when doing a
3255         full (clean) rebuild.
3256
3257         * DerivedSources.cpp: Remove reference to deleted JSHTMLDialogElement.cpp
3258
3259 2013-08-30  Tamas Czene  <tczene@inf.u-szeged.hu>
3260
3261         Resolve unused parameter warning in FindController.cpp
3262         https://bugs.webkit.org/show_bug.cgi?id=120407
3263
3264         Reviewed by Darin Adler.
3265
3266         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
3267         (wordAtPositionForAtkBoundary):
3268
3269 2013-08-30  Arpita Bahuguna  <a.bah@samsung.com>
3270
3271         setAttributeNode() does not set the new value to an existing attribute if specified attribute is in a different case.
3272         https://bugs.webkit.org/show_bug.cgi?id=120293
3273
3274         Reviewed by Darin Adler.
3275
3276         setAttributeNode() performs a case-insensitive search for an existing
3277         attribute. If an existing attribute is found, it retrieves the index of
3278         such an attribute. For setting the attribute's new value, we call upon
3279         setAttributeInternal() to which both the index as well as the name of
3280         the attribute is passed.
3281         The name passed to this method is the same as the one passed to the
3282         setAttributeNode() API from the webpage and thus can be in any case.
3283
3284         However, setAttributeInternal() uses this name to get the corresponding
3285         existing attribute node. Since this retrieval is not case-insensitive,
3286         the existing node is not returned and thus the new value is not set on
3287         the existing node.
3288         We should instead use the passed index and use that to retrieve the
3289         existing node.
3290
3291         Note that obtaining the attribute's value using getAttributeNode() would
3292         still return the correct value, i.e. the new one.
3293
3294         Also, this change shall make our behavior similar to that of FF and IE.
3295
3296         Test: fast/dom/Element/setAttributeNode-for-existing-attribute.html
3297
3298         * dom/Element.cpp:
3299         (WebCore::Element::setAttributeInternal):
3300         If the passed index is not equal to attributeNotFound, we use that index
3301         to retrieve the existing attribute.
3302
3303 2013-08-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3304
3305         SimpleClassVectorTraits shall be used for RuleData
3306         https://bugs.webkit.org/show_bug.cgi?id=120526
3307
3308         Reviewed by Andreas Kling.
3309
3310         Whereas RuleData is POD type and whereas there are quite a lot of Vector<RuleData> occurrences in the code,
3311         it makes sense to use SimpleClassVectorTraits for RuleData and hence to allow using more efficient mem functions
3312         in vectors.
3313
3314         * css/RuleSet.h:
3315
3316 2013-08-30  Andreas Kling  <akling@apple.com>
3317
3318         Node::document() should return a reference.
3319         <https://webkit.org/b/120496>
3320
3321         Reviewed by Antti Koivisto.
3322
3323         Now that orphan DocumentType nodes also have document pointers, it's no longer
3324         possible to have a null Node::document().
3325
3326         Cement this by making document() return a reference, and remove the various
3327         null checks exposed by this.
3328
3329 2013-08-30  Andrei Parvu  <parvu@adobe.com>
3330
3331         [CSS Masking] -webkit-mask-repeat: space does not work
3332         Added the space option to background-repeat and -webkit-mask-repeat.
3333         With the property value 'space', the background or mask image gets repeated as often as it fits within the background positioning
3334         area. The repeated images are spaced equally to fill the unused area.
3335         https://bugs.webkit.org/show_bug.cgi?id=119324
3336
3337         Reviewed by Dirk Schulze.
3338
3339         Tests: css3/background/background-repeat-space-border.html
3340                css3/background/background-repeat-space-content.html
3341                css3/background/background-repeat-space-padding.html
3342                css3/masking/mask-repeat-space-border.html
3343                css3/masking/mask-repeat-space-content.html
3344                css3/masking/mask-repeat-space-padding.html
3345
3346         * platform/graphics/GeneratorGeneratedImage.cpp:
3347         (WebCore::GeneratorGeneratedImage::drawPattern): Passed the space values to the image buffer.
3348         * platform/graphics/Image.cpp:
3349         (WebCore::Image::drawTiled): Added the space values when computing the location of the tile.
3350         * platform/graphics/Image.h: Added the space property.
3351         (WebCore::Image::spaceSize):
3352         (WebCore::Image::setSpaceSize):
3353         * platform/graphics/ImageBuffer.h: Added the space property.
3354         (WebCore::ImageBuffer::spaceSize):
3355         (WebCore::ImageBuffer::setSpaceSize):
3356         * platform/graphics/cg/ImageBufferCG.cpp: Passed the space values when copying an image.
3357         (WebCore::ImageBuffer::copyImage):
3358         * platform/graphics/cg/ImageCG.cpp: Added the space values when creating a platform pattern.
3359         (WebCore::Image::drawPattern):
3360         * rendering/RenderBoxModelObject.cpp:
3361         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Computed the space values on x and y axis.
3362         (WebCore::getSpace):
3363         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Pass the space values to the Image class.
3364         * rendering/RenderBoxModelObject.h: Added the space property.
3365         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize):
3366         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize):
3367         * svg/graphics/SVGImage.cpp: Passed the space property to the created image.
3368         (WebCore::SVGImage::drawPatternForContainer):
3369         * svg/graphics/SVGImageForContainer.cpp: Passed the space property to the image property.
3370         (WebCore::SVGImageForContainer::drawPattern):
3371
3372 2013-08-30  Antti Koivisto  <antti@apple.com>
3373
3374         Remove AttachContext
3375         https://bugs.webkit.org/show_bug.cgi?id=120518
3376
3377         Reviewed by Andreas Kling.
3378
3379         This type is not useful anymore. Just pass the precomputed style to attachRenderTree and reattach-or-not flag to detachRenderTree.
3380
3381         * style/StyleResolveTree.cpp:
3382         (WebCore::Style::createRendererIfNeeded):
3383         (WebCore::Style::attachChildren):
3384         (WebCore::Style::attachShadowRoot):
3385         (WebCore::Style::attachRenderTree):
3386         (WebCore::Style::detachChildren):
3387         (WebCore::Style::detachShadowRoot):
3388         (WebCore::Style::detachRenderTree):
3389         (WebCore::Style::reattachRenderTree):
3390         (WebCore::Style::resolveLocal):
3391         * style/StyleResolveTree.h:
3392
3393 2013-08-30  Commit Queue  <commit-queue@webkit.org>
3394
3395         Unreviewed, rolling out r154826.
3396         http://trac.webkit.org/changeset/154826
3397         https://bugs.webkit.org/show_bug.cgi?id=120517
3398
3399         Still breaks icloud.com (Requested by mwenge_ on #webkit).
3400
3401         * rendering/RenderBox.cpp:
3402         (WebCore::RenderBox::computePositionedLogicalWidth):
3403         (WebCore::RenderBox::computePositionedLogicalHeight):
3404         * rendering/RenderBox.h:
3405         (WebCore::RenderBox::intrinsicSize):
3406         * rendering/RenderButton.h:
3407         * rendering/RenderFileUploadControl.cpp:
3408         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
3409         * rendering/RenderListBox.cpp:
3410         (WebCore::RenderListBox::RenderListBox):
3411         (WebCore::RenderListBox::computePreferredLogicalWidths):
3412         (WebCore::RenderListBox::computeLogicalHeight):
3413         * rendering/RenderListBox.h:
3414         * rendering/RenderMenuList.h:
3415         * rendering/RenderSlider.cpp:
3416         (WebCore::RenderSlider::computePreferredLogicalWidths):
3417         * rendering/RenderTextControl.cpp: