00e8ddb348d73a1a20183fec0eb165ed78d8f190
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-12-23  Sam Weinig  <sam@webkit.org>
2
3         Rename WebContext to WebProcessPool
4         https://bugs.webkit.org/show_bug.cgi?id=139909
5
6         Rubber-stamped by Anders Carlsson.
7
8         Merge SessionID and SessionIDHash into one file to make auto-generation of
9         HashMaps with SessionIDs easier.
10
11         * WebCore.xcodeproj/project.pbxproj:
12         * loader/cache/MemoryCache.h:
13         * page/SessionID.h:
14         (WTF::SessionIDHash::hash):
15         (WTF::SessionIDHash::equal):
16         (WTF::HashTraits<WebCore::SessionID>::emptyValue):
17         (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue):
18         (WTF::HashTraits<WebCore::SessionID>::isDeletedValue):
19         * page/SessionIDHash.h: Removed.
20
21 2014-12-23  Myles C. Maxfield  <mmaxfield@apple.com>
22
23         platform/mac/editing/input/devanagari-ligature.html is flaky on Yosemite, ligature fails to form
24         https://bugs.webkit.org/show_bug.cgi?id=138683
25
26         Reviewed by Darin Adler.
27
28         This patch changes how we check fonts for equality. In particular, this patch adds a
29         objectForEqualityCheck() to Cocoa's FontPlatformData, and callers should pass this object
30         to CFEqual() to determine if two platform fonts are equal. This patch also migrates all
31         call sites to using this function.
32
33         I don't want to implement operator==() because there are many cases where the same font
34         is compared against many others, and this solution is cleaner than caching a comparison
35         object inside the font object itself.
36
37         No new tests because this is covered by platform/mac/editing/input/devanagari-ligature.html.
38
39         * platform/graphics/FontPlatformData.h:
40         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
41         (WebCore::FontPlatformData::objectForEqualityCheck):
42         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
43         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
44         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
45         (WebCore::GlyphPage::fill):
46         * platform/graphics/mac/SimpleFontDataMac.mm:
47         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
48         * platform/spi/cocoa/CoreTextSPI.h:
49
50 2014-12-23  Myles C. Maxfield  <mmaxfield@apple.com>
51
52         [SVG -> OTF Converter] Make Placeholder a move-only type
53         https://bugs.webkit.org/show_bug.cgi?id=139870
54
55         Reviewed by Anders Carlsson.
56
57         No new tests because there is no behavior change.
58
59         * svg/SVGToOTFFontConversion.cpp:
60         (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
61         (WebCore::SVGToOTFFontConverter::Placeholder::populate):
62         (WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):
63
64 2014-12-23  Chris Dumez  <cdumez@apple.com>
65
66         Move color CSS properties to the new StyleBuilder
67         https://bugs.webkit.org/show_bug.cgi?id=139898
68
69         Reviewed by Antti Koivisto.
70
71         Move color CSS properties to the new StyleBuilder by teaching the
72         StyleBuilder generator how to handle them.
73
74         * css/CSSPropertyNames.in:
75         - Move color properties to the new StyleBuilder.
76
77         * css/DeprecatedStyleBuilder.cpp:
78         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
79         (WebCore::defaultInitialColor): Deleted.
80         (WebCore::ApplyPropertyColor::applyInheritValue): Deleted.
81         (WebCore::ApplyPropertyColor::applyInitialValue): Deleted.
82         (WebCore::ApplyPropertyColor::applyValue): Deleted.
83         (WebCore::ApplyPropertyColor::applyColorValue): Deleted.
84         (WebCore::ApplyPropertyColor::createHandler): Deleted.
85         - Drop color properties support from the DeprecatedStyleBuilder.
86
87         * css/makeprop.pl:
88         - Teach the StyleBuilder generator how to handle color properties.
89         - Use a class for StyleBuilderFunctions instead of a namespace so
90           that it can be made a friend of RenderStyle class.
91
92         * rendering/style/RenderStyle.h:
93         - Mark StyleBuilderFunctions class as friend as its functions
94           can set RenderStyle members directly. This is similar to what
95           is already done for StyleBuilderCustom class. The new color
96           properties handling calls private methods on RenderStyle.
97         - Mark invalidColor() method as static as it does not require
98           an instance.
99
100 2014-12-23  Zalan Bujtas  <zalan@apple.com>
101
102         Incorrect dashed and dotted border painting.
103         https://bugs.webkit.org/show_bug.cgi?id=139872
104         rdar://problem/18024205
105
106         Reviewed by Simon Fraser.
107
108         This patch makes dashed/dotted border painting symmetric and consistent.
109         It also works with subpixel positioning.
110
111         Tests: fast/borders/border-painting-correctness-dashed.html
112                fast/borders/border-painting-correctness-dotted.html
113
114         * platform/graphics/cg/GraphicsContextCG.cpp:
115         (WebCore::GraphicsContext::drawLine):
116         * rendering/RenderObject.cpp:
117         (WebCore::RenderObject::drawLineForBoxSide):
118
119 2014-12-22  Chris Dumez  <cdumez@apple.com>
120
121         [iOS] Log which type of resources are commonly loaded using FeatureCounter
122         https://bugs.webkit.org/show_bug.cgi?id=139890
123
124         Reviewed by Darin Adler.
125
126         Log which type of resources are commonly loaded using FeatureCounter
127         (e.g. stylesheets, scripts, fonts, images, ...).
128
129         * loader/SubresourceLoader.cpp:
130         (WebCore::logResourceLoadedUsingFeatureCounter):
131         (WebCore::SubresourceLoader::didFinishLoading):
132         * platform/FeatureCounterKeys.h:
133
134 2014-12-22  Chris Dumez  <cdumez@apple.com>
135
136         [iOS] Log using FeatureCounter when a PacheCache fails due to memory pressure
137         https://bugs.webkit.org/show_bug.cgi?id=139874
138         <rdar://problem/19255690>
139
140         Reviewed by Darin Adler.
141
142         Log using FeatureCounter when a PacheCache fails due to memory
143         pressure. To detect this, a flag is added to HistoryItem to mark
144         items that are no longer in the page becaused they were pruned
145         (either because of a low memory handling or because the page cache
146         reached its maximum capacity).
147
148         * history/HistoryItem.cpp:
149         (WebCore::HistoryItem::HistoryItem):
150         * history/HistoryItem.h:
151         * history/PageCache.cpp:
152         (WebCore::PageCache::add):
153         (WebCore::PageCache::take):
154         (WebCore::PageCache::get):
155         (WebCore::PageCache::prune):
156         * platform/FeatureCounterKeys.h:
157
158 2014-12-22  Commit Queue  <commit-queue@webkit.org>
159
160         Unreviewed, rolling out r177658.
161         https://bugs.webkit.org/show_bug.cgi?id=139900
162
163         Caused many assertion failures (Requested by ap on #webkit).
164
165         Reverted changeset:
166
167         "Incorrect dashed and dotted border painting."
168         https://bugs.webkit.org/show_bug.cgi?id=139872
169         http://trac.webkit.org/changeset/177658
170
171 2014-12-22  Jaehun Lim  <ljaehun.lim@samsung.com>
172
173         Unreviewed build fix after r177661 and r177662
174
175         * dom/SecurityOriginPolicy.cpp: Modify #include path.
176
177 2014-12-22  Mark Rowe  <mrowe@apple.com>
178
179         [Mac] Engineering builds of WebCore on OS X 10.8 and 10.9 shouldn't build with -gline-tables-only
180         <https://webkit.org/b/139883> / <rdar://problem/19297261>
181
182         Reviewed by Alexey Proskuryakov.
183
184         * Configurations/DebugRelease.xcconfig: Override the setting using conditional settings
185         so that they take precedence over the conditional settings in Base.xcconfig.
186
187 2014-12-22  Alexey Proskuryakov  <ap@apple.com>
188
189         Unreviewed build fix.
190
191         * WebCore.exp.in: Move SQLiteDatabaseTracker::setClient export out of PLATFORM(IOS) section.
192
193 2014-12-22  Anders Carlsson  <andersca@apple.com>
194
195         Remove two functions from SecurityOrigin
196         https://bugs.webkit.org/show_bug.cgi?id=139885
197
198         Reviewed by Andreas Kling.
199
200         * page/SecurityOrigin.h:
201         (WebCore::SecurityOrigin::canAccessPasswordManager): Deleted.
202         (WebCore::SecurityOrigin::canAccessFileSystem): Deleted.
203
204 2014-12-22  Chris Dumez  <cdumez@apple.com>
205
206         [iOS] Log using FeatureCounter user-triggered zooming
207         https://bugs.webkit.org/show_bug.cgi?id=139879
208         <rdar://problem/19329130>
209
210         Reviewed by Benjamin Poulain.
211
212         Log using FeatureCounter user-triggered zooming on iOS.
213
214         * WebCore.exp.in:
215         * WebCore.xcodeproj/project.pbxproj:
216         * platform/FeatureCounter.h:
217         * platform/FeatureCounterKeys.h:
218
219 2014-12-22  Benjamin Poulain  <bpoulain@apple.com>
220
221         Form elements should match :valid and :invalid based on their associated elements
222         https://bugs.webkit.org/show_bug.cgi?id=139850
223
224         Reviewed by Darin Adler.
225
226         In the latest HTML spec, form elements can match :valid or :invalid based
227         on their associated element.
228
229         The tricky part is that object lifetime is a mess. When elements are associated
230         with forms by the parser, the form is set by the constructor of HTMLFormControlElement.
231         At that point, the real object has not been initialized yet which
232         makes it impossible to find its validity.
233
234         To work around the lifetime problem, the code of HTMLFormControlElement::didChangeForm()
235         uses m_willValidateInitialized and m_willValidate direclty instead
236         of invoking willValidate(). That way we don't try to validate an incomplete object.
237
238         When the object really validates, HTMLFormControlElement::setNeedsWillValidateCheck()
239         takes care of updating the form.
240
241         Tests: fast/css/pseudo-invalid-form-and-fieldset-basics.html
242                fast/css/pseudo-invalid-form-basics.html
243                fast/css/pseudo-invalid-form-dynamically-created-basics.html
244                fast/css/pseudo-invalid-form-invalidation-optimization.html
245                fast/css/pseudo-valid-form-and-fieldset-basics.html
246                fast/css/pseudo-valid-form-basics.html
247                fast/css/pseudo-valid-form-dynamically-created-basics.html
248                fast/css/pseudo-valid-form-invalidation-optimization.html
249                fast/selectors/invalid-form-style-update-1.html
250                fast/selectors/invalid-form-style-update-2.html
251                fast/selectors/invalid-form-style-update-3.html
252                fast/selectors/valid-form-style-update-1.html
253                fast/selectors/valid-form-style-update-2.html
254                fast/selectors/valid-form-style-update-3.html
255
256         * css/StyleResolver.cpp:
257         (WebCore::StyleResolver::canShareStyleWithControl):
258         (WebCore::StyleResolver::canShareStyleWithElement):
259         HTMLFormElement is not a FormControl, we have to generalize the test
260         for :valid/:invalid with style sharing.
261
262         * html/HTMLFormControlElement.cpp:
263         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
264         Since we now have willChangeForm(), didChangeForm(), we have to null
265         the form ourself, as documented by FormAssociatedElement.
266
267         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
268         (WebCore::HTMLFormControlElement::willChangeForm):
269         (WebCore::HTMLFormControlElement::didChangeForm):
270         (WebCore::HTMLFormControlElement::updateValidity):
271         Update the owner form when any of the associated form element changes
272         to invalid.
273
274         * html/HTMLFormControlElement.h:
275         * html/HTMLFormElement.cpp:
276         (WebCore::HTMLFormElement::registerInvalidAssociatedFormControl):
277         (WebCore::HTMLFormElement::removeInvalidAssociatedFormControlIfNeeded):
278         (WebCore::HTMLFormElement::matchesValidPseudoClass):
279         (WebCore::HTMLFormElement::matchesInvalidPseudoClass):
280         This is very similar to the code of fieldset, but we have much weaker
281         invariants due to the insane way FormAssociatedElement initializes.
282
283         * html/HTMLFormElement.h:
284         * html/HTMLInputElement.cpp:
285         (WebCore::HTMLInputElement::initializeInputType):
286         For completeness, we should always validate when changing the type.
287         The code was only doing that when the element was inserted into the tree,
288         that was too fragile.
289
290 2014-12-22  Anders Carlsson  <andersca@apple.com>
291
292         Try to fix the Windows build.
293
294         * dom/DOMAllInOne.cpp:
295
296 2014-12-22  Anders Carlsson  <andersca@apple.com>
297
298         Add a SecurityOriginPolicy class
299         https://bugs.webkit.org/show_bug.cgi?id=139875
300
301         Reviewed by Sam Weinig.
302
303         This is the first step towards making SecurityOrigin immutable. SecurityOriginPolicy will hold a
304         SecurityOrigin and will handle things that would otherwise mutate SecurityOrigin.
305
306         * CMakeLists.txt:
307         * WebCore.exp.in:
308         * WebCore.vcxproj/WebCore.vcxproj:
309         * WebCore.vcxproj/WebCore.vcxproj.filters:
310         * WebCore.xcodeproj/project.pbxproj:
311         * dom/DOMImplementation.cpp:
312         (WebCore::DOMImplementation::createDocument):
313         (WebCore::DOMImplementation::createHTMLDocument):
314         * dom/Document.cpp:
315         (WebCore::Document::create):
316         (WebCore::Document::open):
317         (WebCore::Document::cloneDataFromDocument):
318         (WebCore::Document::initSecurityContext):
319         * dom/ScriptExecutionContext.h:
320         * dom/SecurityContext.cpp:
321         (WebCore::SecurityContext::setSecurityOriginPolicy):
322         (WebCore::SecurityContext::securityOrigin):
323         (WebCore::SecurityContext::isSecureTransitionTo):
324         (WebCore::SecurityContext::enforceSandboxFlags):
325         (WebCore::SecurityContext::setSecurityOrigin): Deleted.
326         * dom/SecurityContext.h:
327         (WebCore::SecurityContext::securityOriginPolicy):
328         (WebCore::SecurityContext::securityOrigin): Deleted.
329         * dom/SecurityOriginPolicy.cpp: Added.
330         (WebCore::SecurityOriginPolicy::create):
331         (WebCore::SecurityOriginPolicy::SecurityOriginPolicy):
332         (WebCore::SecurityOriginPolicy::~SecurityOriginPolicy):
333         * dom/SecurityOriginPolicy.h: Added.
334         (WebCore::SecurityOriginPolicy::origin):
335         * loader/DocumentWriter.cpp:
336         (WebCore::DocumentWriter::begin):
337         * workers/WorkerGlobalScope.cpp:
338         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
339         * xml/XMLHttpRequest.cpp:
340         (WebCore::XMLHttpRequest::responseXML):
341         * xml/XMLTreeViewer.cpp:
342         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
343         * xml/XSLTProcessor.cpp:
344         (WebCore::XSLTProcessor::createDocumentFromSource):
345
346 2014-12-22  Zalan Bujtas  <zalan@apple.com>
347
348         Incorrect dashed and dotted border painting.
349         https://bugs.webkit.org/show_bug.cgi?id=139872
350         rdar://problem/18024205
351
352         Reviewed by Simon Fraser.
353
354         This patch makes dashed/dotted border painting symmetric and consistent.
355         It also works with subpixel positioning.
356
357         Tests: fast/borders/border-painting-correctness-dashed.html
358                fast/borders/border-painting-correctness-dotted.html
359
360         * platform/graphics/cg/GraphicsContextCG.cpp:
361         (WebCore::GraphicsContext::drawLine):
362         * rendering/RenderObject.cpp:
363         (WebCore::RenderObject::drawLineForBoxSide):
364
365 2014-12-22  Timothy Horton  <timothy_horton@apple.com>
366
367         TextIndicatorWindow is larger than it needs to be, especially when not bouncing
368         https://bugs.webkit.org/show_bug.cgi?id=139876
369         <rdar://problem/19311017>
370
371         Reviewed by Sam Weinig.
372
373         * page/TextIndicator.cpp:
374         (WebCore::TextIndicator::wantsBounce):
375         (WebCore::TextIndicator::wantsContentCrossfade):
376         (WebCore::TextIndicator::wantsFadeIn):
377         * page/TextIndicator.h:
378         * page/mac/TextIndicatorWindow.mm:
379         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
380         (-[WebTextIndicatorView _animationDuration]):
381         (-[WebTextIndicatorView present]):
382         (WebCore::TextIndicatorWindow::setTextIndicator):
383         (-[WebTextIndicatorView _textIndicatorWantsBounce]): Deleted.
384         (-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]): Deleted.
385         (-[WebTextIndicatorView _textIndicatorWantsFadeIn]): Deleted.
386         Move the various switches over TextIndicatorPresentationTransition into TextIndicator.
387         Adjust the margin; only inflate by the shadow if we're not bouncing.
388         If we are bouncing, fix the math to more tightly fit the bounce.
389         Previously we were inflating by way too much, and even when we didn't need to.
390
391 2014-12-22  Chris Dumez  <cdumez@apple.com>
392
393         [iOS] Log using FeatureCounter when a PacheCache entry is not reused because it expired
394         https://bugs.webkit.org/show_bug.cgi?id=139869
395         <rdar://problem/19255690>
396
397         Reviewed by Darin Adler.
398
399         Log using FeatureCounter when a PacheCache entry is not reused because
400         it expired.
401
402         * history/PageCache.cpp:
403         (WebCore::PageCache::take):
404         (WebCore::PageCache::get):
405         * history/PageCache.h:
406         * loader/FrameLoader.cpp:
407         (WebCore::FrameLoader::commitProvisionalLoad):
408         (WebCore::FrameLoader::loadDifferentDocumentItem):
409         * loader/HistoryController.cpp:
410         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
411         * platform/FeatureCounterKeys.h:
412
413 2014-12-22  Antti Koivisto  <antti@apple.com>
414
415         Try to fix the windows build.
416
417         * platform/graphics/win/SimpleFontDataCGWin.cpp:
418
419 2014-12-22  Timothy Horton  <timothy_horton@apple.com>
420
421         Adjust TextIndicator shadow parameters
422         https://bugs.webkit.org/show_bug.cgi?id=139871
423         <rdar://problem/19283300>
424
425         Reviewed by Sam Weinig.
426
427         * page/mac/TextIndicatorWindow.mm:
428         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
429         Slightly adjust the shadow and bounce size.
430
431 2014-12-22  Chris Dumez  <cdumez@apple.com>
432
433         Consistently use "FeatureCounter*Key" naming for FeatureCounter keys
434         https://bugs.webkit.org/show_bug.cgi?id=139867
435
436         Reviewed by Darin Adler.
437
438         Consistently use "FeatureCounter*Key" naming for FeatureCounter keys.
439
440         * loader/FrameLoader.cpp:
441         (WebCore::logNavigationWithFeatureCounter):
442         * platform/FeatureCounterKeys.h:
443
444 2014-12-22  Antti Koivisto  <antti@apple.com>
445
446         Generic font code should not know about SVG font missing glyph
447         https://bugs.webkit.org/show_bug.cgi?id=139864
448
449         Reviewed by Andreas Kling and Myles Maxfield.
450
451         The defined missing glyph is an SVG font concept and should be handled in SVG code.
452
453         * platform/graphics/FontGlyphs.cpp:
454         (WebCore::FontGlyphs::glyphDataForSystemFallback):
455         (WebCore::FontGlyphs::glyphDataForVariant):
456
457             Return null glyph instead of the missing glyph (the missing glyph was already a null glyph in all non-svg-font cases).
458             Use early return style.
459
460         * platform/graphics/FontGlyphs.h:
461         * platform/graphics/SegmentedFontData.cpp:
462         * platform/graphics/SimpleFontData.cpp:
463         (WebCore::SimpleFontData::platformGlyphInit):
464         * platform/graphics/SimpleFontData.h:
465
466             Remove the missingGlyph member.
467
468         * platform/graphics/WidthIterator.cpp:
469         (WebCore::WidthIterator::advanceInternal):
470
471             Explicitly skip over null glyphs. Before they had non-null fontData and would get skipped implicitly.
472
473         * platform/graphics/mac/SimpleFontDataMac.mm:
474         * rendering/svg/SVGTextRunRenderingContext.cpp:
475         (WebCore::missingGlyphForFont):
476
477             Get the missing glyph from the SVG font element.
478
479         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
480
481             Return the missing glyph if the normal lookup didn't produce results.
482
483         * svg/SVGFontData.cpp:
484         (WebCore::SVGFontData::initializeFontData):
485
486 2014-12-22  Chris Dumez  <cdumez@apple.com>
487
488         Move "Auto" CSS properties to the new StyleBuilder
489         https://bugs.webkit.org/show_bug.cgi?id=139858
490
491         Reviewed by Antti Koivisto.
492
493         Move "Auto" CSS properties from DeprecatedStyleBuilder to the new
494         StyleBuilder, by adding support in the generator for using hasAutoXXX()
495         / setHasAutoXXX() methods on RenderStyle.
496
497         No new tests, no web-exposed behavior change.
498
499         * css/CSSPropertyNames.in:
500         * css/DeprecatedStyleBuilder.cpp:
501         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
502         (WebCore::ApplyPropertyAuto::setValue): Deleted.
503         (WebCore::ApplyPropertyAuto::value): Deleted.
504         (WebCore::ApplyPropertyAuto::hasAuto): Deleted.
505         (WebCore::ApplyPropertyAuto::setAuto): Deleted.
506         (WebCore::ApplyPropertyAuto::applyInheritValue): Deleted.
507         (WebCore::ApplyPropertyAuto::applyInitialValue): Deleted.
508         (WebCore::ApplyPropertyAuto::applyValue): Deleted.
509         (WebCore::ApplyPropertyAuto::createHandler): Deleted.
510         * css/StyleBuilderCustom.h:
511         (WebCore::StyleBuilderCustom::applyInitialColumnGap):
512         (WebCore::StyleBuilderCustom::applyInheritColumnGap):
513         (WebCore::StyleBuilderCustom::applyValueColumnGap):
514         * css/makeprop.pl:
515         (getNameForMethods):
516         (getAutoGetter):
517         (getAutoSetter):
518         (generateInitialValueSetter):
519         (generateInheritValueSetter):
520         (generateValueSetter):
521
522 2014-12-21  Shivakumar JM  <shiva.jm@samsung.com>
523
524         HTMLSelectElement add() should support adding group of options element (HTMLOptGroupElement).
525         https://bugs.webkit.org/show_bug.cgi?id=139806
526
527         Reviewed by Darin Adler.
528
529         HTMLSelectElement add() should support adding group of options (optgroup) element.
530
531         Test: fast/dom/HTMLSelectElement/select-add-optgroup.html
532
533         * html/HTMLSelectElement.cpp:
534         (WebCore::HTMLSelectElement::add):
535
536 2014-12-21  Chris Dumez  <cdumez@apple.com>
537
538         Fix missing assertion in r177623.
539         https://bugs.webkit.org/show_bug.cgi?id=139334
540
541         Reviewed by Darin Adler.
542
543         ValueWithCalculation::setCalculation() was meant to include an
544         "isCalculation()" assertion but I inadvertently omitted the
545         ASSERT() around the statement.
546
547         * css/CSSParser.h:
548         (WebCore::CSSParser::ValueWithCalculation::setCalculation):
549
550 2014-12-21  Gabor Rapcsanyi  <rgabor@webkit.org>
551
552         AX: Hidden aria table crash
553         https://bugs.webkit.org/show_bug.cgi?id=139856
554
555         Reviewed by Chris Fleizach.
556
557         Change axCaption to pointer and check it's value because
558         AXObjectCache::getOrCreate() can return with nullptr.
559
560         Test: accessibility/aria-hidden-crash.html
561
562         * accessibility/AccessibilityTable.cpp:
563         (WebCore::AccessibilityTable::addChildren):
564
565 2014-12-20  Chris Dumez  <cdumez@apple.com>
566
567         Get rid of error-prone ReleaseParsedCalcValueCondition argument in CSSParser
568         https://bugs.webkit.org/show_bug.cgi?id=139334
569
570         Reviewed by Darin Adler.
571
572         Get rid of error-prone ReleaseParsedCalcValueCondition argument in
573         CSSParser that determines the the m_parsedCalculation member should
574         be released.
575
576         Instead, introduce a new ValueWithCalculation type which wraps a
577         CSSParserValue and an optional parsed calculation value. This way,
578         the parsed calculation value is now associated with its CSSParserValue.
579         This makes it very difficult to use a parsed calculation value for the
580         wrong CSSParserValue. The API is also easier to use as developers no
581         longer need to explicitly indicate if the calculation value should be
582         released or not.
583
584         No new tests, no web-behavior change.
585
586 2014-12-20  Eric Carlson  <eric.carlson@apple.com>
587
588         [iOS] add optimized fullscreen API
589         https://bugs.webkit.org/show_bug.cgi?id=139833
590         <rdar://problem/18844486>
591
592         Reviewed by Simon Fraser.
593
594         * Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.
595
596         * Modules/mediacontrols/MediaControlsHost.cpp:
597         (WebCore::MediaControlsHost::optimizedFullscreenSupported): Deleted.
598         (WebCore::MediaControlsHost::fullscreenMode): Deleted.
599         * Modules/mediacontrols/MediaControlsHost.h:
600         * Modules/mediacontrols/MediaControlsHost.idl:
601
602         * Modules/mediacontrols/mediaControlsiOS.js:
603         (ControllerIOS.prototype.addVideoListeners): Listen for 'webkitpresentationmodechanged'.
604         (ControllerIOS.prototype.removeVideoListeners): Stop listening for 'webkitpresentationmodechanged'.
605         (ControllerIOS.prototype.configureInlineControls): Call video element instead of using the now 
606             removed host property.
607         (ControllerIOS.prototype.updateControls): Ditto.
608         (ControllerIOS.prototype.presentationMode): New, return webkitPresentationMode when possible.
609         (ControllerIOS.prototype.handleFullscreenButtonClicked): Use webkitSetPresentationMode when possible.
610         (ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): Use video element instead of 
611             using the now removed host method.
612         (ControllerIOS.prototype.handlePresentationModeChange): New, react to presentation mode changes.
613         (ControllerIOS.prototype.handleFullscreenChange): Call handlePresentationModeChange.
614
615         * dom/EventNames.h: Add webkitpresentationmodechanged.
616
617         * html/HTMLAttributeNames.in: Add onwebkitpresentationmodechanged.
618
619         * html/HTMLMediaElement.cpp:
620         (WebCore::HTMLMediaElement::enterFullscreen): Early return when asked to change to the current 
621             mode. Call fullscreenModeChanged() instead of whacking the instance variable directly.
622         (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
623         * html/HTMLMediaElement.h:
624         (WebCore::HTMLMediaElement::fullscreenModeChanged): Make virtual.
625
626         * html/HTMLVideoElement.cpp:
627         (WebCore::HTMLVideoElement::parseAttribute): Deal with onwebkitpresentationmodechange.
628         (WebCore::presentationModeFullscreen): New.
629         (WebCore::presentationModeOptimized): Ditto.
630         (WebCore::presentationModeInline): Ditto.
631         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Ditto.
632         (WebCore::HTMLVideoElement::webkitSetPresentationMode): Ditto.
633         (WebCore::HTMLVideoElement::webkitPresentationMode): Ditto.
634         (WebCore::HTMLVideoElement::fullscreenModeChanged): Ditto.
635         * html/HTMLVideoElement.h:
636         * html/HTMLVideoElement.idl:
637
638         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
639         (WebVideoFullscreenInterfaceAVKit::setIsOptimized): Simplify the logic a bit. Don't report
640             a mode change when 
641
642 2014-12-20  David Kilzer  <ddkilzer@apple.com>
643
644         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
645         <http://webkit.org/b/139463>
646
647         Reviewed by Mark Rowe.
648
649         Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
650         WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
651         r132859 and needed for Leopard.
652
653         * Configurations/Base.xcconfig:
654         - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
655           on OS X.
656         - Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
657         - Simplify SQLITE3_HEADER_SEARCH_PATHS.
658         * Configurations/DebugRelease.xcconfig:
659         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
660         * Configurations/Version.xcconfig:
661         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
662         * Configurations/WebCore.xcconfig:
663         - Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
664           FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
665           OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
666           WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
667           PRODUCTION_FRAMEWORKS_DIR,
668           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
669           EXCLUDED_SOURCE_FILE_NAMES based on SDK.
670         - Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
671           overrideable by WebCoreTestSupport.xcconfig.
672         * Configurations/WebCoreTestSupport.xcconfig:
673         - Set PRIVATE_HEADERS_FOLDER_PATH_Production and
674           INSTALL_PATH_Production based on SDK.
675         - Override SECT_ORDER_FLAGS from WebCore.xcconfig.
676
677 2014-12-19  Myles C. Maxfield  <mmaxfield@apple.com>
678
679         [SVG -> OTF Converter] Make placeholders more robust
680         https://bugs.webkit.org/show_bug.cgi?id=139836
681
682         Reviewed by Dan Bernstein.
683
684         This patch creates a Placeholder object which hides the complexity of
685         populating offsets to subtables.
686
687         No new tests because there is no behavior change.
688
689         * svg/SVGToOTFFontConversion.cpp:
690         (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
691         (WebCore::SVGToOTFFontConverter::Placeholder::populate):
692         (WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):
693         (WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable):
694         (WebCore::SVGToOTFFontConverter::appendGSUBTable):
695
696 2014-12-19  Chris Dumez  <cdumez@apple.com>
697
698         Fix initial / inherit support for '-webkit-perspective-origin' CSS property
699         https://bugs.webkit.org/show_bug.cgi?id=139843
700
701         Reviewed by Simon Fraser.
702
703         Fix initial / inherit support for '-webkit-perspective-origin' CSS
704         property. These previously had no effect.
705
706         This patch updates the code to be consistent with
707         '-webkit-transform-origin' and gets rid of the code in
708         DeprecatedStyleBuilder as it isn't used.
709
710         Test: fast/css/perspective-origin-initial-inherit.html
711
712         * css/DeprecatedStyleBuilder.cpp:
713         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
714         (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue): Deleted.
715         (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue): Deleted.
716         (WebCore::ApplyPropertyPerspectiveOrigin::applyValue): Deleted.
717         (WebCore::ApplyPropertyPerspectiveOrigin::createHandler): Deleted.
718         * css/StyleProperties.cpp:
719         (WebCore::StyleProperties::getPropertyValue):
720         (WebCore::StyleProperties::asText):
721         * css/StylePropertyShorthand.cpp:
722         (WebCore::webkitPerspectiveOriginShorthand):
723         (WebCore::shorthandForProperty):
724         (WebCore::matchingShorthandsForLonghand):
725         * css/StylePropertyShorthand.h:
726         * css/StyleResolver.cpp:
727         (WebCore::StyleResolver::applyProperty):
728
729 2014-12-19  Commit Queue  <commit-queue@webkit.org>
730
731         Unreviewed, rolling out r177599.
732         https://bugs.webkit.org/show_bug.cgi?id=139846
733
734         this breaks so many things (Requested by thorton_ on #webkit).
735
736         Reverted changeset:
737
738         "TextIndicator's window can be pushed down if it intersects
739         the menu bar"
740         https://bugs.webkit.org/show_bug.cgi?id=139841
741         http://trac.webkit.org/changeset/177599
742
743 2014-12-19  Timothy Horton  <timothy_horton@apple.com>
744
745         TextIndicator's window can be pushed down if it intersects the menu bar
746         https://bugs.webkit.org/show_bug.cgi?id=139841
747         <rdar://problem/19311017>
748
749         Reviewed by Anders Carlsson.
750
751         * page/mac/TextIndicatorWindow.mm:
752         (WebCore::TextIndicatorWindow::setTextIndicator):
753         Ensure that the textIndicatorWindow sits above the menubar, and re-set
754         its frame so that it moves under the menubar if required.
755
756 2014-12-19  Anders Carlsson  <andersca@apple.com>
757
758         Use WebCore::MachSendRights for the compositing render server port
759         https://bugs.webkit.org/show_bug.cgi?id=139834
760
761         Reviewed by Tim Horton.
762
763         * WebCore.exp.in:
764
765 2014-12-19  Chris Dumez  <cdumez@apple.com>
766
767         [iOS] Log how often media element playback happens using FeatureCounter
768         https://bugs.webkit.org/show_bug.cgi?id=139819
769         <rdar://problem/19309988>
770
771         Reviewed by Eric Carlson.
772
773         Log using FeatureCounter how often we start loading for audio / video
774         elements, and how often they end up being played.
775
776         * html/HTMLMediaElement.cpp:
777         (WebCore::HTMLMediaElement::HTMLMediaElement):
778         Add flag to identify when a media element starts playing for the first
779         time.
780
781         (WebCore::HTMLMediaElement::loadResource):
782         Log when a media element starts loading.
783
784         (WebCore::HTMLMediaElement::updatePlayState):
785         Log when a media element starts playing for the first time.
786
787         * html/HTMLMediaElement.h:
788         Add flag to identify when a media element starts playing for the first
789         time.
790
791         * platform/FeatureCounterKeys.h:
792         Add FeatureCounter keys for HTMLMediaElement loading / playback.
793
794 2014-12-19  Andreas Kling  <akling@apple.com>
795
796         Ref-ify TextIterator API.
797         <https://webkit.org/b/139823>
798
799         Reviewed by Antti Koivisto.
800
801         Change TextIterator functions that always return Range objects to return
802         Ref<Range> instead of PassRefPtr<Range>.
803
804         One API (rangeFromLocationAndLength) may return nullptr, so its return type
805         is now RefPtr<Range>.
806
807         * editing/TextIterator.cpp:
808         (WebCore::TextIterator::range):
809         (WebCore::TextIterator::node):
810         (WebCore::SimplifiedBackwardsTextIterator::range):
811         (WebCore::CharacterIterator::range):
812         (WebCore::characterSubrange):
813         (WebCore::BackwardsCharacterIterator::range):
814         (WebCore::TextIterator::subrange):
815         (WebCore::TextIterator::rangeFromLocationAndLength):
816         (WebCore::TextIterator::getLocationAndLengthFromRange):
817         (WebCore::collapsedToBoundary):
818         (WebCore::findPlainText):
819         * editing/TextIterator.h:
820
821 2014-12-19  Joseph Pecoraro  <pecoraro@apple.com>
822
823         Web Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html
824         https://bugs.webkit.org/show_bug.cgi?id=139792
825
826         Reviewed by Timothy Hatcher.
827
828         * bindings/js/WorkerScriptDebugServer.cpp:
829         (WebCore::WorkerScriptDebugServer::removeListener):
830         When removing listeners, we could be during WorkerGlobalObject shutdown
831         and WorkerGlobalObject::script may be null.
832
833         * workers/WorkerMessagingProxy.cpp:
834         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
835         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
836         This postTask may happen after m_pageInspector has been cleared, so
837         only execute it if m_pageInspector is still valid.
838
839 2014-12-19  Chris Dumez  <cdumez@apple.com>
840
841         Drop useless HTMLMediaElement::m_previousProgress member
842         https://bugs.webkit.org/show_bug.cgi?id=139822
843
844         Reviewed by Eric Carlson.
845
846         Drop HTMLMediaElement::m_previousProgress member and it is not used or
847         even initialized.
848
849         * html/HTMLMediaElement.h:
850
851 2014-12-19  Chris Dumez  <cdumez@apple.com>
852
853         [iOS] Log how successful the memory cache is using FeatureCounter
854         https://bugs.webkit.org/show_bug.cgi?id=139802
855
856         Reviewed by Andreas Kling.
857
858         Log how successful the memory cache is using FeatureCounter and why we
859         choose not to use the resource in the memory cache when it is present.
860
861         * loader/cache/CachedResourceLoader.cpp:
862         (WebCore::CachedResourceLoader::requestResource):
863         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
864         * platform/FeatureCounterKeys.h:
865
866 2014-12-19  Commit Queue  <commit-queue@webkit.org>
867
868         Unreviewed, rolling out r177574.
869         https://bugs.webkit.org/show_bug.cgi?id=139821
870
871         "Broke Production builds by installing
872         libWebCoreTestSupport.dylib in the wrong directory" (Requested
873         by ddkilzer on #webkit).
874
875         Reverted changeset:
876
877         "Switch from using PLATFORM_NAME to SDK selectors in WebCore,
878         WebInspectorUI, WebKit, WebKit2"
879         https://bugs.webkit.org/show_bug.cgi?id=139463
880         http://trac.webkit.org/changeset/177574
881
882 2014-12-19  Said Abou-Hallawa  <sabouhallawa@apple.com>
883
884         Only when the SVG is inline and only when a shape is referenced before it is defined, this shape will not be drawn.
885         https://bugs.webkit.org/show_bug.cgi?id=139451.
886
887         Reviewed by Antti Koivisto.
888
889         Tests: svg/in-html/defs-after-use.html.
890
891         When parsing the children of an SVG element is finished, we need to notify the
892         other SVG elements which have incomplete shadow trees because of early referencing
893         to this element. The referencing elements need to rebuild their shadow trees and
894         make new copies of the this element and its sub-tree.
895         
896         This is the case where a <use> tag references target elements before these target
897         elements are defined. Updating the shadow DOM tree of a <use> element should update
898         the corresponding shadow render tree as well.
899
900         * svg/SVGElement.cpp:
901         (WebCore::SVGElement::finishParsingChildren):
902         Invalidate all the referencing elements of a target element whose sub-tree has
903         just finished parsing.
904
905 2014-12-19  David Kilzer  <ddkilzer@apple.com>
906
907         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
908         <http://webkit.org/b/139463>
909
910         Reviewed by Mark Rowe.
911
912         Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
913         WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
914         r132859 and needed for Leopard.
915
916         * Configurations/Base.xcconfig:
917         - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
918           on OS X.
919         - Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
920         - Simplify SQLITE3_HEADER_SEARCH_PATHS.
921         * Configurations/DebugRelease.xcconfig:
922         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
923         * Configurations/Version.xcconfig:
924         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
925         * Configurations/WebCore.xcconfig:
926         - Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
927           FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
928           OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
929           WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
930           PRODUCTION_FRAMEWORKS_DIR,
931           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
932           EXCLUDED_SOURCE_FILE_NAMES based on SDK.
933         - Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
934           overrideable by WebCoreTestSupport.xcconfig.
935         * Configurations/WebCoreTestSupport.xcconfig:
936         - Set PRIVATE_HEADERS_FOLDER_PATH_Production and
937           INSTALL_PATH_Production based on SDK.
938         - Override SECT_ORDER_FLAGS from WebCore.xcconfig.
939
940 2014-12-19  Chris Dumez  <cdumez@apple.com>
941
942         Clean up StyleBuilderCustom and DeprecatedStyleBuilder
943         https://bugs.webkit.org/show_bug.cgi?id=139807
944
945         Reviewed by Antti Koivisto.
946
947         Clean up StyleBuilderCustom and DeprecatedStyleBuilder.
948
949         * css/DeprecatedStyleBuilder.cpp:
950
951         - Remove unnecessary header includes.
952
953         (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue):
954         (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue):
955         (WebCore::ApplyPropertyPerspectiveOrigin::applyValue):
956         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
957         (WebCore::ApplyPropertyExpanding::applyInheritValue): Deleted.
958         (WebCore::ApplyPropertyExpanding::applyInitialValue): Deleted.
959         (WebCore::ApplyPropertyExpanding::applyValue): Deleted.
960         (WebCore::ApplyPropertyExpanding::createHandler): Deleted.
961
962         - Rename ApplyPropertyExpanding to ApplyPropertyPerspectiveOrigin as
963           PerspectiveOrigin is the only remaining user of this class. This also
964           allows us to simplify the implementation a lot.
965
966         (WebCore::ApplyPropertyDefaultBase::setValue): Deleted.
967         (WebCore::ApplyPropertyDefaultBase::value): Deleted.
968         (WebCore::ApplyPropertyDefaultBase::initial): Deleted.
969         (WebCore::ApplyPropertyDefaultBase::applyInheritValue): Deleted.
970         (WebCore::ApplyPropertyDefaultBase::applyInitialValue): Deleted.
971         (WebCore::ApplyPropertyDefaultBase::applyValue): Deleted.
972
973         - There is no longer any user of this templated class.
974
975         * css/StyleBuilderCustom.h:
976
977         - Introduce a macro that declares all 3 handlers (inherit, initial and
978           value) in the StyleBuilderCustom class. This greatly reduces the
979           number of lines in this class.
980         - Also alphabetize the handlers.
981
982 2014-12-18  Jeremy Jones  <jeremyj@apple.com>
983
984         dispatch to main thread before accessing playerController() in WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse
985         https://bugs.webkit.org/show_bug.cgi?id=139809
986
987         Reviewed by Dan Bernstein.
988
989         This prevents a race in playerController().
990
991         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
992         (WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):
993
994 2014-12-18  Jessie Berlin  <jberlin@webkit.org>
995
996         More speculative build fixing.
997
998         * WebCore.exp.in:
999
1000 2014-12-18  Andreas Kling  <akling@apple.com>
1001
1002         Ref-ify various Document-related things.
1003         <https://webkit.org/b/139796>
1004
1005         Reviewed by Anders Carlsson.
1006
1007         * bindings/objc/DOMHTML.mm:
1008         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
1009         * dom/CDATASection.cpp:
1010         (WebCore::CDATASection::create):
1011         (WebCore::CDATASection::virtualCreate):
1012         * dom/CDATASection.h:
1013         * dom/Comment.cpp:
1014         (WebCore::Comment::create):
1015         * dom/Comment.h:
1016         * dom/Document.cpp:
1017         (WebCore::Document::create):
1018         (WebCore::Document::createDocumentFragment):
1019         (WebCore::Document::createTextNode):
1020         (WebCore::Document::createComment):
1021         (WebCore::Document::createEditingTextNode):
1022         (WebCore::Document::createCSSStyleDeclaration):
1023         (WebCore::Document::createElement):
1024         (WebCore::Document::createRange):
1025         (WebCore::Document::createParser):
1026         (WebCore::Document::cloneNodeInternal):
1027         (WebCore::Document::cloneDocumentWithoutChildren):
1028         * dom/Document.h:
1029         (WebCore::Document::create):
1030         (WebCore::Document::createXHTML):
1031         (WebCore::Document::createNonRenderedPlaceholder):
1032         * dom/DocumentFragment.cpp:
1033         (WebCore::DocumentFragment::create):
1034         * dom/DocumentFragment.h:
1035         * dom/DocumentType.h:
1036         * dom/EntityReference.cpp:
1037         (WebCore::EntityReference::create):
1038         * dom/EntityReference.h:
1039         * dom/Text.cpp:
1040         (WebCore::Text::create):
1041         (WebCore::Text::createEditingText):
1042         (WebCore::Text::splitText):
1043         (WebCore::Text::virtualCreate):
1044         (WebCore::Text::createWithLengthLimit):
1045         * dom/Text.h:
1046         * editing/markup.cpp:
1047         (WebCore::replaceChildrenWithText):
1048         * html/FTPDirectoryDocument.cpp:
1049         (WebCore::FTPDirectoryDocument::createParser):
1050         * html/FTPDirectoryDocument.h:
1051         * html/HTMLDocument.cpp:
1052         (WebCore::HTMLDocument::createParser):
1053         (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
1054         * html/HTMLDocument.h:
1055         (WebCore::HTMLDocument::create):
1056         (WebCore::HTMLDocument::createSynthesizedDocument):
1057         * html/ImageDocument.cpp:
1058         (WebCore::ImageDocument::createParser):
1059         * html/ImageDocument.h:
1060         * html/MediaDocument.cpp:
1061         (WebCore::MediaDocument::createParser):
1062         * html/MediaDocument.h:
1063         * html/PluginDocument.cpp:
1064         (WebCore::PluginDocument::createParser):
1065         * html/PluginDocument.h:
1066         * html/TextDocument.cpp:
1067         (WebCore::TextDocument::createParser):
1068         * html/TextDocument.h:
1069         * html/parser/HTMLConstructionSite.cpp:
1070         (WebCore::HTMLConstructionSite::insertTextNode):
1071         * html/parser/HTMLDocumentParser.h:
1072         (WebCore::HTMLDocumentParser::create):
1073         * loader/SinkDocument.cpp:
1074         (WebCore::SinkDocument::createParser):
1075         * loader/SinkDocument.h:
1076         * svg/SVGDocument.cpp:
1077         (WebCore::SVGDocument::cloneDocumentWithoutChildren):
1078         * svg/SVGDocument.h:
1079         * xml/parser/XMLDocumentParser.h:
1080         (WebCore::XMLDocumentParser::create):
1081         * xml/parser/XMLDocumentParserLibxml2.cpp:
1082         (WebCore::XMLParserContext::createStringParser):
1083         (WebCore::XMLParserContext::createMemoryParser):
1084
1085 2014-12-18  Anders Carlsson  <andersca@apple.com>
1086
1087         Use MachSendRight in WebKit2
1088         https://bugs.webkit.org/show_bug.cgi?id=139800
1089
1090         Reviewed by Tim Horton.
1091
1092         * WebCore.exp.in:
1093         * platform/cocoa/MachSendRight.h:
1094         (WebCore::MachSendRight::MachSendRight):
1095         (WebCore::MachSendRight::sendRight):
1096         * platform/graphics/cocoa/IOSurface.h:
1097         * platform/graphics/cocoa/IOSurface.mm:
1098         (IOSurface::createFromSendRight):
1099         (IOSurface::createFromMachPort): Deleted.
1100
1101 2014-12-18  Gavin Barraclough  <barraclough@apple.com>
1102
1103         Add strong typing to RefCounter interface, return value as a bool.
1104         https://bugs.webkit.org/show_bug.cgi?id=139776
1105
1106         Reviewed by Geoff Garen.
1107
1108         Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>.
1109         This means there is no compile time type checking to prevent mistakes. Update the count()
1110         method to token<>(), templated on type used to identify the token being returned.
1111         Calls to token<T>() will return a result of type RefCounter::Token<T>.
1112
1113         There are a few problems with the fact the counter will return you an exact count of the
1114         number of outstanding tokens:
1115           - It is desirable to only fire the callback on zero-edge changes; it is more consistent
1116             to do so if the value is only readable as a boolean.
1117           - It is desirable to provide the value as an argument to the callback, however to make
1118             this useful for integer values it is also necessary to indicate the direction of change
1119             (0->1 is often interesting where 2->1 is not).
1120           - There is a mismatch between the precision of returning a count, and the inherent
1121             imprecision of a token based mechanism, where it may be difficult to guarantee
1122             absolutely no unnecessary refcount churn, and thus unintentional counter values.
1123
1124         * page/PageThrottler.cpp:
1125         (WebCore::m_mediaActivityCounter):
1126         (WebCore::m_pageLoadActivityCounter):
1127             - lambdas now passed the value.
1128         (WebCore::PageThrottler::mediaActivityToken):
1129         (WebCore::PageThrottler::pageLoadActivityToken):
1130             - count() -> token<>().
1131         * page/PageThrottler.h:
1132             - specify tpoken type for PageActivityAssertionToken.
1133
1134 2014-12-18  Benjamin Poulain  <bpoulain@apple.com>
1135
1136         HTMLFormControlElement and HTMLObjectElement need not to look for an ancestor on construction
1137         https://bugs.webkit.org/show_bug.cgi?id=139791
1138
1139         Reviewed by Alexey Proskuryakov.
1140
1141         The objects are being constructed, they have not been inserted into the tree yet.
1142         There is not chance of finding the owner form at this point,
1143         that is done when inserting the node into the tree.
1144
1145         * html/HTMLFormControlElement.cpp:
1146         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1147         * html/HTMLObjectElement.cpp:
1148         (WebCore::HTMLObjectElement::HTMLObjectElement):
1149
1150 2014-12-18  Chris Fleizach  <cfleizach@apple.com>
1151
1152         AX: Recursive crash at WebCore::accessibleNameForNode
1153         https://bugs.webkit.org/show_bug.cgi?id=139616
1154
1155         Reviewed by Mario Sanchez Prada.
1156
1157         An image that uses aria-labelledby to reference its own parent can lead to a recursion crash.
1158         There needs to be some information we can pass through these methods to ensure we don't hit this case.
1159
1160         Test: accessibility/accessibility-description-crash.html
1161
1162         * accessibility/AccessibilityNodeObject.cpp:
1163         (WebCore::AccessibilityNodeObject::alternativeText):
1164         (WebCore::AccessibilityNodeObject::textUnderElement):
1165         (WebCore::accessibleNameForNode):
1166         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
1167         * accessibility/AccessibilityObject.h:
1168         (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
1169
1170 2014-12-18  Chris Fleizach  <cfleizach@apple.com>
1171
1172         AX: Heuristic: Avoid exposing an element as clickable if mouse event delegation is handled on an element with any explicit ARIA role, including presentation.
1173         https://bugs.webkit.org/show_bug.cgi?id=133613
1174
1175         Reviewed by Mario Sanchez Prada.
1176
1177         This adds a heuristic to avoid a problem we have where too many objects that say they respond to press actions for accessibility.
1178         It results from people installing click handlers on container nodes and then lots of static text objects are "clickable" in the eyes of VoiceOver.
1179
1180         What we can do is avoid this determination if the element is presentational.
1181
1182         Test: platform/mac/accessibility/press-action-for-presentational-descendants.html
1183
1184         * accessibility/AccessibilityObject.cpp:
1185         (WebCore::nodeHasPresentationRole):
1186         (WebCore::AccessibilityObject::supportsPressAction):
1187         * accessibility/AccessibilityObject.h:
1188         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1189         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
1190
1191 2014-12-18  Chris Fleizach  <cfleizach@apple.com>
1192
1193         AX: event.target should sometimes be a descendant element on AXPress-triggered mouse clicks
1194         https://bugs.webkit.org/show_bug.cgi?id=135689
1195
1196         Reviewed by Mario Sanchez Prada.
1197
1198         When trying to find the right sub-node to target, we need to go back up the parent chain to find 
1199         an Element, in case we land on a Text node for example.
1200
1201         Test: accessibility/press-target-uses-text-descendant-node.html
1202
1203         * accessibility/AccessibilityObject.cpp:
1204         (WebCore::AccessibilityObject::press):
1205
1206 2014-12-16  Sam Weinig  <sam@webkit.org>
1207
1208         Unify the Mac and iOS implementations of FontPlatformData a bit
1209         https://bugs.webkit.org/show_bug.cgi?id=139721
1210
1211         Reviewed by Anders Carlsson.
1212
1213         This is a first pass of unifying the Mac and iOS implementations of FontPlatformData.
1214         Notable changes:
1215         - Change the storage of the platform font to be CTFontRef across the board. Adds NSFont
1216           setter/getter/constructor as a temporary measures during the transition away from NSFont.
1217         - Removes duplicate code that only differed by whether the type was NSFont or CTFontRef.
1218         - Reduces the number of #ifdefs.
1219
1220         * platform/graphics/FontPlatformData.cpp:
1221         (WebCore::FontPlatformData::FontPlatformData):
1222         (WebCore::FontPlatformData::operator=):
1223         (WebCore::FontPlatformData::openTypeTable): Deleted.
1224         * platform/graphics/FontPlatformData.h:
1225         (WebCore::FontPlatformData::nsFont):
1226         (WebCore::FontPlatformData::setNSFont):
1227         (WebCore::FontPlatformData::hash):
1228         (WebCore::FontPlatformData::operator==):
1229         (WebCore::FontPlatformData::isHashTableDeletedValue):
1230         (WebCore::toCTFontRef): Deleted.
1231         (WebCore::FontPlatformData::font): Deleted.
1232         (WebCore::FontPlatformData::roundsGlyphAdvances): Deleted.
1233         (WebCore::FontPlatformData::cgFont): Deleted.
1234         (WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
1235         * platform/graphics/SimpleFontData.h:
1236         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1237         (WebCore::FontPlatformData::FontPlatformData):
1238         (WebCore::FontPlatformData::~FontPlatformData):
1239         (WebCore::FontPlatformData::platformDataInit):
1240         (WebCore::FontPlatformData::platformDataAssign):
1241         (WebCore::FontPlatformData::setFont):
1242         (WebCore::FontPlatformData::roundsGlyphAdvances):
1243         (WebCore::FontPlatformData::allowsLigatures):
1244         (WebCore::FontPlatformData::ctFont):
1245         (WebCore::FontPlatformData::openTypeTable):
1246         (WebCore::FontPlatformData::loadFont): Deleted.
1247         * platform/graphics/mac/FontCacheMac.mm:
1248         (WebCore::FontCache::systemFallbackForCharacters):
1249         * platform/graphics/mac/FontMac.mm:
1250         (WebCore::Font::drawGlyphs):
1251         * platform/graphics/mac/SimpleFontDataMac.mm:
1252         (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
1253         (WebCore::SimpleFontData::platformInit):
1254         (WebCore::SimpleFontData::platformCreateScaledFontData):
1255         (WebCore::SimpleFontData::containsCharacters):
1256         (WebCore::SimpleFontData::determinePitch):
1257         (WebCore::SimpleFontData::renderingStyle):
1258         (WebCore::SimpleFontData::advanceForColorBitmapFont):
1259
1260 2014-12-18  Anders Carlsson  <andersca@apple.com>
1261
1262         Build fix.
1263
1264         * platform/cocoa/MachSendRight.cpp:
1265
1266 2014-12-18  Timothy Horton  <timothy_horton@apple.com>
1267
1268         Change page preview loading order, and add a TextIndicator
1269         https://bugs.webkit.org/show_bug.cgi?id=139793
1270         <rdar://problem/19288547>
1271
1272         Reviewed by Beth Dakin.
1273
1274         * WebCore.exp.in:
1275         * platform/spi/mac/NSPopoverSPI.h:
1276         Add an export and some SPI.
1277
1278 2014-12-18  Anders Carlsson  <andersca@apple.com>
1279
1280         Clean up MachSendRight and add a copySendRight member function
1281         https://bugs.webkit.org/show_bug.cgi?id=139788
1282
1283         Reviewed by Tim Horton.
1284
1285         * platform/cocoa/MachSendRight.cpp:
1286         (WebCore::retainSendRight):
1287         (WebCore::releaseSendRight):
1288         Use mach_error_string.
1289
1290         (WebCore::MachSendRight::copySendRight):
1291         Create a new send right with the given mach port.
1292
1293         (WebCore::MachSendRight::leakSendRight):
1294         Use std::exchange.
1295
1296         * platform/cocoa/MachSendRight.h:
1297
1298 2014-12-18  Joseph Pecoraro  <pecoraro@apple.com>
1299
1300         Web Inspector: ASSERT seen closing/opening multiple inspectors
1301         https://bugs.webkit.org/show_bug.cgi?id=139783
1302
1303         Reviewed by Timothy Hatcher.
1304
1305         * inspector/InspectorDOMAgent.cpp:
1306         (WebCore::InspectorDOMAgent::nodeForObjectId):
1307
1308 2014-12-18  Anders Carlsson  <andersca@apple.com>
1309
1310         Add a MachSendRight class to WebCore and use it in IOSurface
1311         https://bugs.webkit.org/show_bug.cgi?id=139787
1312
1313         Reviewed by Tim Horton.
1314
1315         * WebCore.exp.in:
1316         * WebCore.xcodeproj/project.pbxproj:
1317         * platform/cocoa/MachSendRight.cpp: Added.
1318         (WebCore::retainSendRight):
1319         (WebCore::releaseSendRight):
1320         (WebCore::MachSendRight::adopt):
1321         (WebCore::MachSendRight::create):
1322         (WebCore::MachSendRight::MachSendRight):
1323         (WebCore::MachSendRight::~MachSendRight):
1324         (WebCore::MachSendRight::operator=):
1325         (WebCore::MachSendRight::leakSendRight):
1326         * platform/cocoa/MachSendRight.h: Added.
1327         * platform/graphics/cocoa/IOSurface.h:
1328         * platform/graphics/cocoa/IOSurface.mm:
1329         (IOSurface::createSendRight):
1330         (IOSurface::createMachPort): Deleted.
1331
1332 2014-12-18  Andreas Kling  <akling@apple.com>
1333
1334         Ref-ify DOMSettableTokenList.
1335         <https://webkit.org/b/139785>
1336
1337         Reviewed by Chris Dumez.
1338
1339         Make DOMSettableTokenList::create() return a Ref, and have its two client
1340         elements store it in a Ref instead of a RefPtr (and fix their getter API
1341         to return references.)
1342
1343         * html/DOMSettableTokenList.cpp:
1344         (WebCore::DOMSettableTokenList::create): Deleted.
1345         * html/DOMSettableTokenList.h:
1346         * html/HTMLLinkElement.cpp:
1347         (WebCore::HTMLLinkElement::sizes): Deleted.
1348         * html/HTMLLinkElement.h:
1349         * html/HTMLOutputElement.cpp:
1350         (WebCore::HTMLOutputElement::htmlFor): Deleted.
1351         * html/HTMLOutputElement.h:
1352
1353 2014-12-18  Andreas Kling  <akling@apple.com>
1354
1355         Ref-ify ClientRectList.
1356         <https://webkit.org/b/139780>
1357
1358         Reviewed by Anders Carlsson.
1359
1360         Make the ClientRectList::create() helpers return Ref, along with a bunch
1361         of other functions that always return non-null ClientRectLists.
1362
1363         Also make ClientRectList store a Vector<Ref<ClientRect>> internally since
1364         entries in the Vector are never null.
1365
1366         * dom/ClientRectList.cpp:
1367         (WebCore::ClientRectList::item):
1368         * dom/ClientRectList.h:
1369         (WebCore::ClientRectList::create):
1370         * dom/Element.cpp:
1371         (WebCore::Element::getClientRects):
1372         * dom/Element.h:
1373         * dom/Range.cpp:
1374         (WebCore::Range::getClientRects):
1375         * dom/Range.h:
1376         * page/Page.cpp:
1377         (WebCore::Page::nonFastScrollableRects):
1378         * page/Page.h:
1379         * testing/Internals.cpp:
1380         (WebCore::Internals::inspectorHighlightRects):
1381         (WebCore::Internals::nonFastScrollableRects):
1382         * testing/Internals.h:
1383
1384 2014-12-18  Andreas Kling  <akling@apple.com>
1385
1386         Ref-ify ClientRect.
1387         <https://webkit.org/b/139777>
1388
1389         Reviewed by Anders Carlsson.
1390
1391         Make the ClientRect::create() helpers return Ref, along with a bunch
1392         of other functions that always return non-null ClientRects.
1393
1394         * dom/ClientRect.h:
1395         (WebCore::ClientRect::create):
1396         * dom/Element.cpp:
1397         (WebCore::Element::getBoundingClientRect):
1398         * dom/Element.h:
1399         * dom/Range.cpp:
1400         (WebCore::Range::getBoundingClientRect):
1401         * dom/Range.h:
1402         * html/track/VTTRegion.cpp:
1403         (WebCore::VTTRegion::displayLastTextTrackCueBox):
1404         * testing/Internals.cpp:
1405         (WebCore::Internals::absoluteCaretBounds):
1406         (WebCore::Internals::boundingBox):
1407         (WebCore::Internals::selectionBounds):
1408         * testing/Internals.h:
1409
1410 2014-12-18  Chris Dumez  <cdumez@apple.com>
1411
1412         [iOS] Log navigation types using FeatureCounter API
1413         https://bugs.webkit.org/show_bug.cgi?id=139753
1414
1415         Reviewed by Darin Adler.
1416
1417         Log navigation types using FeatureCounter API.
1418
1419         No new tests, no behavior change other than additional feature
1420         counting.
1421
1422         * loader/FrameLoader.cpp:
1423         (WebCore::logNavigationWithFeatureCounter):
1424         (WebCore::FrameLoader::loadWithDocumentLoader):
1425         * platform/FeatureCounterKeys.h:
1426
1427 2014-12-18  Chris Dumez  <cdumez@apple.com>
1428
1429         Move 'font-weight' CSS property to the new StyleBuilder
1430         https://bugs.webkit.org/show_bug.cgi?id=139765
1431
1432         Reviewed by Antti Koivisto.
1433
1434         Move 'font-weight' CSS property to the new StyleBuilder by using
1435         custom code.
1436
1437         No new tests, no behavior change.
1438
1439         * css/CSSPropertyNames.in:
1440         * css/DeprecatedStyleBuilder.cpp:
1441         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1442         (WebCore::ApplyPropertyFontWeight::applyValue): Deleted.
1443         (WebCore::ApplyPropertyFontWeight::createHandler): Deleted.
1444         * css/StyleBuilderCustom.h:
1445         (WebCore::StyleBuilderCustom::applyInitialFontWeight):
1446         (WebCore::StyleBuilderCustom::applyInheritFontWeight):
1447         (WebCore::StyleBuilderCustom::applyValueFontWeight):
1448
1449 2014-12-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1450
1451         Internals methods return 0 instead of false when they fail
1452         https://bugs.webkit.org/show_bug.cgi?id=139766
1453
1454         Reviewed by Darin Adler.
1455
1456         Some Internals method explicitly return 0 although
1457         they expect boolean value.
1458
1459         No new tests, no behavior change.
1460
1461         * testing/Internals.cpp:
1462         (WebCore::Internals::hasSpellingMarker):
1463         (WebCore::Internals::hasAutocorrectedMarker):
1464         (WebCore::Internals::isOverwriteModeEnabled):
1465         (WebCore::Internals::hasGrammarMarker):
1466         Return false instead of 0.
1467
1468 2014-12-18  Chris Dumez  <cdumez@apple.com>
1469
1470         [iOS] Log why cached resources are being revalidated using FeatureCounter API
1471         https://bugs.webkit.org/show_bug.cgi?id=139759
1472         <rdar://problem/19288177>
1473
1474         Reviewed by Antti Koivisto.
1475
1476         Log why cached resources are being revalidated using FeatureCounter API.
1477         Also log if revalidation is successful or not.
1478
1479         No new tests, no behavior change.
1480
1481         * loader/SubresourceLoader.cpp:
1482         (WebCore::SubresourceLoader::willSendRequest):
1483         (WebCore::SubresourceLoader::didReceiveResponse):
1484         * loader/cache/CachedImage.cpp:
1485         (WebCore::CachedImage::mustRevalidateDueToCacheHeaders):
1486         * loader/cache/CachedImage.h:
1487         * loader/cache/CachedResource.cpp:
1488         (WebCore::CachedResource::failBeforeStarting):
1489         (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
1490         * loader/cache/CachedResource.h:
1491         (WebCore::CachedResource::loader):
1492         * loader/cache/CachedResourceLoader.cpp:
1493         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1494         * platform/FeatureCounterKeys.h:
1495
1496 2014-12-18  Antti Koivisto  <antti@apple.com>
1497
1498         Remove alwaysUseBaselineOfPrimaryFont setting
1499         https://bugs.webkit.org/show_bug.cgi?id=139770
1500
1501         Reviewed by Anders Carlsson.
1502
1503         "FIXME: This is unneeded and should be removed."
1504
1505         This iOS-only setting has no clients anymore.
1506
1507         * page/Settings.in:
1508         * rendering/RootInlineBox.cpp:
1509         (WebCore::RootInlineBox::ascentAndDescentForBox):
1510
1511 2014-12-18  Radu Stavila  <stavila@adobe.com>
1512
1513         [SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
1514         https://bugs.webkit.org/show_bug.cgi?id=139294
1515
1516         Reviewed by Simon Fraser.
1517
1518         This patch links together all parts required for the functionality which improves 
1519         the -webkit-mask-image property by allowing it to reference a <mask> element defined 
1520         in an inline or external SVG document.
1521         Support for this new functionality has been added in a previous patch, under issue
1522         https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how
1523         the new functionality works can be found in the ChangeLog for that commit.
1524         The containsSVGDocument in ScrollView has been removed because it was added in the
1525         previous patch but is no longer required.
1526
1527         Tests: css3/masking/mask-base64.html
1528                css3/masking/mask-multiple-values.html
1529                css3/masking/mask-svg-clipped-fragmentId.html
1530                css3/masking/mask-svg-fragmentId.html
1531                css3/masking/mask-svg-inline-fragmentId.html
1532                css3/masking/mask-svg-inline-invalid-fragmentId.html
1533                css3/masking/mask-svg-invalid-fragmentId.html
1534                css3/masking/mask-svg-no-fragmentId-tiled.html
1535                css3/masking/mask-svg-no-fragmentId.html
1536                css3/masking/mask-svg-script-entire-svg-to-mask.html
1537                css3/masking/mask-svg-script-mask-to-entire-svg.html
1538                css3/masking/mask-svg-script-mask-to-none.html
1539                css3/masking/mask-svg-script-mask-to-png.html
1540                css3/masking/mask-svg-script-none-to-mask.html
1541                css3/masking/mask-svg-script-none-to-png.html
1542                css3/masking/mask-svg-script-png-to-mask.html
1543                css3/masking/mask-svg-script-png-to-none.html
1544
1545         * css/CSSComputedStyleDeclaration.cpp:
1546         (WebCore::ComputedStyleExtractor::propertyValue):
1547         * css/CSSParser.cpp:
1548         (WebCore::CSSParser::parseFillShorthand):
1549         (WebCore::CSSParser::parseFillProperty):
1550         (WebCore::CSSParser::parseMaskImage):
1551         * css/CSSParser.h:
1552         * css/CSSValue.h:
1553         * css/DeprecatedStyleBuilder.cpp:
1554         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1555         * css/StyleResolver.cpp:
1556         (WebCore::StyleResolver::adjustStyleForMaskImages):
1557         (WebCore::StyleResolver::applyMatchedProperties):
1558         (WebCore::StyleResolver::applyProperty):
1559         (WebCore::StyleResolver::loadPendingSVGDocuments):
1560         (WebCore::StyleResolver::createMaskImageOperations):
1561         (WebCore::StyleResolver::loadPendingImages):
1562         * css/StyleResolver.h:
1563         * page/FrameView.cpp:
1564         (WebCore::FrameView::containsSVGDocument): Deleted.
1565         * page/FrameView.h:
1566         * page/animation/CSSPropertyAnimation.cpp:
1567         (WebCore::blendFunc):
1568         (WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper):
1569         (WebCore::MaskImagePropertyWrapper::equals):
1570         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1571         * platform/ScrollView.h:
1572         (WebCore::ScrollView::containsSVGDocument): Deleted.
1573         * platform/graphics/MaskImageOperation.cpp:
1574         (WebCore::MaskImageOperation::~MaskImageOperation):
1575         (WebCore::MaskImageOperation::operator==):
1576         * platform/graphics/MaskImageOperation.h:
1577         * rendering/RenderBox.cpp:
1578         (WebCore::RenderBox::maskClipRect):
1579         * rendering/RenderBox.h:
1580         * rendering/RenderBoxModelObject.cpp:
1581         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1582         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1583         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1584         * rendering/RenderElement.cpp:
1585         (WebCore::RenderElement::~RenderElement):
1586         (WebCore::RenderElement::updateFillImages):
1587         * rendering/RenderLayer.cpp:
1588         (WebCore::RenderLayer::calculateClipRects):
1589         * rendering/RenderLayer.h:
1590         * rendering/RenderLayerMaskImageInfo.cpp:
1591         (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
1592         (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients):
1593         (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients):
1594         * rendering/RenderLayerMaskImageInfo.h:
1595         * rendering/style/FillLayer.cpp:
1596         (WebCore::FillLayer::hasImage):
1597         * rendering/style/FillLayer.h:
1598         (WebCore::FillLayer::image):
1599         (WebCore::FillLayer::imageOrMaskImage): Deleted.
1600         * rendering/style/RenderStyle.cpp:
1601         (WebCore::RenderStyle::setMaskImage):
1602         * rendering/style/RenderStyle.h:
1603
1604 2014-12-18  Antti Koivisto  <antti@apple.com>
1605
1606         Stop returning GlyphPage from various Font functions
1607         https://bugs.webkit.org/show_bug.cgi?id=139627
1608
1609         Reviewed by Darin Adler.
1610
1611         Make all
1612
1613             std::pair<GlyphData, GlyphPage*> glyphDataAndPage*(...)
1614
1615         style functions to just return GlyphData only. The GlyphPage value was only used for an obscure SVG fallback case.
1616
1617         * platform/graphics/Font.h:
1618         (WebCore::Font::glyphDataForCharacter):
1619         (WebCore::Font::glyphDataAndPageForCharacter): Deleted.
1620         * platform/graphics/FontGlyphs.cpp:
1621         (WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic):
1622         (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
1623         (WebCore::FontGlyphs::glyphDataForSystemFallback):
1624         (WebCore::FontGlyphs::glyphDataForVariant):
1625         (WebCore::FontGlyphs::glyphDataForCharacter):
1626         (WebCore::glyphDataAndPageForCJKCharacterWithoutSyntheticItalic): Deleted.
1627         (WebCore::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation): Deleted.
1628         (WebCore::FontGlyphs::glyphDataAndPageForSystemFallback): Deleted.
1629         (WebCore::FontGlyphs::glyphDataAndPageForVariant): Deleted.
1630         (WebCore::FontGlyphs::glyphDataAndPageForCharacter): Deleted.
1631         * platform/graphics/FontGlyphs.h:
1632         (WebCore::FontGlyphs::GlyphPagesStateSaver::GlyphPagesStateSaver): Deleted.
1633         (WebCore::FontGlyphs::GlyphPagesStateSaver::~GlyphPagesStateSaver): Deleted.
1634
1635             No longer needed.
1636
1637         * rendering/svg/SVGTextRunRenderingContext.cpp:
1638         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
1639
1640             Simplify by not trying to resolve fallbacks in case context sensitive (based on lang attribute etc)
1641             glyph selection fails. Instead just fall back to a default font. This behavior is not specified
1642             anywhere as far as I can see. (normal non-context sensitive fallbacks will still work fine).
1643             This removes the need to hackishly mutate glyph pages.
1644
1645             Also fix a bug where we didn't use the specified missing glyph when context sensitive selection failed.
1646
1647 2014-12-18  Chris Dumez  <cdumez@apple.com>
1648
1649         Move 'list-style-image' CSS property to the new StyleBuilder
1650         https://bugs.webkit.org/show_bug.cgi?id=139763
1651
1652         Reviewed by Antti Koivisto.
1653
1654         Move 'list-style-image' CSS property to the new StyleBuilder
1655         by reusing an existing Converter helper and renaming it for
1656         clarity.
1657
1658         No new tests, no behavior change.
1659
1660         * css/CSSPropertyNames.in:
1661         * css/DeprecatedStyleBuilder.cpp:
1662         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1663         (WebCore::ApplyPropertyStyleImage::applyValue): Deleted.
1664         (WebCore::ApplyPropertyStyleImage::createHandler): Deleted.
1665         * css/StyleBuilderConverter.h:
1666         (WebCore::StyleBuilderConverter::convertStyleImage):
1667         (WebCore::StyleBuilderConverter::convertBorderImageSource): Deleted.
1668
1669 2014-12-17  Csaba Osztrogonác  <ossy@webkit.org>
1670
1671         URTBF after r177452.
1672         https://bugs.webkit.org/show_bug.cgi?id=139752
1673
1674         * CMakeLists.txt:
1675
1676 2014-12-17  Andreas Kling  <akling@apple.com>
1677
1678         Ref-ify Range::create().
1679         <https://webkit.org/b/139755>
1680
1681         Reviewed by Anders Carlsson.
1682
1683         * dom/Document.cpp:
1684         (WebCore::acceptsEditingFocus):
1685         * dom/Element.cpp:
1686         (WebCore::Element::innerText):
1687         * dom/Range.cpp:
1688         (WebCore::Range::create):
1689         (WebCore::Range::cloneRange):
1690         (WebCore::rangeOfContents):
1691         * dom/Range.h:
1692         * editing/AlternativeTextController.cpp:
1693         (WebCore::AlternativeTextController::applyAlternativeTextToRange):
1694         * editing/CompositeEditCommand.cpp:
1695         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1696         * editing/VisibleUnits.cpp:
1697         (WebCore::charactersAroundPosition):
1698         * editing/markup.cpp:
1699         (WebCore::StyledMarkupAccumulator::renderedText):
1700         * page/FocusController.cpp:
1701         (WebCore::relinquishesEditingFocus):
1702
1703 2014-12-17  Dan Bernstein  <mitz@apple.com>
1704
1705         <rdar://problem/19282508> WebKitLegacy is unusable due to bad dylib identifier
1706         https://bugs.webkit.org/show_bug.cgi?id=139760
1707
1708         Reviewed by Anders Carlsson.
1709
1710         * Configurations/WebCore.xcconfig:
1711
1712 2014-12-17  Anders Carlsson  <andersca@apple.com>
1713
1714         Get rid of FrameLoader::defaultObjectContentType
1715         https://bugs.webkit.org/show_bug.cgi?id=139758
1716
1717         Reviewed by Geoffrey Garen.
1718
1719         Move the FrameLoader::defaultObjectContentType implementation to its only caller in WebKit/win.
1720
1721         * loader/FrameLoader.cpp:
1722         (WebCore::FrameLoader::defaultObjectContentType): Deleted.
1723         * loader/FrameLoader.h:
1724
1725 2014-12-17  peavo@outlook.com  <peavo@outlook.com>
1726
1727         [Curl] Compile error, setWasCached method has been removed.
1728         https://bugs.webkit.org/show_bug.cgi?id=139737
1729
1730         Reviewed by Alex Christensen.
1731
1732         The ResourceResponseBase::setWasCached() method has been replaced
1733         with ResourceResponseBase::setSource().
1734
1735         * platform/network/curl/CurlCacheEntry.cpp:
1736         (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
1737
1738 2014-12-17  Chris Dumez  <cdumez@apple.com>
1739
1740         [iOS] Make it possible to toggle FeatureCounter support at runtime
1741         https://bugs.webkit.org/show_bug.cgi?id=139688
1742         <rdar://problem/19266254>
1743
1744         Reviewed by Andreas Kling.
1745
1746         Make it possible to toggle FeatureCounter support at runtime by adding
1747         a setting (disabled by default) and moving the API to a new
1748         FeatureCounter class under WebCore/plattorm which only logs if the
1749         setting is enabled. For privacy reasons, FeatureCounter logging is also
1750         disabled for private / ephemeral sessions.
1751
1752         No new tests, no behavior change.
1753
1754         * CMakeLists.txt:
1755         * Configurations/WebCore.xcconfig:
1756         * WebCore.vcxproj/WebCore.vcxproj:
1757         * WebCore.vcxproj/WebCore.vcxproj.filters:
1758         * WebCore.xcodeproj/project.pbxproj:
1759         * history/PageCache.cpp:
1760         (WebCore::logCanCacheFrameDecision):
1761         (WebCore::logCanCachePageDecision):
1762         * page/Settings.in:
1763         * platform/FeatureCounter.cpp: Renamed from Source/WTF/wtf/FeatureCounter.cpp.
1764         (WebCore::FeatureCounter::shouldUseForPage):
1765         (WebCore::FeatureCounter::incrementKey):
1766         (WebCore::FeatureCounter::setKey):
1767         * platform/FeatureCounter.h: Renamed from Source/WTF/wtf/FeatureCounter.h.
1768         * platform/FeatureCounterKeys.h:
1769         * platform/ios/FeatureCounter.mm: Renamed from Source/WTF/wtf/ios/FeatureCounter.mm.
1770         (WebCore::FeatureCounter::incrementKey):
1771         (WebCore::FeatureCounter::setKey):
1772
1773 2014-12-17  Anders Carlsson  <andersca@apple.com>
1774
1775         Get rid of PluginPackageNone.cpp
1776         https://bugs.webkit.org/show_bug.cgi?id=139735
1777
1778         Reviewed by Andreas Kling.
1779
1780         * CMakeLists.txt:
1781         * PlatformEfl.cmake:
1782         * PlatformGTK.cmake:
1783         * PlatformWin.cmake:
1784         * plugins/PluginPackageNone.cpp: Removed.
1785
1786 2014-12-17  Andreas Kling  <akling@apple.com>
1787
1788         Purge PassRefPtr from Frame.
1789         <https://webkit.org/b/139731>
1790
1791         Reviewed by Anders Carlsson.
1792
1793         Remove all use of PassRefPtr from the Frame class, instead using
1794         Ref or RefPtr as appropriate.
1795
1796         * WebCore.exp.in:
1797         * loader/DocumentWriter.cpp:
1798         (WebCore::DocumentWriter::begin):
1799         * page/Frame.cpp:
1800         (WebCore::Frame::create):
1801         (WebCore::Frame::setView):
1802         (WebCore::Frame::setDocument):
1803         (WebCore::Frame::rangeForPoint):
1804         (WebCore::Frame::createView):
1805         * page/Frame.h:
1806         * xml/XSLTProcessor.cpp:
1807         (WebCore::XSLTProcessor::createDocumentFromSource):
1808
1809 2014-12-17  Myles C. Maxfield  <mmaxfield@apple.com>
1810
1811         Test fix after r177444.
1812
1813         Unreviewed.
1814
1815         * accessibility/AccessibilitySlider.cpp:
1816         (WebCore::AccessibilitySliderThumb::elementRect):
1817
1818 2014-12-16  Myles C. Maxfield  <mmaxfield@apple.com>
1819
1820         Addressing more post-review comments in r177035
1821
1822         * accessibility/AccessibilitySlider.cpp:
1823         (WebCore::AccessibilitySliderThumb::elementRect):
1824         * html/HTMLInputElement.cpp:
1825         (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1826
1827 2014-12-17  Zan Dobersek  <zdobersek@igalia.com>
1828
1829         [TexMap] Sprinkle range-based for-loops where still possible
1830         https://bugs.webkit.org/show_bug.cgi?id=138752
1831
1832         Reviewed by Chris Dumez.
1833
1834         Apply range-based for-loops where possible in the TextureMapper,
1835         TextureMapperGL and TextureMapperTiledBackingStore classes.
1836
1837         Also prettify the loop in SharedGLData destructor and return
1838         nullptr instead of explicitly constructing the empty PassRefPtr
1839         object in TextureMapperTiledBackingStore::texture().
1840
1841         * platform/graphics/texmap/TextureMapper.cpp:
1842         (WebCore::BitmapTexturePool::acquireTexture):
1843         * platform/graphics/texmap/TextureMapperGL.cpp:
1844         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
1845         (WebCore::TextureMapperGLData::~TextureMapperGLData):
1846         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
1847         (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
1848         (WebCore::TextureMapperTiledBackingStore::drawBorder):
1849         (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
1850         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
1851         (WebCore::TextureMapperTiledBackingStore::updateContents):
1852         (WebCore::TextureMapperTiledBackingStore::texture):
1853
1854 2014-12-17  Radu Stavila  <stavila@adobe.com>
1855
1856         The SVGDocument of an SVGImage should not perform any additional actions when the SVGImage is being destroyed
1857         https://bugs.webkit.org/show_bug.cgi?id=139644
1858
1859         Reviewed by Antti Koivisto.
1860
1861         When an SVGImage is destroyed, having its SVGDocument perform style recalc and dispatching events is not only
1862         useless but can also cause problems, such as re-entrancy in StyleResolver::loadPendingResources.
1863
1864         No new tests required, existing tests cover this change.
1865
1866         * dom/Document.cpp:
1867         (WebCore::Document::Document):
1868         * dom/Document.h:
1869         (WebCore::Document::isBeingDestroyed):
1870         (WebCore::Document::setIsBeingDestroyed):
1871         * loader/FrameLoader.cpp:
1872         (WebCore::FrameLoader::closeURL):
1873         * svg/graphics/SVGImage.cpp:
1874         (WebCore::SVGImage::~SVGImage):
1875
1876 2014-12-17  Chris Dumez  <cdumez@apple.com>
1877
1878         Drop useless 'clipToContents' argument for windowClipRect()
1879         https://bugs.webkit.org/show_bug.cgi?id=139722
1880
1881         Reviewed by Darin Adler.
1882
1883         Drop useless 'clipToContents' argument for windowClipRect(). This
1884         argument is never used.
1885
1886         No new tests, no behavior change.
1887
1888         * page/FrameView.cpp:
1889         (WebCore::FrameView::windowClipRect):
1890         * page/FrameView.h:
1891         * platform/ScrollView.h:
1892
1893 2014-12-16  Shivakumar JM  <shiva.jm@samsung.com>
1894
1895         text node should not be created, On setting document.title to the empty string.
1896         https://bugs.webkit.org/show_bug.cgi?id=139121
1897
1898         Reviewed by Darin Adler.
1899
1900         Do not create text node, On setting document.title to the empty string as in spec.
1901         I have confirmed this matches the behavior of Firefox and Chrome.
1902
1903         Test: fast/dom/Document/document-set-title-no-child.html
1904
1905         * html/HTMLTitleElement.cpp:
1906         (WebCore::HTMLTitleElement::setText):
1907
1908 2014-12-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1909
1910         Move WebCore/platform/graphics/surfaces to std::unique_ptr
1911         https://bugs.webkit.org/show_bug.cgi?id=139641
1912
1913         Reviewed by Andreas Kling.
1914
1915         Replace OwnPtr|PassOwnPtr with std::make_unique<>|std::unique_ptr<>.
1916
1917         * platform/graphics/GLContext.cpp:
1918         (WebCore::GLContext::sharingContext):
1919         (WebCore::GLContext::createContextForWindow):
1920         (WebCore::GLContext::createOffscreenContext):
1921         * platform/graphics/GLContext.h:
1922         * platform/graphics/GraphicsContext3DPrivate.cpp:
1923         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1924         * platform/graphics/GraphicsContext3DPrivate.h:
1925         * platform/graphics/egl/GLContextEGL.cpp:
1926         (WebCore::GLContextEGL::createWindowContext):
1927         (WebCore::GLContextEGL::createPbufferContext):
1928         (WebCore::GLContextEGL::createPixmapContext):
1929         (WebCore::GLContextEGL::createContext):
1930         * platform/graphics/egl/GLContextEGL.h:
1931         * platform/graphics/glx/GLContextGLX.cpp:
1932         (WebCore::GLContextGLX::createWindowContext):
1933         (WebCore::GLContextGLX::createPbufferContext):
1934         (WebCore::GLContextGLX::createPixmapContext):
1935         (WebCore::GLContextGLX::createContext):
1936         * platform/graphics/glx/GLContextGLX.h:
1937         * platform/graphics/surfaces/GLTransportSurface.cpp:
1938         (WebCore::GLTransportSurface::createTransportSurface):
1939         (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
1940         * platform/graphics/surfaces/GLTransportSurface.h:
1941         * platform/graphics/surfaces/GraphicsSurface.h:
1942         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
1943         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
1944         * platform/graphics/surfaces/egl/EGLSurface.cpp:
1945         (WebCore::EGLTransportSurface::createTransportSurface):
1946         (WebCore::EGLTransportSurface::createTransportSurfaceClient):
1947         (WebCore::EGLTransportSurface::EGLTransportSurface):
1948         * platform/graphics/surfaces/egl/EGLSurface.h:
1949         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
1950         (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
1951         * platform/graphics/surfaces/egl/EGLXSurface.h:
1952         * platform/graphics/surfaces/glx/GLXSurface.cpp:
1953         (WebCore::GLXTransportSurface::GLXTransportSurface):
1954         (WebCore::GLXOffScreenSurface::initialize):
1955         * platform/graphics/surfaces/glx/GLXSurface.h:
1956
1957 2014-12-16  Timothy Horton  <timothy_horton@apple.com>
1958
1959         Implement and adopt two new TextIndicator presentation animations
1960         https://bugs.webkit.org/show_bug.cgi?id=139715
1961         <rdar://problem/19237945>
1962
1963         Reviewed by Anders Carlsson.
1964
1965         * WebCore.exp.in:
1966         Adjust one symbol and export another.
1967
1968         * page/TextIndicator.cpp:
1969         (WebCore::TextIndicator::createWithSelectionInFrame):
1970         Take a blue-highlight snapshot if we're doing a crossfade without a bounce.
1971
1972         * page/TextIndicator.h:
1973         (WebCore::TextIndicator::presentationTransition):
1974         Add FadeIn and Crossfade transition types.
1975
1976         * page/mac/TextIndicatorWindow.h:
1977         * page/mac/TextIndicatorWindow.mm:
1978         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
1979         (createBounceAnimation):
1980         (createContentCrossfadeAnimation):
1981         (createShadowFadeAnimation):
1982         (createFadeInAnimation):
1983         (-[WebTextIndicatorView _textIndicatorWantsBounce]):
1984         (-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]):
1985         (-[WebTextIndicatorView _textIndicatorWantsFadeIn]):
1986         Factor out the animation construction.
1987
1988         (-[WebTextIndicatorView _animationDuration]):
1989         Factor out the duration computation.
1990
1991         (-[WebTextIndicatorView present]):
1992         (-[WebTextIndicatorView setAnimationProgress:]):
1993         Implement FadeIn and Crossfade transitions.
1994         They can be driven externally and then continue from where they
1995         left off when the progress reaches 100%.
1996         FadeIn changes the opacity of the whole bubble, Crossfade
1997         crossfades the content (from blue to yellow).
1998
1999         (WebCore::TextIndicatorWindow::TextIndicatorWindow):
2000         (WebCore::TextIndicatorWindow::~TextIndicatorWindow):
2001         Don't immediately destroy the window if it is crossfades or fades in.
2002         Fade it out, instead.
2003
2004         (WebCore::TextIndicatorWindow::setAnimationProgress):
2005         Drive the paused animation manually. If progress hits 100%,
2006         start running it automatically from where it last left off.
2007
2008         (WebCore::TextIndicatorWindow::setTextIndicator):
2009         (WebCore::TextIndicatorWindow::startFadeOut):
2010         (-[WebTextIndicatorView presentWithCompletionHandler:]): Deleted.
2011         (WebCore::TextIndicatorWindow::startFadeOutTimerFired): Deleted.
2012         Remove the completion block from -present.
2013
2014         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
2015         Add some SPI.
2016
2017 2014-12-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2018
2019         Move WebCore/platform/image-decoders to std::unique_ptr<>
2020         https://bugs.webkit.org/show_bug.cgi?id=139668
2021
2022         Reviewed by Andreas Kling.
2023
2024         As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with
2025         std::unique_ptr<> | std::make_unique<>.
2026
2027         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2028         (WebCore::BMPImageDecoder::setFailed):
2029         (WebCore::BMPImageDecoder::decode):
2030         (WebCore::BMPImageDecoder::decodeHelper):
2031         * platform/image-decoders/bmp/BMPImageDecoder.h:
2032         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2033         (WebCore::GIFImageDecoder::setFailed):
2034         (WebCore::GIFImageDecoder::gifComplete):
2035         (WebCore::GIFImageDecoder::decode):
2036         * platform/image-decoders/gif/GIFImageDecoder.h:
2037         * platform/image-decoders/gif/GIFImageReader.cpp:
2038         (GIFFrameContext::decode):
2039         (GIFImageReader::addFrameIfNecessary):
2040         * platform/image-decoders/gif/GIFImageReader.h:
2041         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2042         (WebCore::ICOImageDecoder::decode):
2043         (WebCore::ICOImageDecoder::decodeAtIndex):
2044         * platform/image-decoders/ico/ICOImageDecoder.h:
2045         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2046         (WebCore::JPEGImageDecoder::setFailed):
2047         (WebCore::JPEGImageDecoder::decode):
2048         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2049         * platform/image-decoders/png/PNGImageDecoder.cpp:
2050         (WebCore::PNGImageDecoder::setFailed):
2051         (WebCore::PNGImageDecoder::decode):
2052         * platform/image-decoders/png/PNGImageDecoder.h:
2053
2054 2014-12-16  Andreas Kling  <akling@apple.com>
2055
2056         Use Ref for SecurityOrigin.
2057         <https://webkit.org/b/139710>
2058
2059         Reviewed by Anders Carlsson.
2060
2061         Make SecurityOrigin::create*() return Ref<SecurityOrigin>.
2062
2063         * html/HTMLAnchorElement.cpp:
2064         (WebCore::HTMLAnchorElement::origin):
2065         * loader/DocumentLoadTiming.cpp:
2066         (WebCore::DocumentLoadTiming::addRedirect):
2067         * loader/DocumentLoader.cpp:
2068         (WebCore::DocumentLoader::willSendRequest):
2069         * loader/FrameLoader.cpp:
2070         (WebCore::FrameLoader::commitProvisionalLoad):
2071         * loader/PingLoader.cpp:
2072         (WebCore::PingLoader::sendPing):
2073         * loader/appcache/ApplicationCacheHost.cpp:
2074         (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
2075         * loader/appcache/ApplicationCacheStorage.cpp:
2076         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
2077         * page/ContentSecurityPolicy.cpp:
2078         (WebCore::stripURLForUseInReport):
2079         * page/DOMWindow.cpp:
2080         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
2081         * page/SecurityOrigin.cpp:
2082         (WebCore::getCachedOrigin):
2083         (WebCore::SecurityOrigin::create):
2084         (WebCore::SecurityOrigin::createUnique):
2085         (WebCore::SecurityOrigin::isolatedCopy):
2086         (WebCore::SecurityOrigin::canRequest):
2087         (WebCore::SecurityOrigin::createFromString):
2088         (WebCore::SecurityOrigin::maybeCreateFromDatabaseIdentifier):
2089         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2090         * page/SecurityOrigin.h:
2091         * page/SecurityPolicy.cpp:
2092         (WebCore::SecurityPolicy::isAccessToURLWhiteListed):
2093         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2094         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):
2095         * storage/StorageTracker.cpp:
2096         (WebCore::StorageTracker::deleteOriginWithIdentifier):
2097         * workers/DefaultSharedWorkerRepository.cpp:
2098         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
2099         * workers/WorkerThread.cpp:
2100         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2101
2102 2014-12-16  Chris Dumez  <cdumez@apple.com>
2103
2104         Move 'cursor' CSS property to the new StyleBuilder
2105         https://bugs.webkit.org/show_bug.cgi?id=139660
2106
2107         Reviewed by Benjamin Poulain.
2108
2109         Move 'cursor' CSS property to the new StyleBuilder by using
2110         custom code.
2111
2112         No new tests, no behavior change.
2113
2114         * css/CSSPropertyNames.in:
2115         * css/DeprecatedStyleBuilder.cpp:
2116         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2117         (WebCore::ApplyPropertyCursor::applyInheritValue): Deleted.
2118         (WebCore::ApplyPropertyCursor::applyInitialValue): Deleted.
2119         (WebCore::ApplyPropertyCursor::applyValue): Deleted.
2120         (WebCore::ApplyPropertyCursor::createHandler): Deleted.
2121         * css/StyleBuilderCustom.h:
2122         (WebCore::StyleBuilderCustom::applyInitialCursor):
2123         (WebCore::StyleBuilderCustom::applyInheritCursor):
2124         (WebCore::StyleBuilderCustom::applyValueCursor):
2125
2126 2014-12-16  Zalan Bujtas  <zalan@apple.com>
2127
2128         Subpixel rendering: Animating HTML elements leaves trails when embedded to a subpxiel positioned iframe.
2129         https://bugs.webkit.org/show_bug.cgi?id=139691
2130         rdar://problem/19078958
2131
2132         Reviewed by Simon Fraser.
2133
2134         This patch ensures that repaint rect and actual paint coordinate calculations are in sync.
2135
2136         RenderWidget painting still snaps final coordinates to integral positions. We need to
2137         mimic the same snapping behaviour when the repaint rects are being calculated so that
2138         they are in sync with the final repaint rects. This is a workaround until after
2139         widgets get pushed to device pixel positions.
2140
2141         Test: fast/repaint/hidpi-content-inside-iframe-leaves-trails.html
2142
2143         * rendering/RenderBox.cpp:
2144         (WebCore::RenderBox::computeRectForRepaint):
2145         * rendering/RenderView.cpp:
2146         (WebCore::RenderView::repaintViewRectangle):
2147         * rendering/RenderWidget.cpp:
2148         (WebCore::RenderWidget::paintContents):
2149
2150 2014-12-16  Beth Dakin  <bdakin@apple.com>
2151
2152         REGRESSION: Preview popovers obscure the link, look wrong
2153         https://bugs.webkit.org/show_bug.cgi?id=139711
2154         -and corresponding-
2155         rdar://problem/19271854
2156
2157         Reviewed by Tim Horton.
2158
2159         New SPI.
2160         * WebCore.xcodeproj/project.pbxproj:
2161         * platform/spi/mac/NSPopoverSPI.h: Added.
2162
2163 2014-12-16  Myles C. Maxfield  <mmaxfield@apple.com>
2164
2165         [iOS] Cherokee language is drawn as boxes
2166         https://bugs.webkit.org/show_bug.cgi?id=139706
2167
2168         Reviewed by Simon Fraser.
2169
2170         Test: platform/ios-simulator/fast/text/cherokee.html
2171
2172         * platform/graphics/ios/FontCacheIOS.mm:
2173         (WebCore::languageSpecificFallbackFont):
2174
2175 2014-12-16  Enrica Casucci  <enrica@apple.com>
2176
2177         Fix iOS builders for 8.0
2178         https://bugs.webkit.org/show_bug.cgi?id=139495
2179
2180         Reviewed by Jer Noble
2181
2182         * WebCore.exp.in:
2183         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2184         (-[WebVideoFullscreenController enterFullscreen:mode:]):
2185         (-[WebVideoFullscreenController requestHideAndExitFullscreen]):
2186         (-[WebVideoFullscreenController enterFullscreen:]): Deleted.
2187         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2188
2189 2014-12-16  Myles C. Maxfield  <mmaxfield@apple.com>
2190
2191         Ruby overhang uses ints instead of floats
2192         https://bugs.webkit.org/show_bug.cgi?id=139624
2193
2194         Reviewed by Dave Hyatt.
2195
2196         Simply change the type.
2197
2198         Updated existing tests.
2199
2200         * rendering/RenderBlockLineLayout.cpp:
2201         (WebCore::RenderBlockFlow::setMarginsForRubyRun):
2202         * rendering/RenderRubyRun.cpp:
2203         (WebCore::RenderRubyRun::getOverhang):
2204         * rendering/RenderRubyRun.h:
2205         * rendering/line/LineWidth.cpp:
2206         (WebCore::LineWidth::applyOverhang):
2207
2208 2014-12-16  Gavin Barraclough  <barraclough@apple.com>
2209
2210         Move Mac process suppression from WebCore to WebKit2
2211         https://bugs.webkit.org/show_bug.cgi?id=139705
2212
2213         Reviewed by Geoff Garen.
2214
2215         Currently PageThrottler constructs the PageActivityState, holds a copy of the ViewState,
2216         and an optional UserActivity.
2217
2218         Instead, still construct the PageActivityState but just pass this out via the Page to WebPage.
2219         Logic From PageThrottler::updateUserActivity merged into WebPage::updateUserActivity.
2220
2221         * WebCore.exp.in:
2222             - removed createUserActivity.
2223         * page/ChromeClient.h:
2224         (WebCore::ChromeClient::setPageActivityState):
2225             - added to propagate PageActivityState to WebPage.
2226         * page/Page.cpp:
2227         (WebCore::Page::Page):
2228             - PageThrottler constructor now takes a Page&.
2229         (WebCore::Page::setViewState):
2230             - no longer necessary to pass this to PageThrottler.
2231         (WebCore::Page::setPageActivityState):
2232             - added to propagate PageActivityState to WebPage.
2233         (WebCore::Page::enablePageThrottler): Deleted.
2234             - PageThrottler no longer has a UserActivity.
2235         * page/Page.h:
2236         (WebCore::Page::pageThrottler):
2237             - added setPageActivityState, removed enablePageThrottler.
2238         * page/PageThrottler.cpp:
2239         (WebCore::PageThrottler::PageThrottler):
2240             - removed m_viewState, added m_page.
2241         (WebCore::PageThrottler::setActivityFlag):
2242             - propagate PageActivityState via Page to WebPage.
2243         (WebCore::PageThrottler::createUserActivity): Deleted.
2244         (WebCore::PageThrottler::updateUserActivity): Deleted.
2245         (WebCore::PageThrottler::setViewState): Deleted.
2246             - removed; PageThrottler no longer has a PageThrottler or UserActivity.
2247         * page/PageThrottler.h:
2248             - removed createUserActivity, setViewState, m_viewState, m_activity; added m_page.
2249
2250 2014-12-16  Jer Noble  <jer.noble@apple.com>
2251
2252         Unreviewed build fix after r177375; explicitly cast to NSUInteger.
2253
2254         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2255         (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions):
2256         (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions):
2257
2258 2014-12-16  peavo@outlook.com  <peavo@outlook.com>
2259
2260         [Win] Compiling WebCore fails because of invalid project file.
2261         https://bugs.webkit.org/show_bug.cgi?id=139686
2262
2263         Reviewed by Alex Christensen.
2264
2265         A WebCore project file contains illegal characters.
2266
2267         * WebCore.vcxproj/WebCore.vcxproj.filters:
2268
2269 2014-12-16  Gavin Barraclough  <barraclough@apple.com>
2270
2271         Introduce PageActivityState
2272         https://bugs.webkit.org/show_bug.cgi?id=139687
2273
2274         Reviewed by Anders Carlsson.
2275
2276         Add a bitfield to track each of the activities on the page separately.
2277         Split the hysteresis & counters so we can track these separately.
2278
2279         * page/PageThrottler.cpp:
2280         (WebCore::PageThrottler::PageThrottler):
2281             - initialze new hysteresis, counters; closures call setActivityFlag.
2282         (WebCore::PageThrottler::mediaActivityToken):
2283         (WebCore::PageThrottler::pageLoadActivityToken):
2284             - split m_pageActivityCounter -> m_mediaActivityCounter, m_pageLoadActivityCounter.
2285         (WebCore::PageThrottler::updateUserActivity):
2286             - use m_activityState to check for activity.
2287         (WebCore::PageThrottler::setActivityFlag):
2288             - helper to clear/set a bit in m_activityState, and call updateUserActivity as necessary.
2289         * page/PageThrottler.h:
2290         (WebCore::PageThrottler::didReceiveUserInput):
2291         (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
2292             - split m_hysteresis -> m_userInputHysteresis, m_audiblePluginHysteresis
2293
2294 2014-12-16  Myles C. Maxfield  <litherum@gmail.com>
2295
2296         Ruby does not preserve expansion opportunities from enclosing context
2297         https://bugs.webkit.org/show_bug.cgi?id=139618
2298
2299         Reviewed by David Hyatt.
2300
2301         There is currently no sharing of expansion opportunity information between
2302         ruby bases and the text surrounding the ruby. This patch adds a bit on
2303         RenderText, m_contentIsKnownToFollow, which affects how expansion
2304         opportunities are handled at paint-time, as well as a bit on RenderRubyBase,
2305         m_isAfterExpansion, which affects how expansions are calculated when laying
2306         out a line. This patch also adds a field to RenderRubyBase which represents
2307         the base's starting position within a ruby. This field is necessary because
2308         an expansion from a line might occur at the very beginning of a ruby base,
2309         so we have to remember some state from expansion time to RenderRubyBase
2310         layout time.
2311
2312         Added more tests to fast/ruby/ruby-justification.html.
2313
2314         * rendering/InlineBox.h:
2315         (WebCore::InlineBox::setExpansionWithoutGrowing):
2316         (WebCore::InlineBox::expansion):
2317         * rendering/InlineFlowBox.cpp:
2318         (WebCore::InlineFlowBox::removeChild): Keep the bit on InlineTextBox up to
2319         date.
2320         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): Set expansion
2321         information in InlineFlowBoxes so the total expansion for a whole line
2322         is held in the RootInlineBox's expansion.
2323         * rendering/InlineTextBox.h:
2324         (WebCore::InlineTextBox::expansionBehavior):
2325         * rendering/RenderBlockFlow.h:
2326         * rendering/RenderBlockLineLayout.cpp:
2327         (WebCore::RenderBlockFlow::updateRubyForJustifiedText):
2328         updateRubyForJustifiedText() had a bunch of problems with it. First of all,
2329         it didn't actually set the InlineBoxes as dirty, so the second layout pass
2330         sometimes wouldn't perform any updates. Secondarily, it didn't take
2331         overhangs into account. Thirdly, it didn't mark the ruby base and text as
2332         needing layout so that subsequent layouts would actually traverse into them.
2333         (WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
2334         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
2335         This nested if triangle is super nasty, but I'm not sure of a better way to
2336         write it.
2337         (WebCore::updateRubyForJustifiedText): Deleted.
2338         (WebCore::computeExpansionForJustifiedText): Deleted.
2339         * rendering/RenderRubyBase.cpp:
2340         (WebCore::RenderRubyBase::RenderRubyBase):
2341         (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds):
2342         * rendering/RenderRubyBase.h:
2343         * rendering/RenderRubyRun.cpp:
2344         (WebCore::RenderRubyRun::layout):
2345         * rendering/RenderText.cpp:
2346         (WebCore::RenderText::RenderText):
2347         * rendering/RenderText.h:
2348         (WebCore::RenderText::contentIsKnownToFollow):
2349         (WebCore::RenderText::setContentIsKnownToFollow):
2350
2351 2014-12-16  Jer Noble  <jer.noble@apple.com>
2352
2353         [iOS] Crash in WebKit::WebPageProxy::dispatchViewStateChange() tapping a link from another app while playing a video
2354         https://bugs.webkit.org/show_bug.cgi?id=139550
2355
2356         Reviewed by Anders Carlsson.
2357
2358         The existing "dispatch to WebThread, then release" model is insufficient and still
2359         can result in RefPtr race conditions between the main thread and the web thread.
2360         Make WebVideoFullscreenInterfaceAVKit a thread-safe ref-counted class, which
2361         eliminates the necessity of disptaching back to the web thread before releasing.
2362
2363         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2364         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2365         (WebVideoFullscreenInterfaceAVKit::setDuration): Use a strongThis model.
2366         (WebVideoFullscreenInterfaceAVKit::setCurrentTime): Ditto.
2367         (WebVideoFullscreenInterfaceAVKit::setRate): Ditto.
2368         (WebVideoFullscreenInterfaceAVKit::setVideoDimensions): Ditto.
2369         (WebVideoFullscreenInterfaceAVKit::setSeekableRanges): Ditto.
2370         (mediaSelectionOptions): Return a RetainPtr object.
2371         (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): Use a strongThis model.
2372         (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): Ditto.
2373         (WebVideoFullscreenInterfaceAVKit::setExternalPlayback): Ditto.
2374         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
2375         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto.
2376         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Ditto.
2377         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): Ditto.
2378         (WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Added utility
2379             function. Lets us use the implied this pointer rather than an explicit
2380             strongThis.
2381         (WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized): Ditto.
2382         (WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): Ditto.
2383         (WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto.
2384         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto.
2385         (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Use a strongThis model.
2386
2387 2014-12-16  Ryosuke Niwa  <rniwa@webkit.org>
2388
2389         Nested template contents are not cloned by document.importNode
2390         https://bugs.webkit.org/show_bug.cgi?id=137619
2391
2392         Reviewed by Andreas Kling.
2393
2394         The bug was caused by Document.importNode not cloning HTMLTemplateElement's content.
2395
2396         Fixed the bug by sharing code between Document::importNode and Node::cloneNode by
2397         generalizing Node::cloneNodeInternal, added in r177314, by taking the owner document
2398         as an argument. The most of code changes are the result of adding this argument.
2399
2400         Document::importNode is the only function in which the actual logic changes.
2401         Note that the code to import TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE,
2402         PROCESSING_INSTRUCTION_NODE and COMMENT_NODE nodes are identical to that of cloneNode.
2403
2404         This patch removes the call to hasValidNamespaceForElements in ELEMENT_NODE but this
2405         should not introduce an observable behavior change since all instantiated elements
2406         should have a valid namespace in the first place.
2407
2408         Because DOCUMENT_NODE and DOCUMENT_TYPE_NODE cannot be imported and DOCUMENT_TYPE_NODE
2409         can only appear as a direct child of DOCUMENT_NODE, neither nodes nor unimplemented
2410         XPATH_NAMESPACE_NODE and XPATH_NAMESPACE_NODE can appear inside the recursive calls
2411         for ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE nodes.
2412
2413         While importNode behaves differently from cloneNode for ATTRIBUTE_NODE, namely that
2414         it merges all of its child nodes, this behavior isn't present when recursing inside
2415         ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE since we are using cloneDataFromElement.
2416
2417         Thus there should be no observable behavior changes for DOCUMENT_FRAGMENT_NODE and
2418         ELEMENT_NODE nodes either.
2419
2420         Test: fast/dom/HTMLTemplateElement/importNode-nested-templates.html
2421
2422         * dom/Attr.cpp:
2423         (WebCore::Attr::cloneNodeInternal):
2424         * dom/Attr.h:
2425         * dom/CDATASection.cpp:
2426         (WebCore::CDATASection::cloneNodeInternal):
2427         * dom/CDATASection.h:
2428         * dom/Comment.cpp:
2429         (WebCore::Comment::cloneNodeInternal):
2430         * dom/Comment.h:
2431         * dom/ContainerNode.cpp:
2432         (WebCore::ContainerNode::cloneChildNodes):
2433         * dom/Document.cpp:
2434         (WebCore::Document::importNode):
2435         (WebCore::Document::cloneNodeInternal):
2436         * dom/Document.h:
2437         * dom/DocumentFragment.cpp:
2438         (WebCore::DocumentFragment::cloneNodeInternal):
2439         * dom/DocumentFragment.h:
2440         * dom/DocumentType.cpp:
2441         (WebCore::DocumentType::cloneNodeInternal):
2442         * dom/DocumentType.h:
2443         * dom/Element.cpp:
2444         (WebCore::Element::cloneNodeInternal):
2445         (WebCore::Element::cloneElementWithChildren):
2446         (WebCore::Element::cloneElementWithoutChildren):
2447         (WebCore::Element::cloneElementWithoutAttributesAndChildren):
2448         * dom/Element.h:
2449         * dom/EntityReference.cpp:
2450         (WebCore::EntityReference::cloneNodeInternal):
2451         * dom/EntityReference.h:
2452         * dom/Node.h:
2453         (WebCore::Node::cloneNode):
2454         * dom/ProcessingInstruction.cpp:
2455         (WebCore::ProcessingInstruction::cloneNodeInternal):
2456         * dom/ProcessingInstruction.h:
2457         * dom/ShadowRoot.cpp:
2458         (WebCore::ShadowRoot::cloneNodeInternal):
2459         * dom/ShadowRoot.h:
2460         * dom/Text.cpp:
2461         (WebCore::Text::cloneNodeInternal):
2462         * dom/Text.h:
2463         * editing/ApplyStyleCommand.cpp:
2464         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
2465         (WebCore::ApplyStyleCommand::applyInlineStyleChange):
2466         * editing/BreakBlockquoteCommand.cpp:
2467         (WebCore::BreakBlockquoteCommand::doApply):
2468         * editing/InsertParagraphSeparatorCommand.cpp:
2469         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
2470         (WebCore::InsertParagraphSeparatorCommand::doApply):
2471         * editing/ModifySelectionListLevel.cpp:
2472         (WebCore::IncreaseSelectionListLevelCommand::doApply):
2473         * editing/SplitElementCommand.cpp:
2474         (WebCore::SplitElementCommand::doApply):
2475         * editing/markup.cpp:
2476         (WebCore::createFragmentFromText):
2477         * html/HTMLKeygenElement.cpp:
2478         * html/HTMLScriptElement.cpp:
2479         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
2480         * html/HTMLScriptElement.h:
2481         * html/HTMLTemplateElement.cpp:
2482         (WebCore::HTMLTemplateElement::cloneNodeInternal):
2483         * html/HTMLTemplateElement.h:
2484         * html/shadow/SliderThumbElement.cpp:
2485         (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren):
2486         * html/shadow/SliderThumbElement.h:
2487         * html/track/WebVTTElement.cpp:
2488         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
2489         * html/track/WebVTTElement.h:
2490         * svg/SVGScriptElement.cpp:
2491         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
2492         * svg/SVGScriptElement.h:
2493         * svg/SVGUseElement.cpp:
2494         (WebCore::SVGUseElement::buildShadowTree):
2495         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2496
2497 2014-12-16  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
2498
2499         Document.contentType implementation
2500         https://bugs.webkit.org/show_bug.cgi?id=132269
2501
2502         Reviewed by Darin Adler.
2503
2504         Chromium merge from https://codereview.chromium.org/151653004
2505
2506         Tests: fast/dom/document-contentType-DOMParser.html
2507                fast/dom/document-contentType-createDocument.html
2508                fast/dom/document-contentType-data-uri.html
2509                fast/xsl/xslt-contentType.html
2510                http/tests/dom/document-contentType-meta.html
2511                http/tests/dom/document-contentType-xhr.html
2512                http/tests/dom/document-contentType.html
2513
2514         * dom/Document.cpp:
2515         (WebCore::Document::overrideMIMEType):
2516         (WebCore::Document::contentType):
2517         (WebCore::Document::cloneDataFromDocument):
2518         * dom/Document.h:
2519         * dom/Document.idl:
2520         * loader/DocumentLoader.cpp:
2521         (WebCore::DocumentLoader::currentContentType):
2522         * loader/DocumentLoader.h:
2523         * xml/XMLHttpRequest.cpp:
2524         (WebCore::XMLHttpRequest::responseXML):
2525         * xml/XSLTProcessor.cpp:
2526         (WebCore::XSLTProcessor::createDocumentFromSource):
2527
2528 2014-12-16  Anders Carlsson  <andersca@apple.com>
2529
2530         Put some common code in StorageNamespaceProvider
2531         https://bugs.webkit.org/show_bug.cgi?id=139682
2532
2533         Reviewed by Tim Horton.
2534
2535         We have code in two places that gets the local storage area from a given document,
2536         choosing either the local storage namespace or the transient local storage namespace.
2537         Move it to StorageNamespaceProvider::localStorageArea.
2538
2539         * bindings/js/ScriptController.cpp:
2540         * inspector/InspectorDOMStorageAgent.cpp:
2541         (WebCore::InspectorDOMStorageAgent::findStorageArea):
2542         * page/DOMWindow.cpp:
2543         (WebCore::DOMWindow::localStorage):
2544         * page/Navigator.cpp:
2545         * storage/StorageNamespaceProvider.cpp:
2546         (WebCore::StorageNamespaceProvider::localStorageArea):
2547         (WebCore::StorageNamespaceProvider::localStorageNamespace):
2548         * storage/StorageNamespaceProvider.h:
2549
2550 2014-12-16  Anders Carlsson  <andersca@apple.com>
2551
2552         Add FeatureCounterKeys.h to the Xcode project.
2553
2554         * WebCore.xcodeproj/project.pbxproj:
2555
2556 2014-12-16  Chris Dumez  <cdumez@apple.com>
2557
2558         REGRESSION (r163928): Animated GIFs are not resumed when translated into view using -webkit-transform
2559         https://bugs.webkit.org/show_bug.cgi?id=139672
2560         <rdar://problem/19260797>
2561
2562         Reviewed by Antti Koivisto.
2563
2564         After r163928, animated GIFs were not resumed when translated into view
2565         using '-webkit-transform' CSS property.
2566
2567         This broke animated gifs on the mobile version of weibo.com (which is
2568         one of the most popular blogging sites in China) on iPhone. e.g.
2569         http://m.weibo.cn/page/tpl?containerid=1005052150182731_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=全部微博
2570
2571         This patch calls FrameView::resumeVisibleImageAnimationsIncludingSubframes()
2572         after style recalc so that we resume animated images if they become visible
2573         after the style has changed. Doing so after layout wouldn't work because
2574         no layout happens in this case.
2575
2576         Test: fast/images/animated-gif-webkit-transform.html
2577
2578         * dom/Document.cpp:
2579         (WebCore::Document::recalcStyle):
2580
2581 2014-12-16  Sebastian Dröge  <sebastian@centricular.com>
2582
2583         [GStreamer] Fix deadlock when shutting down AudioDestination
2584         https://bugs.webkit.org/show_bug.cgi?id=139496
2585
2586         Reviewed by Philippe Normand.
2587
2588         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2589         (webKitWebAudioSrcLoop):
2590         (webKitWebAudioSrcChangeState):
2591         Sometimes we would wait forever for the task to shut down. This
2592         was happening because of a bug in GStreamer that caused joining
2593         a paused task to deadlock.
2594
2595 2014-12-15  Dhi Aurrahman  <diorahman@rockybars.com>
2596
2597         Extend :lang()'s selector checker to handle ranges with '*' properly and perform matching within the ASCII range
2598         https://bugs.webkit.org/show_bug.cgi?id=139340
2599
2600         Reviewed by Benjamin Poulain.
2601
2602         Asterisk is considered as a valid subtag of a language range to express wildcard matching 
2603         in :lang()'s extended filtering procedure. The matching rules introduced by language 
2604         range with '*' is outlined in [1].
2605
2606         The matching of subtags is performed case-insensitively within the ASCII range[2].
2607
2608         [1] www.ietf.org/rfc/rfc4647.txt
2609         [2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
2610
2611         Test: fast/selectors/lang-equal-ignoring-case.html
2612               fast/selectors/lang-valid-extended-filtering.html
2613
2614         * css/SelectorCheckerTestFunctions.h:
2615         (WebCore::equalIgnoringCaseWithinASCIIRange): Handle matching case-insensitively within the ASCII range.
2616         (WebCore::containslanguageSubtagMatchingRange):
2617         (WebCore::matchesLangPseudoClass):
2618
2619 2014-12-15  Chris Dumez  <cdumez@apple.com>
2620
2621         [iOS] Add feature counting support
2622         https://bugs.webkit.org/show_bug.cgi?id=139652
2623         <rdar://problem/19255690>
2624
2625         Reviewed by Gavin Barraclough.
2626
2627         Use FeatureCounter API to log PageCache failure reasons
2628         as well as its success rate.
2629
2630         No new tests, no behavior change.
2631
2632         * history/PageCache.cpp:
2633         (WebCore::logCanCacheFrameDecision):
2634         (WebCore::logCanCachePageDecision):
2635         (WebCore::PageCache::canCache):
2636         * platform/FeatureCounterKeys.h: Added.
2637
2638 2014-12-15  Beth Dakin  <bdakin@apple.com>
2639
2640         Speculative build fix.
2641
2642         * platform/spi/mac/LookupSPI.h:
2643
2644 2014-12-15  Beth Dakin  <bdakin@apple.com>
2645
2646         Speculative build fix.
2647
2648         * platform/spi/mac/LookupSPI.h:
2649
2650 2014-12-15  Jer Noble  <jer.noble@apple.com>
2651
2652         Switching src of <video> with clipping layer results in empty black square.
2653         https://bugs.webkit.org/show_bug.cgi?id=139650
2654
2655         Reviewed by Simon Fraser.
2656
2657         Test: compositing/video-clip-change-src.html
2658
2659         When the contentsLayer changes after a contentsClippingLayer has already been created, make sure to parent the
2660         new contentsLayer, as updateRects() will only reparent when first creating a contentsClippingLayer.
2661
2662         * platform/graphics/ca/GraphicsLayerCA.cpp:
2663         (WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
2664
2665 2014-12-15  Beth Dakin  <bdakin@apple.com>
2666
2667         Make lookup an immediate action instead of an action menu item
2668         https://bugs.webkit.org/show_bug.cgi?id=139661
2669         -and corresponding-
2670         rdar://problem/19198414
2671
2672         Reviewed by Tim Horton.
2673
2674         New SPI.
2675         * platform/spi/mac/LookupSPI.h:
2676
2677 2014-12-12  Anders Carlsson  <andersca@apple.com>
2678
2679         Get rid of the DONT_FINALIZE_ON_MAIN_THREAD #define
2680         https://bugs.webkit.org/show_bug.cgi?id=139613
2681
2682         Reviewed by Sam Weinig.
2683
2684         * WebCore.exp.in:
2685         Update symbols.
2686
2687         * WebCore.xcodeproj/project.pbxproj:
2688         Remove -Wno-deprecated-declarations from the WebCoreObjCExtras.mm build flags.
2689
2690         * platform/mac/WebCoreObjCExtras.h:
2691         If OBJC_NO_GC is defined to 1, just make WebCoreObjCFinalizeOnMainThread a no-op inline function.
2692
2693         * platform/mac/WebCoreObjCExtras.mm:
2694         (WebCoreObjCFinalizeOnMainThread):
2695         Move this to the .h file for easier inlining.
2696
2697         (WebCoreObjCScheduleDeallocateOnMainThread):
2698         Use a lambda.
2699
2700 2014-12-15  Gavin Barraclough  <barraclough@apple.com>
2701
2702         Separate counted and hysteresis activities in PageThrottler
2703         https://bugs.webkit.org/show_bug.cgi?id=139657
2704
2705         Reviewed by Sam Weinig.
2706
2707         Currently all activities funnel into a common hysteresis mechanism, the result of
2708         which is combined with the visually idle state, the result of which in turn drives
2709         a UserActivity::Impl.
2710
2711         This is a first refactoring towards moving the UserActivity out to WebKit2. Use
2712         m_hysteresis only of the impulse activities (plugin evaluation, user input), and
2713         flatten the three types of activities (impulse, counted, ViewState) to all directly
2714         control a UserActivity. Switch from a UserActivity::Impl to a UserActivity since
2715         this will provide hysteresis for media activity.
2716
2717         * page/PageThrottler.cpp:
2718         (WebCore::m_pageActivityCounter):
2719             - when the RefCounter changes just call updateUserActivity directly, removeed redundant call to updateUserActivity.
2720         (WebCore::PageThrottler::createUserActivity):
2721             - m_activity is now a UserActivity.
2722         (WebCore::PageThrottler::updateUserActivity):
2723             - previously just checked m_hysteresis for activity; now check m_pageActivityCounter too.
2724         (WebCore::PageThrottler::pageActivityCounterValueDidChange): Deleted.
2725             - no longer needed; when the RefCounter changes just call updateUserActivity directly.
2726         * page/PageThrottler.h:
2727             - removed pageActivityCounterValueDidChange, m_activity is now a UserActivity.
2728
2729 2014-12-15  Commit Queue  <commit-queue@webkit.org>
2730
2731         Unreviewed, rolling out r177284.
2732         https://bugs.webkit.org/show_bug.cgi?id=139658
2733
2734         "Breaks API tests and LayoutTests on Yosemite Debug"
2735         (Requested by msaboff on #webkit).
2736
2737         Reverted changeset:
2738
2739         "Make sure range based iteration of Vector<> still receives
2740         bounds checking"
2741         https://bugs.webkit.org/show_bug.cgi?id=138821
2742         http://trac.webkit.org/changeset/177284
2743
2744 2014-12-15  Ryosuke Niwa  <rniwa@webkit.org>
2745
2746         cloneNode(true) does not clone nested template elements' contents
2747         https://bugs.webkit.org/show_bug.cgi?id=137755
2748
2749         Reviewed by Darin Adler.
2750
2751         The bug was caused by cloneChildNodes not copying template element's content.
2752
2753         Fixed the bug by adding the third behavior (CloneContent) to the polymorphic
2754         cloneNodeInternal, which copies template element's content but not its children,
2755         in addition to the existing CloneSelf (deep=false) and CloneChildren (deep=true).
2756
2757         Test: fast/dom/HTMLTemplateElement/cloneNode-nested-templates.html
2758
2759         * dom/Attr.cpp:
2760         (WebCore::Attr::cloneNodeInternal): Renamed from cloneNode.
2761         * dom/Attr.h:
2762         * dom/CDATASection.cpp:
2763         (WebCore::CDATASection::cloneNodeInternal): Renamed from cloneNode.
2764         * dom/CDATASection.h:
2765         * dom/Comment.cpp:
2766         (WebCore::Comment::cloneNodeInternal): Renamed from cloneNode.
2767         * dom/Comment.h:
2768         * dom/ContainerNode.cpp:
2769         (WebCore::ContainerNode::cloneChildNodes): Calls cloneNode with CloneContent.
2770         * dom/Document.cpp:
2771         (WebCore::Document::cloneNodeInternal): Renamed from cloneNode.
2772         * dom/Document.h:
2773         * dom/DocumentFragment.cpp:
2774         (WebCore::DocumentFragment::cloneNodeInternal): Renamed from cloneNode.
2775         * dom/DocumentFragment.h:
2776         * dom/DocumentType.cpp:
2777         (WebCore::DocumentType::cloneNodeInternal): Renamed from cloneNode.
2778         * dom/DocumentType.h:
2779         * dom/Element.cpp:
2780         (WebCore::Element::cloneNodeInternal): Renamed from cloneNode.
2781         * dom/Element.h:
2782         * dom/EntityReference.cpp:
2783         (WebCore::EntityReference::cloneNodeInternal): Renamed from cloneNode.
2784         * dom/EntityReference.h:
2785         * dom/Node.h:
2786         (WebCore::Node::cloneNode): Added. It calls cloneNodeInternal with CloneSelf or CloneChildren.
2787         * dom/ProcessingInstruction.cpp:
2788         (WebCore::ProcessingInstruction::cloneNodeInternal): Renamed from cloneNode.
2789         * dom/ProcessingInstruction.h:
2790         * dom/ShadowRoot.cpp:
2791         (WebCore::ShadowRoot::cloneNodeInternal): Renamed from cloneNode. Also moved from ShadowRoot.h.
2792         * dom/ShadowRoot.h:
2793         * dom/Text.cpp:
2794         (WebCore::Text::cloneNodeInternal): Renamed from cloneNode.
2795         * dom/Text.h:
2796         * html/HTMLTemplateElement.cpp:
2797         (WebCore::HTMLTemplateElement::cloneNodeInternal): Renamed from cloneNode. This is the only
2798         function in which CloneContent results in a different behavior from CloneSelf.
2799         * html/HTMLTemplateElement.h:
2800
2801 2014-12-15  Benjamin Poulain  <bpoulain@apple.com>
2802
2803         Unify the various serialization of selector list
2804         https://bugs.webkit.org/show_bug.cgi?id=139606
2805
2806         Reviewed by Andreas Kling.
2807
2808         There were code in various place to build a string from the selectors contained
2809         in a selecor list.
2810
2811         This patch adds a single function to do that: buildSelectorsText(). All the call sites
2812         were modified to use it.
2813
2814         The serialization of :-webkit-any() gets fixed as a result.
2815
2816         * css/CSSSelector.cpp:
2817         (WebCore::CSSSelector::selectorText):
2818         (WebCore::appendSelectorList): Deleted.
2819         * css/CSSSelectorList.cpp:
2820         (WebCore::CSSSelectorList::selectorsText):
2821         (WebCore::CSSSelectorList::buildSelectorsText):
2822         * css/CSSSelectorList.h:
2823         * css/CSSStyleRule.cpp:
2824         (WebCore::CSSStyleRule::generateSelectorText):
2825         * css/WebKitCSSRegionRule.cpp:
2826         (WebCore::WebKitCSSRegionRule::cssText):
2827
2828 2014-12-15  Antti Koivisto  <antti@apple.com>
2829
2830         Try to fix iOS build.
2831
2832         * WebCore.exp.in:
2833
2834 2014-12-15  Javier Fernandez  <jfernandez@igalia.com>
2835
2836         Floats Don't Overhang Their Block Formatting Contex
2837         https://bugs.webkit.org/show_bug.cgi?id=139476
2838
2839         Reviewed by David Hyatt.
2840
2841         From Blink r172530 by <robhogan@gmail.com>
2842
2843         Floats Don't Overhang Their Block Formatting Context Per
2844         http://www.w3.org/TR/CSS2/visuren.html#float-position: "References
2845         to [the elements] in the [rules that govern the behaviour of
2846         floats] refer only to other elements in the same block formatting
2847         context as the float."
2848
2849         This means we don't need to look for intruding or overhanging
2850         floats in boxes that establish a new block formatting
2851         context. Even that we don't have a test breaking this rule it
2852         seems we are doing unnecessary work in
2853         rebuildFloatsFromIntruding() so make sure we avoid adding floats
2854         from different block formatting contexts.
2855
2856         Test:
2857         fast/block/float/floats-do-not-overhang-from-block-formatting-context.html
2858
2859         * rendering/RenderBlockFlow.cpp:
2860         (WebCore::RenderBlockFlow::addIntrudingFloats):
2861
2862 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
2863
2864         Unreviewed build fix after r177301
2865
2866         * html/ColorInputType.cpp:
2867         (WebCore::ColorInputType::elementRectRelativeToRootView):
2868
2869 2014-12-15  Timothy Horton  <timothy_horton@apple.com>
2870
2871         Implement Data Detectors immediate actions for WebKit2
2872         https://bugs.webkit.org/show_bug.cgi?id=139617
2873         <rdar://problem/19198539>
2874
2875         Reviewed by Beth Dakin.
2876
2877         * platform/spi/mac/DataDetectorsSPI.h:
2878         Add some new SPI.
2879
2880 2014-12-12  Simon Fraser  <simon.fraser@apple.com>
2881
2882         REGRESSION (r168217): Images are cropped out during animation at jetblue.com
2883         https://bugs.webkit.org/show_bug.cgi?id=136410
2884         rdar://problem/18188533
2885
2886         Reviewed by Dean Jackson.
2887         
2888         During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
2889         the current state of an animation, which is obtained via the AnimationController.
2890         If that animation was running in a subframe, AnimationController could use a stale
2891         beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
2892         resulted in an incorrect computation of the visible rect, resulting in missing tiles.
2893         
2894         There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
2895         is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
2896         into AnimationControllerPrivate, and changes to endAnimationUpdate().
2897         
2898         The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
2899         can be called outside of style resolution. We also need some in other API functions.
2900         
2901         Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
2902         that we should have an animation batch inside FrameView::layout(). In addition, a single
2903         resolveStyle/layout should use the same animationBeginTime, so we add a batch to 
2904         updateLayoutAndStyleIfNeededRecursive().
2905         
2906         Identical to the patch that was rolled out in r177269 with the addition of a 
2907         Ref<Frame> protector(m_frame) in AnimationControllerPrivate::animationTimerFired()
2908         that ensures that the AnimationControllerPrivate is kept alive for the scope of
2909         the AnimationPrivateUpdateBlock, when a transitionEnd event destroys an iframe.
2910         
2911         No test because it's timing-dependent. Existing tests exercise the new assertion.
2912
2913         * css/CSSComputedStyleDeclaration.cpp:
2914         (WebCore::computeRenderStyleForProperty):
2915         * page/FrameView.cpp:
2916         (WebCore::FrameView::layout):
2917         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
2918         * page/animation/AnimationController.cpp:
2919         (WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
2920         (WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
2921         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
2922         (WebCore::AnimationControllerPrivate::animationTimerFired):
2923         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
2924         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
2925         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
2926         (WebCore::AnimationControllerPrivate::beginAnimationUpdate):
2927         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
2928         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2929         (WebCore::AnimationController::AnimationController):
2930         (WebCore::AnimationController::notifyAnimationStarted):
2931         (WebCore::AnimationController::pauseAnimationAtTime):
2932         (WebCore::AnimationController::pauseTransitionAtTime):
2933         (WebCore::AnimationController::resumeAnimationsForDocument):
2934         (WebCore::AnimationController::startAnimationsIfNotSuspended):
2935         (WebCore::AnimationController::beginAnimationUpdate):
2936         (WebCore::AnimationController::endAnimationUpdate):
2937         * page/animation/AnimationController.h:
2938         * page/animation/AnimationControllerPrivate.h:
2939
2940 2014-12-12  Simon Fraser  <simon.fraser@apple.com>
2941
2942         REGRESSION (r168217): Images are cropped out during animation at jetblue.com
2943         https://bugs.webkit.org/show_bug.cgi?id=136410
2944
2945         Reviewed by Dean Jackson.
2946
2947         We were hitting the new assertion under Page::setPageScaleFactor(), which
2948         calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded()
2949         to recalcStyle().
2950
2951         * dom/Document.cpp:
2952         (WebCore::Document::recalcStyle):
2953         (WebCore::Document::updateStyleIfNeeded):
2954
2955 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
2956
2957         Addressing post-review comments in r177035
2958         https://bugs.webkit.org/show_bug.cgi?id=139557
2959
2960         Reviewed by Darin Adler.
2961
2962         This patch deletes the helper functions rendererBoundingBox() and rendererAnchorRect() and
2963         migrates callers to using renderers directly.
2964
2965         It also improves the comment in RenderElement.h regarding RenderElement::anchorRect().
2966
2967         No new tests because this is simply refactoring.
2968
2969         * WebCore.exp.in: Delete exported symbol for rendererBoundingBox()
2970         * accessibility/AccessibilitySlider.cpp:
2971         (WebCore::AccessibilitySliderThumb::elementRect): Migrate off rendererBoundingBox()
2972         * dom/ContainerNode.cpp:
2973         (WebCore::rendererAnchorRect): Deleted.
2974         * dom/ContainerNode.h:
2975         * dom/Node.cpp:
2976         (WebCore::rendererBoundingBox): Deleted.
2977         * dom/Node.h:
2978         * html/ColorInputType.cpp:
2979         (WebCore::ColorInputType::elementRectRelativeToRootView): Migrate off rendererBoundingBox().
2980         * html/HTMLInputElement.cpp:
2981         (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
2982         * html/ValidationMessage.cpp:
2983         (WebCore::ValidationMessage::buildBubbleTree): Ditto.
2984         * page/FrameView.cpp:
2985         (WebCore::FrameView::scrollElementToRect): Migrate off rendererAnchorRect().
2986         (WebCore::FrameView::scrollToAnchor): Ditto.
2987         * page/SpatialNavigation.cpp:
2988         (WebCore::nodeRectInAbsoluteCoordinates): Migrate off rendererBoundingBox().
2989         * rendering/RenderElement.h:
2990
2991 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
2992
2993         Delete Notation because we don't use it
2994         https://bugs.webkit.org/show_bug.cgi?id=139171
2995
2996         Reviewed by Kent Tamura.
2997
2998         No tests because this is un-exposing something that never gets instantiated.
2999
3000         * CMakeLists.txt:
3001         * DerivedSources.cpp:
3002         * DerivedSources.make:
3003         * WebCore.exp.in:
3004         * WebCore.order:
3005         * WebCore.vcxproj/WebCore.vcxproj:
3006         * WebCore.vcxproj/WebCore.vcxproj.filters:
3007         * WebCore.xcodeproj/project.pbxproj:
3008         * bindings/gobject/WebKitDOMNodeFilter.h:
3009         * bindings/gobject/WebKitDOMNodeFilter.symbols:
3010         * bindings/gobject/WebKitDOMPrivate.cpp:
3011         (WebKit::wrap):
3012         * bindings/gobject/webkitdom.symbols:
3013         * bindings/js/JSNodeCustom.cpp:
3014         (WebCore::createWrapperInline):
3015         * bindings/objc/DOM.mm:
3016         (kitClass):
3017         * bindings/objc/DOMCore.h:
3018         * bindings/objc/PublicDOMInterfaces.h:
3019         * dom/DOMAllInOne.cpp:
3020         * dom/Document.cpp:
3021         (WebCore::Document::importNode):
3022         (WebCore::Document::adoptNode):
3023         (WebCore::Document::childTypeAllowed):
3024         (WebCore::Document::canReplaceChild):
3025         * dom/Node.cpp:
3026         (WebCore::Node::dumpStatistics):
3027         (WebCore::Node::isDefaultNamespace):
3028         (WebCore::Node::lookupPrefix):
3029         (WebCore::Node::lookupNamespaceURI):
3030         (WebCore::appendTextContent):
3031         (WebCore::Node::setTextContent):
3032         * dom/Node.h:
3033         * dom/Node.idl:
3034         * dom/NodeFilter.h:
3035         * dom/NodeFilter.idl:
3036         * dom/Notation.cpp: Removed.
3037         * dom/Notation.h: Removed.
3038         * dom/Notation.idl: Removed.
3039         * dom/Range.cpp:
3040         (WebCore::lengthOfContentsInNode):
3041         (WebCore::Range::processContentsBetweenOffsets):
3042         (WebCore::Range::insertNode):
3043         (WebCore::Range::checkNodeWOffset):
3044         (WebCore::Range::checkNodeBA):
3045         (WebCore::Range::selectNode):
3046         (WebCore::Range::selectNodeContents):
3047         (WebCore::Range::surroundContents):
3048         * editing/MarkupAccumulator.cpp:
3049         (WebCore::MarkupAccumulator::appendStartMarkup):
3050         * xml/XPathUtil.cpp:
3051         (WebCore::XPath::isValidContextNode):
3052
3053 2014-12-15  Gavin Barraclough  <barraclough@apple.com>
3054
3055         Change HysteresisActivity to use a lambda
3056         https://bugs.webkit.org/show_bug.cgi?id=139636
3057
3058         Reviewed by Darin Adler.
3059
3060         The current implementation provides notifications via callbacks to a delegate. Using a delegate
3061         with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks
3062         must either be on a separate object (more boilerplate), or the callback must be public for
3063         HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra
3064         delegate objects it's hard to scale use of these objects - a single object can't serve as a
3065         delegate for multiple HysteresisActivity members.
3066
3067         Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed
3068         HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout).
3069
3070         * WebCore.exp.in:
3071             - removed exports of deleted functions.
3072         * page/PageThrottler.cpp:
3073         (WebCore::PageThrottler::PageThrottler):
3074             - m_hysteresis lambda calls updateUserActivity.
3075         (WebCore::PageThrottler::pageActivityCounterValueDidChange):
3076             - ASSERT updated due to removal of WillStopPendingTimeout state.
3077         (WebCore::PageThrottler::started): Deleted.
3078         (WebCore::PageThrottler::stopped): Deleted.
3079             - functionality replaced by lambda.
3080         * page/PageThrottler.h:
3081             - HysteresisActivity is no longer templated on delegate type, removed function declarations & friend.
3082         * platform/HysteresisActivity.h:
3083         (WebCore::HysteresisActivity::HysteresisActivity):
3084             - HysteresisActivity takes a lambda, not a delegate.
3085         (WebCore::HysteresisActivity::start):
3086             - delegate call -> callback.
3087         (WebCore::HysteresisActivity::state):
3088             - simplified to remove WillStopPendingTimeout.
3089         (WebCore::HysteresisActivity::hysteresisTimerFired):
3090             - delegate call -> callback.
3091         * platform/UserActivity.cpp:
3092         (WebCore::UserActivity::UserActivity):
3093             - HysteresisActivity lambda calls hysteresisUpdated.
3094         (WebCore::UserActivity::hysteresisUpdated):
3095         (WebCore::UserActivity::started): Deleted.
3096         (WebCore::UserActivity::stopped): Deleted.
3097             - started/stopped -> hysteresisUpdated.
3098         * platform/UserActivity.h:
3099             - started/stopped -> hysteresisUpdated, removed friend.
3100
3101 2014-12-15  Antti Koivisto  <antti@apple.com>
3102
3103         WebKit level persistent caching
3104         https://bugs.webkit.org/show_bug.cgi?id=30322
3105
3106         Reviewed by Sam Weinig.
3107
3108         Test: http/tests/cache/disk-cache-validation.html
3109
3110         * WebCore.exp.in:
3111         * inspector/InspectorResourceAgent.cpp:
3112         (WebCore::buildObjectForResourceResponse):
3113         * platform/network/ResourceResponseBase.cpp:
3114         (WebCore::ResourceResponseBase::ResourceResponseBase):
3115         (WebCore::ResourceResponseBase::source):
3116         (WebCore::ResourceResponseBase::setSource):
3117         (WebCore::ResourceResponseBase::wasCached): Deleted.
3118         (WebCore::ResourceResponseBase::setWasCached): Deleted.
3119
3120             Replace wasCached bit with Source enum.
3121             This is useful for testing.
3122
3123         * platform/network/ResourceResponseBase.h:
3124         (WebCore::ResourceResponseBase::containsCertificateInfo):
3125         (WebCore::ResourceResponseBase::encode):
3126         (WebCore::ResourceResponseBase::decode):
3127         * testing/Internals.cpp:
3128         (WebCore::Internals::xhrResponseSource):
3129         (WebCore::Internals::clearMemoryCache):
3130         * testing/Internals.h:
3131         * testing/Internals.idl:
3132
3133             Testing support.
3134
3135         * xml/XMLHttpRequest.h:
3136
3137 2014-12-15  Andreas Kling  <akling@apple.com>
3138
3139         Purge PassRefPtr from FocusEvent code.
3140         <https://webkit.org/b/139647>
3141
3142         Reviewed by Anders Carlsson.
3143
3144         Convert FocusEvent-related code from using PassRefPtr to using RefPtr&& instead.
3145
3146         * dom/Document.cpp:
3147         (WebCore::Document::setFocusedElement):
3148         * dom/Element.cpp:
3149         (WebCore::Element::dispatchFocusInEvent):
3150         (WebCore::Element::dispatchFocusOutEvent):
3151         (WebCore::Element::dispatchFocusEvent):
3152         (WebCore::Element::dispatchBlurEvent):
3153         * dom/Element.h:
3154         * dom/FocusEvent.cpp:
3155         (WebCore::FocusEvent::FocusEvent):
3156         * dom/FocusEvent.h:
3157         * html/HTMLFormControlElement.cpp:
3158         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
3159         * html/HTMLFormControlElement.h:
3160         * html/HTMLSelectElement.cpp:
3161         (WebCore::HTMLSelectElement::dispatchFocusEvent):
3162         (WebCore::HTMLSelectElement::dispatchBlurEvent):
3163         * html/HTMLSelectElement.h:
3164         * html/HTMLTextFormControlElement.cpp:
3165         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
3166         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
3167         * html/HTMLTextFormControlElement.h:
3168         * page/FocusController.cpp:
3169         (WebCore::dispatchEventsOnWindowAndFocusedElement):
3170
3171 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
3172
3173         [iOS] Codepoints not associated with languages are drawn as boxes
3174         https://bugs.webkit.org/show_bug.cgi?id=138906
3175
3176         Reviewed by Darin Adler.
3177
3178         Use SPI CTFontCreateForCharacters(), but only if we don't already know what to do
3179         with the characters.
3180
3181         Test: platform/ios-simulator/fast/text/non-language-font-fallback.html
3182
3183         * platform/graphics/ios/FontCacheIOS.mm:
3184         (WebCore::FontCache::systemFallbackForCharacters):
3185         * platform/spi/cocoa/CoreTextSPI.h:
3186
3187 2014-12-15  Bem Jones-Bey  <bjonesbe@adobe.com>
3188
3189         [CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code
3190         https://bugs.webkit.org/show_bug.cgi?id=139601
3191
3192         Reviewed by Chris Dumez.
3193
3194         Change the code to properly use CSSValueNone instead of CSSValueAuto.
3195         Asserts have been added to catch similar errors in the future.
3196         In doing this change, it became apparent that there is nothing
3197         special about the shape-outside property that requires custom code, so
3198         it was changed to use a standard converter function. 
3199
3200         No change observable via LayoutTests.
3201
3202         * css/CSSPropertyNames.in: Use a converter instead of custom code.
3203         * css/StyleBuilderConverter.h:
3204         (WebCore::isImageShape): Helper function so that isImageSetValue can
3205             be properly guarded.
3206         (WebCore::StyleBuilderConverter::convertShapeValue): Format as a
3207             converter instead of custom code.
3208         * css/StyleBuilderCustom.h:
3209         (WebCore::StyleBuilderCustom::applyValueWebkitShapeOutside): Deleted.
3210
3211 2014-12-15  Oliver Hunt  <oliver@apple.com>
3212
3213         Make sure range based iteration of Vector<> still receives bounds checking
3214         https://bugs.webkit.org/show_bug.cgi?id=138821
3215
3216         Reviewed by Mark Lam.
3217
3218         Update to deal with different iterator type.
3219
3220         * bindings/js/SerializedScriptValue.cpp:
3221         (WebCore::CloneDeserializer::deserializeString):
3222         * editing/TextIterator.cpp:
3223         (WebCore::SearchBuffer::isBadMatch):
3224         * page/mac/ServicesOverlayController.mm:
3225         (WebCore::ServicesOverlayController::buildSelectionHighlight):
3226         * platform/graphics/SegmentedFontData.cpp:
3227         (WebCore::SegmentedFontData::fontDataForCharacter):
3228         (WebCore::SegmentedFontData::containsCharacter):
3229         (WebCore::SegmentedFontData::isLoading):
3230         * platform/graphics/WOFFFileFormat.cpp:
3231         (WebCore::convertWOFFToSfnt):
3232         * platform/graphics/cairo/GradientCairo.cpp:
3233         (WebCore::Gradient::platformGradient):
3234         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3235         (WebCore::GIFImageDecoder::clearFrameBufferCache):
3236         * rendering/RenderBox.cpp:
3237         (WebCore::RenderBox::paintFillLayers):
3238         * rendering/style/GridResolvedPosition.cpp:
3239         (WebCore::firstNamedGridLineBeforePosition):
3240         (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
3241         * svg/SVGFontElement.cpp:
3242         (WebCore::kerningForPairOfStringsAndGlyphs):
3243         * svg/SVGPathByteStream.h:
3244         (WebCore::SVGPathByteStream::append):
3245         * xml/XPathNodeSet.h:
3246         (WebCore::XPath::NodeSet::begin):
3247         (WebCore::XPath::NodeSet::end):
3248
3249 2014-12-15  Chris Dumez  <cdumez@apple.com>
3250
3251         Move '-webkit-text-decoration-skip' to the new StyleBuilder
3252         https://bugs.webkit.org/show_bug.cgi?id=139633
3253
3254         Reviewed by Darin Adler.
3255
3256         Move '-webkit-text-decoration-skip' to the new StyleBuilder by
3257         introducing a new TextDecorationSkip converter.
3258
3259         No new tests, no behavior change.
3260
3261         * css/CSSPropertyNames.in:
3262         * css/DeprecatedStyleBuilder.cpp:
3263         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3264         (WebCore::valueToDecorationSkip): Deleted.
3265         (WebCore::ApplyPropertyTextDecorationSkip::applyValue): Deleted.
3266         (WebCore::ApplyPropertyTextDecorationSkip::createHandler): Deleted.
3267         * css/StyleBuilderConverter.h:
3268         (WebCore::StyleBuilderConverter::valueToDecorationSkip):
3269         (WebCore::StyleBuilderConverter::convertTextDecorationSkip):
3270
3271 2014-12-15  Bartlomiej Gajda  <b.gajda@samsung.com>
3272
3273         [MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to HAVE_METADATA transition.
3274         https://bugs.webkit.org/show_bug.cgi?id=139444
3275
3276         Reviewed by Jer Noble.
3277
3278         In case of 2 SourceBuffers, there can be transition to HaveMetadata from monitorSourceBuffers,
3279         even though second SourceBuffer did not receive init segment - we can't query for it's metadata
3280         such as width/height (if second one was video), so we shouldn't fire the event.
3281         W3 Bug reference : https://www.w3.org/Bugs/Public/show_bug.cgi?id=27542
3282
3283         Test: media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html
3284
3285         * Modules/mediasource/MediaSource.cpp:
3286         (WebCore::MediaSource::monitorSourceBuffers):
3287         * Modules/mediasource/SourceBuffer.h:
3288         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
3289         (WebCore::mimeTypeCache):
3290
3291 2014-12-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3292
3293         Move WebCore/platform/text to std::unique_ptr 
3294         https://bugs.webkit.org/show_bug.cgi?id=139395
3295
3296         Reviewed by Darin Adler.
3297
3298         As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with
3299         std::unique_ptr<> | std::make_unique<>.
3300
3301         * dom/Document.h:
3302         * platform/text/LineBreakIteratorPoolICU.h:
3303         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
3304         (WebCore::LineBreakIteratorPool::create): Deleted.
3305         * platform/text/LocaleICU.cpp:
3306         (WebCore::Locale::create):
3307         (WebCore::LocaleICU::createLabelVector):
3308         (WebCore::createFallbackMonthLabels):
3309         (WebCore::createFallbackAMPMLabels):
3310         (WebCore::LocaleICU::initializeDateTimeFormat):
3311         (WebCore::LocaleICU::shortMonthLabels):
3312         (WebCore::LocaleICU::create): Deleted.
3313         (WebCore::LocaleICU::standAloneMonthLabels): Deleted.
3314         (WebCore::LocaleICU::shortStandAloneMonthLabels): Deleted.
3315         * platform/text/LocaleICU.h:
3316         * platform/text/LocaleNone.cpp:
3317         (WebCore::Locale::create):
3318         * platform/text/PlatformLocale.h:
3319         (WebCore::Locale::createDefault):
3320         * platform/text/TextCodecLatin1.cpp:
3321         * platform/text/TextCodecUTF16.cpp:
3322         * platform/text/TextEncoding.cpp:
3323         * platform/text/mac/LocaleMac.h:
3324         * platform/text/mac/LocaleMac.mm:
3325         (WebCore::Locale::create):
3326         (WebCore::LocaleMac::create):
3327         * platform/text/mac/TextCodecMac.cpp:
3328         * platform/text/win/LocaleWin.cpp:
3329         (WebCore::Locale::create):
3330         (WebCore::LocaleWin::create):
3331         * platform/text/win/LocaleWin.h:
3332         * platform/text/win/TextCodecWin.cpp:
3333         (WebCore::newTextCodecWin):
3334
3335 2014-12-15  Xavier Claessens  <xavier.claessens@collabora.com>
3336
3337         [GStreamer] the webkitwebsrc element can stale
3338         https://bugs.webkit.org/show_bug.cgi?id=138425
3339
3340         Reviewed by Philippe Normand.
3341
3342         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3343         (removeTimeoutSources):
3344         (webKitWebSrcStart):
3345         (webKitWebSrcChangeState):
3346
3347 2014-12-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3348
3349         [GTK] Remove GamepadDeviceGtk::create()
3350         https://bugs.webkit.org/show_bug.cgi?id=139637
3351
3352         Reviewed by Carlos Garcia Campos.
3353
3354         std::make_unique<> can replace GamepadDeviceGtk::create() factory function.
3355
3356         * platform/gtk/GamepadsGtk.cpp: Add "explicit" to GamepadsGtk constructor.
3357         (WebCore::GamepadsGtk::registerDevice):
3358         (WebCore::GamepadDeviceGtk::create): Deleted.
3359
3360 2014-12-15  Chris Dumez  <cdumez@apple.com>
3361
3362         Move 'counter-increment' / 'counter-reset' to the new StyleBuilder
3363         https://bugs.webkit.org/show_bug.cgi?id=139635
3364
3365         Reviewed by Antti Koivisto.
3366
3367         Move 'counter-increment' / 'counter-reset' to the new StyleBuilder by
3368         using custom code.
3369
3370         No new tests, no behavior change.
3371
3372         * css/CSSPropertyNames.in:
3373         * css/DeprecatedStyleBuilder.cpp:
3374         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3375         (WebCore::ApplyPropertyCounter::emptyFunction): Deleted.
3376         (WebCore::ApplyPropertyCounter::applyInheritValue): Deleted.
3377         (WebCore::ApplyPropertyCounter::applyValue): Deleted.
3378         (WebCore::ApplyPropertyCounter::createHandler): Deleted.
3379         * css/StyleBuilderCustom.h:
3380         (WebCore::StyleBuilderCustom::applyInitialCounterIncrement):
3381         (WebCore::StyleBuilderCustom::applyInitialCounterReset):
3382         (WebCore::StyleBuilderCustom::applyInheritCounter):
3383         (WebCore::StyleBuilderCustom::applyValueCounter):
3384         (WebCore::StyleBuilderCustom::applyInheritCounterIncrement):
3385         (WebCore::StyleBuilderCustom::applyValueCounterIncrement):
3386         (WebCore::StyleBuilderCustom::applyInheritCounterReset):
3387         (WebCore::StyleBuilderCustom::applyValueCounterReset):
3388
3389 2014-12-14  Commit Queue  <commit-queue@webkit.org>
3390
3391         Unreviewed, rolling out r177238 and r177244.
3392         https://bugs.webkit.org/show_bug.cgi?id=139632
3393
3394         Introduced memory corruption (Requested by ap on #webkit).
3395
3396         Reverted changesets:
3397
3398         "REGRESSION (r168217): Images are cropped out during animation
3399         at jetblue.com"
3400         https://bugs.webkit.org/show_bug.cgi?id=136410
3401         http://trac.webkit.org/changeset/177238
3402
3403         https://bugs.webkit.org/show_bug.cgi?id=139596
3404         http://trac.webkit.org/changeset/177244
3405
3406 2014-12-14  Commit Queue  <commit-queue@webkit.org>
3407
3408         Unreviewed, rolling out r177223 and r177226.
3409         https://bugs.webkit.org/show_bug.cgi?id=139631
3410
3411         Multiple tests are flakily asserting in
3412         StyleResolver::loadPendingResources (Requested by ap_ on
3413         #webkit).
3414
3415         Reverted changesets:
3416
3417         "[SVG Masking] Enable the use of <mask> elements for -webkit-
3418         mask-image"
3419         https://bugs.webkit.org/show_bug.cgi?id=139294
3420         http://trac.webkit.org/changeset/177223
3421
3422         "animations/cross-fade-webkit-mask-image.html is flaky"
3423         https://bugs.webkit.org/show_bug.cgi?id=139590
3424         http://trac.webkit.org/changeset/177226
3425
3426 2014-12-14  Andreas Kling  <akling@apple.com>
3427
3428         Event construction helpers should return Ref instead of PassRefPtr.
3429         <https://webkit.org/b/139625>
3430
3431         Reviewed by Antti Koivisto.
3432
3433         Change all the FooEvent::create() construction helpers to return Ref<FooEvent>
3434         instead of PassRefPtr<FooEvent>.
3435
3436         This allows the compiler to omit null checks at each call site, since we know
3437         that these functions always return valid objects.
3438
3439         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
3440         (WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
3441         * Modules/encryptedmedia/MediaKeyMessageEvent.h:
3442         (WebCore::MediaKeyMessageEvent::create):
3443         * Modules/encryptedmedia/MediaKeyNeededEvent.h:
3444         (WebCore::MediaKeyNeededEvent::create):
3445         * Modules/gamepad/GamepadEvent.h:
3446         (WebCore::GamepadEvent::create):
3447         * Modules/indexeddb/IDBVersionChangeEvent.h:
3448         (WebCore::IDBVersionChangeEvent::create):
3449         * Modules/indieui/UIRequestEvent.cpp:
3450         (WebCore::UIRequestEvent::create):
3451         * Modules/indieui/UIRequestEvent.h:
3452         * Modules/mediastream/MediaStreamEvent.cpp:
3453         (WebCore::MediaStreamEvent::create):
3454         * Modules/mediastream/MediaStreamEvent.h:
3455         * Modules/mediastream/MediaStreamTrackEvent.cpp:
3456         (WebCore::MediaStreamTrackEvent::create):
3457         * Modules/mediastream/MediaStreamTrackEvent.h:
3458         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
3459         (WebCore::RTCDTMFToneChangeEvent::create):
3460         * Modules/mediastream/RTCDTMFToneChangeEvent.h:
3461         * Modules/mediastream/RTCDataChannelEvent.cpp:
3462         (WebCore::RTCDataChannelEvent::create):
3463         * Modules/mediastream/RTCDataChannelEvent.h:
3464         * Modules/mediastream/RTCIceCandidateEvent.cpp:
3465         (WebCore::RTCIceCandidateEvent::create):
3466         * Modules/mediastream/RTCIceCandidateEvent.h:
3467         * Modules/speech/SpeechSynthesisEvent.cpp:
3468         (WebCore::SpeechSynthesisEvent::create):
3469         * Modules/speech/SpeechSynthesisEvent.h:
3470         * Modules/webaudio/AudioProcessingEvent.cpp:
3471         (WebCore::AudioProcessingEvent::create):
3472         * Modules/webaudio/AudioProcessingEvent.h:
3473         * Modules/webaudio/OfflineAudioCompletionEvent.cpp:
3474         (WebCore::OfflineAudioCompletionEvent::create):
3475         * Modules/webaudio/OfflineAudioCompletionEvent.h:
3476         * Modules/websockets/CloseEvent.h:
3477         (WebCore::CloseEvent::create):
3478         * dom/AnimationEvent.h:
3479         * dom/AutocompleteErrorEvent.h:
3480         * dom/BeforeLoadEvent.h:
3481         * dom/BeforeTextInsertedEvent.h:
3482         * dom/BeforeUnloadEvent.h:
3483         * dom/ClipboardEvent.h:
3484         * dom/CompositionEvent.h:
3485         * dom/CustomEvent.h:
3486         * dom/DeviceMotionEvent.h:
3487         * dom/DeviceOrientationEvent.h:
3488         * dom/ErrorEvent.h:
3489         * dom/Event.h:
3490         (WebCore::Event::create):
3491         * dom/FocusEvent.h:
3492         * dom/HashChangeEvent.h:
3493         * dom/KeyboardEvent.h:
3494         * dom/MessageEvent.h:
3495         * dom/MouseEvent.cpp:
3496         (WebCore::MouseEvent::create):
3497         (WebCore::SimulatedMouseEvent::create):
3498         * dom/MouseEvent.h:
3499         (WebCore::MouseEvent::create):
3500         * dom/MutationEvent.h:
3501         * dom/OverflowEvent.h:
3502         * dom/PageTransitionEvent.h:
3503         * dom/PopStateEvent.cpp:
3504         (WebCore::PopStateEvent::create):
3505         * dom/PopStateEvent.h:
3506         * dom/ProgressEvent.h:
3507         (WebCore::ProgressEvent::create):
3508         * dom/TextEvent.cpp:
3509         (WebCore::TextEvent::create):
3510         (WebCore::TextEvent::createForPlainTextPaste):
3511         (WebCore::TextEvent::createForFragmentPaste):
3512         (WebCore::TextEvent::createForDrop):
3513         (WebCore::TextEvent::createForDictation):
3514         * dom/TextEvent.h:
3515         * dom/TouchEvent.h:
3516         * dom/TransitionEvent.h:
3517         * dom/UIEvent.h:
3518         (WebCore::UIEvent::create):
3519         * dom/WebKitAnimationEvent.h:
3520         * dom/WebKitTransitionEvent.h:
3521         * dom/WheelEvent.h:
3522         * html/MediaKeyEvent.h:
3523         * html/canvas/WebGLContextEvent.h:
3524         * html/track/TrackEvent.h:
3525         * storage/StorageEvent.cpp:
3526         (WebCore::StorageEvent::create):
3527         * storage/StorageEvent.h:
3528         * svg/SVGZoomEvent.h:
3529         (WebCore::SVGZoomEvent::create):
3530         * xml/XMLHttpRequestProgressEvent.h:
3531         (WebCore::XMLHttpRequestProgressEvent::create):
3532
3533 2014-12-14  Ryosuke Niwa  <rniwa@webkit.org>
3534
3535         REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
3536         https://bugs.webkit.org/show_bug.cgi?id=139561
3537
3538         Reviewed by Darin Adler.
3539
3540         The bug was caused by us not setting the form pointer in insertHTMLFormElement.
3541         Since we already avoid associating a form inside HTMLConstructionSite::createHTMLElement,
3542         we didn't need this code at all.
3543
3544         Fixed the bug by partially reverting r160182.
3545
3546         Test: fast/dom/dom-parse-close-form.html
3547
3548         * html/parser/HTMLConstructionSite.cpp:
3549         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
3550         (WebCore::HTMLConstructionSite::insideTemplateElement): Deleted.
3551         * html/parser/HTMLConstructionSite.h:
3552
3553 2014-12-14  Andreas Kling  <akling@apple.com>
3554
3555         Fix build even more. Not a strong performance here.
3556
3557         * platform/graphics/Font.cpp:
3558         (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
3559         (WebCore::retrieveOrAddCachedFontGlyphs):
3560
3561 2014-12-14  Andreas Kling  <akling@apple.com>
3562
3563         Fix build. :-|
3564
3565         * css/CSSFunctionValue.cpp:
3566         (WebCore::CSSFunctionValue::CSSFunctionValue):
3567         * css/CSSFunctionValue.h:
3568
3569 2014-12-14  Andreas Kling  <akling@apple.com>
3570
3571         Minor follow-up tweaks suggested by Darin on bug 139587.
3572
3573         * css/CSSFunctionValue.h:
3574         (WebCore::CSSFunctionValue::create):
3575         * platform/graphics/Font.cpp:
3576         (WebCore::retrieveOrAddCachedFontGlyphs):
3577         (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): Deleted.
3578         * rendering/RenderScrollbarPart.h:
3579
3580 2014-12-14  Andreas Kling  <akling@apple.com>
3581
3582         Replace PassRef with Ref/Ref&& across the board.
3583         <https://webkit.org/b/139587>
3584
3585         Reviewed by Darin Adler.
3586
3587         * Modules/battery/BatteryManager.cpp:
3588         (WebCore::BatteryManager::create):
3589         * Modules/battery/BatteryManager.h:
3590         * Modules/battery/BatteryStatus.cpp:
3591         (WebCore::BatteryStatus::create):
3592         * Modules/battery/BatteryStatus.h:
3593         * Modules/gamepad/GamepadButton.h:
3594         (WebCore::GamepadButton::create):
3595         * Modules/gamepad/NavigatorGamepad.cpp:
3596         (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
3597         * Modules/gamepad/NavigatorGamepad.h:
3598         * Modules/gamepad/deprecated/GamepadList.h:
3599         (WebCore::GamepadList::create):
3600         * Modules/geolocation/Geolocation.cpp:
3601         (WebCore::Geolocation::create):
3602         * Modules/geolocation/Geolocation.h:
3603         (WebCore::Geolocation::GeoNotifier::create):
3604         * Modules/mediasource/MediaSource.cpp:
3605         (WebCore::MediaSource::setPrivateAndOpen):
3606         * Modules/mediasource/MediaSource.h:
3607         * Modules/mediasource/SourceBuffer.cpp:
3608         (WebCore::SourceBuffer::create):
3609         (WebCore::SourceBuffer::SourceBuffer):
3610         * Modules/mediasource/SourceBuffer.h:
3611         * Modules/mediastream/UserMediaClient.h:
3612         * Modules/mediastream/UserMediaController.h:
3613         (WebCore::UserMediaController::requestPermission):
3614         * Modules/notifications/Notification.cpp:
3615         (WebCore::Notification::create):
3616         * Modules/notifications/Notification.h:
3617         * Modules/notifications/NotificationCenter.cpp:
3618         (WebCore::NotificationCenter::create):
3619         * Modules/notifications/NotificationCenter.h:
3620         * Modules/plugins/PluginReplacement.h:
3621         * Modules/plugins/QuickTimePluginReplacement.h:
3622         * Modules/plugins/QuickTimePluginReplacement.mm:
3623         (WebCore::QuickTimePluginReplacement::createElementRenderer):
3624         * Modules/plugins/YouTubePluginReplacement.cpp:
3625         (WebCore::YouTubePluginReplacement::createElementRenderer):
3626         * Modules/plugins/YouTubePluginReplacement.h:
3627         * Modules/proximity/DeviceProximityEvent.h:
3628         (WebCore::DeviceProximityEvent::create):
3629         * WebCore.exp.in:
3630         * css/BasicShapeFunctions.cpp:
3631         (WebCore::valueForBasicShape):
3632         (WebCore::basicShapeForValue):
3633         * css/BasicShapeFunctions.h:
3634         * css/CSSAspectRatioValue.h:
3635         (WebCore::CSSAspectRatioValue::create):
3636         * css/CSSBorderImage.cpp:
3637         (WebCore::createBorderImageValue):
3638         * css/CSSBorderImage.h:
3639         * css/CSSBorderImageSliceValue.h:
3640         (WebCore::CSSBorderImageSliceValue::create):
3641         * css/CSSCalculationValue.cpp:
3642         (WebCore::determineCategory):
3643         * css/CSSCalculationValue.h:
3644         (WebCore::CSSCalcValue::CSSCalcValue):
3645         (WebCore::CSSCalcValue::createCalculationValue):
3646         * css/CSSCanvasValue.h:
3647         (WebCore::CSSCanvasValue::create):
3648         * css/CSSComputedStyleDeclaration.cpp:
3649         (WebCore::valueForImageSliceSide):
3650         (WebCore::valueForNinePieceImageSlice):
3651         (WebCore::valueForNinePieceImageQuad):
3652         (WebCore::valueForNinePieceImageRepeat):
3653         (WebCore::valueForNinePieceImage):
3654         (WebCore::zoomAdjustedPixelValue):
3655         (WebCore::zoomAdjustedNumberValue):
3656         (WebCore::zoomAdjustedPixelValueForLength):
3657         (WebCore::valueForReflection):
3658         (WebCore::createPositionListForLayer):
3659         (WebCore::percentageOrZoomAdjustedValue):
3660         (WebCore::autoOrZoomAdjustedValue):
3661         (WebCore::getBorderRadiusCornerValues):
3662         (WebCore::getBorderRadiusCornerValue):
3663         (WebCore::getBorderRadiusShorthandValue):
3664         (WebCore::matrixTransformValue):
3665         (WebCore::computedTransform):
3666         (WebCore::adjustLengthForZoom):
3667         (WebCore::ComputedStyleExtractor::valueForShadow):
3668         (WebCore::ComputedStyleExtractor::valueForFilter):
3669         (WebCore::specifiedValueForGridTrackBreadth):
3670         (WebCore::specifiedValueForGridTrackSize):
3671         (WebCore::valueForGridTrackList):
3672         (WebCore::valueForGridPosition):
3673         (WebCore::createTransitionPropertyValue):
3674         (WebCore::getTransitionPropertyValue):
3675         (WebCore::scrollSnapDestination):
3676         (WebCore::scrollSnapPoints):
3677         (WebCore::scrollSnapCoordinates):
3678         (WebCore::getDelayValue):
3679         (WebCore::getDurationValue):
3680         (WebCore::createTimingFunctionValue):
3681         (WebCore::getTimingFunctionValue):
3682         (WebCore::createLineBoxContainValue):
3683         (WebCore::valueForFamily):
3684         (WebCore::renderTextDecorationFlagsToCSSValue):
3685         (WebCore::renderTextDecorationStyleFlagsToCSSValue):
3686         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
3687         (WebCore::renderEmphasisPositionFlagsToCSSValue):
3688         (WebCore::fillRepeatToCSSValue):
3689         (WebCore::fillSourceTypeToCSSValue):
3690         (WebCore::fillSizeToCSSValue):
3691         (WebCore::altTextToCSSValue):
3692         (WebCore::contentToCSSValue):
3693         (WebCore::fontFamilyFromStyle):
3694         (WebCore::lineHeightFromStyle):
3695         (WebCore::fontSizeFromStyle):
3696         (WebCore::fontStyleFromStyle):
3697         (WebCore::fontVariantFromStyle):
3698         (WebCore::fontWeightFromStyle):
3699         (WebCore::CSSComputedStyleDeclaration::copyProperties):
3700         (WebCore::shapePropertyValue):
3701         (WebCore::ComputedStyleExtractor::copyProperties):
3702         (WebCore::ComputedStyleExtractor::copyPropertiesInSet):
3703         * css/CSSComputedStyleDeclaration.h:
3704         * css/CSSCrossfadeValue.h:
3705         (WebCore::CSSCrossfadeValue::create):
3706         * css/CSSCursorImageValue.cpp:
3707         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
3708         * css/CSSCursorImageValue.h:
3709         (WebCore::CSSCursorImageValue::create):
3710         * css/CSSFilterImageValue.h:
3711         (WebCore::CSSFilterImageValue::create):
3712         * css/CSSFontFaceSrcValue.h:
3713         (WebCore::CSSFontFaceSrcValue::create):
3714         (WebCore::CSSFontFaceSrcValue::createLocal):
3715         * css/CSSFontFeatureValue.h:
3716         (WebCore::CSSFontFeatureValue::create):
3717         * css/CSSFontValue.h:
3718         (WebCore::CSSFontValue::create):
3719         * css/CSSFunctionValue.h:
3720         (WebCore::CSSFunctionValue::create):
3721         * css/CSSGradientValue.h:
3722         (WebCore::CSSLinearGradientValue::create):
3723         (WebCore::CSSLinearGradientValue::clone):
3724         (WebCore::CSSRadialGradientValue::create):
3725         (WebCore::CSSRadialGradientValue::clone):
3726         * css/CSSGridTemplateAreasValue.h:
3727         (WebCore::CSSGridTemplateAreasValue::create):
3728         * css/CSSImageSetValue.h:
3729         (WebCore::CSSImageSetValue::create):
3730         * css/CSSImageValue.h:
3731         (WebCore::CSSImageValue::create):
3732         * css/CSSInheritedValue.h:
3733         (WebCore::CSSInheritedValue::create):
3734         * css/CSSInitialValue.h:
3735         (WebCore::CSSInitialValue::createExplicit):
3736         (WebCore::CSSInitialValue::createImplicit):
3737         * css/CSSKeyframeRule.cpp:
3738         (WebCore::StyleKeyframe::StyleKeyframe):
3739         * css/CSSKeyframeRule.h:
3740         (WebCore::StyleKeyframe::create):
3741         * css/CSSKeyframesRule.h:
3742         (WebCore::StyleRuleKeyframes::create):
3743         (WebCore::StyleRuleKeyframes::copy):
3744         * css/CSSLineBoxContainValue.h:
3745         (WebCore::CSSLineBoxContainValue::create):
3746         * css/CSSParser.cpp:
3747         (WebCore::createPrimitiveValuePair):
3748         (WebCore::CSSParser::parseInlineStyleDeclaration):
3749         (WebCore::CSSParser::parseDeclaration):
3750         (WebCore::CSSParser::createStyleProperties):
3751         (WebCore::CSSParser::createPrimitiveNumericValue):
3752         (WebCore::CSSParser::createPrimitiveStringValue):
3753         (WebCore::CSSParser::addFillValue):
3754         (WebCore::CSSParser::addAnimationValue):
3755         * css/CSSParser.h:
3756         * css/CSSPrimitiveValue.cpp:
3757         (WebCore::CSSPrimitiveValue::formatNumberValue):
3758         * css/CSSPrimitiveValue.h:
3759         (WebCore::CSSPrimitiveValue::createIdentifier):
3760         (WebCore::CSSPrimitiveValue::createParserOperator):
3761         (WebCore::CSSPrimitiveValue::createColor):
3762         (WebCore::CSSPrimitiveValue::create):
3763         (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
3764         * css/CSSReflectValue.h:
3765         (WebCore::CSSReflectValue::create):
3766         * css/CSSShadowValue.h:
3767         (WebCore::CSSShadowValue::create):
3768         * css/CSSStyleDeclaration.h:
3769         * css/CSSStyleSheet.cpp:
3770         (WebCore::CSSStyleSheet::create):
3771         (WebCore::CSSStyleSheet::createInline):
3772         (WebCore::CSSStyleSheet::CSSStyleSheet):
3773         * css/CSSStyleSheet.h:
3774         * css/CSSTimingFunctionValue.h:
3775         (WebCore::CSSCubicBezierTimingFunctionValue::create):
3776         (WebCore::CSSStepsTimingFunctionValue::create):
3777         * css/CSSUnicodeRangeValue.h:
3778         (WebCore::CSSUnicodeRangeValue::create):
3779         * css/CSSValue.cpp:
3780         (WebCore::TextCloneCSSValue::create):
3781         * css/CSSValueList.h:
3782         (WebCore::CSSValueList::createCommaSeparated):
3783         (WebCore::CSSValueList::createSpaceSeparated):
3784         (WebCore::CSSValueList::createSlashSeparated):
3785         (WebCore::CSSValueList::createFromParserValueList):
3786         (WebCore::CSSValueList::append):
3787         (WebCore::CSSValueList::prepend):
3788         * css/CSSValuePool.cpp:
3789         (WebCore::CSSValuePool::createIdentifierValue):
3790         (WebCore::CSSValuePool::createColorValue):
3791         (WebCore::CSSValuePool::createValue):
3792         (WebCore::CSSValuePool::createFontFamilyValue):
3793         * css/CSSValuePool.h:
3794         (WebCore::CSSValuePool::createInheritedValue):
3795         (WebCore::CSSValuePool::createImplicitInitialValue):
3796         (WebCore::CSSValuePool::createExplicitInitialValue):
3797         (WebCore::CSSValuePool::createValue):
3798         * css/PropertySetCSSStyleDeclaration.cpp:
3799         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
3800         * css/PropertySetCSSStyleDeclaration.h:
3801         * css/StyleProperties.cpp:
3802         (WebCore::ImmutableStyleProperties::create):
3803         (WebCore::StyleProperties::immutableCopyIfNeeded):
3804         (WebCore::StyleProperties::copyBlockProperties):
3805         (WebCore::StyleProperties::mutableCopy):
3806         (WebCore::StyleProperties::copyPropertiesInSet):
3807         (WebCore::MutableStyleProperties::create):
3808         * css/StyleProperties.h:
3809         * css/StyleResolver.cpp:
3810         (WebCore::StyleResolver::State::setStyle):
3811         (WebCore::StyleResolver::styleForElement):
3812         (WebCore::StyleResolver::styleForKeyframe):
3813         (WebCore::StyleResolver::styleForPage):
3814         (WebCore::StyleResolver::defaultStyleForElement):
3815         * css/StyleResolver.h:
3816         (WebCore::StyleResolver::State::takeStyle):
3817         (WebCore::StyleResolver::State::setParentStyle):
3818         * css/StyleRule.cpp:
3819         (WebCore::StyleRuleBase::copy):
3820         (WebCore::StyleRule::StyleRule):
3821         (WebCore::StyleRule::create):
3822         (WebCore::StyleRulePage::StyleRulePage):
3823         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
3824         (WebCore::StyleRuleGroup::wrapperInsertRule):
3825         (WebCore::StyleRuleViewport::StyleRuleViewport):
3826         * css/StyleRule.h:
3827         (WebCore::StyleRule::create):
3828         (WebCore::StyleRule::copy):
3829         (WebCore::StyleRuleFontFace::create):
3830         (WebCore::StyleRuleFontFace::copy):
3831         (WebCore::StyleRulePage::create):
3832         (WebCore::StyleRulePage::copy):
3833         (WebCore::StyleRuleMedia::create):
3834         (WebCore::StyleRuleMedia::copy):
3835         (WebCore::StyleRuleSupports::create):
3836         (WebCore::StyleRuleSupports::copy):
3837         (WebCore::StyleRuleRegion::create):
3838         (WebCore::StyleRuleRegion::copy):
3839         (WebCore::StyleRuleViewport::create):
3840         (WebCore::StyleRuleViewport::copy):
3841         * css/StyleRuleImport.cpp:
3842         (WebCore::StyleRuleImport::create):
3843         * css/StyleRuleImport.h:
3844         * css/StyleSheetContents.h:
3845         (WebCore::StyleSheetContents::create):
3846         (WebCore::StyleSheetContents::copy):
3847         * css/WebKitCSSFilterValue.h:
3848         (WebCore::WebKitCSSFilterValue::create):
3849         * css/WebKitCSSResourceValue.h:
3850         (WebCore::WebKitCSSResourceValue::create):
3851         * css/WebKitCSSTransformValue.h:
3852         (WebCore::WebKitCSSTransformValue::create):
3853         * dom/ChildNodeList.h:
3854         * dom/ClassNodeList.cpp:
3855         (WebCore::ClassNodeList::create):
3856         * dom/ClassNodeList.h:
3857         * dom/Document.cpp:
3858         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
3859         * dom/Document.h:
3860         * dom/DocumentSharedObjectPool.cpp:
3861         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
3862         * dom/DocumentSharedObjectPool.h:
3863         * dom/DocumentStyleSheetCollection.cpp:
3864         (WebCore::DocumentStyleSheetCollection::addAuthorSheet):
3865         (WebCore::DocumentStyleSheetCollection::addUserSheet):
3866         * dom/DocumentStyleSheetCollection.h:
3867         * dom/Element.cpp:
3868         (WebCore::Element::createElementRenderer):
3869         * dom/Element.h:
3870         * dom/ElementData.cpp:
3871         (WebCore::ShareableElementData::createWithAttributes):
3872         (WebCore::UniqueElementData::create):
3873         (WebCore::ElementData::makeUniqueCopy):
3874         (WebCore::UniqueElementData::makeShareableCopy):
3875         * dom/ElementData.h:
3876         * dom/ElementRareData.h:
3877         (WebCore::ElementRareData::setComputedStyle):
3878         * dom/NameNodeList.h:
3879         * dom/NamedFlowCollection.cpp:
3880         (WebCore::NamedFlowCollection::ensureFlowWithName):
3881         * dom/NamedFlowCollection.h:
3882         * dom/NodeRareData.h:
3883         (WebCore::NodeListsNodeData::ensureChildNodeList):
3884         (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
3885         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
3886         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
3887         (WebCore::NodeListsNodeData::addCachedCollection):
3888         * dom/PseudoElement.cpp:
3889         (WebCore::PseudoElement::didRecalcStyle):
3890         * dom/QualifiedName.h:
3891         (WebCore::QualifiedName::QualifiedNameImpl::create):
3892         * dom/TagNodeList.h:
3893         * html/BaseButtonInputType.cpp:
3894         (WebCore::BaseButtonInputType::createInputRenderer):
3895         * html/BaseButtonInputType.h:
3896         * html/FileInputType.cpp:
3897         (WebCore::FileInputType::createInputRenderer):
3898         * html/FileInputType.h:
3899         * html/HTMLAllCollection.cpp:
3900         (WebCore::HTMLAllCollection::create):
3901         * html/HTMLAllCollection.h:
3902         * html/HTMLAppletElement.cpp:
3903         (WebCore::HTMLAppletElement::createElementRenderer):
3904         * html/HTMLAppletElement.h:
3905         * html/HTMLBRElement.cpp:
3906         (WebCore::HTMLBRElement::createElementRenderer):
3907         * html/HTMLBRElement.h:
3908         * html/HTMLButtonElement.cpp:
3909         (WebCore::HTMLButtonElement::createElementRenderer):
3910         * html/HTMLButtonElement.h:
3911         * html/HTMLCanvasElement.cpp:
3912         (WebCore::HTMLCanvasElement::createElementRenderer):
3913         * html/HTMLCanvasElement.h:
3914         * html/HTMLCollection.cpp:
3915         (WebCore::HTMLCollection::create):
3916         * html/HTMLCollection.h:
3917         * html/HTMLDetailsElement.cpp:
3918         (WebCore::HTMLDetailsElement::createElementRenderer):
3919         * html/HTMLDetailsElement.h:
3920         * html/HTMLElement.cpp:
3921         (WebCore::HTMLElement::createElementRenderer):
3922         * html/HTMLElement.h:
3923         * html/HTMLFieldSetElement.cpp:
3924         (WebCore::HTMLFieldSetElement::createElementRenderer):
3925         * html/HTMLFieldSetElement.h:
3926         * html/HTMLFormControlsCollection.cpp:
3927         (WebCore::HTMLFormControlsCollection::create):
3928         * html/HTMLFormControlsCollection.h:
3929         * html/HTMLFrameElement.cpp:
3930         (WebCore::HTMLFrameElement::createElementRenderer):
3931         * html/HTMLFrameElement.h:
3932         * html/HTMLFrameSetElement.cpp:
3933         (WebCore::HTMLFrameSetElement::createElementRenderer):
3934         * html/HTMLFrameSetElement.h:
3935         * html/HTMLIFrameElement.cpp:
3936         (WebCore::HTMLIFrameElement::createElementRenderer):
3937         * html/HTMLIFrameElement.h:
3938         * html/HTMLImageElement.cpp:
3939         (WebCore::HTMLImageElement::createElementRenderer):
3940         * html/HTMLImageElement.h:
3941         * html/HTMLInputElement.cpp:
3942         (WebCore::HTMLInputElement::createElementRenderer):
3943         * html/HTMLInputElement.h:
3944         * html/HTMLLinkElement.cpp:
3945         (WebCore::HTMLLinkElement::setCSSStyleSheet):
3946         * html/HTMLMediaElement.cpp:
3947         (WebCore::HTMLMediaElement::parseAttribute):
3948         * html/HTMLMediaElement.h:
3949         * html/HTMLMeterElement.cpp:
3950         (WebCore::HTMLMeterElement::createElementRenderer):
3951         * html/HTMLMeterElement.h:
3952         * html/HTMLNameCollection.h:
3953         * html/HTMLOptionsCollection.cpp:
3954         (WebCore::HTMLOptionsCollection::create):
3955         * html/HTMLOptionsCollection.h:
3956         * html/HTMLPlugInElement.cpp:
3957         (WebCore::HTMLPlugInElement::createElementRenderer):
3958         * html/HTMLPlugInElement.h:
3959         * html/HTMLPlugInImageElement.cpp:
3960         (WebCore::HTMLPlugInImageElement::createElementRenderer):
3961         * html/HTMLPlugInImageElement.h:
3962         * html/HTMLProgressElement.cpp:
3963         (WebCore::HTMLProgressElement::createElementRenderer):
3964         * html/HTMLProgressElement.h:
3965         * html/HTMLSelectElement.cpp:
3966         (WebCore::HTMLSelectElement::createElementRenderer):
3967         * html/HTMLSelectElement.h:
3968         * html/HTMLSummaryElement.cpp:
3969         (WebCore::HTMLSummaryElement::createElementRenderer):
3970         * html/HTMLSummaryElement.h:
3971         * html/HTMLTableRowsCollection.cpp:
3972         (WebCore::HTMLTableRowsCollection::create):
3973         * html/HTMLTableRowsCollection.h:
3974         * html/HTMLTextAreaElement.cpp:
3975         (WebCore::HTMLTextAreaElement::createElementRenderer):
3976         * html/HTMLTextAreaElement.h:
3977         * html/HTMLVideoElement.cpp:
3978         (WebCore::HTMLVideoElement::createElementRenderer):
3979         * html/HTMLVideoElement.h:
3980         * html/HTMLWBRElement.cpp:
3981         (WebCore::HTMLWBRElement::createElementRenderer):
3982         * html/HTMLWBRElement.h:
3983         * html/HiddenInputType.cpp:
3984         (WebCore::HiddenInputType::createInputRenderer):
3985         * html/HiddenInputType.h:
3986         * html/ImageInputType.cpp:
3987         (WebCore::ImageInputType::createInputRenderer):
3988         * html/ImageInputType.h:
3989         * html/InputType.cpp:
3990         (WebCore::InputType::createInputRenderer):
3991         * html/InputType.h:
3992         * html/LabelsNodeList.h:
3993         * html/RadioNodeList.h:
3994         * html/RangeInputType.cpp:
3995         (WebCore::RangeInputType::createInputRenderer):
3996         * html/RangeInputType.h:
3997         * html/SearchInputType.cpp:
3998         (WebCore::SearchInputType::createInputRenderer):
3999         * html/SearchInputType.h:
4000         * html/TextFieldInputType.cpp:
4001         (WebCore::TextFieldInputType::createInputRenderer):
4002         * html/TextFieldInputType.h:
4003         * html/shadow/DetailsMarkerControl.cpp:
4004         (WebCore::DetailsMarkerControl::createElementRenderer):
4005         * html/shadow/DetailsMarkerControl.h:
4006         * html/shadow/MediaControlElements.cpp:
4007         (WebCore::MediaControlTimelineContainerElement::createElementRenderer):
4008         (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer):
4009         (WebCore::MediaControlTextTrackContainerElement::createElementRenderer):
4010         * html/shadow/MediaControlElements.h:
4011         * html/shadow/MeterShadowElement.cpp:
4012         (WebCore::MeterInnerElement::createElementRenderer):
4013         * html/shadow/MeterShadowElement.h:
4014         * html/shadow/ProgressShadowElement.cpp:
4015         (WebCore::ProgressInnerElement::createElementRenderer):
4016         * html/shadow/ProgressShadowElement.h:
4017         * html/shadow/SliderThumbElement.cpp:
4018         (WebCore::RenderSliderThumb::RenderSliderThumb):
4019         (WebCore::SliderThumbElement::createElementRenderer):
4020         (WebCore::SliderContainerElement::createElementRenderer):
4021         * html/shadow/SliderThumbElement.h:
4022         * html/shadow/TextControlInnerElements.cpp:
4023         (WebCore::TextControlInnerContainer::createElementRenderer):
4024         (WebCore::TextControlInnerTextElement::createElementRenderer):
4025         * html/shadow/TextControlInnerElements.h:
4026         * html/shadow/mac/ImageControlsButtonElementMac.cpp:
4027         (WebCore::RenderImageControlsButton::RenderImageControlsButton):
4028         (WebCore::ImageControlsButtonElementMac::createElementRenderer):
4029         * html/shadow/mac/ImageControlsButtonElementMac.h:
4030         * html/shadow/mac/ImageControlsRootElementMac.cpp:
4031         (WebCore::RenderImageControls::RenderImageControls):
4032         (WebCore::ImageControlsRootElementMac::createElementRenderer):
4033         * html/shadow/mac/ImageControlsRootElementMac.h:
4034         * html/track/VTTCue.cpp:
4035         (WebCore::VTTCueBox::createElementRenderer):
4036         * html/track/VTTCue.h:
4037         * loader/cache/CachedCSSStyleSheet.cpp:
4038         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
4039         * loader/cache/CachedCSSStyleSheet.h:
4040         * loader/cache/CachedResourceLoader.h:
4041         (WebCore::CachedResourceLoader::create):
4042         * mathml/MathMLInlineContainerElement.cpp:
4043         (WebCore::MathMLInlineContainerElement::createElementRenderer):
4044         * mathml/MathMLInlineContainerElement.h:
4045         * mathml/MathMLMathElement.cpp:
4046         (WebCore::MathMLMathElement::createElementRenderer):
4047         * mathml/MathMLMathElement.h:
4048         * mathml/MathMLMencloseElement.cpp:
4049         (WebCore::MathMLMencloseElement::createElementRenderer):
4050         * mathml/MathMLMencloseElement.h:
4051         * mathml/MathMLSelectElement.cpp:
4052         (WebCore::MathMLSelectElement::createElementRenderer):
4053         * mathml/MathMLSelectElement.h:
4054         * mathml/MathMLTextElement.cpp:
4055         (WebCore::MathMLTextElement::createElementRenderer):
4056         * mathml/MathMLTextElement.h:
4057         * page/Page.cpp:
4058         (WebCore::Page::setStorageNamespaceProvider):
4059         (WebCore::Page::setVisitedLinkStore):
4060         * page/Page.h:
4061         * page/UserMessageHandler.h:
4062         (WebCore::UserMessageHandler::create):
4063         * page/UserMessageHandlersNamespace.h:
4064         (WebCore::UserMessageHandlersNamespace::create):
4065         * page/animation/AnimationController.cpp:
4066         (WebCore::AnimationControllerPrivate::addElementChangeToDispatch):
4067         (WebCore::AnimationController::updateAnimations):
4068         * page/animation/AnimationController.h:
4069         * page/animation/AnimationControllerPrivate.h:
4070         * page/animation/CompositeAnimation.cpp:
4071         (WebCore::CompositeAnimation::animate):
4072         * page/animation/CompositeAnimation.h:
4073         * platform/CalculationValue.cpp:
4074         (WebCore::CalculationValue::create):
4075         * platform/CalculationValue.h:
4076         * platform/Length.cpp:
4077         (WebCore::CalculationValueMap::insert):
4078         (WebCore::Length::Length):
4079         * platform/Length.h:
4080         * platform/graphics/Font.cpp:
4081         (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
4082         (WebCore::retrieveOrAddCachedFontGlyphs):
4083         * platform/graphics/FontGlyphs.h:
4084         (WebCore::FontGlyphs::create):
4085         (WebCore::FontGlyphs::createForPlatformFont):
4086         * platform/graphics/Gradient.h:
4087         (WebCore::Gradient::create):
4088         * platform/graphics/GraphicsContext.cpp:
4089         (WebCore::GraphicsContext::setStrokePattern):
4090         (WebCore::GraphicsContext::setFillPattern):
4091         (WebCore::GraphicsContext::setStrokeGradient):
4092         (WebCore::GraphicsContext::setFillGradient):
4093         * platform/graphics/GraphicsContext.h:
4094         * platform/graphics/MediaSourcePrivateClient.h:
4095         * platform/graphics/Pattern.cpp:
4096         (WebCore::Pattern::create):
4097         * platform/graphics/Pattern.h:
4098         * platform/mac/SerializedPlatformRepresentationMac.h: