Add *final* keyword to NavigatorContentUtils class
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         Add *final* keyword to NavigatorContentUtils class
4         https://bugs.webkit.org/show_bug.cgi?id=130636
5
6         Reviewed by Darin Adler.
7
8         NavigatorContentUtils won't be used as a base class. So, added final keyword.
9
10         No new tests, no behavior changes.
11
12         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
13
14 2014-03-22  Andreas Kling  <akling@apple.com>
15
16         CREATE_DOM_WRAPPER doesn't need the ExecState.
17         <https://webkit.org/b/130648>
18
19         Remove the ExecState parameter from CREATE_DOM_WRAPPER and get all
20         that we need from the global object instead.
21
22         toJS() and toJSNewlyCreated() still take an ExecState, that needs
23         to be dealt with separately since some of them have scary looking
24         currentWorld() checks.
25
26         Reviewed by Darin Adler.
27
28         * bindings/js/JSAudioContextCustom.cpp:
29         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
30         * bindings/js/JSBlobCustom.cpp:
31         (WebCore::toJS):
32         (WebCore::JSBlobConstructor::constructJSBlob):
33         * bindings/js/JSCDATASectionCustom.cpp:
34         (WebCore::toJSNewlyCreated):
35         * bindings/js/JSCSSRuleCustom.cpp:
36         (WebCore::toJS):
37         * bindings/js/JSCSSValueCustom.cpp:
38         (WebCore::toJS):
39         * bindings/js/JSCanvasRenderingContextCustom.cpp:
40         (WebCore::toJS):
41         * bindings/js/JSDOMBinding.h:
42         (WebCore::createWrapper):
43         (WebCore::wrap):
44         (WebCore::createNewWrapper):
45         * bindings/js/JSDocumentCustom.cpp:
46         (WebCore::toJS):
47         * bindings/js/JSElementCustom.cpp:
48         (WebCore::toJSNewlyCreated):
49         * bindings/js/JSEventCustom.cpp:
50         (WebCore::toJS):
51         * bindings/js/JSHTMLCollectionCustom.cpp:
52         (WebCore::toJS):
53         * bindings/js/JSHTMLTemplateElementCustom.cpp:
54         (WebCore::JSHTMLTemplateElement::content):
55         * bindings/js/JSIDBAnyCustom.cpp:
56         (WebCore::toJS):
57         * bindings/js/JSImageDataCustom.cpp:
58         (WebCore::toJS):
59         * bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
60         (WebCore::toJS):
61         * bindings/js/JSNodeCustom.cpp:
62         (WebCore::createWrapperInline):
63         * bindings/js/JSPerformanceEntryCustom.cpp:
64         (WebCore::toJS):
65         * bindings/js/JSRTCIceCandidateCustom.cpp:
66         (WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):
67         * bindings/js/JSRTCPeerConnectionCustom.cpp:
68         (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
69         * bindings/js/JSRTCSessionDescriptionCustom.cpp:
70         (WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
71         * bindings/js/JSSVGPathSegCustom.cpp:
72         (WebCore::toJS):
73         * bindings/js/JSStyleSheetCustom.cpp:
74         (WebCore::toJS):
75         * bindings/js/JSTextCustom.cpp:
76         (WebCore::toJSNewlyCreated):
77         * bindings/js/JSTextTrackCueCustom.cpp:
78         (WebCore::toJS):
79         * bindings/js/JSTouchCustom.cpp:
80         (WebCore::toJSNewlyCreated):
81         * bindings/js/JSTouchListCustom.cpp:
82         (WebCore::toJSNewlyCreated):
83         * bindings/js/JSTrackCustom.cpp:
84         (WebCore::toJS):
85         * bindings/scripts/CodeGeneratorJS.pm:
86         (GenerateImplementation):
87         * dom/make_names.pl:
88         (printWrapperFunctions):
89         (printWrapperFactoryCppFile):
90         (printWrapperFactoryHeaderFile):
91
92 2014-03-22  Michael Saboff  <msaboff@apple.com>
93
94         toThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
95         https://bugs.webkit.org/show_bug.cgi?id=130554
96
97         Reviewed by Geoffrey Garen.
98
99         Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
100         Added cast from JSProxy->target() if the jsCast<>() to the native object fails
101         in toJSDedicatedWorkerGlobalScope() and toJSSharedWorkerGlobalScope().
102         The original cast is needed for access to the local side of the worker, while the JSProxy
103         cast is used on the remote side of a worker.
104
105         Test: fast/workers/worker-strict.html
106
107         * bindings/js/JSWorkerGlobalScopeBase.cpp:
108         (WebCore::toJSDedicatedWorkerGlobalScope):
109         (WebCore::toJSSharedWorkerGlobalScope):
110
111         * bindings/js/WorkerScriptController.cpp:
112         (WebCore::WorkerScriptController::evaluate): Changed to pass in the JSProxy and not
113         the WorkerGlobalScope object as the this object to script evaluation.
114
115         * workers/DedicatedWorkerGlobalScope.idl:
116         * workers/SharedWorkerGlobalScope.idl:
117         * workers/WorkerGlobalScope.idl:
118         Added the new CustomProxyToJSObject attribute so we'll call to<{nativeClass}>() for
119         getting the object to use for global evaluation.
120
121 2014-03-22  Simon Fraser  <simon.fraser@apple.com>
122
123         Some #include hygiene in Node/Element etc
124         https://bugs.webkit.org/show_bug.cgi?id=130642
125
126         Reviewed by Geoffrey Garen.
127
128         Clean up various #includes.
129
130         * accessibility/AccessibilityObject.h:
131         * bindings/js/WebCoreTypedArrayController.h:
132         * dom/Element.h:
133         * dom/EventListenerMap.h:
134         * dom/EventTarget.h:
135         * dom/Node.h:
136         * rendering/RenderObject.h:
137         * rendering/svg/RenderSVGRoot.h:
138
139 2014-03-22  Simon Fraser  <simon.fraser@apple.com>
140
141         FloatRect.h on iOS should not suck in a system header
142         https://bugs.webkit.org/show_bug.cgi?id=130641
143
144         Reviewed by Geoff Garen.
145
146         Don't pull in <CoreGraphics/CGGeometry.h> from FloatRect.h.
147
148         * platform/graphics/FloatRect.h:
149
150 2014-03-22  Dan Bernstein  <mitz@apple.com>
151
152         Fixed the iOS build.
153
154         Reviewed by Darin Adler.
155
156         * page/ios/FrameIOS.mm:
157         (WebCore::Frame::interpretationsForCurrentRoot):
158
159 2014-03-22  Darin Adler  <darin@apple.com>
160
161         Remove String::deprecatedCharacters
162         https://bugs.webkit.org/show_bug.cgi?id=126854
163
164         Reviewed by Sam Weinig.
165
166         * bindings/scripts/StaticString.pm:
167         (GenerateStrings): Remove the code to generate the null m_copyData16 pointer.
168
169         * editing/TextIterator.cpp:
170         (WebCore::SearchBuffer::prependContext): Changed to use the new append function in
171         StringView.h and removed the one defined locally here.
172
173         * editing/VisibleUnits.cpp:
174         (WebCore::wordBreakIteratorForMinOffsetBoundary): Use the new append function
175         in StringView.h instead of using deprecatedCharacters.
176         (WebCore::wordBreakIteratorForMaxOffsetBoundary): Ditto.
177         Removed an append function defined locally here and use the one in StringView.h.
178
179         * editing/htmlediting.cpp:
180         (WebCore::stringWithRebalancedWhitespace): Use StringView::getCharactersWithUpconvert.
181
182         * html/parser/HTMLToken.h:
183         (WebCore::HTMLToken::appendToAttributeValue): Changed to take a StringView instead
184         of a const String&.
185
186         * loader/appcache/ManifestParser.cpp:
187         (WebCore::parseManifest): Use StringView and StringView::upconvertedCharacters.
188
189         * page/EventSource.cpp:
190         (WebCore::EventSource::didReceiveData): Use the new append overload from StringView.h.
191         Also added a comment about incorrect use of the decode function.
192
193         * page/ios/FrameIOS.mm:
194         (WebCore::Frame::interpretationsForCurrentRoot): Use the new StringView append function.
195         Also use simpler new-style for loops.
196
197         * platform/LinkHash.cpp:
198         (WebCore::visitedURLInline): Use the new append function and StringView::substring.
199         (WebCore::visitedLinkHash): Use upconvertedCharacters for the non-8-bit case.
200
201         * platform/URL.cpp:
202         (WebCore::findFirstOf): Chagned to take a StringView.
203         (WebCore::containsOnlyASCII): Added. Works on StringView. Could move to a WTF header in
204         the future if it's needed elsewhere.
205         (WebCore::protocolIs): Added. Works on StringView. Could put in URL.h if needed elsewhere,
206         or consider replacing the one that takes const String& with just this one.
207         (WebCore::appendEncodedHostname): Changed to take a StringView and use
208         StringView::upconvertedCharacters.
209         (WebCore::findHostnamesInMailToURL): Changed to take a StringView.
210         (WebCore::findHostnameInHierarchicalURL): Ditto.
211         (WebCore::encodeHostnames): Ditto.
212         (WebCore::encodeRelativeString): Ditto.
213
214         * platform/graphics/StringTruncator.cpp:
215         (WebCore::StringTruncator::width): Use StringView::upconvertedCharacters.
216
217         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
218         (WebCore::HarfBuzzShaper::setFontFeatures): Use indexing directly on the string instead
219         of on a UChar*.
220         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use StringView::upconvertedCharacters.
221
222         * platform/text/TextCodecICU.cpp:
223         (WebCore::TextCodecICU::encode): Use a Vector<UChar> rather than a String to copy and
224         replace the backslashes with yen signs. Also optimize case where there are no backslashes.
225
226         * rendering/RenderListMarker.cpp:
227         (WebCore::RenderListMarker::paint): Use TextRun::setText(StringView).
228
229         * rendering/RenderText.cpp:
230         (WebCore::maxWordFragmentWidth): Pass a String to RenderBlock::constructTextRun instead of
231         calling StringBuilder::deprecatedCharacters.
232
233         * rendering/RenderText.h: Removed deprecatedCharacters function.
234
235         * rendering/line/BreakingContextInlineHeaders.h: Added now-needed header include.
236
237         * rendering/svg/SVGInlineTextBox.cpp:
238         (WebCore::SVGInlineTextBox::constructTextRun): Use StringView version of TextRun constructor.
239
240         * rendering/svg/SVGTextMetrics.cpp:
241         (WebCore::SVGTextMetrics::SVGTextMetrics): Take references instead of pointers.
242         (WebCore::SVGTextMetrics::constructTextRun): Take references instead of pointers, and don't
243         take a character pointer any more. Instead, extract the text and use the StringView version of
244         the TextRun constructor.
245         (WebCore::SVGTextMetrics::measureCharacterRange): Take references instead of pointers and
246         update for above changes.
247         * rendering/svg/SVGTextMetrics.h: Updated for changes above. Also tweaked style a bit.
248
249         * rendering/svg/SVGTextMetricsBuilder.cpp:
250         (WebCore::SVGTextMetricsBuilder::advanceSimpleText): Updated for SVGTextMetrics changes.
251         (WebCore::SVGTextMetricsBuilder::advanceComplexText): Ditto.
252         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer): Ditto.
253         (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Change code to store a character
254         for lastCharacter rather than storing a pointer to a character. Stop using TextRun::data16.
255
256         * rendering/svg/SVGTextQuery.cpp:
257         (WebCore::SVGTextQuery::subStringLengthCallback): Updated for SVGTextMetrics changes.
258         (WebCore::SVGTextQuery::startPositionOfCharacterCallback): Ditto.
259         (WebCore::SVGTextQuery::endPositionOfCharacterCallback): Ditto.
260         (WebCore::calculateGlyphBoundaries): Ditto.
261
262         * xml/XPathFunctions.cpp:
263         (WebCore::XPath::atomicSubstring): Added.
264         (WebCore::XPath::FunId::evaluate): Tweaked a bit to use a new style for loop.
265         Use the atomicSubstring function to avoid making a temporary String just to make an AtomicString.
266         That function also uses characters8/16 rather than depreccatedCharacters.
267
268         * xml/XPathNodeSet.h: Added begin and end so this collection can be iterated with new style for loop.
269
270         * xml/parser/XMLDocumentParserLibxml2.cpp:
271         (WebCore::XMLDocumentParser::doWrite): Use StringView::upconvertedCharacters.
272         (WebCore::parseAttributes): Ditto.
273
274 2014-03-22  Commit Queue  <commit-queue@webkit.org>
275
276         Unreviewed, rolling out r166118.
277         https://bugs.webkit.org/show_bug.cgi?id=130640
278
279         Crashing things (Requested by weinig on #webkit).
280
281         Reverted changeset:
282
283         "Switch HTMLConverter to use CSSPropertyIDs to refer to CSS
284         properties"
285         https://bugs.webkit.org/show_bug.cgi?id=130639
286         http://trac.webkit.org/changeset/166118
287
288 2014-03-22  Sam Weinig  <sam@webkit.org>
289
290         Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
291         https://bugs.webkit.org/show_bug.cgi?id=130639
292
293         Reviewed by Simon Fraser.
294
295         This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.
296
297         - Removes gratuitous lookup of CSS properties that are known at compile time.
298         - Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) 
299           that will alway yield the same results.
300         - Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures
301           but instead used the non-existent font-effect.
302
303         * platform/mac/HTMLConverter.mm:
304         (HTMLConverterCaches::computedStylePropertyForElement):
305         (HTMLConverterCaches::inlineStylePropertyForElement):
306         (HTMLConverterCaches::propertyValueForNode):
307         (-[WebHTMLConverter _stringForNode:property:]):
308         (HTMLConverterCaches::floatPropertyValueForNode):
309         (-[WebHTMLConverter _getFloat:forNode:property:]):
310         (HTMLConverterCaches::isBlockElement):
311         (HTMLConverterCaches::elementHasOwnBackgroundColor):
312         (HTMLConverterCaches::colorPropertyValueForNode):
313         (-[WebHTMLConverter _colorForNode:property:]):
314         (-[WebHTMLConverter _computedAttributesForElement:]):
315         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
316         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
317         (-[WebHTMLConverter _addTableForElement:]):
318         (-[WebHTMLConverter _addTableCellForElement:]):
319         (-[WebHTMLConverter _processElement:tag:display:depth:]):
320         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
321         (-[WebHTMLConverter _processText:]):
322         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
323
324 2014-03-21  Simon Fraser  <simon.fraser@apple.com>
325
326         Don't flush compositing layers within FrameView::willPaintContents()
327         https://bugs.webkit.org/show_bug.cgi?id=130627
328         <rdar://problem/16368869>
329
330         Reviewed by Sam Weinig.
331
332         Remove the call to flushCompositingStateForThisFrame() here. We should
333         have always flushed before painting via other mechanisms in WebKit2 and WebKit2.
334         Flushing during painting is actually harmful, since we could be inside
335         a CA commit already, and creating or destroying layers via flushing is bad.
336
337         * page/FrameView.cpp:
338         (WebCore::FrameView::willPaintContents):
339
340 2014-03-22  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
341
342         ASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
343         https://bugs.webkit.org/show_bug.cgi?id=127361
344
345         Huge numbers represented by the 'INF' value can not be used
346         in CSS rules, so they make the assert fail. We have to make
347         sure that the parsed property value is finite, otherwise
348         the property will be dropped.
349
350         Test: fast/css/infinite-floating-value.html
351
352         * css/CSSValuePool.cpp:
353         (WebCore::CSSValuePool::createValue):
354
355 2014-03-21  Zalan Bujtas  <zalan@apple.com>
356
357         Remove redundant friending from class Image.
358         https://bugs.webkit.org/show_bug.cgi?id=130628
359
360         Reviewed by Simon Fraser.
361
362         Those friend classes are subclasses. No need to make them friend of their parent class.
363
364         No change in functionality.
365
366         * platform/graphics/Image.h:
367
368 2014-03-21  Benjamin Poulain  <bpoulain@apple.com>
369
370         [iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
371         https://bugs.webkit.org/show_bug.cgi?id=130555
372
373         Reviewed by Simon Fraser.
374
375         * WebCore.exp.in:
376         * platform/ScrollView.h:
377         * platform/graphics/ca/mac/TileController.mm:
378         (WebCore::TileController::computeTileCoverageRect):
379         * platform/ios/ScrollViewIOS.mm:
380         (WebCore::ScrollView::setScrollVelocityInformation):
381         (WebCore::ScrollView::computeCoverageRect):
382         * rendering/RenderLayerCompositor.cpp:
383         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
384
385 2014-03-21  Eric Carlson  <eric.carlson@apple.com>
386
387         [iOS] clean up fullscreen player controller when exiting fullscreen
388         https://bugs.webkit.org/show_bug.cgi?id=130621
389
390         Reviewed by Jer Noble.
391
392         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
393         (-[WebAVVideoLayer setBounds:]): Do nothing if _avPlayerController is nil.
394         (-[WebAVVideoLayer setVideoLayerGravity:]): Ditto.
395         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Set m_playerViewController delegate
396             and player controller to nil.
397
398 2014-03-21  Eric Carlson  <eric.carlson@apple.com>
399
400         [iOS] remote command callbacks must happen on the WebThread
401         https://bugs.webkit.org/show_bug.cgi?id=130618
402
403         Reviewed by Jer Noble.
404
405         * platform/ios/RemoteCommandListenerIOS.h:
406         (WebCore::RemoteCommandListenerIOS::createWeakPtr):
407         * platform/ios/RemoteCommandListenerIOS.mm:
408         (WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Dispatch commands to the
409             main thread before making listener callbacks.
410
411 2014-03-21  Zalan Bujtas  <zalan@apple.com>
412
413         Subpixel rendering: Make <img> positioning subpixel aware.
414         https://bugs.webkit.org/show_bug.cgi?id=130596
415
416         Reviewed by Simon Fraser.
417
418         Change <img> positioning from integral to device pixel. It enables us
419         to paint hairline borders around <img> properly.
420         This patch changes the behavior of broken image representation from constant 1 CSS px border
421         to a dynamic 1 device px.
422
423         Test: fast/images/hidpi-image-position-on-device-pixels.html
424
425         * WebCore.exp.in:
426         * platform/graphics/GraphicsContext.cpp:
427         (WebCore::GraphicsContext::drawImage):
428         * platform/graphics/GraphicsContext.h:
429         * platform/graphics/cairo/GraphicsContextCairo.cpp:
430         (WebCore::GraphicsContext::drawRect):
431         * platform/graphics/cg/GraphicsContextCG.cpp:
432         (WebCore::GraphicsContext::drawRect):
433         * platform/graphics/wince/GraphicsContextWinCE.cpp:
434         (WebCore::GraphicsContext::drawRect):
435         * rendering/RenderImage.cpp:
436         (WebCore::RenderImage::paintReplaced):
437         (WebCore::RenderImage::paintIntoRect):
438         * rendering/RenderImage.h:
439         * rendering/RenderLayer.cpp:
440         (WebCore::RenderLayer::drawPlatformResizerImage):
441
442 2014-03-21  Brent Fulgham  <bfulgham@apple.com>
443
444         Merge VTTScanner Code from Blink
445         https://bugs.webkit.org/show_bug.cgi?id=130616
446
447         Reviewed by Eric Carlson.
448
449         Merged from Blink (patch by fs@opera.com):
450         https://chromium.googlesource.com/chromium/blink/+/f1ceb058d574a1174b524c57f67350510a942071
451         http://crbug.com/75273002
452         https://chromium.googlesource.com/chromium/blink/+/3e2c67969486e86347b328c72c67cacabfe6f4a1
453         http://crbug.com/134173002
454         https://chromium.googlesource.com/chromium/blink/+/5962b7bbb001838f3fc7f24817637528b86bfd9b
455         http://crbug.com/134153002
456         https://chromium.googlesource.com/chromium/blink/+/6c81f51438013edca920a19fc6a31026fc562af2
457         http://crbug.com/137033002
458         https://chromium.googlesource.com/chromium/blink/+/fa286dca17a291da3ae8be80111e2264de6d5cfd
459         http://crbug.com/140503004
460         https://chromium.googlesource.com/chromium/blink/+/8f33b63aabcce7dd21dd15288d45c4eb37c02001
461         http://crbug.com/139343006
462         https://chromium.googlesource.com/chromium/blink/+/1872b54b908fac525f1ad9d6f15174b11e27c8af
463         http://crbug.com/143983002
464         https://chromium.googlesource.com/chromium/blink/+/e6494b3359e2077bd8772d86ab1fb709acf4c398
465         http://crbug.com/144893002
466  
467         * CMakeLists.txt:
468         * GNUmakefile.list.am:
469         * WebCore.vcxproj/WebCore.vcxproj:
470         * WebCore.vcxproj/WebCore.vcxproj.filters:
471         * WebCore.xcodeproj/project.pbxproj:
472         * html/track/ParsingUtilities.h: Added.
473         (skipExactly):
474         (skipUntil):
475         (skipWhile):
476         * html/track/VTTCue.cpp:
477         (WebCore::VTTCue::markFutureAndPastNodes):
478         (WebCore::VTTCue::settingName):
479         (WebCore::scanPercentage):
480         (WebCore::VTTCue::setCueSettings):
481         * html/track/VTTCue.h:
482         * html/track/VTTRegion.cpp:
483         (WebCore::VTTRegion::setRegionSettings):
484         (WebCore::VTTRegion::scanSettingName):
485         (WebCore::parsedEntireRun):
486         (WebCore::VTTRegion::parseSettingValue):
487         * html/track/VTTRegion.h:
488         * html/track/VTTScanner.cpp: Added.
489         (WebCore::VTTScanner::VTTScanner):
490         (WebCore::VTTScanner::scan):
491         (WebCore::VTTScanner::scanRun):
492         (WebCore::VTTScanner::skipRun):
493         (WebCore::VTTScanner::extractString):
494         (WebCore::VTTScanner::restOfInputAsString):
495         (WebCore::VTTScanner::scanDigits):
496         (WebCore::VTTScanner::scanFloat):
497         * html/track/VTTScanner.h: Added.
498         (WebCore::VTTScanner::Run::Run):
499         (WebCore::VTTScanner::Run::start):
500         (WebCore::VTTScanner::Run::end):
501         (WebCore::VTTScanner::Run::isEmpty):
502         (WebCore::VTTScanner::isAt):
503         (WebCore::VTTScanner::isAtEnd):
504         (WebCore::VTTScanner::match):
505         (WebCore::VTTScanner::position):
506         (WebCore::VTTScanner::end):
507         (WebCore::VTTScanner::LCharPredicateAdapter):
508         (WebCore::VTTScanner::Run::length):
509         (WebCore::VTTScanner::scan):
510         (WebCore::VTTScanner::skipWhile):
511         (WebCore::VTTScanner::skipUntil):
512         (WebCore::VTTScanner::collectWhile):
513         (WebCore::VTTScanner::collectUntil):
514         (WebCore::VTTScanner::seekTo):
515         (WebCore::VTTScanner::currentChar):
516         (WebCore::VTTScanner::advance):
517         * html/track/WebVTTParser.cpp:
518         (WebCore::WebVTTParser::parseFloatPercentageValue):
519         (WebCore::WebVTTParser::parseFloatPercentageValuePair):
520         (WebCore::WebVTTParser::collectTimingsAndSettings):
521         (WebCore::WebVTTParser::collectTimeStamp):
522         (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
523         * html/track/WebVTTParser.h:
524
525 2014-03-21  Benjamin Poulain  <bpoulain@apple.com>
526
527         Pseudo type cleanup part 2: split pseudo elements parsing
528         https://bugs.webkit.org/show_bug.cgi?id=130370
529
530         Reviewed by Andreas Kling.
531
532         With this patch, pseudo elements are handled separately. The only thing left in
533         the old path is compatibility pseudo elements and pseudo classes.
534
535         The list of special pseudo elements is now separated and is stored in SelectorPseudoElementTypeMap.in.
536         The script makeSelectorPseudoElementsMap.py takes that list to make the pseudo elements hash table.
537
538         The other pseudo elements are the prefixed ones, they are filtered in CSSSelector::parsePseudoElementType().
539
540         All the non-compatibility selectors are removed from SelectorPseudoTypeMap.in. CSSParserSelector::setPseudoTypeValue()
541         is updated accordingly. The next step will be to clean that part.
542
543         * CMakeLists.txt:
544         * DerivedSources.make:
545         * GNUmakefile.list.am:
546         * WebCore.vcxproj/WebCore.vcxproj:
547         * WebCore.vcxproj/WebCore.vcxproj.filters:
548         * WebCore.xcodeproj/project.pbxproj:
549         * css/CSSComputedStyleDeclaration.cpp:
550         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
551         * css/CSSGrammar.y.in:
552         * css/CSSParserValues.cpp:
553         (WebCore::CSSParserSelector::parsePseudoElementSelector):
554         (WebCore::CSSParserSelector::parsePseudoCueFunctionSelector):
555         (WebCore::CSSParserSelector::setPseudoTypeValue):
556         * css/CSSParserValues.h:
557         * css/CSSSelector.cpp:
558         (WebCore::CSSSelector::parsePseudoElementType):
559         * css/CSSSelector.h:
560         * css/SelectorPseudoElementTypeMap.in: Added.
561         * css/SelectorPseudoTypeMap.h:
562         * css/SelectorPseudoTypeMap.in:
563         * css/html.css:
564         (q::before):
565         (q::after):
566         * css/makeSelectorPseudoElementsMap.py: Added.
567         (enumerablePseudoType):
568         (expand_ifdef_condition):
569         * page/DOMWindow.cpp:
570         (WebCore::DOMWindow::getMatchedCSSRules):
571
572 2014-03-20  Andreas Kling  <akling@apple.com>
573
574         Less inclusion of JSCInlines.h.
575         <https://webkit.org/b/130545>
576
577         Stop including JSCInlines.h from JSDOMGlobalObject.h!
578
579         Reviewed by Simon Fraser.
580
581         * ForwardingHeaders/runtime/IdentifierInlines.h: Added.
582         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
583         * bindings/js/JSCommandLineAPIHostCustom.cpp:
584         * bindings/js/JSDOMGlobalObject.h:
585         * bindings/js/JSDOMStringMapCustom.cpp:
586         * bindings/js/JSHTMLAllCollectionCustom.cpp:
587         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
588         * bindings/js/JSLazyEventListener.cpp:
589         * bindings/js/JSSQLResultSetRowListCustom.cpp:
590         * bindings/js/JSStorageCustom.cpp:
591         * bindings/js/ScriptGlobalObject.cpp:
592         * dom/NodeIterator.cpp:
593         * dom/TreeWalker.cpp:
594         * testing/Internals.cpp:
595         * testing/js/WebCoreTestSupport.cpp:
596
597 2014-03-21  Oliver Hunt  <oliver@apple.com>
598
599         Fix a crash when assigning an object to document.location
600         https://bugs.webkit.org/show_bug.cgi?id=130213
601
602         Reviewed by Geoffrey Garen.
603
604         Convert location to string before we make use the document.
605         This prevents us from attempting to navigate a frame that
606         has already been removed.
607
608         Test: fast/dom/navigation-with-sideeffects-crash.html
609
610         * bindings/js/JSDocumentCustom.cpp:
611         (WebCore::JSDocument::location):
612         (WebCore::JSDocument::setLocation):
613
614 2014-03-21  Brian Burg  <bburg@apple.com>
615
616         Web Replay: replay controller is improperly setting user input bridge state
617         https://bugs.webkit.org/show_bug.cgi?id=130606
618
619         Reviewed by Timothy Hatcher.
620
621         The user input bridge was being set based on the old session state,
622         rather than the new session state.
623
624         * replay/ReplayController.cpp:
625         (WebCore::ReplayController::setSessionState):
626
627 2014-03-21  James Craig  <jcraig@apple.com>
628
629         Web Inspector: AXI: Expose Accessibility Tree children of the selected node
630         https://bugs.webkit.org/show_bug.cgi?id=130264
631
632         Reviewed by Timothy Hatcher.
633
634         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
635
636         Expose the accessibility tree children (different from DOM children) of the
637         current node in the accessibility node inspector.
638
639         * inspector/InspectorDOMAgent.cpp: 
640         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
641         * inspector/InspectorDOMAgent.h:
642         * inspector/protocol/DOM.json:
643
644 2014-03-21  Alex Christensen  <achristensen@webkit.org>
645
646         [Win] Compile fixes with video not enabled.
647         https://bugs.webkit.org/show_bug.cgi?id=130597
648
649         Reviewed by Darin Adler.
650
651         * DerivedSources.make:
652         Only generate UserAgentScripts.h if needed.
653         * platform/audio/MediaSession.cpp:
654         * platform/audio/MediaSessionManager.cpp:
655         Only compile if video is enabled.
656
657 2014-03-21  Adenilson Cavalcanti  <cavalcantii@gmail.com>
658
659         Optimize FEGaussian blur
660         https://bugs.webkit.org/show_bug.cgi?id=50881
661
662         Reviewed by Dirk Schulze.
663
664         Currently boxBlur() will calculate the filter for each channel in
665         a loop and also uses Uint8ClampedArray::set() to write the
666         resulting pixels into destination array.
667
668         Using Uint8ClampedArray::set() requires lots of unnecessary type
669         conversions, not to mention other function calls. This patch
670         updates the original written by Simon Fraser to apply cleanly to current
671         trunk.
672
673         It also implements code to handle EdgeModes and finally avoids use
674         of ::set() in the newly added boxBlurAlphaOnly()
675         function. Assignment of calculated pixel values rely on pointers.
676
677         No new tests, no change on behavior.
678
679         * platform/graphics/filters/FEGaussianBlur.cpp:
680         (WebCore::boxBlurAlphaOnly): Specialized version for alpha only cases.
681         (WebCore::boxBlur):
682
683 2014-03-21  Simon Fraser  <simon.fraser@apple.com>
684
685         unobscuredContentRect() should have the same signature on iOS and other platforms,
686         and should not recurse on iOS.
687         https://bugs.webkit.org/show_bug.cgi?id=130604
688         <rdar://problem/16392587>
689
690         Reviewed by Tim Horton and Beth Dakin.
691
692         Having different signatures on different platforms is a recipe for
693         build breakage. Give the iOS unobscuredContentRect() an unused 
694         VisibleContentRectIncludesScrollbars parameter.
695         
696         Also avoid recursion via unobscuredContentRect() calling visibleContentRectInternal().
697
698         * WebCore.exp.in:
699         * platform/ScrollView.cpp:
700         (WebCore::ScrollView::unobscuredContentRect):
701         (WebCore::ScrollView::unobscuredContentRectInternal):
702         (WebCore::ScrollView::visibleContentRectInternal):
703         * platform/ScrollView.h:
704         (WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):
705         * platform/ios/ScrollViewIOS.mm:
706         (WebCore::ScrollView::unobscuredContentRect):
707
708 2014-03-21  Brent Fulgham  <bfulgham@apple.com>
709
710         Handle recovery on "timestamp-looking" lines in the WebVTT parser
711         https://bugs.webkit.org/show_bug.cgi?id=130610
712
713         Reviewed by Eric Carlson.
714
715         Merged from Blink (patch by fs@opera.com):
716         https://chromium.googlesource.com/chromium/blink/+/b669a380efbffe25f3b154b026b57b9822ce08e2
717         http://crbug.com/75273002
718
719         Tests: media/track/track-webvtt-tc031-cue-recovery.html
720                media/track/track-webvtt-tc032-degenerate-cues.html
721
722         * html/track/WebVTTParser.cpp:
723         (WebCore::WebVTTParser::parse):
724         (WebCore::WebVTTParser::collectCueText):
725         (WebCore::WebVTTParser::recoverCue):
726         (WebCore::WebVTTParser::ignoreBadCue):
727         * html/track/WebVTTParser.h:
728
729 2014-03-21  Andreas Kling  <akling@apple.com>
730
731         Remove unused RenderView::repaintRectangleInViewAndCompositedLayers().
732         <https://webkit.org/b/130605>
733
734         Reviewed by Antti Koivisto.
735
736         * rendering/RenderView.cpp:
737         * rendering/RenderView.h:
738
739 2014-03-21  David Hyatt  <hyatt@apple.com>
740
741         Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
742         https://bugs.webkit.org/show_bug.cgi?id=129948
743         <rdar://problem/16074072>
744         
745         Reviewed by Simon Fraser.
746
747         When the marker was placed for multi-column list items, it was being inserted
748         into the list item itself. Even though the add code in RenderBlock did the right
749         thing and put the marker inside the multi-column flow thread, the list item code
750         passed in a beforeChild that was computed using the incorrect parent. This resulted
751         in the flow thread being used both as the parent of the marker and the sibling of
752         the marker.
753         
754         The fix is to add some code to RenderListItem to make sure it uses the multi-column
755         flow thread if it exists both as the parent of the marker and as the basis for the
756         computation of the sibling that the marker should be placed in front of.
757
758         Added fast/multicol/multicol-li-crash.html
759
760         * rendering/RenderListItem.cpp:
761         (WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
762
763 2014-03-20  Andreas Kling  <akling@apple.com>
764
765         Stop pulling in JSCInlines.h all over the place.
766         <https://webkit.org/b/130105>
767
768         JSDOMBinding.h is included by everyone and their uncle, so try to
769         cut down on the amount of JSC *Inlines.h it includes.
770
771         Reviewed by Geoff Garen.
772
773         * ForwardingHeaders/heap/SlotVisitorInlines.h: Added.
774         * ForwardingHeaders/runtime/JSCJSValueInlines.h: Added.
775         * ForwardingHeaders/runtime/JSCellInlines.h: Added.
776         * ForwardingHeaders/runtime/StructureInlines.h: Added.
777         * bindings/js/JSDOMBinding.h:
778
779 2014-03-21  David Kilzer  <ddkilzer@apple.com>
780
781         WindowFeatures.{x|y|width|height} are not initialized
782         <http://webkit.org/b/130547>
783         <rdar://problem/16383151>
784
785         Reviewed by Darin Adler.
786
787         Based on a Blink patch in CRBug 342591 by zhaoqin.
788
789         * page/WindowFeatures.cpp:
790         (WebCore::WindowFeatures::WindowFeatures):
791         - Initialize x, y, width, height in String constructor.
792         - Move 'resizeable' variable to short-hand initialization since
793           it is true in both cases.
794         - Use String::isEmpty() instead of checking its length.
795         * page/WindowFeatures.h:
796         (WebCore::WindowFeatures::WindowFeatures): Initialize x, y,
797         width, height in no-argument constructor.
798
799 2014-03-21  Sergio Villar Senin  <svillar@igalia.com>
800
801         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in bridge/
802         https://bugs.webkit.org/show_bug.cgi?id=130601
803
804         Reviewed by Darin Adler.
805
806         * bridge/IdentifierRep.cpp:
807         (WebCore::identifierSet):
808         (WebCore::intIdentifierMap):
809         (WebCore::stringIdentifierMap):
810         * bridge/NP_jsobject.cpp:
811         (objectMap):
812         * bridge/runtime_root.cpp:
813         (JSC::Bindings::rootObjectSet): Return a reference instead of
814         a pointer.
815         (JSC::Bindings::findProtectingRootObject):
816         (JSC::Bindings::findRootObject):
817         (JSC::Bindings::RootObject::RootObject):
818         (JSC::Bindings::RootObject::invalidate):
819
820 2014-03-21  Michael Saboff  <msaboff@apple.com>
821
822         Change CodeGeneratorJS.pm special cases for "DOMWindow" to be general purpose
823         https://bugs.webkit.org/show_bug.cgi?id=130553
824
825         Reviewed by Geoffrey Garen.
826
827         Eliminated 'if ($interfaceName eq "DOMWindow") {' sections in CodeGeneratorJS where
828         it was used to do DOMWindow specific casting to a JSObject, either a JSDOMWindow* or
829         a JSDOMWindowShell*.  Instead the code generator will use the existing 
830         JSDOMWindow* toJSDOMWindow(JSValue value) function based on a newly added attribute
831         "CustomProxyToJSObject".  That attribute will emit a call to the function
832         ${className}* to${className}(JSValue).
833
834         This is being done to clean up the code generator and for a subsequent patch that
835         will use a similar custom to{className} function for workers,
836         JSDedicatedWorkerGlobalScope* toJSDedicatedWorkerGlobalScope(JSValue).
837
838         Changes covered by existing tests.
839
840         * bindings/scripts/CodeGeneratorJS.pm:
841         (GenerateImplementation):
842         * bindings/scripts/IDLAttributes.txt:
843         * page/DOMWindow.idl:
844
845 2014-03-21  Krzysztof Czech  <k.czech@samsung.com>
846
847         AX: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed
848         https://bugs.webkit.org/show_bug.cgi?id=130594
849
850         Reviewed by Chris Fleizach.
851
852         Use static NeverDestroyed<T> in new code.
853
854         * accessibility/AccessibilityMediaControls.cpp:
855         (WebCore::AccessibilityMediaControl::controlTypeName):
856         (WebCore::AccessibilityMediaControl::title):
857         (WebCore::AccessibilityMediaControlsContainer::elementTypeName):
858         (WebCore::AccessibilityMediaTimeline::helpText):
859         (WebCore::AccessibilityMediaTimeDisplay::accessibilityDescription):
860         * accessibility/AccessibilityObject.cpp:
861         (WebCore::AccessibilityObject::actionVerb):
862         * accessibility/AccessibilityRenderObject.cpp:
863         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
864         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
865         (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
866         (WebCore::AccessibilityRenderObject::actionVerb):
867         * accessibility/atk/AXObjectCacheAtk.cpp:
868         (WebCore::notifyChildrenSelectionChange):
869
870 2014-03-20  Brent Fulgham  <bfulgham@apple.com>
871
872         Merge WebVTT Tokenizer Updates
873         https://bugs.webkit.org/show_bug.cgi?id=130565
874
875         Reviewed by Eric Carlson.
876
877         Merged from Blink (patch by fs@opera.com):
878         https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
879         http://crbug.com/73813002
880         https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
881         http://crbug.com/77553004
882         https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
883         http://crbug.com/78833002
884         https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
885         http://crbug.com/81113003
886         https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
887         http://crbug.com/97103002
888         https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
889         http://crbug.com/98763004
890         https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
891         http://crbug.com/118263002
892  
893         * html/track/VTTCue.cpp:
894         (WebCore::scanPercentage):
895         (WebCore::VTTCue::setCueSettings):
896         * html/track/WebVTTParser.cpp:
897         (WebCore::WebVTTTreeBuilder::buildFromString):
898         (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
899         * html/track/WebVTTToken.h:
900         (WebCore::WebVTTToken::WebVTTToken):
901         (WebCore::WebVTTToken::StringToken):
902         (WebCore::WebVTTToken::StartTag):
903         (WebCore::WebVTTToken::EndTag):
904         (WebCore::WebVTTToken::TimestampTag):
905         (WebCore::WebVTTToken::type):
906         (WebCore::WebVTTToken::name):
907         (WebCore::WebVTTToken::characters):
908         (WebCore::WebVTTToken::classes):
909         (WebCore::WebVTTToken::annotation):
910         * html/track/WebVTTTokenizer.cpp:
911         (WebCore::addNewClass):
912         (WebCore::emitToken):
913         (WebCore::advanceAndEmitToken):
914         (WebCore::WebVTTTokenizer::WebVTTTokenizer):
915         (WebCore::WebVTTTokenizer::nextToken):
916         * html/track/WebVTTTokenizer.h:
917         (WebCore::WebVTTTokenizer::shouldSkipNullCharacters):
918
919 2014-03-21  Frédéric Wang  <fred.wang@free.fr>
920
921         Bug 130345 - Refine childShouldCreateRenderer for MathML elements
922         https://bugs.webkit.org/show_bug.cgi?id=130345
923
924         Reviewed by Chris Fleizach.
925
926         This is a follow-up of bug 124128. We add more restrictions on foreign
927         content of MathML elements.
928
929         Tests: mathml/presentation/annotation-children.html
930                mathml/presentation/foreign-element-in-token.html
931
932         * mathml/MathMLElement.cpp:
933         (WebCore::MathMLElement::isPresentationMathML): fix line wrapping
934         (WebCore::MathMLElement::isPhrasingContent):
935         - move the function from MathMLSelectElement.cpp
936         - add the constraint "is descendant of a map element" for area.
937         (WebCore::MathMLElement::isFlowContent): new function to test flow content.
938         (WebCore::MathMLElement::childShouldCreateRenderer):
939         - remove annotation since it is now tested in MathMLTextElement
940         - refine testing of annotation-xml
941         - do not create renderer for text content in MathML. Such content is only allowed inside token elements.
942         * mathml/MathMLElement.h: Declare isPhrasingContent and isFlowContent.
943         * mathml/MathMLSelectElement.cpp: Add new function to test MathML/SVG/HTML encodings.
944         (WebCore::MathMLSelectElement::isMathMLEncoding):
945         (WebCore::MathMLSelectElement::isSVGEncoding):
946         (WebCore::MathMLSelectElement::isHTMLEncoding):
947         (WebCore::MathMLSelectElement::getSelectedSemanticsChild): use the new functions.
948         * mathml/MathMLSelectElement.h: Declare the new public functions.
949         * mathml/MathMLTextElement.cpp: remove the isPhrasingContent function.
950         (WebCore::MathMLTextElement::childShouldCreateRenderer): Just in case, use the generic StyledElement::childShouldCreateRenderer.
951
952 2014-03-21  Darin Adler  <darin@apple.com>
953
954         Stop using deprecatedCharacters in WebCore/platform/win
955         https://bugs.webkit.org/show_bug.cgi?id=130515
956
957         Reviewed by Brent Fulgham.
958
959         * platform/graphics/TextRun.h:
960         (WebCore::TextRun::TextRun): Add a constructor that takes a StringView.
961         Later, we might want to exclusively use the StringView version and remove
962         some of the others.
963         (WebCore::TextRun::setText): Add a version of this function that takes a StringView.
964
965         * platform/graphics/win/FontCacheWin.cpp:
966         (WebCore::FontCache::systemFallbackForCharacters): Use StringView::getCharactersWithUpconvert.
967         (WebCore::createGDIFont): Ditto.
968         (WebCore::FontCache::getTraitsInFamily): Ditto.
969         * platform/win/BString.cpp:
970         (WebCore::BString::BString): Use StringView::upconvertedCharacters.
971         * platform/win/ClipboardUtilitiesWin.cpp:
972         (WebCore::createGlobalData): Use StringView::getCharactersWithUpconvert.
973         * platform/win/FileSystemWin.cpp:
974         (WebCore::pathByAppendingComponent): Use StringBuilder and StringView::getCharactersWithUpconvert.
975         (WebCore::fileSystemRepresentation): Use StringView::upconvertedCharacters.
976         * platform/win/PasteboardWin.cpp:
977         (WebCore::filesystemPathFromUrlOrTitle): Use StringView::getCharactersWithUpconvert.
978         (WebCore::Pasteboard::writeURLToDataObject): Ditto.
979         (WebCore::createGlobalImageFileDescriptor): Ditto.
980
981         * platform/win/PopupMenuWin.cpp:
982         (WebCore::PopupMenuWin::calculatePositionAndSize): Use the new TextRun constructor.
983         * platform/win/WebCoreTextRenderer.cpp:
984         (WebCore::doDrawTextAtPoint): Ditto.
985
986 2014-03-21  Zalan Bujtas  <zalan@apple.com>
987
988         Subpixel rendering: RenderBox is positioned off by one when non-compositing transform is present.
989         https://bugs.webkit.org/show_bug.cgi?id=130430
990
991         Reviewed by Simon Fraser.
992
993         div {
994             position: absolute;
995              top: 10.25px;
996              left: 10.25px;
997          }
998
999          The <div> with (10.25px, 10.25px) is painted to (10.5px, 10.5px) after device pixel snapping on 2x display.
1000          Moving <div> to its own RenderLayer should not change the painting position.
1001
1002          div {
1003              position: absolute;
1004              top: 10.25px;
1005              left: 10.25px;
1006              -webkit-transform: rotate(0deg);
1007          }
1008
1009         When we paint the RenderLayer's content, the graphics context is translated by the rounded value of
1010         renderer's offset from parent.
1011
1012             (10.25px,10.25px) -> rounded to (10.5px,10.5px).
1013
1014         When the translate moves the graphics context's origin over the renderer's top-left position,
1015         the renderer's relative top-left coordinates end up being negative.
1016
1017             Graphics context translated by (10.5px,10.5px) -> pushes renderer's relative top-left coords to (-0.25px,-0.25px)
1018
1019         When we round (pixel snap) these negative coordinates, half-way values get translated to the wrong direction.
1020
1021         (relative coords (-0.25px,-0.25px) -> pixel snapped to (-0.5px,-0.5px) -> final absolute(painting) coords (10px,10px))
1022
1023         This patch changes the rounding to flooring to ensure that the relative top-left position never gets negative as the result
1024         of subpixel shifting.
1025
1026         Tests: compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html
1027                fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html
1028
1029         * css/CSSComputedStyleDeclaration.cpp:
1030         (WebCore::computedTransform):
1031         * rendering/RenderLayer.cpp:
1032         (WebCore::RenderLayer::updateTransform):
1033         (WebCore::RenderLayer::currentTransform):
1034         (WebCore::RenderLayer::paintLayerByApplyingTransform):
1035         * rendering/RenderLayerBacking.cpp:
1036         (WebCore::RenderLayerBacking::updateTransform):
1037         * rendering/style/RenderStyle.cpp:
1038         * rendering/style/RenderStyle.h:
1039         * svg/SVGTextElement.cpp:
1040         (WebCore::SVGTextElement::animatedLocalTransform):
1041
1042 2014-03-21  Pratik Solanki  <psolanki@apple.com>
1043
1044         Unreviewed. iOS build fix after r166046.
1045
1046         * WebCore.exp.in:
1047
1048 2014-03-21  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
1049
1050         Fix the !ENABLE(FILTERS) build
1051         https://bugs.webkit.org/show_bug.cgi?id=130394
1052
1053         Reviewed by Gyuyoung Kim.
1054
1055         Add missing includes in rendering to fix compile errors, and include JSC headers to ImageBuffer.h to fix linker errors.
1056
1057         * platform/graphics/ImageBuffer.h:
1058         * rendering/svg/RenderSVGImage.cpp:
1059         * rendering/svg/RenderSVGRoot.cpp:
1060
1061 2014-03-21  Commit Queue  <commit-queue@webkit.org>
1062
1063         Unreviewed, rolling out r166052.
1064         https://bugs.webkit.org/show_bug.cgi?id=130571
1065
1066         It broke EFL build (Requested by KaL on #webkit).
1067
1068         Reverted changeset:
1069
1070         "[GTK] Use GMainLoopSource for idle and timeout sources in
1071         WebCore"
1072         https://bugs.webkit.org/show_bug.cgi?id=130078
1073         http://trac.webkit.org/changeset/166052
1074
1075 2014-03-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1076
1077         Add *explicit* keyword to avoid implicit type conversion
1078         https://bugs.webkit.org/show_bug.cgi?id=130568
1079
1080         Reviewed by Antti Koivisto.
1081
1082         Constructors of RemoteFontFaceSource, SVGDocumentExtensions, XMLDocumentParserScope,
1083         and WorkerScriptDebugServer need to use *explicit* keyword because they have an argument.
1084         Besides removed a meaningless argument name.
1085
1086         * svg/SVGDocumentExtensions.h:
1087         * xml/parser/XMLDocumentParserScope.h:
1088
1089 2014-03-20  Sergio Villar Senin  <svillar@igalia.com>
1090
1091         Modules: replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
1092         https://bugs.webkit.org/show_bug.cgi?id=130407
1093
1094         Reviewed by Darin Adler.
1095
1096         * Modules/encryptedmedia/CDM.cpp:
1097         (WebCore::installedCDMFactories):
1098         * Modules/mediasource/MediaSourceRegistry.cpp:
1099         (WebCore::MediaSourceRegistry::registry):
1100         * Modules/mediasource/MediaSourceRegistry.h:
1101         * Modules/mediastream/MediaStreamRegistry.cpp:
1102         (WebCore::MediaStreamRegistry::registry):
1103
1104 2014-03-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1105
1106         [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
1107         https://bugs.webkit.org/show_bug.cgi?id=130078
1108
1109         Reviewed by Philippe Normand.
1110
1111         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1112         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1113         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
1114         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1115         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1116         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1117         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1118         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1119         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
1120         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1121         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1122         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1123         * platform/gtk/GtkDragAndDropHelper.cpp:
1124         * platform/gtk/SharedTimerGtk.cpp:
1125
1126 2014-03-21  Andreas Kling  <akling@apple.com>
1127
1128         HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
1129         <rdar://problem/15675780>
1130
1131         Merge Blink r156744 by Adam Klein.
1132
1133         Test: fast/frames/set-iframe-src-in-pagehide-crash.html
1134
1135         * loader/SubframeLoader.cpp:
1136         (WebCore::SubframeLoader::loadSubframe):
1137
1138 2014-03-21  Darin Adler  <darin@apple.com>
1139
1140         Improve idiom used for string building in a few places
1141         https://bugs.webkit.org/show_bug.cgi?id=130561
1142
1143         Reviewed by Andreas Kling.
1144
1145         * Modules/indexeddb/IDBKeyData.cpp:
1146         (WebCore::IDBKeyData::loggingString): Use a StringBuilder, and get rid of
1147         an an unnecessary additional string allocation.
1148
1149         * Modules/websockets/ThreadableWebSocketChannel.cpp:
1150         (WebCore::ThreadableWebSocketChannel::create): Use StringBuilder.
1151
1152         * html/FTPDirectoryDocument.cpp:
1153         (WebCore::FTPDirectoryDocumentParser::createTDForFilename): Do a more efficient
1154         string concatenation.
1155         * html/ValidationMessage.cpp:
1156         (WebCore::ValidationMessage::updateValidationMessage): Ditto.
1157
1158         * inspector/InspectorApplicationCacheAgent.cpp:
1159         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
1160         Use a StringBuilder.
1161
1162         * inspector/InspectorStyleSheet.cpp: 
1163         (WebCore::InspectorStyle::shorthandValue): Use a StringBuilder.
1164
1165         * inspector/InspectorStyleTextEditor.cpp:
1166         (WebCore::InspectorStyleTextEditor::insertProperty): Use a more efficient idiom
1167         for string concatenation.
1168         (WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
1169         * loader/FormSubmission.cpp:
1170         (WebCore::appendMailtoPostFormDataToURL): Ditto.
1171
1172         * page/Frame.cpp:
1173         (WebCore::createRegExpForLabels): Use a StringBuilder.
1174
1175         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1176         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use a more efficient
1177         idiom for string concatenation.
1178
1179         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1180         (WebCore::GraphicsContext3D::getUnmangledInfoLog): Use a StringBuilder.
1181
1182         * platform/network/MIMEHeader.cpp:
1183         (WebCore::MIMEHeader::parseHeader): Use a more efficient idiom for string
1184         concatenation.
1185         * platform/network/ResourceResponseBase.cpp:
1186         (WebCore::ResourceResponseBase::addHTTPHeaderField): Ditto.
1187         * rendering/RenderLayerCompositor.cpp:
1188         (WebCore::RenderLayerCompositor::layerTreeAsText): Ditto.
1189
1190         * rendering/RenderText.cpp:
1191         (WebCore::RenderText::secureText): Create a new string with the substring
1192         function rather than with the append function.
1193
1194         * xml/XMLHttpRequest.cpp:
1195         (WebCore::XMLHttpRequest::setRequestHeaderInternal): Use a more efficient idiom
1196         for string concatenation.
1197
1198 2014-03-21  Darin Adler  <darin@apple.com>
1199
1200         Add a combined decodeAndFlush to TextResourceDecoder
1201         https://bugs.webkit.org/show_bug.cgi?id=130560
1202
1203         Reviewed by Andreas Kling.
1204
1205         * WebCore.exp.in: Added new symbol for decodeAndFlush. Also re-did
1206         the geometry types #if so it would sort more logically.
1207
1208         * fileapi/FileReaderLoader.cpp:
1209         (WebCore::FileReaderLoader::convertToText): Use decodeAndFlush.
1210         * inspector/InspectorPageAgent.cpp:
1211         (WebCore::InspectorPageAgent::cachedResourceContent): Ditto.
1212         * inspector/NetworkResourcesData.cpp:
1213         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): Ditto.
1214
1215         * loader/TextResourceDecoder.cpp:
1216         (WebCore::TextResourceDecoder::decodeAndFlush): Added.
1217         * loader/TextResourceDecoder.h: Ditto.
1218
1219         * loader/appcache/ManifestParser.cpp:
1220         (WebCore::parseManifest): Use decodeAndFlush.
1221         * loader/cache/CachedCSSStyleSheet.cpp:
1222         (WebCore::CachedCSSStyleSheet::sheetText): Ditto.
1223         (WebCore::CachedCSSStyleSheet::finishLoading): Ditto.
1224
1225         * loader/cache/CachedFont.cpp:
1226         (WebCore::CachedFont::ensureSVGFontData): Use decodeAndFlush. Also use nullptr.
1227         (WebCore::CachedFont::getSVGFontById): Use descendantsOfType<SVGFontElement>
1228         instead of using a NodeList. Much more efficient!
1229
1230         * loader/cache/CachedSVGDocument.cpp:
1231         (WebCore::CachedSVGDocument::finishLoading): Use decodeAndFlush.
1232         * loader/cache/CachedScript.cpp:
1233         (WebCore::CachedScript::script): Ditto.
1234         * loader/cache/CachedXSLStyleSheet.cpp:
1235         (WebCore::CachedXSLStyleSheet::finishLoading): Ditto.
1236         * page/Page.cpp:
1237         (WebCore::Page::userStyleSheet): Ditto.
1238
1239 2014-03-20  Darin Adler  <darin@apple.com>
1240
1241         Remove a couple of unused functions from CSSOMUtils
1242         https://bugs.webkit.org/show_bug.cgi?id=130558
1243
1244         Reviewed by Andreas Kling.
1245
1246         * css/CSSOMUtils.cpp: Remove String overloads. Callers all use the StringBuilder
1247         ones, which is good since that is a more efficient idiom.
1248         * css/CSSOMUtils.h: Ditto.
1249
1250 2014-03-20  Pratik Solanki  <psolanki@apple.com>
1251
1252         Unreviewed. iOS build fix after r166017, r166032.
1253
1254         * platform/ScrollView.cpp:
1255         (WebCore::ScrollView::visibleContentRectInternal):
1256
1257 2014-03-20  Hyowon Kim  <hw1008.kim@samsung.com>
1258
1259         Move to using std::unique_ptr for EFL objects.
1260         https://bugs.webkit.org/show_bug.cgi?id=129853
1261
1262         Reviewed by Gyuyoung Kim.
1263
1264         EflUniquePtr is a template alias of std::unique_ptr
1265         with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
1266         This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
1267
1268         No new tests. No new functionality.
1269
1270         * platform/efl/EflScreenUtilities.h:
1271         * platform/efl/RenderThemeEfl.cpp:
1272         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
1273         (WebCore::RenderThemeEfl::loadTheme):
1274         * platform/efl/RenderThemeEfl.h:
1275         * platform/graphics/Icon.h:
1276         * platform/graphics/efl/EvasGLContext.h:
1277         (WebCore::EvasGLContext::create):
1278         * platform/graphics/efl/EvasGLSurface.h:
1279         (WebCore::EvasGLSurface::create):
1280
1281 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1282
1283         [EFL][GTK] Get CMake to find Freetype2 properly
1284         https://bugs.webkit.org/show_bug.cgi?id=130150
1285
1286         Reviewed by Martin Robinson.
1287
1288         Newer versions of CMake are not able to find Freetype2 correctly.
1289         FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
1290         freetype2 repo, because a completely different version number is found in freetype2.pc.
1291
1292         * PlatformEfl.cmake:
1293         * PlatformGTK.cmake:
1294
1295 2014-03-20  Martin Robinson  <mrobinson@igalia.com>
1296
1297         [GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
1298         https://bugs.webkit.org/show_bug.cgi?id=130517
1299
1300         Reviewed by Sergio Villar Senin.
1301
1302         * plugins/gtk/gtk2xtbin.c: Use GCC suppression to suppress errors about deprecations.
1303
1304 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
1305
1306         Cleanup in aisle r166017.
1307         
1308         visibleContentRectInternal() was dropping the scrollbar
1309         inclusiveness on the floor, and we need to reset the top inset
1310         between tests.
1311
1312         * platform/ScrollView.cpp:
1313         (WebCore::ScrollView::visibleContentRectInternal):
1314         * testing/Internals.cpp:
1315         (WebCore::Internals::resetToConsistentState):
1316
1317 2014-03-20  Enrica Casucci  <enrica@apple.com>
1318
1319         Build fix.
1320
1321         Removing unused variable.
1322         
1323         * page/FrameView.cpp:
1324         (WebCore::FrameView::didPaintContents):
1325
1326 2014-03-20  Brent Fulgham  <bfulgham@apple.com>
1327
1328         Rename TextTrackRegion/TextTrackRegionList to VTTRegion/VTTRegionList
1329         https://bugs.webkit.org/show_bug.cgi?id=130543
1330
1331         Reviewed by Dean Jackson.
1332
1333         Merged from Blink (patch by philipj@opera.com):
1334         https://chromium.googlesource.com/chromium/blink/+/69ee6d3399d64163e4936ac1bde222036c54c4b8
1335         http://crbug.com/55653003
1336
1337         Tests: media/track/regions-webvtt/vtt-region-constructor.html
1338                media/track/regions-webvtt/vtt-region-display.html
1339                media/track/regions-webvtt/vtt-region-dom-layout.html
1340                media/track/regions-webvtt/vtt-region-list.html
1341                media/track/regions-webvtt/vtt-region-parser.html
1342
1343         * Configurations/FeatureDefines.xcconfig:
1344         * DerivedSources.make:
1345         * WebCore.xcodeproj/project.pbxproj:
1346         * html/shadow/MediaControlElements.cpp:
1347         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
1348         * html/track/LoadableTextTrack.cpp:
1349         (WebCore::LoadableTextTrack::newRegionsAvailable):
1350         * html/track/TextTrack.cpp:
1351         (WebCore::TextTrack::ensureVTTRegionList):
1352         (WebCore::TextTrack::regions):
1353         (WebCore::TextTrack::addRegion):
1354         (WebCore::TextTrack::removeRegion):
1355         * html/track/TextTrack.h:
1356         * html/track/TextTrack.idl:
1357         * html/track/TextTrackCue.cpp:
1358         * html/track/TextTrackRegion.cpp: Removed.
1359         * html/track/TextTrackRegion.h: Removed.
1360         * html/track/TextTrackRegion.idl: Removed.
1361         * html/track/TextTrackRegionList.cpp: Removed.
1362         * html/track/TextTrackRegionList.h: Removed.
1363         * html/track/TextTrackRegionList.idl: Removed.
1364         * html/track/VTTCue.cpp:
1365         (WebCore::VTTCue::removeDisplayTree):
1366         * html/track/VTTRegion.cpp: Copied from Source/WebCore/html/track/TextTrackRegion.cpp.
1367         (WebCore::VTTRegion::VTTRegion):
1368         (WebCore::VTTRegion::~VTTRegion):
1369         (WebCore::VTTRegion::setTrack):
1370         (WebCore::VTTRegion::setId):
1371         (WebCore::VTTRegion::setWidth):
1372         (WebCore::VTTRegion::setHeight):
1373         (WebCore::VTTRegion::setRegionAnchorX):
1374         (WebCore::VTTRegion::setRegionAnchorY):
1375         (WebCore::VTTRegion::setViewportAnchorX):
1376         (WebCore::VTTRegion::setViewportAnchorY):
1377         (WebCore::VTTRegion::scroll):
1378         (WebCore::VTTRegion::setScroll):
1379         (WebCore::VTTRegion::updateParametersFromRegion):
1380         (WebCore::VTTRegion::setRegionSettings):
1381         (WebCore::VTTRegion::getSettingFromString):
1382         (WebCore::VTTRegion::parseSettingValue):
1383         (WebCore::VTTRegion::parseSetting):
1384         (WebCore::VTTRegion::textTrackCueContainerScrollingClass):
1385         (WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
1386         (WebCore::VTTRegion::textTrackRegionShadowPseudoId):
1387         (WebCore::VTTRegion::appendTextTrackCueBox):
1388         (WebCore::VTTRegion::displayLastTextTrackCueBox):
1389         (WebCore::VTTRegion::willRemoveTextTrackCueBox):
1390         (WebCore::VTTRegion::getDisplayTree):
1391         (WebCore::VTTRegion::prepareRegionDisplayTree):
1392         (WebCore::VTTRegion::startTimer):
1393         (WebCore::VTTRegion::stopTimer):
1394         (WebCore::VTTRegion::scrollTimerFired):
1395         * html/track/VTTRegion.h: Copied from Source/WebCore/html/track/TextTrackRegion.h.
1396         (WebCore::VTTRegion::create):
1397         * html/track/VTTRegion.idl: Copied from Source/WebCore/html/track/TextTrackRegion.idl.
1398         * html/track/VTTRegionList.cpp: Copied from Source/WebCore/html/track/TextTrackRegionList.cpp.
1399         (WebCore::VTTRegionList::VTTRegionList):
1400         (WebCore::VTTRegionList::length):
1401         (WebCore::VTTRegionList::item):
1402         (WebCore::VTTRegionList::getRegionById):
1403         (WebCore::VTTRegionList::add):
1404         (WebCore::VTTRegionList::remove):
1405         (WebCore::VTTRegionList::clear):
1406         * html/track/VTTRegionList.h: Copied from Source/WebCore/html/track/TextTrackRegionList.h.
1407         (WebCore::VTTRegionList::create):
1408         (WebCore::VTTRegionList::~VTTRegionList):
1409         * html/track/VTTRegionList.idl: Copied from Source/WebCore/html/track/TextTrackRegionList.idl.
1410         * html/track/WebVTTParser.cpp:
1411         (WebCore::WebVTTParser::parseFloatPercentageValue):
1412         (WebCore::WebVTTParser::getNewRegions):
1413         (WebCore::WebVTTParser::createNewRegion):
1414         * html/track/WebVTTParser.h:
1415         * loader/TextTrackLoader.cpp:
1416         (WebCore::TextTrackLoader::getNewRegions):
1417         * loader/TextTrackLoader.h:
1418
1419 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
1420
1421         Fix the iOS build.
1422
1423         * page/FrameView.cpp:
1424         (WebCore::FrameView::willPaintContents):
1425         (WebCore::FrameView::didPaintContents):
1426
1427 2014-03-20  Hans Muller  <hmuller@adobe.com>
1428
1429         [CSS Shapes] clamp RasterShape shapeMargin to reference box size
1430         https://bugs.webkit.org/show_bug.cgi?id=130350
1431
1432         Reviewed by Dean Jackson.
1433
1434         Corrected the way the maximum shape-margin value was computed for image valued
1435         shapes. The limiting case is an image with just one above threshold pixel. The
1436         largest possible value for shapeMargin is the radius of a circle that encloses
1437         the size of the shape-outside element's margin-box, since the shape-outside's
1438         boundary is clipped to the margin-box. The radius is just sqrt(2) * the margin-box's
1439         largest dimension.
1440
1441         Also cleaned up up a few poorly named parameters.
1442
1443         Test: fast/shapes/shape-outside-floats/shape-outside-one-pixel.html
1444
1445         * rendering/shapes/RasterShape.cpp:
1446         (WebCore::RasterShape::marginIntervals):
1447         * rendering/shapes/RasterShape.h:
1448         (WebCore::RasterShape::RasterShape):
1449         * rendering/shapes/Shape.h:
1450
1451 2014-03-20  Beth Dakin  <bdakin@apple.com>
1452
1453         Build fix.
1454
1455         * page/FrameView.cpp:
1456         (WebCore::FrameView::paintContents):
1457
1458 2014-03-20  Beth Dakin  <bdakin@apple.com>
1459
1460         Implement contentInset for Mac WebKit2
1461         https://bugs.webkit.org/show_bug.cgi?id=130273
1462
1463         Reviewed by Simon Fraser.
1464
1465         This patch adds support for topContentInset(). If a page has a topContentInset(), 
1466         the root layer’s position is adjusted to account for the inset. It is assumed that 
1467         the area accounted for by the inset is visible but obscured, so scrollbars need to 
1468         be moved so that they only cover the non-obscured area, and most parts of WebCore 
1469         that wonder about visibleContentSize only care about the unobscured area, so this 
1470         patch makes that visibleContentRect return the unobscuredRect. Finally since this 
1471         is achieved by moving a layer’s position, the topContentInset() also needs to be 
1472         factored into various functions that are used to convert between coordinate 
1473         spaces. 
1474
1475         Return Page::topContentInset() if this is the main frame.
1476         * page/FrameView.cpp:
1477         (WebCore::FrameView::topContentInset):
1478         * page/FrameView.h:
1479
1480         Cache the inset on Page.
1481         * page/Page.cpp:
1482         (WebCore::Page::Page):
1483         * page/Page.h:
1484         (WebCore::Page::topContentInset):
1485         (WebCore::Page::setTopContentInset):
1486
1487         unobscuredContentRect() used to unconditionally return visibleContentRect() on 
1488         non-iOS platforms. Now that it is possible for some technically visible content to 
1489         be obscured, this code needed to be re-worked a bit to make some more sense. 
1490         visibleContentRect() now represents that visible content that is completely 
1491         unobscured, so it should call into unobscuredContentRect() rather than the other 
1492         way around.
1493         * platform/ScrollView.cpp:
1494         (WebCore::ScrollView::unobscuredContentRect):
1495
1496         unscaledTotalVisibleContentSize() includes the size of all content that might be 
1497         visible. Some of this content might be obscured.
1498         (WebCore::ScrollView::unscaledTotalVisibleContentSize):
1499
1500         Most of the time, we only care about the content that is FULLY visible. That is 
1501         what you get from unscaledUnobscuredVisibleContentSize().
1502         (WebCore::ScrollView::unscaledUnobscuredVisibleContentSize):
1503
1504         Use the unobscured size for these computations.
1505         (WebCore::ScrollView::visibleContentRectInternal):
1506         (WebCore::ScrollView::layoutSize):
1507
1508         Factor in the topContentInset().
1509         (WebCore::ScrollView::scrollOffsetRelativeToDocument):
1510         (WebCore::ScrollView::scrollPositionRelativeToDocument):
1511
1512         The scrollbars should be positioned to cover the non-obscured content only. 
1513         (WebCore::ScrollView::updateScrollbars):
1514
1515         Again, factor the topContentInset() into these conversions since the root layer’s 
1516         position has been adjusted to account for it.
1517         (WebCore::ScrollView::contentsToRootView):
1518         (WebCore::ScrollView::contentsToWindow):
1519
1520          Just like the scrollbars, the scroll corner must be moved the account for the 
1521         inset.
1522         (WebCore::ScrollView::scrollCornerRect):
1523         * platform/ScrollView.h:
1524         (WebCore::ScrollView::topContentInset):
1525
1526         RenderLayerCompositor cares about unscaledTotalVisibleContentSize(). It does not 
1527         care if some of that content is obscured.
1528         * rendering/RenderLayerCompositor.cpp:
1529         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
1530
1531         Move the root layer’s position based on the contentInset.
1532         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1533         (WebCore::RenderLayerCompositor::ensureRootLayer):
1534
1535         Allow setting contentInset via Internals for testing purposes.
1536         * testing/Internals.cpp:
1537         (WebCore::Internals::setTopContentInset):
1538         * testing/Internals.h:
1539         * testing/Internals.idl:
1540
1541 2014-03-20  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
1542
1543         Optimize RenderTable::colToEffCol() for tables without colspans
1544         https://bugs.webkit.org/show_bug.cgi?id=129298
1545
1546         Reviewed by Simon Fraser.
1547
1548         Create an alternative fast path to RenderTable colToEffCol() and effColToCol()
1549         when there is no colspan or colspan does not exceed the width of table.
1550         Blink merge https://codereview.chromium.org/154243002 by rhogan
1551
1552         * rendering/RenderTable.cpp:
1553         (WebCore::RenderTable::RenderTable):
1554         (WebCore::RenderTable::appendColumn):
1555         (WebCore::RenderTable::recalcSections):
1556         * rendering/RenderTable.h:
1557         (WebCore::RenderTable::colToEffCol):
1558         (WebCore::RenderTable::effColToCol):
1559         (WebCore::RenderTable::hasCellColspanThatDeterminesTableWidth):
1560
1561 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
1562
1563         FrameView::paintContents() is not called for composited content
1564         https://bugs.webkit.org/show_bug.cgi?id=130541
1565
1566         Reviewed by Beth Dakin.
1567
1568         FrameView::paintContents() is not called for frames that have
1569         composited contents, yet it contains code that is expected
1570         to run for all Frames.
1571         
1572         Fix by factoring into will/didPaintContents(), and calling
1573         the will/did functions from RenderLayerBacking::paintIntoLayer().
1574         
1575         Also add a SetLayoutNeededForbiddenScope check for composited-layer
1576         painting.
1577
1578         * page/FrameView.cpp:
1579         (WebCore::FrameView::updateControlTints):
1580         (WebCore::FrameView::willPaintContents):
1581         (WebCore::FrameView::didPaintContents):
1582         (WebCore::FrameView::paintContents):
1583         * page/FrameView.h:
1584         * rendering/RenderLayerBacking.cpp:
1585         (WebCore::RenderLayerBacking::paintIntoLayer):
1586
1587 2014-03-20  Tim Horton  <timothy_horton@apple.com>
1588
1589         Fix the Mountain Lion build.
1590
1591         * platform/graphics/cocoa/IOSurface.mm:
1592         (IOSurface::setIsPurgeable):
1593
1594 2014-03-20  Brian Burg  <bburg@apple.com>
1595
1596         Web Replay: capture and replay mouse events
1597         https://bugs.webkit.org/show_bug.cgi?id=129395
1598
1599         Reviewed by Joseph Pecoraro.
1600
1601         Add support for capturing and replaying mouse inputs that come from WebKit2.
1602         Hook up the UserInputBridge to session state changes in the ReplayController so
1603         that the bridge knows when to capture or deny mouse inputs.
1604
1605         Test: ManualTests/inspector/replay-mouse-events.html
1606
1607         * platform/PlatformEvent.h: Give explicit storage types to Modifiers and Type enums
1608         so they can be forward-declared.
1609         * platform/PlatformMouseEvent.h: Give an explicit storage type to enum MouseButton.
1610         Add operator== and operator!= for MouseButton to work around an MSVC bug.
1611
1612         * replay/ReplayController.cpp: Perform session state changes in a helper function, and
1613         at the same time change the state of the page's user input bridge.
1614         (WebCore::ReplayController::setSessionState):
1615         (WebCore::ReplayController::startCapturing):
1616         (WebCore::ReplayController::stopCapturing):
1617         (WebCore::ReplayController::startPlayback):
1618         (WebCore::ReplayController::cancelPlayback):
1619
1620         * replay/ReplayInputDispatchMethods.cpp: Add dispatch methods for new inputs.
1621         (WebCore::HandleMouseMove::dispatch):
1622         (WebCore::HandleMousePress::dispatch):
1623         (WebCore::HandleMouseRelease::dispatch):
1624
1625         * replay/SerializationMethods.cpp: Add helper macros so that encode/decode methods look
1626         symmetric with one data member per line. This helps reduce unintentional inconsistencies.
1627         (JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Added.
1628         (JSC::EncodingTraits<PlatformMouseEvent>::decodeValue): Added.
1629         * replay/SerializationMethods.h:
1630
1631         * replay/UserInputBridge.cpp: Fill in the bridge method implementations for mouse
1632         events, adding helpers and macros as necessary to reduce boilerplate.
1633         (WebCore::UserInputBridge::activeCursor): Added.
1634         (WebCore::UserInputBridge::handleMousePressEvent):
1635         (WebCore::UserInputBridge::handleMouseReleaseEvent):
1636         (WebCore::UserInputBridge::handleMouseMoveEvent):
1637         (WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent):
1638
1639         * replay/UserInputBridge.h: Add a bridge state enum along with getters and setters.
1640         The enum value controls whether the bridge should capture commands, deny non-synthetic
1641         commands (from the user), or allow anything to pass (the default).
1642         (WebCore::UserInputBridge::setState): Added.
1643         (WebCore::UserInputBridge::state): Added.
1644
1645         * replay/WebInputs.json: Add inputs HandleMouseMove, HandleMousePress, HandleMouseRelease.
1646         Add enum definitions for PlatformEvent::Type, PlatformEvent::Modifiers, and PlatformMouseEvent::MouseButton.
1647         Alphabetize the existing data type definitions.
1648
1649 2014-03-20  Tim Horton  <timothy_horton@apple.com>
1650
1651         Add WebCore::IOSurface wrapper
1652         https://bugs.webkit.org/show_bug.cgi?id=130529
1653
1654         Reviewed by Simon Fraser.
1655
1656         * WebCore.exp.in:
1657         * WebCore.xcodeproj/project.pbxproj:
1658         * platform/graphics/cg/ColorCG.cpp:
1659         * platform/graphics/cg/GraphicsContextCG.h:
1660         (WebCore::cachedCGColorSpace):
1661         Move cachedCGColorSpace out so that other clients of GraphicsContextCG
1662         can use its mapping from WebCore::ColorSpace -> CGColorSpaceRef.
1663
1664         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
1665         * platform/graphics/cg/ImageBufferCG.cpp:
1666         Add FIXMEs for ImageBuffer to adopt WebCore::IOSurface.
1667
1668         * platform/graphics/cocoa/IOSurface.h: Added.
1669         * platform/graphics/cocoa/IOSurface.mm: Added.
1670         (IOSurface::create):
1671         (IOSurface::createFromMachPort):
1672         (IOSurface::createFromSurface):
1673         (IOSurface::IOSurface):
1674         (IOSurface::maximumSize):
1675         (IOSurface::createMachPort):
1676         (IOSurface::createImage):
1677         (IOSurface::ensurePlatformContext):
1678         (IOSurface::ensureGraphicsContext):
1679         (IOSurface::state):
1680         (IOSurface::isPurgeable):
1681         (IOSurface::setIsPurgeable):
1682         (IOSurface::inUse):
1683         Add WebCore::IOSurface.
1684
1685 2014-03-20  Pratik Solanki  <psolanki@apple.com>
1686
1687         iOS build fix after r165992.
1688
1689         * generate-export-file:
1690         (preprocessorMacros):
1691
1692 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1693
1694         [WebRTC] Moving RTCConfiguration and RTCIceServer to Modules/mediastream
1695         https://bugs.webkit.org/show_bug.cgi?id=130434
1696
1697         Reviewed by Eric Carlson.
1698
1699         Those classes are defined in WebRTC spec, so they should not be in platform layer.
1700         Adding a platform implementation to be passed to handler classes.
1701
1702         * Modules/mediastream/RTCConfiguration.h: Copied from Source/WebCore/platform/mediastream/RTCConfiguration.h.
1703         * Modules/mediastream/RTCIceServer.h: Copied from Source/WebCore/platform/mediastream/RTCIceServer.h.
1704         * Modules/mediastream/RTCPeerConnection.cpp:
1705         (WebCore::RTCPeerConnection::RTCPeerConnection):
1706         (WebCore::RTCPeerConnection::updateIce):
1707         * WebCore.xcodeproj/project.pbxproj:
1708         * platform/mediastream/RTCConfigurationPrivate.h: Added.
1709         * platform/mediastream/RTCIceServerPrivate.h: Added.
1710         * platform/mediastream/RTCPeerConnectionHandler.h:
1711         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1712         (WebCore::RTCPeerConnectionHandlerMock::initialize):
1713         (WebCore::RTCPeerConnectionHandlerMock::updateIce):
1714         * platform/mock/RTCPeerConnectionHandlerMock.h:
1715
1716 2014-03-20  Alex Christensen  <achristensen@webkit.org>
1717
1718         [WinCairo] Unreviewed speculative build after my r165996.
1719
1720         * platform/network/soup/AuthenticationChallengeSoup.cpp:
1721         * platform/network/soup/CertificateInfo.cpp:
1722         * platform/network/soup/CookieJarSoup.cpp:
1723         * platform/network/soup/ResourceRequestSoup.cpp:
1724         * platform/network/soup/ResourceResponseSoup.cpp:
1725         * platform/network/soup/SynchronousLoaderClientSoup.cpp:
1726
1727 2014-03-20  Brent Fulgham  <bfulgham@apple.com>
1728
1729         Add a flushing mechanism for the WebVTTParser
1730         https://bugs.webkit.org/show_bug.cgi?id=130532
1731
1732         Reviewed by Eric Carlson.
1733
1734         Merged from Blink (patch by vcarbune@chromium.org):
1735         https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
1736         http://crbug.com/54203003
1737         https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
1738         http://crbug.com/59453002
1739         https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
1740         http://crbug.com/75233002
1741         https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
1742         http://crbug.com/52713005
1743         https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
1744         http://crbug.com/64303004
1745         https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
1746         http://crbug.com/96933004
1747         https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
1748         http://crbug.com/98783005
1749         https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
1750         http://crbug.com/104713002
1751
1752         Tests: http/tests/media/track/track-webvtt-slow-loading-2.html
1753                http/tests/media/track/track-webvtt-slow-loading.html
1754
1755         * CMakeLists.txt:
1756         * GNUmakefile.list.am:
1757         * WebCore.vcxproj/WebCore.vcxproj:
1758         * WebCore.vcxproj/WebCore.vcxproj.filters:
1759         * WebCore.xcodeproj/project.pbxproj:
1760         * html/track/BufferedLineReader.cpp: Added.
1761         * html/track/BufferedLineReader.h: Added.
1762         * html/track/TextTrackRegion.cpp:
1763         * html/track/VTTCue.cpp:
1764         * html/track/WebVTTParser.cpp:
1765         * html/track/WebVTTParser.h:
1766         * loader/TextTrackLoader.cpp:
1767
1768 2014-03-20  Alex Christensen  <achristensen@webkit.org>
1769
1770         Preparation for using Soup on Windows.
1771         https://bugs.webkit.org/show_bug.cgi?id=130472
1772
1773         Reviewed by Brent Fulgham.
1774
1775         * WebCore.vcxproj/WebCore.vcxproj:
1776         * WebCore.vcxproj/WebCore.vcxproj.filters:
1777         Added Soup source to build on WinCairo.
1778         * platform/network/curl/CookieJarCurl.cpp:
1779         * platform/network/curl/CredentialStorageCurl.cpp:
1780         * platform/network/curl/CurlCacheEntry.cpp:
1781         * platform/network/curl/CurlCacheManager.cpp:
1782         * platform/network/curl/CurlDownload.cpp:
1783         * platform/network/curl/DNSCurl.cpp:
1784         * platform/network/curl/FormDataStreamCurl.cpp:
1785         * platform/network/curl/MultipartHandle.cpp:
1786         * platform/network/curl/ProxyServerCurl.cpp:
1787         * platform/network/curl/ResourceHandleCurl.cpp:
1788         * platform/network/curl/ResourceHandleManager.cpp:
1789         * platform/network/curl/SSLHandle.cpp:
1790         * platform/network/curl/SocketStreamHandleCurl.cpp:
1791         Protected with USE(CURL) to avoid duplicate symbols when linking.
1792         * platform/network/soup/AuthenticationChallengeSoup.cpp:
1793         * platform/network/soup/CertificateInfo.cpp:
1794         * platform/network/soup/CookieJarSoup.cpp:
1795         * platform/network/soup/CookieStorageSoup.cpp:
1796         * platform/network/soup/CredentialStorageSoup.cpp:
1797         * platform/network/soup/DNSSoup.cpp:
1798         * platform/network/soup/NetworkStorageSessionSoup.cpp:
1799         * platform/network/soup/ProxyResolverSoup.cpp:
1800         * platform/network/soup/ProxyServerSoup.cpp:
1801         * platform/network/soup/ResourceErrorSoup.cpp:
1802         * platform/network/soup/ResourceHandleSoup.cpp:
1803         * platform/network/soup/ResourceRequestSoup.cpp:
1804         * platform/network/soup/ResourceResponseSoup.cpp:
1805         * platform/network/soup/SocketStreamHandleSoup.cpp:
1806         * platform/network/soup/SoupNetworkSession.cpp:
1807         * platform/network/soup/SynchronousLoaderClientSoup.cpp:
1808         Protected with USE(CURL) to avoid duplicate symbols when linking.
1809
1810 2014-03-20  Pratik Solanki  <psolanki@apple.com>
1811
1812         iOS build fix after r165979.
1813
1814         * generate-export-file:
1815         (preprocessorMacros):
1816
1817 2014-03-20  David Hyatt  <hyatt@apple.com>
1818
1819         [New Multicolumn] getClientRects returns wrong rectangle
1820         https://bugs.webkit.org/show_bug.cgi?id=128614
1821
1822         Reviewed by Sam Weinig.
1823
1824         Added fast/multicol/newmulticol/client-rects.html and beefed up existing
1825         fast/multicol/client-rects.html to use more writing modes.
1826
1827         * rendering/LayoutState.h:
1828         Removed unused function.
1829
1830         * rendering/RenderFlowThread.h:
1831         Make mapFlowToRegion virtual so that RenderMultiColumnFlowThread can
1832         override it.
1833
1834         * rendering/RenderMultiColumnFlowThread.cpp:
1835         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
1836         * rendering/RenderMultiColumnFlowThread.h:
1837         Implement mapFlowToRegion to correctly translate a flow thread position
1838         into a column offset within a region.
1839
1840         * rendering/RenderMultiColumnSet.cpp:
1841         (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
1842         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
1843         * rendering/RenderMultiColumnSet.h:
1844         Refactored some code to make a columnTranslationForOffset helper that
1845         can be used by RenderMultiColumnFlowThread.
1846
1847 2014-03-20  Daniel Bates  <dabates@apple.com>
1848
1849         Preserve original document URL for XSSAuditor reports
1850
1851         Merged from Blink (patch by Tom Sepez):
1852         https://src.chromium.org/viewvc/blink?view=rev&revision=158406
1853
1854         Test: http/tests/security/xssAuditor/report-script-tag-replace-state.html
1855
1856         * html/parser/XSSAuditor.cpp:
1857         (WebCore::XSSAuditor::filterToken):
1858         * html/parser/XSSAuditorDelegate.cpp:
1859         (WebCore::buildConsoleError):
1860         (WebCore::XSSAuditorDelegate::generateViolationReport):
1861         (WebCore::XSSAuditorDelegate::didBlockScript):
1862         * html/parser/XSSAuditorDelegate.h:
1863         (WebCore::XSSInfo::XSSInfo):
1864
1865 2014-03-20  Daniel Bates  <dabates@apple.com>
1866
1867         XSSAuditor bypass with frameset tags
1868
1869         Merged from Blink (patch by Tom Sepez):
1870         https://src.chromium.org/viewvc/blink?view=rev&revision=157794
1871
1872         Test: http/tests/security/xssAuditor/frameset-injection.html
1873
1874         * html/parser/XSSAuditor.cpp:
1875         (WebCore::XSSAuditor::filterStartToken):
1876         (WebCore::XSSAuditor::filterFrameToken):
1877         * html/parser/XSSAuditor.h:
1878
1879 2014-03-20  Brian Burg  <bburg@apple.com>
1880
1881         Web Replay: fix some oversights in the replay backend
1882         https://bugs.webkit.org/show_bug.cgi?id=130435
1883
1884         Reviewed by Andreas Kling.
1885
1886         This functionality will be covered by tests in https://webkit.org/b/130145.
1887
1888         * inspector/InspectorInstrumentation.cpp:
1889         (WebCore::InspectorInstrumentation::playbackFinishedImpl):
1890         * inspector/InspectorInstrumentation.h:
1891         (WebCore::InspectorInstrumentation::playbackFinished):
1892         * inspector/InspectorReplayAgent.cpp:
1893         (WebCore::buildInspectorObjectForSegment):
1894         (WebCore::InspectorReplayAgent::playbackFinished):
1895         * inspector/InspectorReplayAgent.h: Add a playbackFinished event to Inspector
1896         instrumentation. This is fired by ReplayController when playback is cancelled or 
1897         playback of the final segment has completed.
1898
1899         * replay/EventLoopInputDispatcher.cpp:
1900         (WebCore::EventLoopInputDispatcher::dispatchInputSoon): Fix wrong cast.
1901         (WebCore::EventLoopInputDispatcher::dispatchInput): Ensure that m_dispatching is
1902         false when m_running is false.
1903         * replay/EventLoopInputDispatcher.h: Distinguish 'dispaching' and 'running' in comments.
1904         (WebCore::EventLoopInputDispatcher::isRunning): Added.
1905
1906         * replay/FunctorInputCursor.h: Since the base class InputCursor is RefCounted, the
1907         Functor subclass cannot be put into a unique_ptr. Add create() method instead.
1908
1909         * replay/ReplayController.cpp:
1910         (WebCore::ReplayController::loadSegmentAtIndex): Renamed from loadSegment(). Callers
1911         now pass in the desired segment index rather than the segment itself. The index is
1912         necessary to properly reset m_position after the segment is loaded.
1913
1914         (WebCore::ReplayController::startPlayback): Set the dispatcher's speed before run().
1915         (WebCore::ReplayController::pausePlayback): Only pause the dispatcher if it's running.
1916         (WebCore::ReplayController::cancelPlayback): Add playbackFinished instrumentation.
1917         (WebCore::ReplayController::replayToPosition):
1918         (WebCore::ReplayController::didDispatchFinalInput): If there are no more segments to load,
1919         manually adjust the final m_position and defer to cancelPlayback to unload the segment.
1920         * replay/ReplayController.h:
1921         * replay/ReplaySessionSegment.cpp:
1922         (WebCore::ReplaySessionSegment::createFunctorCursor):
1923         * replay/ReplaySessionSegment.h:
1924
1925 2014-03-20  Pratik Solanki  <psolanki@apple.com>
1926
1927         [iOS] Get code to compile on older iOS versions
1928         https://bugs.webkit.org/show_bug.cgi?id=130142
1929         <rdar://problem/16302908>
1930
1931         Reviewed by Darin Adler.
1932
1933         * WebCore.exp.in:
1934         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1935         (-[WebVideoFullscreenController WebCore::]):
1936         (-[WebVideoFullscreenController enterFullscreen:]):
1937         (-[WebVideoFullscreenController exitFullscreen]):
1938         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
1939         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1940         * platform/mac/HTMLConverter.mm:
1941         (_dateForString):
1942         * platform/network/cf/CookieJarCFNet.cpp:
1943         (WebCore::copyCookiesForURLWithFirstPartyURL):
1944         * platform/text/ios/LocalizedDateCache.mm:
1945         (WebCore::LocalizedDateCache::calculateMaximumWidth):
1946         * platform/text/mac/LocaleMac.mm:
1947         (WebCore::LocaleMac::LocaleMac):
1948
1949 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
1950
1951         Followup build fix: AnimationBase.h needs to be private because
1952         it's included by AnimationController.h.
1953
1954         * WebCore.xcodeproj/project.pbxproj:
1955
1956 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
1957
1958         A completed fill-forwards animation should not disable overlap testing
1959         https://bugs.webkit.org/show_bug.cgi?id=130522
1960         <rdar://problem/15862395>
1961
1962         Reviewed by Dean Jackson.
1963         
1964         Previously, if -webkit-transform was being keyframe-animated, and the
1965         animation had fill-forwards, then we would continue to think that the
1966         animation is running and turn off compositing overlap testing. This
1967         caused some sites to keep too much backing store around.
1968         
1969         Fix by having isRunning{Accelerated}AnimationOnRenderer take some flags
1970         so that more specific questions about the running state can be asked.
1971         For layer creation, keep using the same criteria as before (for now)
1972         which includes paused and fill-forwards animations. For overlap testing,
1973         don't include the fill-forwards test.
1974
1975         Tests: compositing/animation/filling-animation-overlap-at-end.html
1976                compositing/animation/filling-animation-overlap.html
1977                compositing/animation/layer-for-filling-animation.html
1978
1979         * page/animation/AnimationBase.h:
1980         (WebCore::AnimationBase::fillingForwards):
1981         (WebCore::AnimationBase::inPausedState):
1982         (WebCore::AnimationBase::isAnimatingProperty):
1983         * page/animation/AnimationController.cpp:
1984         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
1985         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
1986         (WebCore::AnimationController::isRunningAnimationOnRenderer):
1987         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
1988         * page/animation/AnimationController.h:
1989         * page/animation/AnimationControllerPrivate.h:
1990         * page/animation/CompositeAnimation.cpp:
1991         (WebCore::CompositeAnimation::isAnimatingProperty):
1992         * page/animation/CompositeAnimation.h:
1993         * rendering/RenderLayerBacking.cpp:
1994         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1995         * rendering/RenderLayerCompositor.cpp:
1996         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
1997         (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
1998
1999 2014-03-20  Dirk Schulze  <krit@webkit.org>
2000
2001         Canvas methods clip/fill/stroke should not except 0 argument
2002         https://bugs.webkit.org/show_bug.cgi?id=130497
2003
2004         Reviewed by Dean Jackson.
2005
2006         Do not allow nullable argument for fill/stroke/clip.
2007
2008         No new tests. Updated existing tests.
2009
2010         * html/canvas/CanvasRenderingContext2D.idl:
2011
2012 2014-03-20  Eric Carlson  <eric.carlson@apple.com>
2013
2014         [iOS] Support MediaDocument when building with PLUGIN_PROXY_FOR_VIDEO
2015         https://bugs.webkit.org/show_bug.cgi?id=130520
2016
2017         Reviewed by Jer Noble.
2018
2019         * dom/DOMImplementation.cpp:
2020         (WebCore::DOMImplementation::createDocument): Check the isVideoPluginProxyEnabled setting 
2021             when building with ENABLE_PLUGIN_PROXY_FOR_VIDEO.
2022
2023 2014-03-20  Mihai Tica  <mitica@adobe.com>
2024
2025         [CSS Blending] Blending operation is not isolated when setting z-index on parent from javascript
2026         https://bugs.webkit.org/show_bug.cgi?id=129307
2027
2028         Reviewed by Dean Jackson.
2029
2030         Reimplement the logic behind isolating blend modes. The blending operation should be limited to the
2031         contents of the parent stacking context. The proposed solution implies adding logic in updateDescendantDependentFlags,
2032         to track child elements that have blending and create a transparency layer that triggers isolation.
2033
2034         Tests: css3/compositing/blend-mode-background.html
2035                fast/repaint/blend-mode-isolate-stacking-context.html
2036
2037         * rendering/RenderLayer.cpp:
2038         (WebCore::RenderLayer::RenderLayer): Remove old members, add new members to constructor.
2039         (WebCore::RenderLayer::updateBlendMode): Update parent stacking context isolation on blend mode change.
2040         (WebCore::RenderLayer::updateNonCompositedParentStackingContextHasBlendedChild):
2041         - Set m_hasBlendedElementInChildStackingContext for the non composited parent stacking context.
2042         (WebCore::RenderLayer::dirtyAncestorParentStackingContextHasBlendedElement):
2043         - Set flag so isolation should be considered in updateDescendantDependentFlags.
2044         (WebCore::RenderLayer::nonCompositedParentStackingContextHasBlendedChild):
2045         - Return whether the non composited parent stacking context isolates blending.
2046         (WebCore::RenderLayer::updateDescendantDependentFlags): Add logic for isolating blending.
2047         (WebCore::RenderLayer::addChild): Call to updateNonCompositedParentStackingContextHasBlendedChild if needed.
2048         (WebCore::RenderLayer::removeChild): Call to dirtyAncestorParentStackingContextHasBlendedElement if needed.
2049         (WebCore::RenderLayer::updateStackingContextsAfterStyleChange): Update isolation when a stacking context was set or unset.
2050         (WebCore::RenderLayer::styleChanged): Removed oldStyle parameter from updateBlendMode call.
2051          Update parent stacking context isolation on blend mode change.
2052         * rendering/RenderLayer.h:
2053         - Add members, getters and setters for tracking whether the element has a blended child:
2054             - m_hasBlendedElementInChildStackingContext
2055             - m_hasBlendedElementInChildStackingContextStatusDirty
2056         - Removed m_updateParentStackingContextShouldIsolateBlendingDirty (replaced with m_hasBlendedElementInChildStackingContextStatusDirty)
2057         - Removed m_isolatesBlending (replaced with m_hasBlendedElementInChildStackingContext)
2058         - Updated the isolatesBlending method to return true only when the element is a stacking context and has a blended child.
2059         * rendering/RenderLayerCompositor.cpp:
2060         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Removed layer.updateParentStackingContextShouldIsolateBlending call.
2061
2062 2014-03-20  Martin Robinson  <mrobinson@igalia.com>
2063
2064         [GTK] [CMake] Do not compile ProxyResolverSoup.cpp
2065         https://bugs.webkit.org/show_bug.cgi?id=130516
2066
2067         Reviewed by Sergio Villar Senin.
2068
2069         * PlatformGTK.cmake: Remove the file from the source list.
2070
2071 2014-03-20  Commit Queue  <commit-queue@webkit.org>
2072
2073         Unreviewed, rolling out r165962.
2074         https://bugs.webkit.org/show_bug.cgi?id=130512
2075
2076         It broke the build (Requested by Ossy on #webkit).
2077
2078         Reverted changeset:
2079
2080         "[EFL][GTK] Get CMake to find Freetype2 properly"
2081         https://bugs.webkit.org/show_bug.cgi?id=130150
2082         http://trac.webkit.org/changeset/165962
2083
2084 2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>
2085
2086         "input" event is not fired when changing a select element's value
2087         https://bugs.webkit.org/show_bug.cgi?id=117526
2088
2089         Reviewed by Antti Koivisto.
2090
2091         Add a call to dispatch input event when listbox or menulist
2092         values are modified.
2093
2094         According to the spec: "When the user agent is to send select update
2095         notifications, queue a task to first fire a simple even that bubbles
2096         named input at the select element, and then fire a simple event that
2097         bubbles named change at the select element, using the user interaction
2098         task source as the task source."
2099
2100         Tests: fast/forms/select/listbox-oninput-fired.html
2101                fast/forms/select/menulist-oninput-fired.html
2102
2103         * html/HTMLSelectElement.cpp:
2104         (WebCore::HTMLSelectElement::listBoxOnChange):
2105         (WebCore::HTMLSelectElement::dispatchChangeEventForMenuList):
2106
2107 2014-03-20  Radu Stavila  <stavila@adobe.com>
2108
2109         [CSS Regions] The height of a scrollable element flowed inside a scrollable region is not computed correctly
2110         https://bugs.webkit.org/show_bug.cgi?id=129487
2111
2112         Reviewed by Andrei Bucur.
2113
2114         When propagating the layout overflow from the flowed element up to the flow thread itself,
2115         the region's logical bottom padding and the element's logical bottom margin must be taken into consideration.
2116         However, if the flowed element has overflow, the overflow will be painted over the region's padding
2117         and the element's margin, in order to be compatible with the non-regions case.
2118         More info can be found here: http://lists.w3.org/Archives/Public/www-style/2014Jan/0089.html
2119
2120         Tests: fast/regions/scrollable-region-content-size-horiz-bt.html
2121                fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html
2122                fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html
2123                fast/regions/scrollable-region-content-size-no-overflow.html
2124                fast/regions/scrollable-region-content-size-relative.html
2125                fast/regions/scrollable-region-content-size-vert-rl.html
2126                fast/regions/scrollable-region-content-size-vertical-lr.html
2127                fast/regions/scrollable-region-content-size.html
2128                fast/regions/scrollable-region-scrollable-content.html
2129
2130         * rendering/RenderFlowThread.cpp:
2131         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
2132         * rendering/RenderRegion.cpp:
2133         (WebCore::RenderRegion::rectFlowPortionForBox):
2134
2135 2014-03-20  Zalan Bujtas  <zalan@apple.com>
2136
2137         Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
2138         https://bugs.webkit.org/show_bug.cgi?id=130153
2139
2140         Reviewed by Simon Fraser.
2141
2142         Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
2143         need to be propagated through the layer tree so that painting coordinates match layout coordinates.
2144
2145         Subpixel accumulation through nesting (absolute positioning, 2x display):
2146         non-compositing case:
2147         (nested boxes)  (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
2148         div -> top: 1.3px   1.3px     1.5px      1.5px 0.2px -> snapped 0.0px -> 1.5px
2149          div -> top: 1.3px   2.6px     2.5px      3.0px 0.4px -> snapped 0.5px -> 2.5px
2150           div -> top: 1.3px   3.9px     4.0px      4.5px 0.6px -> snapped 0.5px -> 4.0px
2151            div -> top: 1.3px   5.2px     5.0px      6.0px 0.8px -> snapped 1.0px -> 5.0px
2152
2153         compositing case:
2154         (nested boxes)  (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
2155         div -> top: 1.3px   1.3px      1.5px      1.0px + 0.3px -> snapped -> 1.5px
2156          div -> top: 1.3px   2.6px      2.5px      2.5px + 0.1px -> snapped -> 2.5px
2157           div -> top: 1.3px   3.9px      4.0px      3.5px + 0.4px -> snapped -> 4.0px
2158            div -> top: 1.3px   5.2px      5.0px      5.0px + 0.2px -> snapped -> 5.0px
2159
2160         Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html
2161                fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html
2162
2163         * rendering/RenderLayer.cpp:
2164         (WebCore::RenderLayer::paintLayerByApplyingTransform):
2165         * rendering/RenderLayerBacking.cpp:
2166         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2167         * rendering/RenderLayerBacking.h:
2168         (WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):
2169
2170 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2171
2172         [EFL][GTK] Get CMake to find Freetype2 properly
2173         https://bugs.webkit.org/show_bug.cgi?id=130150
2174
2175         Reviewed by Csaba Osztrogonác.
2176
2177         Newer versions of CMake are not able to find Freetype2 correctly.
2178         FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
2179         freetype2 repo, because a completely different version number is found in freetype2.pc.
2180
2181         * PlatformEfl.cmake:
2182         * PlatformGTK.cmake:
2183
2184 2014-03-20  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2185
2186         Refactor checking log channel state in MediaPlayerPrivateGStreamerBase.
2187         https://bugs.webkit.org/show_bug.cgi?id=130241
2188
2189         Reviewed by Philippe Normand.
2190
2191         The channel was passed around only to check its state. Cleaned this up
2192         by adding a method to check whether a log channel is enabled.
2193
2194         * platform/Logging.cpp:
2195         (WebCore::isLogChannelEnabled):
2196         * platform/Logging.h:
2197         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2198         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
2199
2200 2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>
2201
2202         Dispatch input event for Range element keyboard event
2203         https://bugs.webkit.org/show_bug.cgi?id=129929
2204
2205         Reviewed by Kent Tamura.
2206
2207         For any value update, dispatch both input and change event.
2208         Also removes extra dispatch change event, as event is dispatched
2209         from TextFieldInputType:setValue.
2210
2211         Merged from Blink (patch by Habib Virji):
2212         https://src.chromium.org/viewvc/blink?revision=168558&view=revision
2213
2214         Test: fast/forms/range/range-keyboard-oninput-event.html
2215
2216         * html/RangeInputType.cpp:
2217         (WebCore::RangeInputType::handleKeydownEvent):
2218
2219 2014-03-20  Jinwoo Song  <jinwoo7.song@samsung.com>
2220
2221         Refine BatteryStatus module
2222         https://bugs.webkit.org/show_bug.cgi?id=130495
2223
2224         Reviewed by Andreas Kling.
2225
2226         Small refinements:
2227          - Return PassRef instead of PassRefPtr in create method
2228          - Switched to nullptr instead of 0 where appropriate.
2229          - Removed unused function and header file.
2230          - Removed unnecessary empty lines.
2231
2232         * Modules/battery/BatteryController.h:
2233         * Modules/battery/BatteryManager.cpp:
2234         (WebCore::BatteryManager::create): Make return passRef.
2235         * Modules/battery/BatteryManager.h:
2236         (WebCore::BatteryManager::batteryControllerDestroyed): Use nullptr.
2237         * Modules/battery/BatteryStatus.cpp:
2238         (WebCore::BatteryStatus::create): Make return passRef.
2239         * Modules/battery/BatteryStatus.h:
2240         * Modules/battery/NavigatorBattery.cpp:
2241         (WebCore::NavigatorBattery::webkitBattery): Remove batteryManager().
2242         * Modules/battery/NavigatorBattery.h:
2243
2244 2014-03-19  Pratik Solanki  <psolanki@apple.com>
2245
2246         [iOS] Get code to compile on older iOS versions
2247         https://bugs.webkit.org/show_bug.cgi?id=130142
2248         <rdar://problem/16302908>
2249
2250         Reviewed by Darin Adler.
2251
2252         * WebCore.exp.in:
2253         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2254         (-[WebVideoFullscreenController WebCore::]):
2255         (-[WebVideoFullscreenController enterFullscreen:]):
2256         (-[WebVideoFullscreenController exitFullscreen]):
2257         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2258         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2259         * platform/mac/HTMLConverter.mm:
2260         (_dateForString):
2261         * platform/network/cf/CookieJarCFNet.cpp:
2262         (WebCore::copyCookiesForURLWithFirstPartyURL):
2263         * platform/text/ios/LocalizedDateCache.mm:
2264         (WebCore::LocalizedDateCache::calculateMaximumWidth):
2265         * platform/text/mac/LocaleMac.mm:
2266         (WebCore::LocaleMac::LocaleMac):
2267
2268 2014-03-19  Byungseon Shin  <sun.shin@lge.com>
2269
2270         Fix "WEBKIT_WEBGL_compressed_texture_pvrtc" extension support
2271         https://bugs.webkit.org/show_bug.cgi?id=130292
2272
2273         Reviewed by Dean Jackson.
2274
2275         WebGLRenderingContext::getExtension was not returning WEBGL_compressed_texture_pvrtc extension.
2276
2277         * html/canvas/WebGLRenderingContext.cpp:
2278         (WebCore::WebGLRenderingContext::getExtension):
2279
2280 2014-03-19  Brent Fulgham  <bfulgham@apple.com>
2281
2282         Merge Misc. WebVTT Updates from Blink.
2283         https://bugs.webkit.org/show_bug.cgi?id=130491
2284
2285         Reviewed by Eric Carlson.
2286
2287         Test: media/track/track-webvtt-tc030-interspersed-non-cue.html
2288
2289         Merged from Blink (patch by vcarbune@chromium.org):
2290         https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
2291         http://crbug.com/40323003
2292         https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
2293         http://crbug.com/54463002
2294         https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
2295         http://crbug.com/55853002
2296         https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
2297         http://crbug.com/65343003
2298         https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
2299         http://crbug.com/62833005
2300         https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
2301         http://crbug.com/64273013
2302         https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
2303         http://crbug.com/101513002
2304         https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
2305         http://crbug.com/102403002
2306         https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
2307         http://crbug.com/104443002
2308         https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
2309         http://crbug.com/75243004
2310
2311         * html/track/TextTrackRegion.cpp:
2312         (WebCore::TextTrackRegion::parseSettingValue):
2313         * html/track/VTTCue.cpp:
2314         (WebCore::VTTCue::markFutureAndPastNodes):
2315         (WebCore::VTTCue::setCueSettings):
2316         * html/track/WebVTTParser.cpp:
2317         (WebCore::scanDigits):
2318         (WebCore::WebVTTParser::collectDigitsToInt):
2319         (WebCore::WebVTTParser::parseFloatPercentageValue):
2320         (WebCore::WebVTTParser::parseBytes):
2321         (WebCore::WebVTTParser::collectMetadataHeader):
2322         (WebCore::WebVTTParser::collectTimingsAndSettings):
2323         (WebCore::WebVTTParser::createDocumentFragmentFromCueText):
2324         (WebCore::WebVTTParser::createNewCue):
2325         (WebCore::WebVTTParser::createNewRegion):
2326         (WebCore::WebVTTParser::collectTimeStamp):
2327         (WebCore::tokenToNodeType):
2328         (WebCore::WebVTTParser::constructTreeFromToken):
2329         * html/track/WebVTTParser.h:
2330         * html/track/WebVTTToken.h:
2331         (WebCore::WebVTTToken::name):
2332         (WebCore::WebVTTToken::characters):
2333         (WebCore::WebVTTToken::appendToCharacter):
2334         (WebCore::WebVTTToken::addNewClass):
2335         (WebCore::WebVTTToken::classes):
2336         (WebCore::WebVTTToken::addNewAnnotation):
2337         (WebCore::WebVTTToken::annotation):
2338         * html/track/WebVTTTokenizer.cpp:
2339         (WebCore::equalLiteral):
2340         (WebCore::WebVTTTokenizer::WebVTTTokenizer):
2341         (WebCore::WebVTTTokenizer::nextToken):
2342         * html/track/WebVTTTokenizer.h:
2343
2344 2014-03-19  Mark Hahnenberg  <mhahnenberg@apple.com>
2345
2346         GC timer should intelligently choose between EdenCollections and FullCollections
2347         https://bugs.webkit.org/show_bug.cgi?id=128261
2348
2349         Reviewed by Geoffrey Garen.
2350
2351         No new tests.
2352
2353         Updated WebSafeGCActivityCallbacks for both Eden and Full timers.
2354
2355         * bindings/js/JSDOMWindowBase.cpp:
2356         (WebCore::JSDOMWindowBase::commonVM):
2357         * platform/ios/WebSafeGCActivityCallbackIOS.h:
2358
2359 2014-03-19  Andy Estes  <aestes@apple.com>
2360
2361         Fix the iOS build after r165917.
2362
2363         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2364
2365 2014-03-19  Commit Queue  <commit-queue@webkit.org>
2366
2367         Unreviewed, rolling out r165926.
2368         https://bugs.webkit.org/show_bug.cgi?id=130488
2369
2370         broke the iOS build (Requested by estes on #webkit).
2371
2372         Reverted changeset:
2373
2374         "GC timer should intelligently choose between EdenCollections
2375         and FullCollections"
2376         https://bugs.webkit.org/show_bug.cgi?id=128261
2377         http://trac.webkit.org/changeset/165926
2378
2379 2014-03-19  Commit Queue  <commit-queue@webkit.org>
2380
2381         Unreviewed, rolling out r165929.
2382         https://bugs.webkit.org/show_bug.cgi?id=130487
2383
2384         in order to roll out r165926 (Requested by estes on #webkit).
2385
2386         Reverted changeset:
2387
2388         http://trac.webkit.org/changeset/165929
2389
2390 2014-03-19  Mark Hahnenberg  <mhahnenberg@apple.com>
2391
2392         Build fix for iOS after r165926
2393
2394         * bindings/js/JSDOMWindowBase.cpp:
2395         (WebCore::JSDOMWindowBase::commonVM):
2396         * platform/ios/WebSafeGCActivityCallbackIOS.h:
2397
2398 2014-03-19  Eric Carlson  <eric.carlson@apple.com>
2399
2400         Allow media engine to update HTMLMediaElement state when playing to external device
2401         https://bugs.webkit.org/show_bug.cgi?id=130480
2402
2403         Reviewed by Jer Noble.
2404
2405         * html/HTMLMediaElement.h: Add mediaPlayerHandlePlaybackCommand.
2406
2407         * platform/graphics/MediaPlayer.cpp:
2408         (WebCore::MediaPlayer::handlePlaybackCommand): New.
2409         * platform/graphics/MediaPlayer.h:
2410         (WebCore::MediaPlayerClient::mediaPlayerHandlePlaybackCommand):
2411
2412         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2413         (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Send Play and Pause commands when
2414             playing to an external device.
2415
2416 2014-03-19  Dirk Schulze  <krit@webkit.org>
2417
2418         Implement isPointInPath and isPointInStroke with Path2D argument
2419         https://bugs.webkit.org/show_bug.cgi?id=130473
2420
2421         Reviewed by Dean Jackson.
2422
2423         Implement isPointInPath and isPointInStroke for 2D Canvas contxts
2424         with Path2D argument.
2425
2426
2427         Tests: fast/canvas/canvas-path-isPointInPath.html
2428                fast/canvas/canvas-path-isPointInStroke.html
2429
2430         * html/canvas/CanvasRenderingContext2D.cpp:
2431         (WebCore::CanvasRenderingContext2D::isPointInPath):
2432         (WebCore::CanvasRenderingContext2D::isPointInStroke):
2433         (WebCore::CanvasRenderingContext2D::isPointInPathInternal):
2434         (WebCore::CanvasRenderingContext2D::isPointInStrokeInternal):
2435         * html/canvas/CanvasRenderingContext2D.h:
2436         * html/canvas/CanvasRenderingContext2D.idl:
2437
2438 2014-03-13  Mark Hahnenberg  <mhahnenberg@apple.com>
2439
2440         GC timer should intelligently choose between EdenCollections and FullCollections
2441         https://bugs.webkit.org/show_bug.cgi?id=128261
2442
2443         Reviewed by Geoffrey Garen.
2444
2445         No new tests.
2446
2447         * platform/ios/WebSafeGCActivityCallbackIOS.h: Update WebSafeGCActivityCallback
2448         appropriately for the introduction of another type of GCActivityCallback.
2449
2450 <<<<<<< .mine
2451 2014-03-18  Mark Hahnenberg  <mhahnenberg@apple.com>
2452
2453         GC timer should intelligently choose between EdenCollections and FullCollections
2454         https://bugs.webkit.org/show_bug.cgi?id=128261
2455
2456         Reviewed by Geoffrey Garen.
2457
2458         No new tests.
2459
2460         Updated WebSafeGCActivityCallbacks for both Eden and Full timers.
2461
2462         * platform/ios/WebSafeGCActivityCallbackIOS.h:
2463
2464 =======
2465 2014-03-19  Antti Koivisto  <antti@apple.com>
2466
2467         Crash with long selector list
2468         https://bugs.webkit.org/show_bug.cgi?id=123006
2469
2470         Reviewed by Andreas Kling.
2471
2472         Test: fast/css/long-selector-list-crash.html
2473
2474         * css/CSSSelectorList.cpp:
2475         (WebCore::CSSSelectorList::CSSSelectorList):
2476         (WebCore::CSSSelectorList::adoptSelectorVector):
2477         (WebCore::CSSSelectorList::operator=):
2478         * css/StyleRule.cpp:
2479         (WebCore::StyleRule::create):
2480
2481             Add a bunch of asserts.
2482
2483         (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
2484         
2485             This could produce a zero-length selector list.
2486
2487 2014-03-19  Andreas Kling  <akling@apple.com>
2488
2489         Rebaseline bindings tests.
2490
2491         * bindings/scripts/test/JS/*:
2492
2493 2014-03-04  Jer Noble  <jer.noble@apple.com>
2494
2495         [iOS][MediaControls] Reverse-pinching using the built-in controls should enter full screen
2496         https://bugs.webkit.org/show_bug.cgi?id=129707
2497
2498         Reviewed by Eric Carlson.
2499
2500         The default controls on iOS should respond to a pinch gesture by entering fullscreen. Add a gesture
2501         event listener, and enter full screen if the user does a quick (>2 velocity) reverse (>1.25 scale) pinch.
2502
2503         * Modules/mediacontrols/mediaControlsiOS.js:
2504         (ControllerIOS.prototype.createBase):
2505         (ControllerIOS.prototype.handlePlayButtonTouchEnd):
2506         (ControllerIOS.prototype.handleBaseGestureStart):
2507         (ControllerIOS.prototype.handleBaseGestureChange):
2508         (ControllerIOS.prototype.handleBaseGestureEnd):
2509
2510 2014-03-19  Ryosuke Niwa  <rniwa@webkit.org>
2511
2512         REGRESSION(r156316): Scrollbar on a large document is broken
2513         https://bugs.webkit.org/show_bug.cgi?id=130474
2514         <rdar://problem/16371523>
2515
2516         Reviewed by Anders Carlsson.
2517
2518         The bug was caused by updateArrowPlacement() doing the work even though Scrollbar Overlay API is available.
2519         Prior to r156316, this function exited early:
2520         http://trac.webkit.org/browser/trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm?rev=156315#L147
2521
2522         Fixed the bug by deleting updateArrowPlacement() entirely.
2523
2524         * platform/mac/ScrollbarThemeMac.mm:
2525         (WebCore::ScrollbarThemeMac::preferencesChanged):
2526
2527 2014-03-19  Jer Noble  <jer.noble@apple.com>
2528
2529         [Mac][EME] Query whether decoder support exists before creating a new MediaKeys object.
2530         https://bugs.webkit.org/show_bug.cgi?id=130459
2531
2532         Reviewed by Eric Carlson.
2533
2534         * WebCore.exp.in: Export the new WCSI method.
2535         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2536         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Bail early if we have no decoder support.
2537         * platform/mac/WebCoreSystemInterface.h: Provide a WCSI wrapper for WKSI.
2538         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2539
2540 2014-03-19  Eric Carlson  <eric.carlson@apple.com>
2541
2542         Make Remote Control commands testable
2543         https://bugs.webkit.org/show_bug.cgi?id=130358
2544
2545         Reviewed by Jer Noble.
2546
2547         Test: media/video-remote-control-playpause.html
2548
2549         * html/HTMLMediaElement.cpp:
2550         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Call session->clientWillPausePlayback.
2551         (WebCore::HTMLMediaElement::didReceiveRemoteControlCommand): Log the command.
2552
2553         * platform/audio/MediaSession.cpp:
2554         (WebCore::MediaSessionClient::mediaSessionTitle): Move from header file.
2555         (WebCore::MediaSessionClient::mediaSessionDuration): Ditto.
2556         (WebCore::MediaSessionClient::mediaSessionCurrentTime): Ditto.
2557         * platform/audio/MediaSession.h:
2558
2559         * platform/audio/MediaSessionManager.cpp:
2560         (WebCore::MediaSessionManager::MediaSessionManager): Get rid of m_activeSession.
2561         (WebCore::MediaSessionManager::removeSession): No need to clear m_activeSession because 
2562             we use the m_sessions vector.
2563         (WebCore::MediaSessionManager::sessionWillBeginPlayback): setCurrentSession takes a 
2564             MediaSession&.
2565         (WebCore::MediaSessionManager::sessionWillEndPlayback): Keep m_sessions sorted so playing
2566             sessions are before paused sessions.
2567         (WebCore::MediaSessionManager::setCurrentSession): Move the session that is beginning to
2568             play to the head of m_sessions.
2569         (WebCore::MediaSessionManager::currentSession): Return m_sessions[0] or nullptr.
2570         (WebCore::MediaSessionManager::didReceiveRemoteControlCommand):
2571         * platform/audio/MediaSessionManager.h:
2572
2573         * platform/audio/ios/MediaSessionManagerIOS.mm: Include MediaPlayer.h.
2574
2575         * testing/Internals.cpp:
2576         (WebCore::Internals::postRemoteControlCommand): New.
2577         * testing/Internals.h:
2578         * testing/Internals.idl:
2579
2580 2014-03-19  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2581
2582         Improving webkitGetUserMedia error handling and error messages
2583         https://bugs.webkit.org/show_bug.cgi?id=130452
2584
2585         Reviewed by Eric Carlson.
2586
2587         Checking if first argument of webkitGetUserMedia is a valid Dictionary. If not, throw an exception with a
2588         clearer message of the error.
2589
2590         Test updated.
2591
2592         * Modules/mediastream/NavigatorMediaStream.idl:
2593         * UseJSC.cmake:
2594         * bindings/js/JSNavigatorCustom.cpp: Added.
2595
2596 2014-03-19  Andreas Kling  <akling@apple.com>
2597
2598         JSC bindings should use the passed-in global object for wrapper caching.
2599         <https://webkit.org/b/130458>
2600
2601         Take a shorter path to the DOMWrapperWorld by using the passed-in
2602         global object instead of getting the lexical global from ExecState.
2603         Removed an old FIXME that no longer applies since JSObjects can
2604         always find the right global object these days.
2605
2606         Reviewed by Geoff Garen.
2607
2608         * bindings/js/JSCSSRuleCustom.cpp:
2609         (WebCore::toJS):
2610         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2611         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
2612         * bindings/js/JSCSSValueCustom.cpp:
2613         (WebCore::toJS):
2614         * bindings/js/JSDOMBinding.h:
2615         (WebCore::createWrapper):
2616         (WebCore::wrap):
2617         (WebCore::getExistingWrapper):
2618         (WebCore::createNewWrapper):
2619         (WebCore::toJS):
2620         * bindings/js/JSDOMWindowCustom.cpp:
2621         (WebCore::JSDOMWindow::setTimeout):
2622         (WebCore::JSDOMWindow::setInterval):
2623         (WebCore::JSDOMWindow::addEventListener):
2624         (WebCore::JSDOMWindow::removeEventListener):
2625         * bindings/js/JSDocumentCustom.cpp:
2626         (WebCore::JSDocument::location):
2627         (WebCore::toJS):
2628         * bindings/js/JSElementCustom.cpp:
2629         (WebCore::toJSNewlyCreated):
2630         * bindings/js/JSEventCustom.cpp:
2631         (WebCore::toJS):
2632         * bindings/js/JSHTMLCollectionCustom.cpp:
2633         (WebCore::toJS):
2634         * bindings/js/JSHTMLTemplateElementCustom.cpp:
2635         (WebCore::JSHTMLTemplateElement::content):
2636         * bindings/js/JSImageDataCustom.cpp:
2637         (WebCore::toJS):
2638         * bindings/js/JSNodeCustom.cpp:
2639         (WebCore::createWrapperInline):
2640         * bindings/js/JSNodeCustom.h:
2641         (WebCore::toJS):
2642         * bindings/js/JSSVGPathSegCustom.cpp:
2643         (WebCore::toJS):
2644         * bindings/js/JSStyleSheetCustom.cpp:
2645         (WebCore::toJS):
2646         * bindings/js/JSTextTrackCueCustom.cpp:
2647         (WebCore::toJS):
2648         * bindings/js/JSTrackCustom.cpp:
2649         (WebCore::toJS):
2650         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
2651         (WebCore::JSWorkerGlobalScope::setTimeout):
2652         (WebCore::JSWorkerGlobalScope::setInterval):
2653         * bindings/scripts/CodeGeneratorJS.pm:
2654         (GenerateImplementation):
2655
2656 2014-03-19  Benjamin Poulain  <bpoulain@apple.com>
2657
2658         Page::setPageScaleFactor should not force the scroll view position when using delegatesScrolling()
2659         https://bugs.webkit.org/show_bug.cgi?id=130429
2660
2661         Reviewed by Simon Fraser.
2662
2663         When setting the same scale mutliple time (for example on load), Page was asking the top scrollview
2664         to scroll to the origin. This is bogus since the scroll view is driving Page::setDeviceScaleFactor,
2665         not the other way around.
2666
2667         Simon fixed the general case in http://trac.webkit.org/changeset/165652/trunk/Source/WebCore/page/Page.cpp
2668         but this branch was still scrolling content.
2669
2670         * page/Page.cpp:
2671         (WebCore::Page::setPageScaleFactor):
2672
2673 2014-03-19  Brady Eidson  <beidson@apple.com>
2674
2675         Filter out editable services from image menu for non-contenteditable images
2676         <rdar://problem/16319645> and https://bugs.webkit.org/show_bug.cgi?id=130437
2677
2678         Reviewed by Tim Horton.
2679
2680         * WebCore.exp.in:
2681
2682 2014-03-19  Dirk Schulze  <krit@webkit.org>
2683
2684         Implement method addPath for Path2D
2685         https://bugs.webkit.org/show_bug.cgi?id=130461
2686
2687         Reviewed by Dean Jackson.
2688
2689         Add support for the Path2D method addPath. The method allows
2690         to append and existing Path2D object to another one. It can be
2691         combined with a transformation matrix SVGMatrix.
2692
2693         Test: fast/canvas/canvas-path-addPath.html
2694
2695         * html/canvas/DOMPath.h: Add new method addPath().
2696         (WebCore::DOMPath::addPath):
2697         * html/canvas/DOMPath.idl:
2698         * platform/graphics/Path.h: Add support for appending paths.
2699         * platform/graphics/cairo/PathCairo.cpp:
2700         (WebCore::Path::addPath):
2701         * platform/graphics/cg/PathCG.cpp:
2702         (WebCore::Path::addPath):
2703         * platform/graphics/wince/PathWinCE.cpp:
2704         (WebCore::Path::addPath):
2705
2706 2014-03-19  Yongjun Zhang  <yongjun_zhang@apple.com>
2707
2708         [iOS] WebKit2 Quicklook.
2709         https://bugs.webkit.org/show_bug.cgi?id=130360
2710
2711         Reviewed by Tim Horton.
2712
2713         Since ResourceLoaders using WebKit2 network process don't have ResourceHandle any more, we
2714         need to make it possible to create QuickLookHandle from ResourceLoader.
2715
2716         * WebCore.exp.in: Make some QuickLookHandle methods visible from WebKit2.
2717         * loader/ResourceLoader.h: Add m_quickLookHandle data member to ResourceLoader.
2718         (WebCore::ResourceLoader::quickLookHandle):
2719         (WebCore::ResourceLoader::setQuickLookHandle):
2720         * platform/network/ios/QuickLook.h: Add a new method to create QuickLookHandle from ResourceLoader.
2721         * platform/network/ios/QuickLook.mm:
2722         (WebCore::QuickLookHandle::create):
2723
2724 2014-03-19  Brent Fulgham  <bfulgham@apple.com>
2725
2726         Fix cue rendering test and include support for left/right alignment
2727         https://bugs.webkit.org/show_bug.cgi?id=130406
2728
2729         Reviewed by Eric Carlson.
2730
2731         Merged from Blink (patch by vcarbune@chromium.org):
2732         https://chromium.googlesource.com/chromium/blink/+/e695703cb603421c741e59a557a7989113c13b94
2733         http://crbug.com/25155003
2734
2735         No new tests. Covered by media/track/track-cue-rendering-snap-to-lines-not-set.html.
2736
2737         * html/track/VTTCue.cpp:
2738         (WebCore::leftKeyword): Added.
2739         (WebCore::rightKeyword): Added.
2740         (WebCore::VTTCueBox::applyCSSProperties): Added.
2741         (WebCore::VTTCue::VTTCue):
2742         (WebCore::VTTCue::align): Handle left/right alignment.
2743         (WebCore::VTTCue::setAlign): Ditto.
2744         (WebCore::VTTCue::calculateDisplayParameters): Refactored and revised for left/right tokens.
2745         (WebCore::VTTCue::setCueSettings): Ditto.
2746         (WebCore::VTTCue::getCSSAlignment): Added.
2747         (WebCore::VTTCue::getCSSWritingMode): Added.
2748         * html/track/VTTCue.h:
2749
2750 2014-03-18  Anders Carlsson  <andersca@apple.com>
2751
2752         Add new functionality that will be required by the history item decoding
2753         https://bugs.webkit.org/show_bug.cgi?id=130433
2754
2755         Reviewed by Sam Weinig.
2756
2757         * platform/KeyedCoding.h:
2758         (WebCore::KeyedDecoder::decodeConditionalObject):
2759
2760 2014-03-19  Tim Horton  <timothy_horton@apple.com>
2761
2762         Fix the iOS build.
2763
2764         * html/BaseDateAndTimeInputType.cpp:
2765         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
2766         Missing a StringView().
2767
2768 2014-03-19  Antti Koivisto  <antti@apple.com>
2769
2770         Tighten ElementRuleCollector::m_matchedRuleList typing
2771         https://bugs.webkit.org/show_bug.cgi?id=130446
2772
2773         Reviewed by Anders Carlsson.
2774
2775         StyleRuleBase -> StyleRule.
2776
2777         * css/ElementRuleCollector.cpp:
2778         (WebCore::ElementRuleCollector::matchedRuleList):
2779         * css/ElementRuleCollector.h:
2780         * css/StyleResolver.cpp:
2781         (WebCore::StyleResolver::styleRulesForElement):
2782         (WebCore::StyleResolver::pseudoStyleRulesForElement):
2783         * css/StyleResolver.h:
2784         * editing/EditingStyle.cpp:
2785         (WebCore::styleFromMatchedRulesForElement):
2786         * inspector/InspectorCSSAgent.cpp:
2787         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2788         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
2789         * inspector/InspectorCSSAgent.h:
2790         * page/DOMWindow.cpp:
2791         (WebCore::DOMWindow::getMatchedCSSRules):
2792
2793 2014-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
2794
2795         [CSSRegions] An unsplittable box is always displayed in a single region
2796         https://bugs.webkit.org/show_bug.cgi?id=130451
2797
2798         Reviewed by Andrei Bucur.
2799
2800         Add an ASSERT stating that an unsplittable box region range always contains 1 region.
2801         No new functionality, no new tests.
2802
2803         * rendering/RenderFlowThread.cpp:
2804         (WebCore::RenderFlowThread::getRegionRangeForBox):
2805
2806 2014-03-19  Zalan Bujtas  <zalan@apple.com>
2807
2808         Subpixel rendering: Transform origin is miscalculated when RenderLayer's
2809         offsetfromRenderer has device pixel fraction value.
2810         https://bugs.webkit.org/show_bug.cgi?id=129859
2811
2812         Reviewed by Simon Fraser.
2813
2814         We need to calculate the transformed origin using the painting coordinates to produce
2815         pixel precise result.
2816
2817         * rendering/RenderLayerBacking.cpp:
2818         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2819         (WebCore::RenderLayerBacking::computeTransformOriginForPainting):
2820         * rendering/RenderLayerBacking.h:
2821
2822 2014-03-19  Claudio Saavedra  <csaavedra@igalia.com>
2823
2824         [GStreamer] Clean timeout source ids
2825         https://bugs.webkit.org/show_bug.cgi?id=130450
2826
2827         Reviewed by Philippe Normand.
2828
2829         Sources IDs need to be cleaned up if the callback removes the
2830         source, otherwise we'll be attempting to remove an empty source at
2831         some point.
2832
2833         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2834         (webKitMediaVideoSrcStart): Clean the source id.
2835         (webKitMediaAudioSrcStart): Ditto.
2836         (webKitMediaVideoSrcSeekMainCb): Ditto.
2837         (webKitMediaAudioSrcSeekMainCb): Ditto.
2838
2839 2014-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
2840
2841         [CSSRegions] Compute region ranges for children of inline blocks
2842         https://bugs.webkit.org/show_bug.cgi?id=130392
2843
2844         Reviewed by Andrei Bucur.
2845
2846         Extend the region ranges computation for children of inline blocks.
2847         When we cannot retrieve the region range for a box using cached information,
2848         either from region range map or from the region cached on the RootInlineBox,
2849         try to find the top most unsplittable box up to the flow thread boundary.
2850         If we find such unsplittable box and the box has a region range, then return
2851         this range.
2852
2853         Before this patch, method getRegionRangeForBox did not return true/false
2854         if it was able to retrieve the range and the caller checked the returned
2855         region values. I modified the method to return true if we were able to compute
2856         the range.
2857
2858         Tests: fast/regions/inline-block-inline-children-flowed-in-regions.html
2859                fast/regions/inline-blocks-dyn-enlarged-regions.html
2860                fast/regions/inline-blocks-dyn-shrunk-regions.html
2861                fast/regions/inline-blocks-in-two-regions.html
2862
2863         * inspector/InspectorOverlay.cpp:
2864         (WebCore::buildObjectForRendererFragments):
2865         * rendering/RenderBlock.cpp:
2866         (WebCore::RenderBlock::updateRegionRangeForBoxChild):
2867         * rendering/RenderBlockFlow.cpp:
2868         (WebCore::RenderBlockFlow::hasNextPage):
2869         * rendering/RenderBox.cpp:
2870         (WebCore::RenderBox::clampToStartAndEndRegions):
2871         (WebCore::RenderBox::borderBoxRectInRegion):
2872         (WebCore::RenderBox::computeRectForRepaint):
2873         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2874         * rendering/RenderBoxModelObject.cpp:
2875         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
2876         * rendering/RenderFlowThread.cpp:
2877         (WebCore::RenderFlowThread::regionForCompositedLayer):
2878         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
2879         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2880         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
2881         (WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo):
2882         (WebCore::RenderFlowThread::getRegionRangeForBox):
2883         (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
2884         (WebCore::RenderFlowThread::objectInFlowRegion):
2885         (WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
2886         (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
2887         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
2888         (WebCore::RenderFlowThread::addRegionsLayoutOverflow):
2889         (WebCore::RenderFlowThread::addRegionsVisualOverflow):
2890         (WebCore::RenderFlowThread::clearRegionsOverflow):
2891         * rendering/RenderFlowThread.h:
2892         * rendering/RenderNamedFlowThread.cpp:
2893         (WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):
2894         * rendering/RenderObject.cpp:
2895         (WebCore::RenderObject::locateFlowThreadContainingBlock):
2896         Make sure we return the right render flow thread in the case of
2897         region-based multicolumn inside named flows.
2898         * rendering/RenderRegion.cpp:
2899         (WebCore::RenderRegion::rectFlowPortionForBox):
2900
2901 2014-03-19  Krzysztof Wolanski  <k.wolanski@samsung.com>
2902
2903         [EFL] vibration/cancelVibration-during-pattern-vibrating.html is failing after r165598
2904         https://bugs.webkit.org/show_bug.cgi?id=130333
2905
2906         Reviewed by Gyuyoung Kim.
2907
2908         Added setting m_state when calling Vibration::vibrate. It was missing after
2909         refactoring Vibration (r165598).
2910
2911         * Modules/vibration/Vibration.cpp:
2912         (WebCore::Vibration::vibrate):
2913
2914 2014-03-19  Sam Weinig  <sam@webkit.org>
2915
2916         Rewrite WebHTMLConverter::_colorForNode in C++
2917         https://bugs.webkit.org/show_bug.cgi?id=130443
2918
2919         Reviewed by Andreas Kling.
2920
2921         * platform/mac/HTMLConverter.mm:
2922         (_platformColor):
2923         Rename from _colorForRGBColor and simplify to just do the platform conversion.
2924
2925         (normalizedColor):
2926         Extract normalization out of _colorForRGBColor and remove cases that are impossible to hit
2927         due to us only ever using the device color space.
2928
2929         (HTMLConverterCaches::colorPropertyValueForNode):
2930         (-[WebHTMLConverter _colorForNode:property:]):
2931         Convert to C++.
2932
2933         (-[WebHTMLConverter dealloc]):
2934         (-[WebHTMLConverter init]):
2935         Remove caches, we already cache in ColorMac.
2936
2937 2014-03-18  Andrei Bucur  <abucur@adobe.com>
2938
2939         [CSS Regions] Strange layout for content with region breaks
2940         https://bugs.webkit.org/show_bug.cgi?id=121318
2941
2942         Reviewed by Mihnea Ovidenie.
2943
2944         When break-inside: avoid is used on an element, the implementation tries to
2945         force it inside a single fragmentation container even though the descendants
2946         of the element specify forced breaks. This leads to unexpected results and
2947         unstable layout.
2948
2949         The change extends the definition of unsplittable elements for flow threads
2950         using the same conditions found inside RenderBlockFlow::adjustForUnsplittableChild.
2951         This change forces elements that require break avoidance to have a single region
2952         in the region range. As a result, forced breaks have no effect inside them.
2953
2954         It should be noted this may not the behavior defined by the CSS3 Fragmentation spec.
2955         From my understanding of the text, forced breaks override any avoidance specified
2956         by ancestor elements. However, implementing this is a larger change that will require
2957         a fundamental new approach in handling break avoidance. This patch just brings
2958         consistency to the API.
2959
2960         Test: fast/regions/forced-break-inside-avoid-break.html
2961
2962         * rendering/RenderBlock.cpp:
2963         (WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation):
2964         (WebCore::RenderBlock::computeRegionRangeForBoxChild):
2965         (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
2966         * rendering/RenderBlock.h:
2967         * rendering/RenderBlockFlow.cpp:
2968         (WebCore::RenderBlockFlow::adjustForUnsplittableChild): Move the avoidance conditions inside
2969         a helper method RenderBlock::childBoxIsUnsplittableForFragmentation.
2970
2971 2014-03-18  Samuel White  <samuel_white@apple.com>
2972
2973         AX: Not able to use arrow keys to read text with VoiceOver before selection is set someplace (anyplace).
2974         https://bugs.webkit.org/show_bug.cgi?id=130250
2975
2976         Reviewed by Chris Fleizach.
2977
2978         If initial selection isn't set when we handle selection movement for accessibility, we need to set it. If we don't, using arrow
2979         keys to read text with VoiceOver doesn't work as expected. Things will only start working after the user holds shift and arrows
2980         around to select any arbitrary thing to force selection to get set. This logic handles that special case more gracefully.
2981
2982         Test: platform/mac/accessibility/selection-initial.html
2983
2984         * page/EventHandler.cpp:
2985         (WebCore::handleKeyboardSelectionMovement):
2986         (WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):
2987         * testing/Internals.cpp:
2988         (WebCore::Internals::resetToConsistentState):
2989
2990 2014-03-18  Brent Fulgham  <bfulgham@apple.com>
2991
2992         TextTrackRegion Not Implemented
2993         https://bugs.webkit.org/show_bug.cgi?id=116546
2994
2995         Reviewed by Eric Carlson.
2996
2997         Merged from Blink (patch by vcarbune@chromium.org):
2998         https://chromium.googlesource.com/chromium/blink/+/4940f89a087fea5b5ea628e98d0b355d398a9eea
2999         http://crbug.com/25798003
3000
3001         Tests: media/track/regions-webvtt/text-track-region-display.html
3002                media/track/regions-webvtt/text-track-region-dom-layout.html
3003
3004         * html/HTMLMediaElement.cpp:
3005         (WebCore::HTMLMediaElement::parseAttribute):
3006         * html/track/LoadableTextTrack.cpp:
3007         (WebCore::LoadableTextTrack::newRegionsAvailable):
3008         * html/track/TextTrack.cpp:
3009         * html/track/TextTrack.h:
3010         * html/track/TextTrackRegion.cpp:
3011         (WebCore::TextTrackRegion::TextTrackRegion):
3012         (WebCore::TextTrackRegion::appendTextTrackCueBox):
3013         * html/track/TextTrackRegion.h:
3014         * html/track/VTTCue.cpp:
3015         (WebCore::VTTCue::VTTCue):
3016         (WebCore::VTTCue::notifyRegionWhenRemovingDisplayTree):
3017         (WebCore::VTTCue::removeDisplayTree):
3018         * html/track/VTTCue.h:
3019         * html/track/WebVTTParser.cpp:
3020         (WebCore::WebVTTParser::parseBytes):
3021         (WebCore::WebVTTParser::collectMetadataHeader):
3022         * html/track/WebVTTParser.h:
3023
3024 2014-03-18  Andreas Kling  <akling@apple.com>
3025
3026         Share MemoryPressureHandler::releaseMemory() between platforms.
3027         <https://webkit.org/b/130416>
3028
3029         Move the code that scours WebKit for things we can free up right now
3030         to the common part of MemoryPressureHandler. This will enable other
3031         platforms to do the same thing under pressure.
3032
3033         There's now also a platformReleaseMemory() where platform-specific
3034         pressure relief stuff can go.
3035
3036         Reviewed by Antti Koivisto.
3037
3038         * platform/MemoryPressureHandler.cpp:
3039         (WebCore::MemoryPressureHandler::releaseMemory):
3040         (WebCore::MemoryPressureHandler::platformReleaseMemory):
3041         * platform/MemoryPressureHandler.h:
3042         * platform/mac/MemoryPressureHandlerMac.mm:
3043         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
3044         (WebCore::MemoryPressureHandler::platformReleaseMemory):
3045
3046 2014-03-18  Dean Jackson  <dino@apple.com>
3047
3048         [WebGL] Destroy EAGLContext's backing store
3049         https://bugs.webkit.org/show_bug.cgi?id=130439
3050         <rdar://problem/16295217>
3051
3052         Reviewed by Tim Horton.
3053
3054         When a GraphicsContext3D is being destroyed, we should
3055         also remove any EAGLContext backing store.
3056
3057         * platform/graphics/mac/GraphicsContext3DMac.mm:
3058         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3059
3060 2014-03-18  Tim Horton  <timothy_horton@apple.com>
3061
3062         [iOS][WebKit2] Mark layer contents as being opaque if they are
3063         https://bugs.webkit.org/show_bug.cgi?id=130427
3064         <rdar://problem/15540434>
3065
3066         Reviewed by Simon Fraser.
3067
3068         * platform/graphics/GraphicsLayerClient.h:
3069         (WebCore::GraphicsLayerClient::paintsOpaquelyAtNonIntegralScales):
3070         * platform/graphics/ca/GraphicsLayerCA.cpp:
3071         (WebCore::GraphicsLayerCA::updateContentsOpaque):
3072         * rendering/RenderLayerBacking.cpp:
3073         (WebCore::RenderLayerBacking::paintsOpaquelyAtNonIntegralScales):
3074         * rendering/RenderLayerBacking.h:
3075         r159463 stopped us from setting layers opaque if they were being painted
3076         at non-integral scale. This makes sense for compositing layers, which
3077         are painted by arbitrary elements, but the main frame's RenderView
3078         will always paint its entire contents. To restore the opaque contents
3079         optimization to the main frame's tiles, don't de-opaquify layers
3080         belonging to the main frame's RenderView.
3081
3082 2014-03-18  Jeffrey Pfau  <jpfau@apple.com>
3083
3084         Unify <media> element callback registration and unregistration
3085         https://bugs.webkit.org/show_bug.cgi?id=130417
3086
3087         Reviewed by Eric Carlson.
3088
3089         * html/HTMLMediaElement.cpp:
3090         (WebCore::HTMLMediaElement::HTMLMediaElement):
3091         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3092         (WebCore::HTMLMediaElement::registerWithDocument):
3093         (WebCore::HTMLMediaElement::unregisterWithDocument):
3094         (WebCore::HTMLMediaElement::didMoveToNewDocument):
3095         * html/HTMLMediaElement.h:
3096
3097 2014-03-18  Jer Noble  <jer.noble@apple.com>
3098
3099         MediaDocument should set a max-width on its <video> element.
3100         https://bugs.webkit.org/show_bug.cgi?id=114691
3101
3102         Reviewed by Eric Carlson.
3103
3104         Set a style attribute containing max-width:100% and max-height:100% so that large videos
3105         are entirely visible within the browser window bounds.
3106
3107         * html/MediaDocument.cpp:
3108         (WebCore::MediaDocumentParser::createDocumentStructure):
3109
3110 2014-03-18  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3111
3112         [WebRTC] Fix layering violation in RTCStatsRequest
3113         https://bugs.webkit.org/show_bug.cgi?id=130426
3114
3115         Reviewed by Eric Carlson.
3116
3117         RTCStatsRequest::track() should return a MediaStreamTrackPrivate*.
3118
3119         No new tests needed.
3120
3121         * Modules/mediastream/RTCPeerConnection.cpp:
3122         (WebCore::RTCPeerConnection::getStats):
3123         * Modules/mediastream/RTCStatsRequestImpl.cpp:
3124         (WebCore::RTCStatsRequestImpl::create):
3125         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
3126         (WebCore::RTCStatsRequestImpl::track):
3127         * Modules/mediastream/RTCStatsRequestImpl.h:
3128         * platform/mediastream/RTCStatsRequest.h:
3129
3130 2014-03-18  Anders Carlsson  <andersca@apple.com>
3131
3132         Fix a trivial FIXME
3133         https://bugs.webkit.org/show_bug.cgi?id=130432
3134
3135         Reviewed by Tim Horton.
3136
3137         * history/HistoryItem.cpp:
3138         (WebCore::HistoryItem::encodeBackForwardTreeNode):
3139
3140 2014-03-18  Anders Carlsson  <andersca@apple.com>
3141
3142         Begin cleaning up KeyedDecoder and KeyedEncoder
3143         https://bugs.webkit.org/show_bug.cgi?id=130431
3144
3145         Reviewed by Tim Horton.
3146
3147         Rename KeyedDecoder::decodeVerifiedEnum to decodeEnum to match the encode function,
3148         and sort the decode functions to be in the same logical order as the encode functions.
3149
3150         * Modules/indexeddb/IDBKeyData.cpp:
3151         (WebCore::IDBKeyData::decode):
3152         * Modules/indexeddb/IDBKeyPath.cpp:
3153         (WebCore::IDBKeyPath::decode):
3154         * platform/KeyedCoding.h:
3155         (WebCore::KeyedDecoder::decodeEnum):
3156
3157 2014-03-18  Darin Adler  <darin@apple.com>
3158
3159         Reduce use of deprecatedCharacters in WebCore
3160         https://bugs.webkit.org/show_bug.cgi?id=130318
3161
3162         Reviewed by Andreas Kling.
3163
3164         * Modules/indexeddb/IDBKeyPath.cpp:
3165         (WebCore::IDBKeyPathLexer::IDBKeyPathLexer): Use StringView for parsing.
3166         (WebCore::IDBKeyPathLexer::lex): Ditto.
3167         (WebCore::IDBKeyPathLexer::lexIdentifier): Ditto.
3168
3169         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
3170         (WebCore::IDBLevelDBCoding::encodeString): Index directly into string instead of
3171         using deprecatedCharacters.
3172
3173         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3174         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol): Use
3175         StringView::getCharactersWithUpconvert.
3176         (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions): Ditto.
3177
3178         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3179         (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
3180         Use operator NSString * instead of explicitly creating an NSString.
3181
3182         * bindings/js/SerializedScriptValue.cpp:
3183         (WebCore::writeLittleEndianUInt16): Added.
3184         (WebCore::CloneSerializer::serialize): Added a separate code path for 8-bit strings.
3185         (WebCore::CloneSerializer::write): Ditto.
3186
3187         * bindings/objc/WebScriptObject.mm:
3188         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
3189         Use operator NSString * instead of explicitly creating an NSString.
3190
3191         * dom/Document.cpp:
3192         (WebCore::Document::parseQualifiedName): Index directly into string instead of
3193         using deprecatedCharacters.
3194         * editing/CompositeEditCommand.cpp:
3195         (WebCore::containsOnlyWhitespace): Ditto.
3196         * editing/SmartReplace.cpp:
3197         (WebCore::addAllCodePoints): Ditto.
3198         (WebCore::getSmartSet): Use StringView::upconvertedCharacters.
3199
3200         * editing/TextIterator.cpp:
3201         (WebCore::foldQuoteMarksAndSoftHyphens): Changed to return a value so it can be
3202         used in initialization rather than assignment.
3203         (WebCore::SearchBuffer::SearchBuffer): Use StringView::upconvertedCharacters.
3204
3205         * editing/TypingCommand.cpp:
3206         (WebCore::TypingCommand::insertText): Index directly into string instead of using
3207         deprecatedCharacters.
3208         * editing/VisiblePosition.cpp:
3209         (WebCore::VisiblePosition::characterAfter): Ditto.
3210         * editing/VisibleUnits.cpp:
3211         (WebCore::startOfParagraph): Ditto.
3212         (WebCore::endOfParagraph): Ditto.
3213
3214         * fileapi/WebKitBlobBuilder.cpp:
3215         (WebCore::BlobBuilder::append): Pass a StringView to TextEncoding::encode.
3216
3217         * html/BaseDateAndTimeInputType.cpp:
3218         (WebCore::BaseDateAndTimeInputType::parseToDateComponents): Use
3219         StringView::upconvertedCharacters.
3220
3221         * html/FormDataList.cpp:
3222         (WebCore::FormDataList::appendString): Pass a StringView to TextEncoding::encode.
3223
3224         * html/canvas/CanvasRenderingContext2D.cpp:
3225         (WebCore::normalizeSpaces): Use StringView::getCharactersWithUpconvert.
3226
3227         * html/parser/HTMLParserIdioms.cpp:
3228         (WebCore::stripLeadingAndTrailingHTMLSpaces): Use characters16 for a code path
3229         that already handled 8-bit characters separately.
3230         (WebCore::parseHTMLNonNegativeInteger): Ditto.
3231         (WebCore::parseDescriptors): Added an 8-bit code path.
3232
3233         * inspector/InspectorStyleSheet.cpp:
3234         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Index directly into
3235         string instead of using deprecatedCharacters.
3236         * inspector/InspectorStyleTextEditor.cpp:
3237         (WebCore::InspectorStyleTextEditor::insertProperty): Ditto.
3238         (WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
3239
3240         * page/ContentSecurityPolicy.cpp:
3241         (WebCore::isSourceListNone): Use StringView::upconvertedCharacters.
3242         (WebCore::CSPSourceList::parse): Ditto.
3243         (WebCore::NonceDirective::parse): Ditto.
3244         (WebCore::MediaListDirective::parse): Ditto.
3245         (WebCore::CSPDirectiveList::parse): Ditto.
3246         (WebCore::CSPDirectiveList::parseReportURI): Ditto.
3247         (WebCore::CSPDirectiveList::parseReflectedXSS): Ditto.
3248         (WebCore::ContentSecurityPolicy::didReceiveHeader): Ditto.
3249
3250         * page/PageSerializer.cpp:
3251         (WebCore::PageSerializer::serializeFrame): Pass a StringView into
3252         TextEncoding::encode.
3253         (WebCore::PageSerializer::serializeCSSStyleSheet): Ditto.
3254
3255         * platform/Length.cpp:
3256         (WebCore::countCharacter): Index directly into string instead of using
3257         deprecatedCharacters. Also changed to take a StringImpl&.
3258         (WebCore::newCoordsArray): Ditto. Call countCharacter the new way, and
3259         use StringView::upconvertedCharacters.
3260         (WebCore::newLengthArray): Ditto.
3261
3262         * platform/LinkHash.cpp:
3263         (WebCore::visitedLinkHash): Use characters16 for the 16-bit path.
3264         Also removed unused visitedURL function.
3265         * platform/LinkHash.h: Removed unused visitedURL function.
3266
3267         * platform/SharedBuffer.cpp:
3268         (WebCore::utf8Buffer): Added an 8-bit code path.
3269         * platform/URL.cpp:
3270         (WebCore::URL::port): Ditto.
3271         (WebCore::encodeRelativeString): Use StringView to call TextEncoding::encode.
3272
3273         * platform/graphics/Color.cpp:
3274         (WebCore::Color::parseHexColor): Use characters16 in the 16-bit path.
3275         (WebCore::Color::Color): Ditto.
3276
3277         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
3278         (WebCore::harfBuzzGetGlyph): Use StringView to call TextEncoding::encode.
3279
3280         * platform/graphics/StringTruncator.cpp:
3281         (WebCore::centerTruncateToBuffer): Use StringView::getCharactersWithUpconvert.
3282         (WebCore::rightTruncateToBuffer): Ditto.
3283         (WebCore::rightClipToCharacterBuffer): Ditto.
3284         (WebCore::rightClipToWordBuffer): Ditto.
3285         (WebCore::leftTruncateToBuffer): Ditto.
3286         (WebCore::truncateString): Ditto.
3287
3288         * platform/graphics/TextRun.h:
3289         (WebCore::TextRun::TextRun): Use characters16 in the 16-bit code path.
3290
3291         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3292         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
3293         Use StringView::upconvertedCharacters.
3294
3295         * platform/network/DataURL.cpp:
3296         (WebCore::handleDataURL): Use StringView to call TextEncoding::encode.
3297         * platform/network/FormDataBuilder.cpp:
3298         (WebCore::FormDataBuilder::addFilenameToMultiPartHeader): Ditto.
3299
3300         * platform/sql/SQLiteStatement.cpp:
3301         (WebCore::SQLiteStatement::bindBlob): Use StringView::upconvertedCharacters.
3302         (WebCore::SQLiteStatement::bindText): Ditto.
3303
3304         * platform/text/DecodeEscapeSequences.h:
3305         (WebCore::Unicode16BitEscapeSequence::decodeRun): Changed to take a StringView.
3306         (WebCore::URLEscapeSequence::decodeRun): Ditto.
3307         (WebCore::decodeEscapeSequences): Pass StringView to decodeRun.
3308
3309         * platform/text/Hyphenation.cpp:
3310         (WebCore::lastHyphenLocation): Take a StringView.
3311         * platform/text/Hyphenation.h: Make lastHyphenLocation take a StringView.
3312
3313         * platform/text/TextBreakIterator.cpp:
3314         (WebCore::initializeIteratorWithRules): Use StringView::upconvertedCharacters.
3315
3316         * platform/text/TextEncoding.cpp:
3317         (WebCore::TextEncoding::encode): Use StringView::upconvertedCharacters.
3318         Change argument type to StringView.
3319         * platform/text/TextEncoding.h: Ditto.
3320
3321         * platform/text/TextEncodingRegistry.cpp:
3322         (WebCore::atomicCanonicalTextEncodingName): Use characters16 for the 16-bit path.
3323
3324         * platform/text/cf/HyphenationCF.cpp:
3325         (WebCore::lastHyphenLocation): Use StringView::text.createCFStringWithoutCopying.
3326         Change argument type to StringView.
3327
3328         * rendering/RenderBlock.cpp:
3329         (WebCore::RenderBlock::constructTextRun): Use characters16 for the 16-bit path.
3330
3331         * rendering/RenderCombineText.cpp:
3332         (WebCore::RenderCombineText::width): Removed check for null characters pointer,
3333         since the pointer will never be null, and even if it was there would be no need
3334         for an early exit.
3335
3336         * rendering/RenderText.cpp:
3337         (WebCore::maxWordFragmentWidth): Take a StringView.
3338         (WebCore::RenderText::computePreferredLogicalWidths): Pass in a StringView.
3339         * rendering/line/BreakingContextInlineHeaders.h:
3340         (WebCore::tryHyphenating): Ditto.
3341
3342         * rendering/svg/SVGTextLayoutEngine.cpp:
3343         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Use
3344         StringView::upconvertedCharacters.
3345
3346         * rendering/svg/SVGTextMetrics.cpp:
3347         (WebCore::SVGTextMetrics::SVGTextMetrics): Use String::substring.
3348
3349         * svg/SVGAngle.cpp:
3350         (WebCore::SVGAngle::setValueAsString): Use StringView::upconvertedCharacters.
3351         * svg/SVGAnimateMotionElement.cpp:
3352         (WebCore::parsePoint): Ditto.
3353         * svg/SVGAnimationElement.cpp:
3354         (WebCore::parseKeySplines): Ditto.
3355         * svg/SVGFitToViewBox.cpp:
3356         (WebCore::SVGFitToViewBox::parseViewBox): Ditto.
3357
3358         * svg/SVGFontData.cpp:
3359         (WebCore::SVGFontData::applySVGGlyphSelection): Pass StringView to
3360         createStringWIthMirroredCharacters.
3361         (WebCore::createStringWithMirroredCharacters): Changed to use StringView and
3362         use indexing into that instead of a characters pointer.
3363
3364         * svg/SVGFontData.h: Removed createStringWithMirroredCharacters member function,
3365         since it has nothing to do with the SVGFontData object. Now it's just a private
3366         helper function in the SVGFontData.cpp source file.
3367
3368         * svg/SVGFontElement.cpp:
3369         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Index into the string
3370         instead of using deprecatedCharacters.
3371
3372         * svg/SVGGlyphMap.h:
3373         (WebCore::SVGGlyphMap::addGlyph): Use StringView::upconvertedCharacters.
3374         (WebCore::SVGGlyphMap::collectGlyphsForString): Ditto.
3375         * svg/SVGGlyphRefElement.cpp:
3376         (WebCore::SVGGlyphRefElement::parseAttribute): Ditto.
3377         * svg/SVGLength.cpp:
3378         (WebCore::SVGLength::setValueAsString): Ditto.
3379         * svg/SVGLengthList.cpp:
3380         (WebCore::SVGLengthList::parse): Ditto.
3381         * svg/SVGNumberList.cpp:
3382         (WebCore::SVGNumberList::parse): Ditto.
3383         * svg/SVGParserUtilities.cpp:
3384         (WebCore::parseNumberFromString): Ditto.
3385         (WebCore::parseNumberOptionalNumber): Ditto.
3386         (WebCore::parseRect): Ditto.
3387         (WebCore::pointsListFromSVGData): Ditto.
3388         (WebCore::parseGlyphName): Ditto.
3389         (WebCore::parseKerningUnicodeString): Ditto.
3390         (WebCore::parseDelimitedString): Ditto.
3391         * svg/SVGPreserveAspectRatio.cpp:
3392         (WebCore::SVGPreserveAspectRatio::parse): Ditto.
3393         * svg/SVGStringList.cpp:
3394         (WebCore::SVGStringList::parse): Ditto.
3395         * svg/SVGTransformList.cpp:
3396         (WebCore::SVGTransformList::parse): Ditto.
3397         * svg/SVGTransformable.cpp:
3398         (WebCore::SVGTransformable::parseTransformType): Ditto.
3399         * svg/SVGViewSpec.cpp:
3400         (WebCore::SVGViewSpec::parseViewSpec): Ditto.
3401         * svg/SVGZoomAndPan.h:
3402         (WebCore::SVGZoomAndPan::parseAttribute): Ditto.
3403
3404         * xml/XMLHttpRequest.cpp:
3405         (WebCore::XMLHttpRequest::send): Pass a StringView to TextEncoding::encode.
3406
3407         * xml/XSLStyleSheetLibxslt.cpp:
3408         (WebCore::XSLStyleSheet::parseString): Use StringView::upconvertedCharacters.
3409
3410 2014-03-18  Bem Jones-Bey  <bjonesbe@adobe.com>
3411
3412         LayoutBox is a terrible name
3413         https://bugs.webkit.org/show_bug.cgi?id=130351
3414
3415         Reviewed by Simon Fraser.
3416
3417         Rename LayoutBox to CSSBoxType. Also rename the functions and methods
3418         that mention "LayoutBox" to something that makes sense for each
3419         specific situation.
3420
3421         No new tests, no behavior change.
3422
3423         * css/BasicShapeFunctions.cpp:
3424         (WebCore::valueForBasicShape):
3425         (WebCore::basicShapeForValue):
3426         * css/CSSBasicShapes.cpp:
3427         (WebCore::CSSBasicShapeCircle::cssText):
3428         (WebCore::CSSBasicShapeCircle::equals):
3429         (WebCore::CSSBasicShapeEllipse::cssText):
3430         (WebCore::CSSBasicShapeEllipse::equals):
3431         (WebCore::CSSBasicShapePolygon::cssText):
3432         (WebCore::CSSBasicShapePolygon::equals):
3433         (WebCore::CSSBasicShapeInset::cssText):
3434         * css/CSSBasicShapes.h:
3435         (WebCore::CSSBasicShape::referenceBox):
3436         (WebCore::CSSBasicShape::setReferenceBox):
3437         * css/CSSComputedStyleDeclaration.cpp:
3438         (WebCore::shapePropertyValue):
3439         * css/CSSPrimitiveValueMappings.h:
3440         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3441         (WebCore::CSSPrimitiveValue::operator CSSBoxType):
3442         * css/DeprecatedStyleBuilder.cpp:
3443         (WebCore::ApplyPropertyClipPath::applyValue):
3444         (WebCore::ApplyPropertyShape::applyValue):
3445         * page/animation/CSSPropertyAnimation.cpp:
3446         (WebCore::blendFunc):
3447         * rendering/ClipPathOperation.h:
3448         (WebCore::ShapeClipPathOperation::setReferenceBox):
3449         (WebCore::ShapeClipPathOperation::referenceBox):
3450         (WebCore::BoxClipPathOperation::create):
3451         (WebCore::BoxClipPathOperation::referenceBox):
3452         (WebCore::BoxClipPathOperation::BoxClipPathOperation):
3453         * rendering/shapes/Shape.cpp:
3454         (WebCore::Shape::createBoxShape):
3455         * rendering/shapes/Shape.h:
3456         * rendering/shapes/ShapeInfo.cpp:
3457         (WebCore::ShapeInfo<RenderType>::computedShape):
3458         * rendering/shapes/ShapeInfo.h:
3459         * rendering/shapes/ShapeInsideInfo.h:
3460         * rendering/shapes/ShapeOutsideInfo.h:
3461         * rendering/style/BasicShapes.cpp:
3462         (WebCore::BasicShape::canBlend):
3463         * rendering/style/BasicShapes.h:
3464         (WebCore::BasicShape::referenceBox):
3465         (WebCore::BasicShape::setReferenceBox):
3466         (WebCore::BasicShape::BasicShape):
3467         * rendering/style/RenderStyleConstants.h:
3468         * rendering/style/ShapeValue.h:
3469         (WebCore::ShapeValue::createShapeValue):
3470         (WebCore::ShapeValue::createBoxShapeValue):
3471         (WebCore::ShapeValue::cssBox):
3472         (WebCore::ShapeValue::ShapeValue):
3473
3474 2014-03-18  Daniel Bates  <dabates@apple.com>
3475
3476         REGRESSION (r162334): RenderTableCol::styleDidChange uses out-of-date table information
3477         https://bugs.webkit.org/show_bug.cgi?id=129561
3478
3479         Reviewed by Antti Koivisto.
3480
3481         Test: fast/table/update-col-width-and-remove-table-cell-crash.html
3482
3483         Fixes an issue where a table column or table column group may query an out-
3484         of-date model of its associated table as part of its process to propagate
3485         style changes to affected table cells.
3486
3487         * rendering/RenderTableCol.cpp:
3488         (WebCore::RenderTableCol::styleDidChange): Ensure that all sections in the table
3489         are up-to-date before quer