Make explicit which TextIndicator animations are driven manually, and which run autom...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-01-06  Timothy Horton  <timothy_horton@apple.com>
2
3         Make explicit which TextIndicator animations are driven manually, and which run automatically
4         https://bugs.webkit.org/show_bug.cgi?id=140113
5         <rdar://problem/19383425>
6
7         Reviewed by Darin Adler.
8
9         * page/TextIndicator.cpp:
10         (WebCore::TextIndicator::wantsManualAnimation):
11         Add wantsManualAnimation(). The old transitions (Bounce and BounceAndCrossfade)
12         run automatically, and the new ones (FadeIn and Crossfade) are driven manually.
13
14         * page/TextIndicator.h:
15         Add a comment explaining which animations are manual and which are not.
16
17         * page/mac/TextIndicatorWindow.mm:
18         (-[WebTextIndicatorView present]):
19         Make use of wantsManualAnimation(). The previous (wantsFadeIn || wantsCrossfade)
20         was wrong, because it was true for BounceAndCrossfade, and would cause
21         BounceAndCrossfade animations (which aren't driven manually) to stall at progress=0.
22
23 2015-01-06  Anders Carlsson  <andersca@apple.com>
24
25         Give empty pages a valid database provider.
26
27         * loader/EmptyClients.cpp:
28         (WebCore::fillWithEmptyClients):
29
30 2015-01-06  Myles C. Maxfield  <mmaxfield@apple.com>
31
32         Fix iOS build after r177955 and r177952.
33
34         Unreviewed.
35
36         * html/parser/HTMLTreeBuilder.cpp:
37         (WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
38         * platform/graphics/mac/ComplexTextController.cpp:
39         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
40
41 2015-01-06  Anders Carlsson  <andersca@apple.com>
42
43         Remove now unused IndexedDB code
44         https://bugs.webkit.org/show_bug.cgi?id=140128
45
46         Reviewed by Darin Adler.
47
48         * CMakeLists.txt:
49         Remove files.
50
51         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
52         Don't include PageGroupIndexedDatabase.h.
53
54         * Modules/indexeddb/IDBFactoryBackendInterface.cpp: Removed.
55         Remove this file, it just had one function calling through to the database strategy.
56
57         * Modules/indexeddb/IDBFactoryBackendInterface.h:
58         Remove the create function.
59
60         * Modules/indexeddb/PageGroupIndexedDatabase.cpp: Removed.
61         * Modules/indexeddb/PageGroupIndexedDatabase.h: Removed.
62         The backend is now per page, not per page group.
63
64         * WebCore.exp.in:
65         Remove an exported symbol.
66
67         * WebCore.vcxproj/WebCore.vcxproj:
68         * WebCore.vcxproj/WebCore.vcxproj.filters:
69         * WebCore.xcodeproj/project.pbxproj:
70         Remove files.
71
72         * page/PageGroup.h:
73         PageGroup is no longer supplementable.
74
75         * platform/DatabaseStrategy.cpp:
76         (WebCore::DatabaseStrategy::createIDBFactoryBackend): Deleted.
77         * platform/DatabaseStrategy.h:
78         Remove a header.
79
80 2015-01-06  Anders Carlsson  <andersca@apple.com>
81
82         Try to fix the Windows build.
83
84         * WebCore.vcxproj/copyForwardingHeaders.cmd:
85
86 2015-01-06  Chris Dumez  <cdumez@apple.com>
87
88         Regression(r176212): Carousel on mbusa.com is choppy
89         https://bugs.webkit.org/show_bug.cgi?id=139543
90         <rdar://problem/19209406>
91
92         Reviewed by Antti Koivisto.
93
94         A repeating DOM timer changing the style of an element that has
95         overflowing content that is visible would get throttled in the
96         case where the overflowing content has its own layer. This is
97         because the repaint rect returned by
98         RenderObject::absoluteClippedOverflowRect() does not take into
99         consideration descendants with their own self-painting layer when
100         accounting for the overflow.
101
102         Until I can find a relatively cheap way of computing the overflow
103         in this case, this patch takes the conservative approach and
104         assumes we may repaint inside the viewport if the element does not
105         have a layer or if any of its descendants has its own layer.
106
107         This patch also renames isInsideViewport() function to
108         mayCauseRepaintInsideViewport() for clarity.
109
110         Tests: fast/dom/repeating-timer-element-overflow-hidden-throttling.html
111                fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html
112
113         * dom/Element.cpp:
114         (WebCore::Element::mayCauseRepaintInsideViewport):
115         (WebCore::Element::isInsideViewport): Deleted.
116         * dom/Element.h:
117         * page/DOMTimer.cpp:
118         (WebCore::DOMTimer::scriptDidCauseElementRepaint):
119         (WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):
120         * rendering/RenderElement.cpp:
121         (WebCore::RenderElement::mayCauseRepaintInsideViewport):
122         (WebCore::RenderElement::isInsideViewport): Deleted.
123         * rendering/RenderElement.h:
124
125 2015-01-06  Anders Carlsson  <andersca@apple.com>
126
127         Add a WebKit1 database provider
128         https://bugs.webkit.org/show_bug.cgi?id=140126
129
130         Reviewed by Sam Weinig.
131
132         Use a Ref instead of a RefPtr since the database provider can never be null now.
133
134         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
135         (WebCore::DOMWindowIndexedDatabase::indexedDB):
136         * page/Page.cpp:
137         (WebCore::Page::Page):
138         * page/Page.h:
139         (WebCore::Page::databaseProvider):
140
141 2015-01-06  Brent Fulgham  <bfulgham@apple.com>
142
143         [Win] Unreviewed build fix after r177952.
144
145         Remove double class namespace in appendToAttributeValue.
146
147         * html/parser/HTMLToken.h:
148         (WebCore::HTMLToken::appendToAttributeValue): Added,
149         (WebCore::HTMLToken::HTMLToken::appendToAttributeValue): Deleted.
150
151 2015-01-05  Anders Carlsson  <andersca@apple.com>
152
153         Add a DatabaseProvider subclass in WebKit2 and use it for IndexedDB
154         https://bugs.webkit.org/show_bug.cgi?id=140108
155
156         Reviewed by Darin Adler.
157
158         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
159         (WebCore::DOMWindowIndexedDatabase::indexedDB):
160         Get the IDBFactoryBackendInterface from the database provider.
161
162         * page/DatabaseProvider.cpp:
163         (WebCore::DatabaseProvider::idbFactoryBackend):
164         Change this to return a pointer.
165
166         * page/Page.h:
167         (WebCore::Page::databaseProvider):
168         Add a getter.
169
170 2015-01-06  Brent Fulgham  <bfulgham@apple.com>
171
172         [Win] Another build fix attempt.
173
174         Reorder function declarations to avoid confusing compiler. Add explicit namespace for
175         out copied functions to avoid attempting to link against bindings version of these files.
176
177         * plugins/PluginPackage.cpp:
178         (WebCore::makeSource):
179         (WebCore::NPN_Evaluate):
180         (WebCore::NPN_Invoke):
181         (WebCore::PluginPackage::initializeBrowserFuncs):
182
183 2015-01-06  Chris Dumez  <cdumez@apple.com>
184
185         Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder
186         https://bugs.webkit.org/show_bug.cgi?id=140112
187
188         Reviewed by Darin Adler.
189
190         Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder.
191
192         * css/CSSPropertyNames.in:
193         * css/StyleBuilderConverter.h:
194         (WebCore::StyleBuilderConverter::parseSnapCoordinate):
195         (WebCore::StyleBuilderConverter::convertScrollSnapPoints):
196         (WebCore::StyleBuilderConverter::convertSnapCoordinatePair):
197         (WebCore::StyleBuilderConverter::convertScrollSnapCoordinates):
198         * css/StyleResolver.cpp:
199         (WebCore::StyleResolver::applyProperty):
200         (WebCore::StyleResolver::parseSnapCoordinate): Deleted.
201         (WebCore::StyleResolver::parseSnapCoordinatePair): Deleted.
202         (WebCore::StyleResolver::parseSnapPoints): Deleted.
203         * css/StyleResolver.h:
204
205 2015-01-06  Antti Koivisto  <antti@apple.com>
206
207         Resolve mirroring and variant in Font instead of FontGlyphs
208         https://bugs.webkit.org/show_bug.cgi?id=140079
209
210         Reviewed by Darin Adler.
211
212         Make FontGlyphs more focused. It doesn't need to know about resolving variants and mirroring.
213
214         * platform/graphics/Font.cpp:
215         (WebCore::Font::glyphDataForCharacter):
216         * platform/graphics/Font.h:
217         (WebCore::Font::glyphDataForCharacter): Deleted.
218         * platform/graphics/FontGlyphs.cpp:
219         (WebCore::FontGlyphs::glyphDataForCharacter):
220         * platform/graphics/FontGlyphs.h:
221
222 2015-01-06  Shivakumar JM  <shiva.jm@samsung.com>
223
224         Fix Unused parameter warning in Webcore bindings.
225         https://bugs.webkit.org/show_bug.cgi?id=140118
226
227         Reviewed by Gyuyoung Kim.
228
229         remove the Unused parameter from createScriptInstanceForWidget() function
230
231         No new tests, no behavior changed.
232
233         * bindings/js/ScriptController.cpp:
234         (WebCore::ScriptController::createScriptInstanceForWidget):
235
236 2015-01-05  Antti Koivisto  <antti@apple.com>
237
238         Font::primaryFontData() should return a reference
239         https://bugs.webkit.org/show_bug.cgi?id=140081
240
241         Reviewed by Darin Adler.
242
243         It is not null.
244
245         Also rename primaryFont() -> primaryFontData().
246
247         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
248         (AXAttributeStringSetStyle):
249         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
250         (AXAttributeStringSetStyle):
251         * bindings/objc/DOM.mm:
252         (-[DOMElement _font]):
253         * editing/cocoa/HTMLConverter.mm:
254         (_font):
255         (WebCore::editingAttributedStringFromRange):
256         * editing/ios/EditorIOS.mm:
257         (WebCore::Editor::fontForSelection):
258         (WebCore::Editor::fontAttributesForSelectionStart):
259         * editing/mac/EditorMac.mm:
260         (WebCore::Editor::fontForSelection):
261         (WebCore::Editor::fontAttributesForSelectionStart):
262         * platform/graphics/Font.cpp:
263         (WebCore::Font::fastAverageCharWidthIfAvailable):
264         * platform/graphics/Font.h:
265         (WebCore::Font::fontMetrics):
266         (WebCore::Font::spaceWidth):
267         (WebCore::Font::tabWidth):
268         (WebCore::Font::primaryFontData):
269         (WebCore::Font::primaryFont): Deleted.
270         * platform/graphics/FontFastPath.cpp:
271         (WebCore::Font::primaryFontHasGlyphForCharacter):
272         * platform/graphics/FontGlyphs.cpp:
273         (WebCore::FontGlyphs::determinePitch):
274         (WebCore::FontGlyphs::glyphDataForSystemFallback):
275         (WebCore::FontGlyphs::glyphDataForCharacter):
276         * platform/graphics/FontGlyphs.h:
277         (WebCore::FontGlyphs::primaryFontData):
278         (WebCore::FontGlyphs::primarySimpleFontData):
279         * platform/graphics/WidthIterator.cpp:
280         (WebCore::WidthIterator::advanceInternal):
281         * platform/graphics/mac/ComplexTextController.cpp:
282         (WebCore::ComplexTextController::advance):
283         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
284         * platform/graphics/mac/ComplexTextController.h:
285         (WebCore::ComplexTextController::ComplexTextRun::create):
286         (WebCore::ComplexTextController::ComplexTextRun::fontData):
287         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
288         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
289         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
290         * platform/graphics/mac/FontMac.mm:
291         (WebCore::Font::primaryFontDataIsSystemFont):
292         * platform/graphics/opentype/OpenTypeMathData.cpp:
293         * platform/graphics/opentype/OpenTypeMathData.h:
294         * rendering/InlineFlowBox.cpp:
295         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
296         * rendering/InlineTextBox.cpp:
297         (WebCore::InlineTextBox::constructTextRun):
298         * rendering/RenderBlock.cpp:
299         (WebCore::RenderBlock::adjustLogicalLeftOffsetForLine):
300         (WebCore::RenderBlock::adjustLogicalRightOffsetForLine):
301         (WebCore::constructTextRunInternal):
302         * rendering/RenderTextControlSingleLine.cpp:
303         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
304         * rendering/RenderThemeIOS.mm:
305         (WebCore::adjustInputElementButtonStyle):
306         * rendering/RootInlineBox.cpp:
307         (WebCore::RootInlineBox::ascentAndDescentForBox):
308         * rendering/SimpleLineLayout.cpp:
309         (WebCore::SimpleLineLayout::canUseFor):
310         * rendering/mathml/RenderMathMLOperator.cpp:
311         (WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack):
312         (WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):
313         (WebCore::RenderMathMLOperator::findStretchyData):
314         (WebCore::RenderMathMLOperator::trailingSpaceError):
315         * rendering/mathml/RenderMathMLRadicalOperator.cpp:
316         (WebCore::RenderMathMLRadicalOperator::stretchTo):
317         (WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
318         (WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
319         (WebCore::RenderMathMLRadicalOperator::paint):
320         * rendering/mathml/RenderMathMLRoot.cpp:
321         (WebCore::RenderMathMLRoot::updateStyle):
322         * rendering/svg/SVGInlineTextBox.cpp:
323         (WebCore::SVGInlineTextBox::constructTextRun):
324         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
325         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
326         * rendering/svg/SVGTextMetrics.cpp:
327         (WebCore::SVGTextMetrics::constructTextRun):
328         (WebCore::SVGTextMetrics::SVGTextMetrics):
329         * rendering/svg/SVGTextRunRenderingContext.cpp:
330         (WebCore::missingGlyphForFont):
331         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
332
333 2015-01-06  Chris Dumez  <cdumez@apple.com>
334
335         Move '-webkit-filter' / '-webkit-backdrop-filter' to the new StyleBuilder
336         https://bugs.webkit.org/show_bug.cgi?id=140111
337
338         Reviewed by Darin Adler.
339
340         Move '-webkit-filter' / '-webkit-backdrop-filter' to the new
341         StyleBuilder.
342
343         * css/CSSFilterImageValue.cpp:
344         (WebCore::CSSFilterImageValue::createFilterOperations):
345         * css/CSSPropertyNames.in:
346         * css/StyleBuilderConverter.h:
347         (WebCore::StyleBuilderConverter::convertFilterOperations):
348         * css/StyleResolver.cpp:
349         (WebCore::StyleResolver::applyProperty):
350         (WebCore::StyleResolver::createFilterOperations):
351         * css/StyleResolver.h:
352
353 2015-01-05  Darin Adler  <darin@apple.com>
354
355         Modernize and streamline HTMLToken and AtomicHTMLToken
356         https://bugs.webkit.org/show_bug.cgi?id=140046
357
358         Reviewed by Andreas Kling.
359
360         * editing/MarkupAccumulator.cpp:
361         (WebCore::MarkupAccumulator::appendDocumentType): Added code to properly
362         handle empty strings for systemId and publicId, rather than treating them
363         the same as missing systemId and publicId.
364
365         * html/parser/AtomicHTMLToken.h: Removed unneeded includes.
366         Moved function bodies out of the class so it's easier to see the contents of
367         the class. Renamed the isAll8BitData function to charactersIsAll8BitData
368         to make it clear that it is correct only for AtomicHTMLToken::characters.
369         Made more things private. Moved the findAttributeInVector function here
370         and renamed it to just findAttribute. Use unsigned instead of int and
371         size_t as appropriate. Changed the constructor that makes a fake one of
372         these to move the Vector of attributes in rather than copying it.
373
374         * html/parser/HTMLConstructionSite.cpp:
375         (WebCore::HTMLConstructionSite::insertDoctype): Moved the code to create
376         a string from here into AtomicHTMLToken.
377         (WebCore::HTMLConstructionSite::createElementFromSavedToken): Updated
378         to construct the Vector explicitly because all other call sites pass
379         ownership of the Vector in to the AtomicHTMLToken.
380
381         * html/parser/HTMLDocumentParser.cpp:
382         (WebCore::HTMLDocumentParser::pumpTokenizer): Check for an uninitialized
383         token without using a special function just for this purpose.
384         (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Ditto.
385
386         * html/parser/HTMLParserIdioms.h: Removed the version of
387         stripLeadingAndTrailingHTMLSpaces that takes a character vector. Instead
388         the caller can make a string. Later we might want this to work with
389         a StringView, or a StringView/String combination.
390
391         * html/parser/HTMLPreloadScanner.cpp:
392         (WebCore::TokenPreloadScanner::scan): Updated to not use HTMLToken::data.
393         (WebCore::TokenPreloadScanner::updatePredictedBaseURL): Updated to not use
394         HTMLToken::getAttributeItem and to not require a special overload of the
395         stripLeadingAndTrailingHTMLSpaces function.
396
397         * html/parser/HTMLSourceTracker.cpp:
398         (WebCore::HTMLSourceTracker::end): Updated to call the token-ending
399         function by its new name, setEndOffset.
400         (WebCore::HTMLSourceTracker::sourceForToken): Updated since we no
401         longer have a startIndex function that already returns 0. Instead just
402         call length. Also use unsigned instead of size_t.
403
404         * html/parser/HTMLStackItem.h:
405         (WebCore::HTMLStackItem::getAttributeItem): Updated for name change.
406
407         * html/parser/HTMLToken.h: Removed the many unneeded includes,
408         including the self-include! Turned DoctypeData into a normal struct
409         without m_ prefixes on its member names. Turned HTMLToken::Attribute and
410         HTMLToken::Attribute::Range into normal structs. Moved function
411         bodies out of the class so it's easier to see the contents of
412         the class. Removed a few now-unneeded functions.
413
414         * html/parser/HTMLTokenizer.cpp: Removed the AtomicHTMLToken function
415         members that used to be here. None are needed any more; they are now all
416         just inlined at the call site. If we need any non-inline functions, then
417         we sould probably create an AtomicHTMLToken.cpp file instead.
418         (WebCore::HTMLTokenizer::processEntity): Use the new bufferASCIICharacter
419         function in all the cases where we know a character is ASCII to cut down
420         on the amount of 8-bit checking we have to do.
421         (WebCore::HTMLTokenizer::nextToken): Ditto.
422
423         * html/parser/HTMLTokenizer.h: Added a new bufferASCIICharacter function
424         so we don't have to do 8-bit checks on so many characters as we buffer
425         them. Also removed the call to ensureIsCharacterToken, since appendToCharacter
426         now does that. Also deleted overloads of bufferCharacter so we remember to
427         call bufferASCIICharacter instead.
428
429         * html/parser/HTMLTreeBuilder.cpp:
430         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
431         Updated for change in AtomicHTMLToken function names.
432         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto.
433         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
434         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
435         (WebCore::hasAttribute): Added.
436         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Use hasAtttribute.
437
438         * html/parser/TextDocumentParser.cpp:
439         (WebCore::TextDocumentParser::insertFakePreElement): Move the attributes in
440         rather than copying them in.
441
442         * html/parser/XSSAuditor.cpp:
443         (WebCore::XSSAuditor::filterCharacterToken): Use clear so we don't have to
444         have an eraseCharacters function. Use a local variable to avoid overloading
445         ambiguity.
446         (WebCore::XSSAuditor::decodedSnippetForAttribute): Fixed a typo and the types
447         of some local variables.
448
449 2015-01-05  Darin Adler  <darin@apple.com>
450
451         Revert mistake in yesterday's HTMLDocumentParser refactor.
452         https://bugs.webkit.org/show_bug.cgi?id=140041
453
454         * html/parser/HTMLDocumentParser.cpp:
455         (WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass the parser content policy
456         from the parserContentPolicy function, not the raw policy that was passed in. This
457         restores the behavior from before r177883.
458
459 2015-01-05  Chris Dumez  <cdumez@apple.com>
460
461         Using calc() for -webkit-filter does not work
462         https://bugs.webkit.org/show_bug.cgi?id=140106
463
464         Reviewed by Darin Adler.
465
466         Using calc() for -webkit-filter did not work because the CSS parser did
467         not handle it properly. This patch addresses the issue.
468
469         Test: fast/css/webkit-filter-calc.html
470
471         * css/CSSParser.cpp:
472         (WebCore::CSSParser::parseBuiltinFilterArguments):
473
474 2015-01-05  Chris Dumez  <cdumez@apple.com>
475
476         Allow HTTPS + 'Cache-control: no-cache' pages into the page cache
477         https://bugs.webkit.org/show_bug.cgi?id=139251
478
479         Reviewed by Darin Adler.
480
481         Allow HTTPS + 'Cache-control: no-cache' pages into the page cache as
482         IE10+ and Google Chrome do, and as allowed by RFC2616 & newer RFC7234
483         (both RFCs distinguish history mechanisms and caches).
484
485         Pages over HTTPs using 'Cache-control: no-store' still don't go into
486         the page cache for now.
487
488         Test: http/tests/navigation/https-in-page-cache.html
489
490         * history/PageCache.cpp:
491         (WebCore::logCanCacheFrameDecision):
492         (WebCore::PageCache::canCachePageContainingThisFrame):
493         * platform/FeatureCounterKeys.h:
494
495 2015-01-05  Chris Dumez  <cdumez@apple.com>
496
497         Using calc() in repeat() for -webkit-grid-template-rows does not work
498         https://bugs.webkit.org/show_bug.cgi?id=140094
499
500         Reviewed by Darin Adler.
501
502         Using calc() in repeat() for -webkit-grid-template-rows was not working
503         because the CSS parser was not handling this case properly. This patch
504         addresses the issue.
505
506         Test: fast/css-grid-layout/grid-repeat-calc.html
507
508         * css/CSSCalculationValue.h:
509         (WebCore::CSSCalcValue::isPositive):
510         Add isPositive() method as it is needed by
511         CSSParser::validateCalculationUnit().
512
513         * css/CSSParser.cpp:
514         (WebCore::CSSParser::validateCalculationUnit):
515         Add support for FPositiveInteger, similarly to what was done in
516         validateUnit(). This would cause us to consider calc(1 + 1) as invalid
517         if a FPositiveInteger was requested.
518
519         (WebCore::CSSParser::parseGridTrackRepeatFunction):
520         Do not access fValue directly and call parsedDouble() instead as it
521         correctly handles calculation values.
522
523 2015-01-05  Chris Dumez  <cdumez@apple.com>
524
525         calc() cannot be used in steps() for -webkit-animation-timing-function
526         https://bugs.webkit.org/show_bug.cgi?id=140091
527
528         Reviewed by Darin Adler.
529
530         calc() could not be used in steps() for -webkit-animation-timing-function
531         CSS property because the CSS parser did not handle this case properly.
532         This patch addresses the issue.
533
534         Test: fast/css/animation-steps-calculated-value.html
535
536         * css/CSSParser.cpp:
537         (WebCore::CSSParser::parseAnimationTimingFunction):
538
539 2015-01-05  Brent Fulgham  <bfulgham@apple.com>
540
541         [Win] One more build fix for r177937.
542
543         * plugins/PluginPackage.cpp: Provide forward declaration for local NPN_Evaluate
544         implementation to avoid linker error.
545
546 2015-01-05  Brent Fulgham  <bfulgham@apple.com>
547
548         [Win] Unreviewed build fix after r177937.
549
550         Add the missing #include and namespace declarations to get a clean build.
551
552         * bindings/js/JSWebGLRenderingContextCustom.cpp:
553         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
554         * plugins/PluginPackage.cpp:
555         (WebCore::getListFromVariantArgs):
556         (WebCore::NPN_Invoke):
557         (WebCore::makeSource):
558         (WebCore::NPN_Evaluate):
559
560 2015-01-05  Anders Carlsson  <andersca@apple.com>
561
562         Remove PluginViewNone.cpp
563         https://bugs.webkit.org/show_bug.cgi?id=140107
564
565         Reviewed by Andreas Kling.
566
567         * CMakeLists.txt:
568         * PlatformEfl.cmake:
569         * PlatformGTK.cmake:
570         * PlatformWin.cmake:
571         * WebCore.xcodeproj/project.pbxproj:
572         * plugins/PluginViewNone.cpp: Removed.
573
574 2015-01-05  Anders Carlsson  <andersca@apple.com>
575
576         Stop including PluginView.h from cross platform WebCore code
577         https://bugs.webkit.org/show_bug.cgi?id=140105
578
579         Reviewed by Andreas Kling.
580
581         Instead, include PluginViewBase.h. This will allow us to move the old plug-in implementation to WebKit.
582
583         * bindings/js/ScriptController.cpp:
584         * bridge/NP_jsobject.cpp:
585         (_NPN_Evaluate):
586         * inspector/PageScriptDebugServer.cpp:
587         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
588         * loader/FrameLoaderClient.h:
589         * page/Page.cpp:
590         * plugins/PluginViewBase.h:
591         (WebCore::PluginViewBase::setJavaScriptPaused):
592
593 2015-01-05  Anders Carlsson  <andersca@apple.com>
594
595         Introduce a per-page database provider class
596         https://bugs.webkit.org/show_bug.cgi?id=140102
597
598         Reviewed by Sam Weinig.
599
600         This class will replace DatabaseStrategy and allow for different providers per page.
601
602         * CMakeLists.txt:
603         * WebCore.vcxproj/WebCore.vcxproj:
604         * WebCore.vcxproj/WebCore.vcxproj.filters:
605         * WebCore.xcodeproj/project.pbxproj:
606         * page/DatabaseProvider.cpp: Added.
607         (WebCore::DatabaseProvider::~DatabaseProvider):
608         (WebCore::DatabaseProvider::idbFactoryBackend):
609         * page/DatabaseProvider.h: Added.
610         * page/Page.cpp:
611         (WebCore::Page::Page):
612         * page/Page.h:
613         * page/PageConfiguration.cpp:
614         * page/PageConfiguration.h:
615
616 2015-01-05  Anders Carlsson  <andersca@apple.com>
617
618         Add copies of NPN_Evaluate and NPN_Invoke on Windows
619         https://bugs.webkit.org/show_bug.cgi?id=140103
620
621         Reviewed by Andreas Kling.
622
623         While this is unfortunate, it will allow us to get rid of PluginView.h and PluginViewNone.cpp
624         from the cross platform WebCore code and then move the plug-in code to WebKit/win (which is the only client of this plug-in implementation).
625
626         * plugins/PluginPackage.cpp:
627         (WebCore::NPN_Invoke):
628         (WebCore::NPN_Evaluate):
629         (WebCore::PluginPackage::initializeBrowserFuncs):
630
631 2015-01-05  Andreas Kling  <akling@apple.com>
632
633         Purge PassRefPtr from Page.
634         <https://webkit.org/b/140089>
635
636         Reviewed by Anders Carlsson.
637
638         Use Ref or RefPtr instead of PassRefPtr as appropriate in WebCore::Page.
639
640         * page/Page.cpp:
641         (WebCore::Page::rangeOfString):
642         (WebCore::Page::setSessionStorage):
643         * page/Page.h:
644         * page/mac/PageMac.cpp:
645         (WebCore::Page::addSchedulePair):
646         (WebCore::Page::removeSchedulePair):
647
648 2015-01-05  Chris Dumez  <cdumez@apple.com>
649
650         Regression(r163928): Animated images are not resumed on window resizing
651         https://bugs.webkit.org/show_bug.cgi?id=139714
652         <rdar://problem/18855285>
653
654         Reviewed by Darin Adler.
655
656         After r163928, animated images were not resumed if they became visible
657         after resizing the window. This patch calls resumes animated images if
658         necessary in FrameView::setFrameRect() to handle this case properly.
659
660         Tests: fast/images/animated-gif-window-resizing.html
661                fast/images/animated-gif-zooming.html
662
663         * page/FrameView.cpp:
664         (WebCore::FrameView::setFrameRect):
665
666 2015-01-01  Brian J. Burg  <burg@cs.washington.edu>
667
668         Web Inspector: pass parameters to inspector instrumentation by reference where possible
669         https://bugs.webkit.org/show_bug.cgi?id=139981
670
671         Reviewed by Andreas Kling.
672
673         Clean up inspector instrumentation entry points throughout WebCore. In particular, make
674         parameters pass-by-reference if they are not nullable. Also standardize quirky parameter
675         orders and do other small cleanups in InspectorInstrumentation and at callsites.
676
677         Inspector agents still take the pertinent parameters by pointer even when they could be
678         passed by reference. This will be addressed in a follow-up change.
679
680         No new tests, no behavior changed.
681
682         * WebCore.exp.in:
683         * bindings/js/ScriptController.cpp:
684         (WebCore::ScriptController::evaluateInWorld):
685         * css/PropertySetCSSStyleDeclaration.cpp:
686         * css/SelectorChecker.cpp:
687         (WebCore::SelectorChecker::checkOne):
688         (WebCore::SelectorChecker::matchesFocusPseudoClass):
689         * css/StyleResolver.cpp:
690         (WebCore::StyleResolver::styleForElement):
691         * cssjit/SelectorCompiler.cpp:
692         (WebCore::SelectorCompiler::elementIsActive):
693         (WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
694         (WebCore::SelectorCompiler::elementIsHovered):
695         (WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):
696         * dom/CharacterData.cpp:
697         (WebCore::CharacterData::dispatchModifiedEvent): Remove unnecessary ENABLE guard.
698         * dom/ContainerNode.cpp:
699         (WebCore::ContainerNode::insertBefore):
700         (WebCore::ContainerNode::replaceChild):
701         (WebCore::ContainerNode::removeBetween):
702         (WebCore::ContainerNode::appendChild):
703         (WebCore::dispatchChildRemovalEvents):
704         * dom/ContainerNodeAlgorithms.h:
705         (WebCore::ChildNodeInsertionNotifier::notify): Remove unnecessary ENABLE guard.
706         * dom/Document.cpp:
707         (WebCore::Document::scheduleStyleRecalc):
708         (WebCore::Document::recalcStyle):
709         (WebCore::Document::finishedParsing): This is safe because we checked the argument.
710         * dom/Element.cpp:
711         (WebCore::Element::addShadowRoot):
712         (WebCore::Element::removeShadowRoot): This is safe because we checked the argument.
713         (WebCore::Element::willModifyAttribute): Remove unnecessary ENABLE guard.
714         (WebCore::Element::didAddAttribute):
715         (WebCore::Element::didModifyAttribute):
716         (WebCore::Element::didRemoveAttribute):
717         * dom/EventTarget.cpp:
718         (WebCore::EventTarget::fireEventListeners): This is safe because the type test would fail if null.
719         * dom/NamedFlowCollection.cpp: Pass by reference since code already assumes non-null.
720         (WebCore::NamedFlowCollection::ensureFlowWithName):
721         (WebCore::NamedFlowCollection::discardNamedFlow):
722         * dom/PseudoElement.cpp:
723         (WebCore::PseudoElement::~PseudoElement):
724         * dom/StyledElement.cpp:
725         (WebCore::StyledElement::styleAttributeChanged):
726         (WebCore::StyledElement::inlineStyleChanged):
727         * inspector/InspectorConsoleInstrumentation.h:
728         (WebCore::InspectorInstrumentation::addMessageToConsole):
729         (WebCore::InspectorInstrumentation::consoleCount):
730         (WebCore::InspectorInstrumentation::startConsoleTiming):
731         (WebCore::InspectorInstrumentation::stopConsoleTiming):
732         (WebCore::InspectorInstrumentation::consoleTimeStamp):
733         (WebCore::InspectorInstrumentation::startProfiling):
734         (WebCore::InspectorInstrumentation::stopProfiling):
735         * inspector/InspectorController.cpp:
736         (WebCore::InspectorController::didClearWindowObjectInWorld):
737         (WebCore::InspectorController::connectFrontend):
738         (WebCore::InspectorController::disconnectFrontend):
739         * inspector/InspectorController.h: Remove instrumentationForPage() in favor of using instrumentingAgentsForPage() directly.
740         * inspector/InspectorDatabaseInstrumentation.h:
741         (WebCore::InspectorInstrumentation::didOpenDatabase):
742         * inspector/InspectorInstrumentation.cpp: Add missing s_ prefix for global s_instrumentingAgentSets. Pass the instrumenting
743         agent by reference since it was already null-checked if we reached a slow path for instrumentation.
744         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
745         (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
746         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
747         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
748         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
749         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
750         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
751         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
752         (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
753         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
754         (WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
755         (WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl):
756         (WebCore::InspectorInstrumentation::didPushShadowRootImpl):
757         (WebCore::InspectorInstrumentation::willPopShadowRootImpl):
758         (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
759         (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
760         (WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
761         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
762         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
763         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
764         (WebCore::InspectorInstrumentation::didScrollImpl):
765         (WebCore::InspectorInstrumentation::handleTouchEventImpl):
766         (WebCore::InspectorInstrumentation::handleMousePressImpl):
767         (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
768         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
769         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
770         (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
771         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
772         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
773         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
774         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl):
775         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
776         (WebCore::InspectorInstrumentation::willHandleEventImpl):
777         (WebCore::InspectorInstrumentation::didHandleEventImpl): Add proper cookie guard and pass by reference.
778         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
779         (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
780         (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
781         (WebCore::InspectorInstrumentation::scriptsEnabledImpl):
782         (WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Removed, as there are no callers from WebCore. Possible V8 artifact.
783         (WebCore::InspectorInstrumentation::willFireTimerImpl):
784         (WebCore::InspectorInstrumentation::didFireTimerImpl): Add proper cookie guard and pass by reference.
785         (WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
786         (WebCore::InspectorInstrumentation::willLayoutImpl):
787         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl):
788         (WebCore::InspectorInstrumentation::willPaintImpl):
789         (WebCore::InspectorInstrumentation::didPaintImpl):
790         (WebCore::InspectorInstrumentation::willScrollLayerImpl):
791         (WebCore::InspectorInstrumentation::didScrollLayerImpl):
792         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
793         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl): Add proper cookie guard and pass by reference.
794         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
795         (WebCore::InspectorInstrumentation::applyEmulatedMediaImpl): Pass string by reference.
796         (WebCore::InspectorInstrumentation::willSendRequestImpl):
797         (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
798         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
799         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
800         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
801         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
802         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): Add proper cookie guard and pass by reference.
803         (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
804         (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
805         (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
806         (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
807         (WebCore::InspectorInstrumentation::didReceiveDataImpl):
808         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
809         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
810         (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl):
811         (WebCore::InspectorInstrumentation::willLoadXHRImpl):
812         (WebCore::InspectorInstrumentation::didFailXHRLoadingImpl):
813         (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
814         (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
815         (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
816         (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
817         (WebCore::InspectorInstrumentation::scriptImportedImpl):
818         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
819         (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
820         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Use Frame::isMainFrame().
821         (WebCore::InspectorInstrumentation::loadEventFiredImpl): Use Frame::isMainFrame().
822         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
823         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
824         (WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl):
825         (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
826         (WebCore::InspectorInstrumentation::willRunJavaScriptDialogImpl):
827         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl): Use a range-based iterator.
828         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
829         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
830         (WebCore::InspectorInstrumentation::consoleCountImpl):
831         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
832         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
833         (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
834         (WebCore::InspectorInstrumentation::startProfilingImpl):
835         (WebCore::InspectorInstrumentation::stopProfilingImpl):
836         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
837         (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl):
838         (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
839         (WebCore::InspectorInstrumentation::didStartWorkerGlobalScopeImpl):
840         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
841         (WebCore::InspectorInstrumentation::workerGlobalScopeTerminatedImpl):
842         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
843         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
844         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
845         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
846         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
847         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
848         (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
849         (WebCore::InspectorInstrumentation::sessionCreatedImpl):
850         (WebCore::InspectorInstrumentation::sessionLoadedImpl):
851         (WebCore::InspectorInstrumentation::sessionModifiedImpl):
852         (WebCore::InspectorInstrumentation::segmentCreatedImpl):
853         (WebCore::InspectorInstrumentation::segmentCompletedImpl):
854         (WebCore::InspectorInstrumentation::segmentLoadedImpl):
855         (WebCore::InspectorInstrumentation::segmentUnloadedImpl):
856         (WebCore::InspectorInstrumentation::captureStartedImpl):
857         (WebCore::InspectorInstrumentation::captureStoppedImpl):
858         (WebCore::InspectorInstrumentation::playbackStartedImpl):
859         (WebCore::InspectorInstrumentation::playbackPausedImpl):
860         (WebCore::InspectorInstrumentation::playbackHitPositionImpl):
861         (WebCore::InspectorInstrumentation::playbackFinishedImpl):
862         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
863         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
864         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
865         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
866         (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
867         (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
868         (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
869         (WebCore::InspectorInstrumentation::registerInstrumentingAgents):
870         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
871         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
872         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage): Add by-reference version which contains the logic from instrumentationForPage().
873         (WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer):
874         (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
875         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
876         (WebCore::InspectorInstrumentation::layerTreeDidChangeImpl):
877         (WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
878         (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
879         (WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Deleted.
880         * inspector/InspectorInstrumentation.h:
881         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
882         (WebCore::InspectorInstrumentation::isDebuggerPaused):
883         (WebCore::InspectorInstrumentation::willInsertDOMNode):
884         (WebCore::InspectorInstrumentation::didInsertDOMNode):
885         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
886         (WebCore::InspectorInstrumentation::didRemoveDOMNode):
887         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
888         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
889         (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
890         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
891         (WebCore::InspectorInstrumentation::frameWindowDiscarded):
892         (WebCore::InspectorInstrumentation::mediaQueryResultChanged):
893         (WebCore::InspectorInstrumentation::didPushShadowRoot):
894         (WebCore::InspectorInstrumentation::willPopShadowRoot):
895         (WebCore::InspectorInstrumentation::didCreateNamedFlow):
896         (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
897         (WebCore::InspectorInstrumentation::didChangeRegionOverset):
898         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
899         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
900         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
901         (WebCore::InspectorInstrumentation::handleTouchEvent):
902         (WebCore::InspectorInstrumentation::handleMousePress): Take Frame by reference instead of Page by pointer.
903         (WebCore::InspectorInstrumentation::forcePseudoState):
904         (WebCore::InspectorInstrumentation::characterDataModified):
905         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
906         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
907         (WebCore::InspectorInstrumentation::didInstallTimer):
908         (WebCore::InspectorInstrumentation::didRemoveTimer):
909         (WebCore::InspectorInstrumentation::willCallFunction):
910         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
911         (WebCore::InspectorInstrumentation::willDispatchEvent):
912         (WebCore::InspectorInstrumentation::willHandleEvent): Pass a const event reference.
913         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
914         (WebCore::InspectorInstrumentation::willEvaluateScript):
915         (WebCore::InspectorInstrumentation::didEvaluateScript):
916         (WebCore::InspectorInstrumentation::scriptsEnabled):
917         (WebCore::InspectorInstrumentation::willFireTimer):
918         (WebCore::InspectorInstrumentation::didInvalidateLayout):
919         (WebCore::InspectorInstrumentation::willLayout):
920         (WebCore::InspectorInstrumentation::didScroll):
921         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
922         (WebCore::InspectorInstrumentation::willPaint):
923         (WebCore::InspectorInstrumentation::didPaint):
924         (WebCore::InspectorInstrumentation::willScrollLayer):
925         (WebCore::InspectorInstrumentation::didScrollLayer):
926         (WebCore::InspectorInstrumentation::willRecalculateStyle):
927         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
928         (WebCore::InspectorInstrumentation::applyEmulatedMedia): Pass string by reference.
929         (WebCore::InspectorInstrumentation::willSendRequest):
930         (WebCore::InspectorInstrumentation::continueAfterPingLoader):
931         (WebCore::InspectorInstrumentation::markResourceAsCached):
932         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
933         (WebCore::InspectorInstrumentation::willReceiveResourceData):
934         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
935         (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
936         (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
937         (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
938         (WebCore::InspectorInstrumentation::didReceiveData):
939         (WebCore::InspectorInstrumentation::didFinishLoading):
940         (WebCore::InspectorInstrumentation::didFailLoading):
941         (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): No need to go through
942         ScriptExecutionContext interface, as it's always a Document.
943         (WebCore::InspectorInstrumentation::willLoadXHR):
944         (WebCore::InspectorInstrumentation::didFailXHRLoading):
945         (WebCore::InspectorInstrumentation::didFinishXHRLoading):
946         (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
947         (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
948         (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
949         (WebCore::InspectorInstrumentation::scriptImported):
950         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
951         (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
952         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
953         (WebCore::InspectorInstrumentation::loadEventFired):
954         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
955         (WebCore::InspectorInstrumentation::didCommitLoad):
956         (WebCore::InspectorInstrumentation::frameDocumentUpdated):
957         (WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
958         (WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
959         (WebCore::InspectorInstrumentation::willDestroyCachedResource):
960         (WebCore::InspectorInstrumentation::willWriteHTML):
961         (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
962         (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
963         (WebCore::InspectorInstrumentation::didStartWorkerGlobalScope):
964         (WebCore::InspectorInstrumentation::workerGlobalScopeTerminated):
965         (WebCore::InspectorInstrumentation::didCreateWebSocket):
966         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
967         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
968         (WebCore::InspectorInstrumentation::didCloseWebSocket):
969         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
970         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
971         (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
972         (WebCore::InspectorInstrumentation::sessionCreated):
973         (WebCore::InspectorInstrumentation::sessionLoaded):
974         (WebCore::InspectorInstrumentation::sessionModified):
975         (WebCore::InspectorInstrumentation::segmentCreated):
976         (WebCore::InspectorInstrumentation::segmentCompleted):
977         (WebCore::InspectorInstrumentation::segmentLoaded):
978         (WebCore::InspectorInstrumentation::segmentUnloaded):
979         (WebCore::InspectorInstrumentation::captureStarted):
980         (WebCore::InspectorInstrumentation::captureStopped):
981         (WebCore::InspectorInstrumentation::playbackStarted):
982         (WebCore::InspectorInstrumentation::playbackPaused):
983         (WebCore::InspectorInstrumentation::playbackFinished):
984         (WebCore::InspectorInstrumentation::playbackHitPosition):
985         (WebCore::InspectorInstrumentation::networkStateChanged):
986         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
987         (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
988         (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
989         (WebCore::InspectorInstrumentation::willFireAnimationFrame):
990         (WebCore::InspectorInstrumentation::layerTreeDidChange):
991         (WebCore::InspectorInstrumentation::renderLayerDestroyed):
992         (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
993         (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
994         (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
995         (WebCore::InspectorInstrumentation::didCreateIsolatedContext): Deleted.
996         * inspector/InspectorInstrumentationCookie.cpp: Take a reference, use default RefPtr constructor.
997         (WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):
998         * inspector/InspectorInstrumentationCookie.h: Fix misplaced ENABLE guard.
999         * inspector/InstrumentingAgents.cpp:
1000         (WebCore::instrumentationForPage): Deleted.
1001         (WebCore::instrumentationForWorkerGlobalScope): Deleted.
1002         * inspector/InstrumentingAgents.h:
1003         * inspector/WorkerInspectorController.h:
1004         * loader/DocumentLoader.cpp:
1005         (WebCore::DocumentLoader::responseReceived):
1006         (WebCore::DocumentLoader::continueAfterContentPolicy):
1007         (WebCore::DocumentLoader::detachFromFrame):
1008         * loader/DocumentThreadableLoader.cpp: Remove unnecessary ENABLE(INSPECTOR) guards, as these inlined calls
1009         are boiled away by the compiler if !ENABLE(INSPECTOR).
1010         (WebCore::DocumentThreadableLoader::didReceiveData):
1011         (WebCore::DocumentThreadableLoader::didFinishLoading):
1012         (WebCore::DocumentThreadableLoader::didFail):
1013         (WebCore::DocumentThreadableLoader::preflightFailure):
1014         (WebCore::DocumentThreadableLoader::loadRequest):
1015         * loader/FrameLoader.cpp:
1016         (WebCore::FrameLoader::detachFromParent):
1017         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1018         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
1019         (WebCore::FrameLoader::dispatchDidCommitLoad):
1020         * loader/ResourceLoadScheduler.cpp:
1021         (WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest):
1022         * loader/ResourceLoader.cpp:
1023         (WebCore::ResourceLoader::willSendRequest): Remove unnecessary ENABLE guard.
1024         * loader/appcache/ApplicationCacheGroup.cpp: Remove several unnecessary ENABLE guards.
1025         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1026         (WebCore::ApplicationCacheGroup::didReceiveData):
1027         (WebCore::ApplicationCacheGroup::didFinishLoading):
1028         (WebCore::ApplicationCacheGroup::didFail):
1029         * loader/cache/CachedResource.cpp:
1030         (WebCore::CachedResource::deleteIfPossible):
1031         * page/Chrome.cpp:
1032         (WebCore::Chrome::scroll):
1033         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1034         (WebCore::Chrome::runJavaScriptAlert):
1035         (WebCore::Chrome::runJavaScriptConfirm):
1036         (WebCore::Chrome::runJavaScriptPrompt):
1037         (WebCore::Chrome::mouseDidMoveOverElement):
1038         * page/DOMWindow.cpp:
1039         (WebCore::DOMWindow::dispatchLoadEvent):
1040         (WebCore::DOMWindow::dispatchEvent):
1041         * page/EventHandler.cpp:
1042         (WebCore::EventHandler::handleMousePressEvent):
1043         (WebCore::EventHandler::handleTouchEvent): Add a guard to make it safe to pass event target by-reference.
1044         * page/FrameView.cpp:
1045         (WebCore::FrameView::layout):
1046         (WebCore::FrameView::mediaType):
1047         (WebCore::FrameView::scheduleRelayout):
1048         (WebCore::FrameView::scheduleRelayoutOfSubtree):
1049         * page/PageConsoleClient.cpp:
1050         (WebCore::PageConsoleClient::addMessage):
1051         (WebCore::PageConsoleClient::messageWithTypeAndLevel):
1052         (WebCore::PageConsoleClient::count):
1053         (WebCore::PageConsoleClient::profile):
1054         (WebCore::PageConsoleClient::profileEnd):
1055         (WebCore::PageConsoleClient::time):
1056         (WebCore::PageConsoleClient::timeEnd):
1057         (WebCore::PageConsoleClient::timeStamp):
1058         * page/Settings.cpp:
1059         (WebCore::Settings::setScriptEnabled):
1060         * rendering/RenderLayer.cpp:
1061         (WebCore::RenderLayer::scrollTo):
1062         * rendering/RenderLayerCompositor.cpp:
1063         (WebCore::RenderLayerCompositor::layerBecameNonComposited):
1064         * rendering/RenderNamedFlowThread.cpp:
1065         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
1066         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
1067         (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):
1068         * replay/ReplayController.cpp:
1069         (WebCore::ReplayController::switchSession):
1070         (WebCore::ReplayController::createSegment):
1071         (WebCore::ReplayController::completeSegment):
1072         (WebCore::ReplayController::loadSegmentAtIndex):
1073         (WebCore::ReplayController::unloadSegment):
1074         (WebCore::ReplayController::startCapturing):
1075         (WebCore::ReplayController::stopCapturing):
1076         (WebCore::ReplayController::startPlayback):
1077         (WebCore::ReplayController::pausePlayback):
1078         (WebCore::ReplayController::cancelPlayback):
1079         (WebCore::ReplayController::willDispatchInput):
1080         * testing/Internals.cpp:
1081         (WebCore::Internals::consoleMessageArgumentCounts):
1082         * xml/XMLHttpRequest.cpp:
1083         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1084
1085 2015-01-05  Dan Bernstein  <mitz@apple.com>
1086
1087         Tried to fix the iOS build.
1088
1089         * html/parser/HTMLTreeBuilder.cpp:
1090         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
1091
1092 2015-01-05  Chris Dumez  <cdumez@apple.com>
1093
1094         Get rid of some unnecessary custom StyleBuilder code
1095         https://bugs.webkit.org/show_bug.cgi?id=140058
1096
1097         Reviewed by Darin Adler.
1098
1099         Get rid of some unnecessary custom StyleBuilder code. The generator is
1100         now able to generate this code just fine.
1101
1102         * css/CSSPropertyNames.in:
1103         * css/StyleBuilderConverter.h:
1104         (WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
1105         (WebCore::StyleBuilderConverter::convertWordSpacing):
1106         (WebCore::StyleBuilderConverter::convertPerspective):
1107         (WebCore::StyleBuilderConverter::convertMarqueeIncrement):
1108         * css/StyleBuilderCustom.h:
1109         (WebCore::StyleBuilderCustom::convertLineHeight):
1110         (WebCore::StyleBuilderCustom::applyValueWebkitMarqueeIncrement): Deleted.
1111         (WebCore::StyleBuilderCustom::csstoLengthConversionDataWithTextZoomFactor): Deleted.
1112         (WebCore::StyleBuilderCustom::applyValueWordSpacing): Deleted.
1113         (WebCore::StyleBuilderCustom::applyValueWebkitPerspective): Deleted.
1114
1115 2014-12-23  Brent Fulgham  <bfulgham@apple.com>
1116
1117         [Mac] Cannot scroll when a non-scrollable iframe is contained inside a scrollable iframe
1118         https://bugs.webkit.org/show_bug.cgi?id=139914
1119         <rdar://problem/18750910>
1120
1121         Reviewed by Darin Adler.
1122
1123         Tests: platform/mac/fast/scrolling/scroll-nested-iframe.html
1124
1125         The latching logic was breaking down when a non-scrollable iframe was the closest target of
1126         a wheel event. EventHandler would latch to the enclosing scrollable region (in this case, the
1127         non-scrollable iframe) and would eat scroll events, preventing anything from working.
1128         
1129         The fix is as follows:
1130         1. Modify the logic to understand a stack of latched states, so that we can discared 'invalid'
1131            latched states as we discover them.
1132         2. Revise the latching logic so that it understands the case where the 'latched' node for wheel
1133            events is in a parent frame of the current wheel event target. For example, when the mouse is over
1134            an element in an unscrollable iframe that is contained within a scrollable iframe. We should
1135            be latched to the scrollable iframe so events go to the right place.
1136
1137         * page/EventHandler.cpp:
1138         (WebCore::EventHandler::handleWheelEvent): Update to call new 'stack' versions of latch
1139         state methods.
1140         (WebCore::EventHandler::clearLatchedState): Ditto.
1141         (WebCore::EventHandler::defaultWheelEventHandler): Ditto.
1142         * page/MainFrame.cpp: Update to store a stack of latched states. Provide methods to control
1143         the lifetime of the stack and its elements.
1144         (WebCore::MainFrame::MainFrame):
1145         (WebCore::MainFrame::latchingState):
1146         (WebCore::MainFrame::pushNewLatchingState):
1147         (WebCore::MainFrame::resetLatchingState):
1148         (WebCore::MainFrame::popLatchingState):
1149         * page/MainFrame.h:
1150         * page/mac/EventHandlerMac.mm:
1151         (WebCore::latchingIsLockedToParentOfThisFrame): Added helper function.
1152         (WebCore::EventHandler::platformPrepareForWheelEvents): Update to use new 'stack' style latch
1153         methods. Also, if we are latched to a frame that contains the frame we are currently evaluating,
1154         don't replace the current event target with the latched targets because (1) they will be processed
1155         in the enclosing scope when we leave this routine, and (2) if we do change targets to the latched
1156         elements we create an infinite loop.
1157         (WebCore::EventHandler::platformCompleteWheelEvent): We want to mark the element as having started
1158         at the scroll limit regardless of what the wheel event handler returns as its success state.
1159         (WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Revise to handle the new
1160         stack-based latching methods.
1161
1162 2015-01-05  Darin Adler  <darin@apple.com>
1163
1164         Quick follow-up to last check-in, addressing review comments.
1165
1166         * html/parser/HTMLStackItem.h:
1167         (WebCore::HTMLStackItem::HTMLStackItem): Use rvalue reference for incoming Ref.
1168         (WebCore::HTMLStackItem::create): Ditto.
1169
1170 2015-01-05  Darin Adler  <darin@apple.com>
1171
1172         Modernize and streamline HTMLStackItem
1173         https://bugs.webkit.org/show_bug.cgi?id=140056
1174
1175         Reviewed by Anders Carlsson.
1176
1177         * html/HTMLHtmlElement.cpp:
1178         (WebCore::HTMLHtmlElement::create): Changed to return Ref.
1179         * html/HTMLHtmlElement.h: Ditto.
1180
1181         * html/parser/HTMLConstructionSite.cpp:
1182         (WebCore::hasImpliedEndTag): Update to use reference instead of pointer.
1183         (WebCore::causesFosterParenting): Moved here from HTMLStackItem.h.
1184         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): Update
1185         for references instead of pointers.
1186         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): Ditto.
1187         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody): Ditto.
1188         (WebCore::HTMLConstructionSite::insertComment): Ditto.
1189         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): Ditto.
1190         (WebCore::HTMLConstructionSite::insertHTMLHeadElement): Ditto.
1191         (WebCore::HTMLConstructionSite::insertHTMLBodyElement): Ditto.
1192         (WebCore::HTMLConstructionSite::insertHTMLFormElement): Ditto.
1193         (WebCore::HTMLConstructionSite::insertHTMLElement): Ditto.
1194         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): Ditto.
1195         (WebCore::HTMLConstructionSite::insertFormattingElement): Ditto.
1196         (WebCore::HTMLConstructionSite::insertScriptElement): Ditto.
1197         (WebCore::HTMLConstructionSite::insertForeignElement): Ditto.
1198         (WebCore::HTMLConstructionSite::insertTextNode): Ditto.
1199         (WebCore::HTMLConstructionSite::reparent): Ditto.
1200         (WebCore::HTMLConstructionSite::insertAlreadyParsedChild): Ditto.
1201         (WebCore::HTMLConstructionSite::takeAllChildren): Ditto.
1202         (WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode): Ditto.
1203         (WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto.
1204         (WebCore::HTMLConstructionSite::indexOfFirstUnopenFormattingElement): Ditto.
1205         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements): Ditto.
1206         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): Ditto.
1207         (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
1208         (WebCore::HTMLConstructionSite::shouldFosterParent): Removed unneeded
1209         isElementNode check, since causesFosterParenting will return false for a
1210         document fragment node.
1211
1212         * html/parser/HTMLConstructionSite.h: Updated to use references instead of
1213         pointers. Also removed the unneeded currentElementRecord function.
1214
1215         * html/parser/HTMLElementStack.cpp:
1216         (WebCore::HTMLNames::isRootNode): Updated to use references instead of pointers.
1217         (WebCore::HTMLNames::isScopeMarker): Ditto.
1218         (WebCore::HTMLNames::isListItemScopeMarker): Ditto.
1219         (WebCore::HTMLNames::isTableScopeMarker): Ditto.
1220         (WebCore::HTMLNames::isTableBodyScopeMarker): Ditto.
1221         (WebCore::HTMLNames::isTableRowScopeMarker): Ditto.
1222         (WebCore::HTMLNames::isForeignContentScopeMarker): Ditto.
1223         (WebCore::HTMLNames::isButtonScopeMarker): Ditto.
1224         (WebCore::HTMLNames::isSelectScopeMarker): Ditto.
1225         (WebCore::HTMLElementStack::ElementRecord::replaceElement): Ditto.
1226         (WebCore::HTMLElementStack::hasOnlyOneElement): Ditto.
1227         (WebCore::HTMLElementStack::popHTMLHeadElement): Ditto.
1228         (WebCore::HTMLElementStack::popHTMLBodyElement): Ditto.
1229         (WebCore::HTMLElementStack::popAll): Ditto.
1230         (WebCore::HTMLElementStack::pop): Ditto.
1231         (WebCore::HTMLElementStack::popUntil): Ditto.
1232         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped): Ditto.
1233         (WebCore::HTMLElementStack::isMathMLTextIntegrationPoint): Ditto. Also removed
1234         unneeded isElementNode check.
1235         (WebCore::HTMLElementStack::isHTMLIntegrationPoint): Ditto.
1236         (WebCore::HTMLElementStack::pushRootNode): Ditto.
1237         (WebCore::HTMLElementStack::pushRootNodeCommon): Ditto.
1238         (WebCore::HTMLElementStack::pushHTMLHeadElement): Ditto.
1239         (WebCore::HTMLElementStack::pushHTMLBodyElement): Ditto.
1240         (WebCore::HTMLElementStack::insertAbove): Ditto.
1241         (WebCore::HTMLElementStack::topRecord): Ditto.
1242         (WebCore::HTMLElementStack::oneBelowTop): Ditto.
1243         (WebCore::HTMLElementStack::removeHTMLHeadElement): Ditto.
1244         (WebCore::HTMLElementStack::remove): Ditto.
1245         (WebCore::HTMLElementStack::find): Ditto.
1246         (WebCore::HTMLElementStack::topmost): Ditto.
1247         (WebCore::inScopeCommon): Ditto.
1248         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope): Ditto.
1249         (WebCore::HTMLElementStack::inScope): Ditto.
1250         (WebCore::HTMLElementStack::htmlElement): Ditto.
1251         (WebCore::HTMLElementStack::headElement): Ditto.
1252         (WebCore::HTMLElementStack::bodyElement): Ditto.
1253         (WebCore::HTMLElementStack::rootNode): Ditto.
1254         (WebCore::HTMLElementStack::popCommon): Ditto.
1255         (WebCore::HTMLElementStack::removeNonTopCommon): Ditto.
1256         (WebCore::HTMLElementStack::furthestBlockForFormattingElement): Ditto.
1257         (WebCore::HTMLElementStack::show): Ditto.
1258
1259         * html/parser/HTMLElementStack.h: Use reference instead of pointer.
1260
1261         * html/parser/HTMLFormattingElementList.cpp:
1262         (WebCore::HTMLFormattingElementList::closestElementInScopeWithName): Update
1263         to use references instead of pointer.
1264         (WebCore::HTMLFormattingElementList::swapTo): Ditto.
1265         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly): Ditto.
1266         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Ditto.
1267         (WebCore::HTMLFormattingElementList::show): Ditto.
1268
1269         * html/parser/HTMLFormattingElementList.h: Use reference instead of pointer
1270         and a raw pointer instead of a RefPtr.
1271
1272         * html/parser/HTMLStackItem.h: Removed unneeded includes. Got rid of "type"
1273         concept and simply overload the create functions and constructors for both
1274         Element and DOcumentFragment. Renamed isElementNode and isDocumentFragmentNode
1275         to remove the "Node" suffix. Removed unused getAttributeItem, hasLocalName, and
1276         one of the overloads of matchesHTMLTag. Moved all the policy functions such as
1277         causesFosterParenting out of this class into free functions or into other
1278         source files. Got rid of m_isDocumentFragmentNode boolean. Moved function
1279         bodies out of the class definition. Marked all data members const since they
1280         are all initialized in the constructor and never touched again. Restructured
1281         the isSpecialNode function to avoid the repeated checks of the namespace.
1282
1283         * html/parser/HTMLTreeBuilder.cpp:
1284         (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Use reference instead of
1285         pointer and free functions instead of member functions.
1286         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Ditto.
1287         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Ditto.
1288         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto.
1289         (WebCore::HTMLTreeBuilder::constructTree): Ditto.
1290         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto.
1291         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Ditto.
1292         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
1293         (WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto.
1294         (WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto.
1295         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto.
1296         (WebCore::HTMLTreeBuilder::closeTheCell): Ditto.
1297         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
1298         (WebCore::HTMLTreeBuilder::processStartTag): Ditto.
1299         (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto.
1300         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto.
1301         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto.
1302         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto.
1303         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto.
1304         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto.
1305         (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
1306         (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
1307         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
1308         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto.
1309         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto.
1310         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto.
1311         (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
1312         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
1313         (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
1314         (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Ditto.
1315         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): Ditto.
1316         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.
1317
1318 2015-01-05  peavo@outlook.com  <peavo@outlook.com>
1319
1320         [WinCairo] Crash when font data pointer is null.
1321         https://bugs.webkit.org/show_bug.cgi?id=139969
1322
1323         Reviewed by Darin Adler.
1324
1325         Added null pointer check.
1326
1327         Test: fonts/unicode-character-font-crash.html
1328
1329         * platform/graphics/win/UniscribeController.cpp:
1330         (WebCore::UniscribeController::advance):
1331         (WebCore::UniscribeController::shape):
1332
1333 2015-01-05  Michael Catanzaro  <mcatanzaro@igalia.com>
1334
1335         [GStreamer] Disable gst-plugin-scanner if seccomp filters are enabled
1336         https://bugs.webkit.org/show_bug.cgi?id=140069
1337
1338         Reviewed by Philippe Normand.
1339
1340         If seccomp filters are enabled, any child processes we create are doomed
1341         if they try to use a trapped syscall: the child will receive SIGSYS and
1342         dump core. There appears to be no way around this.
1343
1344         Fortunately, the gstreamer developers had mad prescience and provided
1345         us with a way to move plugin scanning in-process, so we don't need the
1346         helper binary at all.
1347
1348         No new tests because this is covered by existing tests when seccomp
1349         filters are enabled.
1350
1351         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1352         (WebCore::initializeGStreamer):
1353
1354 2015-01-04  Darin Adler  <darin@apple.com>
1355
1356         * dom/DocumentFragment.cpp:
1357         (WebCore::DocumentFragment::parseXML):
1358         Removed an incorrect assertion my last check-in added.
1359
1360 2015-01-04  Darin Adler  <darin@apple.com>
1361
1362         Modernize and tighten up HTMLDocumentParser
1363         https://bugs.webkit.org/show_bug.cgi?id=140041
1364
1365         Reviewed by Sam Weinig.
1366
1367         * dom/DocumentFragment.cpp:
1368         (WebCore::DocumentFragment::parseHTML): Pass a reference instead of
1369         a pointer for the context element.
1370
1371         * html/FTPDirectoryDocument.cpp: Removed unneeded includes, made more
1372         things in FTPDirectoryDocumentParser private. Use Ref instead of RefPtr
1373         in a could places. Initialize in class instead of in constructor.
1374         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
1375         Less initialization here.
1376         (WebCore::FTPDirectoryDocumentParser::createTDForFilename): More Ref here.
1377         (WebCore::createTemplateDocumentData): Removed unneeded initialization
1378         of RefPtr, which is initialized without explicitly asking for it.
1379         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Reworded
1380         comment slightly.
1381
1382         * html/parser/HTMLDocumentParser.cpp: Cut down on includes.
1383         (WebCore::tokenizerStateForContextElement): Fixed URL. Changed argument
1384         to be a reference rather than a pointer.
1385         (WebCore::HTMLDocumentParser::inPumpSession):
1386         (WebCore::HTMLDocumentParser::shouldDelayEnd):
1387         (WebCore::HTMLDocumentParser::HTMLDocumentParser): Marked constructors
1388         inline. Updated for data members that are now objects instead of pointers.
1389         Removed explicit initialization for scalars that are now initialized in
1390         the class definition.
1391         (WebCore::HTMLDocumentParser::create): Moved the private creation
1392         functions in here, out of the header file.
1393         (WebCore::HTMLDocumentParser::~HTMLDocumentParser): Removed unused
1394         m_haveBackgroundParser.
1395         (WebCore::HTMLDocumentParser::prepareToStopParsing): Updated URL and
1396         removed m_haveBackgroundParser reference.
1397         (WebCore::HTMLDocumentParser::processingData): Removed a check of
1398         m_haveBackgroundParser.
1399         (WebCore::HTMLDocumentParser::resumeParsingAfterYield): Tweak comment.
1400         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Added
1401         a null check of the result of takeScriptToProcess, since there really
1402         is no guarantee it's non-null.
1403         (WebCore::HTMLDocumentParser::canTakeNextToken): Removed assertion
1404         that was for m_haveBackgroundParser cases only. Rewrapped comment.
1405         (WebCore::HTMLDocumentParser::contextForParsingSession): Use nullptr.
1406         (WebCore::HTMLDocumentParser::pumpTokenizer): Rework comments,
1407         remove assertions that no longer make sense, use auto instead of
1408         repeating a long type name, update to use m_token and m_tokenizer.
1409         (WebCore::HTMLDocumentParser::hasInsertionPoint): Rewrapped comment.
1410         (WebCore::HTMLDocumentParser::insert): Got rid of braces around a
1411         single-line if body.
1412         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
1413         Removed comment about incorrect m_haveBackgroundParser assertion.
1414         (WebCore::HTMLDocumentParser::isExecutingScript): Use && style instead
1415         of early exit for a null check.
1416         (WebCore::HTMLDocumentParser::textPosition): Tightened up code a little.
1417         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): Added
1418         a Ref to protect the parser, as is already done in every other function
1419         that calls pumpTokenizerIfPossible.
1420         (WebCore::HTMLDocumentParser::parseDocumentFragment): Take a reference
1421         instead of a pointer. Also use auto so we get a Ref instead of a RefPtr.
1422
1423         * html/parser/HTMLDocumentParser.h: Removed unneeded includes.
1424         Made private inheritance explicit instead of just omitting public.
1425         Moved function bodies out of the class, and in some cases, out of the
1426         header entirely. Return a reference from tokenizer(). Marked most
1427         virtual functions final. Made DocumentFragment version of the
1428         constructor private rather than protected. Made the functions
1429         suspendScheduledTasks() and resumeScheduledTasks() private, since
1430         they are always called through a base class. Removed the private
1431         token function since it is better to get at m_token directly.
1432         Removed m_haveBackgroundParser, since we don't have that any more
1433         and it's always false. Also removed forcePlaintextForTextDocument
1434         since the tokenizer is exposed and can be used directly to do that.
1435
1436         * html/parser/HTMLTreeBuilder.cpp:
1437         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Made the parser non-const.
1438         It could only be const before because HTMLDocumentParser::tokenizer
1439         took a const parser and returned a non-const tokenizer, but that doesn't
1440         really make sense.
1441         (WebCore::HTMLTreeBuilder::constructTree): Removed null check for
1442         tokenizer, which was never null. Updated since tokenizer is a reference.
1443         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
1444         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
1445         (WebCore::HTMLTreeBuilder::processEndTag): Ditto. Also fixed and removed
1446         some assertions like the ones I did recently in the rest of this file.
1447         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
1448         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
1449         (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.
1450
1451         * html/parser/HTMLTreeBuilder.h: Made HTMLDocumentParser& non-const.
1452
1453         * html/parser/TextDocumentParser.cpp: Removed unneeded include and
1454         unneeded explicit destructor.
1455         (WebCore::TextDocumentParser::TextDocumentParser): Updated since
1456         treeBuilder() returns a reference now, and set the tokenizer state
1457         directly since tokenizer() is exposed.
1458
1459         * html/parser/TextDocumentParser.h: Moved initialization of the
1460         data member here instead of the constructor. Also removed unneeded
1461         explicitly defined destructor.
1462
1463 2015-01-04  Antti Koivisto  <antti@apple.com>
1464
1465         Remove GlyphPageTree
1466         https://bugs.webkit.org/show_bug.cgi?id=140015
1467
1468         Follow-up to follow-up, fonts/font-fallback-prefers-pictographs.html is now failing.
1469
1470         * platform/graphics/FontGlyphs.cpp:
1471         (WebCore::FontGlyphs::glyphDataForVariant):
1472         (WebCore::FontGlyphs::glyphDataForNormalVariant):
1473
1474             Make the loop again go one past the last fallback index, the pictograph special case depends on it.
1475
1476 2015-01-04  Antti Koivisto  <antti@apple.com>
1477
1478         Remove GlyphPageTree
1479         https://bugs.webkit.org/show_bug.cgi?id=140015
1480
1481         Follow-up to r177876 to fix mathml/opentype/munderover-layout-resize.html which is asserting.
1482
1483         * platform/graphics/FontGlyphs.cpp:
1484         (WebCore::FontGlyphs::glyphDataForVariant):
1485         (WebCore::FontGlyphs::glyphDataForNormalVariant):
1486
1487         Always return system fallback if no glyph is found.
1488
1489 2015-01-04  Dan Bernstein  <mitz@apple.com>
1490
1491         iOS build fix.
1492
1493         * platform/graphics/SimpleFontData.cpp:
1494         (WebCore::createAndFillGlyphPage):
1495
1496 2015-01-02  Antti Koivisto  <antti@apple.com>
1497
1498         Remove GlyphPageTree
1499         https://bugs.webkit.org/show_bug.cgi?id=140015
1500
1501         Reviewed by Darin Adler.
1502
1503         GlyphPageTree is a global cache consisting of a tree of nodes that match SimpleFontData instances.
1504         The tree levels correspond to font fallback lists so that higher levels fill holes (missing glyphs)
1505         in the lower levels. This patch replaces it with a simpler and easier to understand caching scheme.
1506         In particular the goal is to have clearer ownership relations and better control over mutability.
1507
1508         The new scheme looks like this:
1509
1510         SimpleFontData instances cache GlyphPages for themselves. These pages are immutable after construction
1511         and may contain holes. This is a global cache (since SimpleFontDatas are cached globally) with the same
1512         lifetime as the GlyphPageTree used to have.
1513
1514         FontGlyphs instances cache resolved GlyphPages for the normal font variant. These are build by traversing
1515         the fallback list as necessary and collecting glyphs from SimpleFontDatas. As a common case case optimization
1516         the page from the primary font is cached directly as long as it has the requested glyphs.
1517         FontGlyphs are shared between sufficiently similar Font instances so this is a shared cache as well.
1518
1519         * CMakeLists.txt:
1520         * WebCore.exp.in:
1521         * WebCore.vcxproj/WebCore.vcxproj:
1522         * WebCore.xcodeproj/project.pbxproj:
1523         * platform/graphics/FontCache.h:
1524         (WebCore::FontDescriptionFontDataCacheKey::makeFlagKey):
1525
1526             nonCJKGlyphOrientation matters for glyph selection too and needs to be part of the FontDescription cache key.
1527
1528         * platform/graphics/FontData.h:
1529         (WebCore::FontData::FontData):
1530         (WebCore::FontData::setMaxGlyphPageTreeLevel): Deleted.
1531         (WebCore::FontData::maxGlyphPageTreeLevel): Deleted.
1532         * platform/graphics/FontFastPath.cpp:
1533         (WebCore::Font::primaryFontHasGlyphForCharacter):
1534         * platform/graphics/FontGlyphs.cpp:
1535         (WebCore::FontGlyphs::FontGlyphs):
1536         (WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic):
1537         (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
1538         (WebCore::FontGlyphs::glyphDataForSystemFallback):
1539         (WebCore::FontGlyphs::glyphDataForVariant):
1540         (WebCore::FontGlyphs::glyphDataForNormalCharacter):
1541
1542             Traverse the fallback list by using simple index instead of indirectly via GlyphPageTreeNode traversal.
1543
1544         (WebCore::pageFromFontData):
1545
1546             Fetch a page from the primary font and see if we can use it as-is.
1547             Vertical fonts have special glyph selection and can't use this path.
1548
1549         (WebCore::FontGlyphs::createFlattenedGlyphPage):
1550
1551             Build a hole-free glyph page by pulling characters from the fallback list.
1552
1553         (WebCore::FontGlyphs::glyphDataForCharacter):
1554         * platform/graphics/FontGlyphs.h:
1555         (WebCore::FontGlyphs::primarySimpleFontData):
1556         * platform/graphics/GlyphPage.h:
1557         (WebCore::GlyphPage::createForMixedFontData):
1558         (WebCore::GlyphPage::createCopyForMixedFontData):
1559
1560             Add copy version.
1561
1562         (WebCore::GlyphPage::createForSingleFontData):
1563
1564             Remove owner node field.
1565
1566         (WebCore::GlyphPage::~GlyphPage):
1567         (WebCore::GlyphPage::count):
1568         (WebCore::GlyphPage::GlyphPage):
1569         (WebCore::GlyphPage::createCopiedSystemFallbackPage): Deleted.
1570         (WebCore::GlyphPage::owner): Deleted.
1571         * platform/graphics/GlyphPageTreeNode.cpp: Removed.
1572         * platform/graphics/GlyphPageTreeNode.h: Removed.
1573         * platform/graphics/SegmentedFontData.cpp:
1574         (WebCore::SegmentedFontData::SegmentedFontData):
1575         (WebCore::SegmentedFontData::~SegmentedFontData):
1576         (WebCore::SegmentedFontData::simpleFontDataForCharacter):
1577
1578             Return null when there is no usable range so the client can tell the difference.
1579             Rename for clarity.
1580
1581         (WebCore::SegmentedFontData::simpleFontDataForFirstRange):
1582
1583             Add a way to get the fallback font separately. This is always available.
1584
1585         (WebCore::SegmentedFontData::isLoading):
1586         (WebCore::SegmentedFontData::fontDataForCharacter): Deleted.
1587         * platform/graphics/SegmentedFontData.h:
1588         (WebCore::SegmentedFontData::SegmentedFontData): Deleted.
1589         * platform/graphics/SimpleFontData.cpp:
1590         (WebCore::SimpleFontData::initCharWidths):
1591         (WebCore::SimpleFontData::platformGlyphInit):
1592         (WebCore::SimpleFontData::~SimpleFontData):
1593         (WebCore::SimpleFontData::simpleFontDataForCharacter):
1594         (WebCore::fillGlyphPage):
1595         (WebCore::createAndFillGlyphPage):
1596
1597             Move code for initializing glyph pages here. The code is from GlyphPageTreeNode.
1598
1599         (WebCore::SimpleFontData::glyphPage):
1600
1601             Cache glyphs for this font. These pages may have holes.
1602
1603         (WebCore::SimpleFontData::glyphForCharacter):
1604         (WebCore::SimpleFontData::glyphDataForCharacter):
1605         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
1606
1607             Since the cache is now owned by the SimpleFontData all the custom pruning can go away.
1608             The glyph page cache dies along with it owner.
1609
1610         (WebCore::SimpleFontData::fontDataForCharacter): Deleted.
1611         * platform/graphics/SimpleFontData.h:
1612         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1613         (-[WebCascadeList objectAtIndex:]):
1614         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
1615         * platform/graphics/mac/FontComplexTextMac.cpp:
1616         (WebCore::Font::fontDataForCombiningCharacterSequence):
1617         * platform/graphics/mac/GlyphPageMac.cpp: Copied from Source/WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp.
1618
1619             This was already misnamed.
1620
1621         (WebCore::GlyphPage::fill):
1622         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Removed.
1623         * platform/graphics/mac/SimpleFontDataMac.mm:
1624         (WebCore::SimpleFontData::platformInit):
1625         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1626         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1627         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1628         (WebCore::SimpleFontData::platformInit):
1629         * platform/mac/DragImageMac.mm:
1630
1631             Add missing FontCachePurgePreventer.
1632
1633         (WebCore::createDragImageForLink):
1634         * svg/SVGFontData.cpp:
1635         (WebCore::SVGFontData::initializeFontData):
1636         * svg/SVGFontElement.cpp:
1637
1638 2015-01-04  Anders Carlsson  <andersca@apple.com>
1639
1640         Remove an unused function
1641         https://bugs.webkit.org/show_bug.cgi?id=140055
1642
1643         Reviewed by Sam Weinig.
1644
1645         * Modules/webdatabase/DatabaseAuthorizer.cpp:
1646         (WebCore::DatabaseAuthorizer::setReadOnly): Deleted.
1647         * Modules/webdatabase/DatabaseAuthorizer.h:
1648         * Modules/webdatabase/DatabaseBackendBase.cpp:
1649         (WebCore::DatabaseBackendBase::setAuthorizerReadOnly): Deleted.
1650         * Modules/webdatabase/DatabaseBackendBase.h:
1651
1652 2015-01-04  Anders Carlsson  <andersca@apple.com>
1653
1654         Modernize parts of the database code
1655         https://bugs.webkit.org/show_bug.cgi?id=140054
1656
1657         Reviewed by Antti Koivisto.
1658
1659         * Modules/webdatabase/Database.cpp:
1660         (WebCore::Database::runTransaction):
1661         * Modules/webdatabase/Database.h:
1662         * Modules/webdatabase/SQLStatement.cpp:
1663         (WebCore::SQLStatement::SQLStatement):
1664         * Modules/webdatabase/SQLStatement.h:
1665         * Modules/webdatabase/SQLTransaction.cpp:
1666         (WebCore::SQLTransaction::create):
1667         (WebCore::SQLTransaction::SQLTransaction):
1668         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1669         (WebCore::SQLTransaction::executeSQL):
1670         * Modules/webdatabase/SQLTransaction.h:
1671         (WebCore::SQLTransaction::database):
1672
1673 2015-01-03  Chris Dumez  <cdumez@apple.com>
1674
1675         Move the CSS Grid properties to the new StyleBuilder
1676         https://bugs.webkit.org/show_bug.cgi?id=140051
1677
1678         Reviewed by Sam Weinig.
1679
1680         Move the CSS Grid properties from StyleResolver to the new
1681         StyleBuilder.
1682
1683         This patch adds support for "ConditionalConverter" parameter in
1684         CSSPropertyNames.in to support cases where we only want to call the
1685         property setter conditionally. The converter function is then expected
1686         to return a boolean to indicate if the setter should be called by the
1687         StyleBuilder or not.
1688
1689 2015-01-02  Chris Dumez  <cdumez@apple.com>
1690
1691         Kill the DeprecatedStyleBuilder
1692         https://bugs.webkit.org/show_bug.cgi?id=140034
1693
1694         Reviewed by Darin Adler.
1695
1696         Move FillLayer properties to the new StyleBuilder and get rid of the
1697         DeprecatedStyleBuilder now that all its CSS properties have been ported
1698         to the new StyleBuilder.
1699
1700 2015-01-02  Chris Dumez  <cdumez@apple.com>
1701
1702         Move 'font-size' CSS property to the new StyleBuilder
1703         https://bugs.webkit.org/show_bug.cgi?id=140010
1704
1705         Reviewed by Darin Adler.
1706
1707         Move 'font-size' CSS property to the new StyleBuilder by using custom
1708         code.
1709
1710 2015-01-02  Darin Adler  <darin@apple.com>
1711
1712         Pass Document instead of ScriptExecutionContext to non-worker constructors
1713         https://bugs.webkit.org/show_bug.cgi?id=140040
1714
1715         Reviewed by Sam Weinig.
1716
1717         * bindings/scripts/CodeGeneratorJS.pm:
1718         (GenerateConstructorDefinition):
1719         Generate code passing the document when ConstructorCallWith=Document is used.
1720         Later, we could base this on whether the constructor is exposed to workers
1721         or not, instead, but for now this seems a clean way to do it.
1722
1723         * bindings/scripts/IDLAttributes.txt: Allow ConstructorCallWith=Document.
1724
1725         * Modules/notifications/Notification.cpp:
1726         (WebCore::Notification::create):
1727         * Modules/notifications/Notification.h:
1728         * Modules/notifications/Notification.idl:
1729         * dom/Comment.cpp:
1730         * dom/Comment.h:
1731         * dom/Comment.idl:
1732         * dom/DocumentFragment.cpp:
1733         (WebCore::DocumentFragment::nodeName): Use ASCIILiteral (just something
1734         I noticed in passing).
1735         * dom/DocumentFragment.h:
1736         * dom/DocumentFragment.idl:
1737         * dom/Range.cpp:
1738         * dom/Range.h:
1739         * dom/Range.idl:
1740         * dom/Text.cpp:
1741         * dom/Text.h:
1742         * dom/Text.idl:
1743         Change from ScriptExecutionContext to Document, and remove unneeded
1744         overloads that were just casting. It's better to have the bindings
1745         layer, which knows these are not ScriptExecutionContext, do the cast
1746         than to have create functions that cast that are not in any position
1747         to know the cast is safe.
1748
1749 2015-01-02  Darin Adler  <darin@apple.com>
1750
1751         Re-land the HTMLTreeBuilder change with the assertion fixed.
1752         https://bugs.webkit.org/show_bug.cgi?id=140032
1753
1754         Reviewed by Andreas Kling.
1755
1756 2015-01-02  Commit Queue  <commit-queue@webkit.org>
1757
1758         Unreviewed, rolling out r177859 and r177861.
1759         https://bugs.webkit.org/show_bug.cgi?id=140042
1760
1761         Caused many assertion failures (Requested by ap on #webkit).
1762
1763         Reverted changesets:
1764
1765         "Modernize coding style of HTMLTreeBuilder"
1766         https://bugs.webkit.org/show_bug.cgi?id=140032
1767         http://trac.webkit.org/changeset/177859
1768
1769         "Tried to fix the iOS build."
1770         http://trac.webkit.org/changeset/177861
1771
1772 2015-01-02  Dan Bernstein  <mitz@apple.com>
1773
1774         Tried to fix the iOS build.
1775
1776         * html/parser/HTMLTreeBuilder.cpp:
1777
1778 2015-01-01  Darin Adler  <darin@apple.com>
1779
1780         Rework code that hides characters in password fields to streamline a little
1781         https://bugs.webkit.org/show_bug.cgi?id=140035
1782
1783         Reviewed by Sam Weinig.
1784
1785         * editing/InsertIntoTextNodeCommand.cpp:
1786         (WebCore::InsertIntoTextNodeCommand::doApply): Pass the offset after the character
1787         we want to reveal instead of the offset before. This is more future proof if we
1788         ever want to handling surrogate pairs or combining marks, rather than hard
1789         coding the likely incorrect rule of "go back by one code unit". Also got rid of
1790         the isSecure check here, since RenderText can do that check inside the
1791         momentarilyRevealLastTypedCharacter instead.
1792
1793         * rendering/RenderText.cpp: Tweaked the SecureTextTimer class: Marked it final
1794         and made it derive from TimerBase privately. Made the constructor explicit and
1795         made it take a reference rather than a pointer. Use initialization in the class
1796         to set up the variable, and use 0 as the special value instead of -1 since we
1797         now store the offset *after* the character to be revealed.
1798         (WebCore::secureTextTimers): Use this function and NeverDestroyed rather than
1799         a global variable gSecureTextTimers. Also use unique_ptr for the map so we
1800         don't have to delete explicitly any more.
1801         (WebCore::SecureTextTimer::SecureTextTimer): Moved out of the class definition
1802         so the class ia a little easier to read.
1803         (WebCore::SecureTextTimer::restart): Renamed since the function name doesn't
1804         have to describe its argument; the function is only called in one place.
1805         (WebCore::SecureTextTimer::takeOffsetAfterLastTypedCharacter): Changed name
1806         and made this a one-shot that always zeroes the offset.
1807         (WebCore::SecureTextTimer::fired): Moved out of line and tweaked as above.
1808         (WebCore::RenderText::willBeDestroyed): Simplified now that the function
1809         secureTextTimers() always returns a map and we can just remove since the
1810         values in the map are unique_ptr, so take care of deletion.
1811         (WebCore::RenderText::setRenderedText): Tweaked the code that calls secureText
1812         to make the iOS case clearer.
1813         (WebCore::RenderText::secureText): Rewrote the function. New version no
1814         longer relies on a special String::fill function; it's kind of strange that
1815         String had a built in concept of replacing a string with one that has the
1816         same length but all with a masking character. This new approach is cleaner.
1817         I had written a version that handles surrogate pairs and combining marks,
1818         but then instead wrote a comment explaining why that's not needed/helpful.
1819         (WebCore::RenderText::momentarilyRevealLastTypedCharacter): Added a check so
1820         this does nothing if we are not securing the text. Also updated logic so that
1821         this doesn't double hash any more and updated for other changes like using
1822         a reference instead of a pointer.
1823
1824         * rendering/RenderText.h: Removed the unneeded isSecure function and updated
1825         the argument name in momentarilyRevealLastTypedCharacter since it's now the
1826         offset after the character, not before the character.
1827
1828 2015-01-01  Darin Adler  <darin@apple.com>
1829
1830         Modernize coding style of HTMLTreeBuilder
1831         https://bugs.webkit.org/show_bug.cgi?id=140032
1832
1833         Reviewed by Andreas Kling.
1834
1835         Changes include:
1836         - Use references rather than pointers.
1837         - Mark data members const that are fully set up in the constructor.
1838         - Remove many unneeded includes and forward declarations.
1839         - Fix conditionals to be consistent and correct.
1840         - Merge some multi-line constructs into a single line.
1841         - Update whatwg.org URLs; not sure we should keep these, though.
1842         - Cut down on use of WTF_MAKE_NONCOPYABLE since for many classes it's
1843           impossible to copy anyway due to references, or harmless to copy.
1844         - Made more things private.
1845         - Initialize scalars in the class definition rather than each constructor.
1846         - Use Ref/RefPtr instead of PassRefPtr.
1847
1848         * html/parser/HTMLDocumentParser.cpp:
1849         (WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass reference rather than pointer to
1850         the context element.
1851         (WebCore::HTMLDocumentParser::detach): Removed call to HTMLTreeBuilder::detach. This work
1852         is instead done when the tree builder is destroyed.
1853         (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Pass reference rather than pointer.
1854
1855         * html/parser/HTMLTreeBuilder.cpp:
1856         (WebCore::uninitializedPositionValue1): Marked this inline because it's trivial. It was
1857         probably getting inlined already.
1858         (WebCore::isCaptionColOrColgroupTag): Format on a single line.
1859         (WebCore::isTableBodyContextTag): Ditto.
1860         (WebCore::isNonAnchorFormattingTag): Ditto.
1861         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
1862         Take reference instead of pointer.
1863         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Use makeString helper.
1864         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading): Tweak formatting.
1865         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading): Both of the above.
1866         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::makeString): Added.
1867         (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Moved the body of this function here,
1868         since it's only used inside the class.
1869         (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Ditto.
1870         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Get rid of dead code that handles a null context
1871         element. The FIXME mentions a bug that is obsolete. Also reorder the data members to be a bit
1872         more logical and set the new m_destructionProhibited to false at the end of the constructor,
1873         to check if we accidentally destroy the tree builder while constructing it.
1874         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Updated to take
1875         a reference and to let m_fragment get initialized in the class definition.
1876         (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment): Moved this here since it's only
1877         used inside the class.
1878         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto.
1879         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Ditto.
1880         (WebCore::HTMLTreeBuilder::takeScriptToProcess): Changed return type to RefPtr instead of
1881         PassRefPtr. Added code to handle m_scriptToProcess of null, since reading the code at the
1882         single call site makes it clear that it's not guaranteed to be non-null! Added destruction-
1883         related assertions since this is a public function.
1884         (WebCore::HTMLTreeBuilder::constructTree): Updated for reference rather than pointer. Also
1885         added destruction-related assertions since this is a public function.
1886         (WebCore::HTMLTreeBuilder::processToken): Updated to take a reference.
1887         (WebCore::HTMLTreeBuilder::processDoctypeToken): Ditto.
1888         (WebCore::HTMLTreeBuilder::processFakeStartTag): Ditto. Also take an rvalue reference for
1889         the vector of attributes that we will put into the token.
1890         (WebCore::HTMLTreeBuilder::processFakeEndTag): Ditto.
1891         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto.
1892         (WebCore::HTMLTreeBuilder::attributesForIsindexInput): Ditto.
1893         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto.
1894         (WebCore::isLi): Ditto.
1895         (WebCore::isDdOrDt): Ditto.
1896         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Changed loop to use reference
1897         rather than pointer for never-null stackItem. Also use auto and a for loop to make the
1898         loop easier to read.
1899         (WebCore::createCaseMap): Tweaked formatting.
1900         (WebCore::adjustAttributes): Ditto.
1901         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Use reference instead of pointer.
1902         Set insertion mode directly instead of using a setInsertionMode function.
1903         (WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto.
1904         (WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto.
1905         (WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents): Ditto.
1906         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto.
1907         (WebCore::HTMLTreeBuilder::closeTheCell): Ditto.
1908         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
1909         (WebCore::HTMLTreeBuilder::processStartTag): Ditto. Tweaked assertions, so that we
1910         assert what state we are in before we fall through to each case, rather than asserting
1911         inside each case. The per-case assertions were sort of excessive and repetitive and
1912         even a bit hard to understand.
1913         (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto.
1914         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto.
1915         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto.
1916         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto.
1917         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto.
1918         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto.
1919         (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
1920         (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
1921         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
1922         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto.
1923         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto.
1924         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto.
1925         (WebCore::HTMLTreeBuilder::processEndTagForInTable): Ditto.
1926         (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
1927         (WebCore::HTMLTreeBuilder::processComment): Ditto.
1928         (WebCore::HTMLTreeBuilder::processCharacter): Ditto.
1929         (WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Ditto.
1930         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
1931         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Ditto.
1932         (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
1933         (WebCore::HTMLTreeBuilder::defaultForInitial): Ditto.
1934         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML): Ditto.
1935         (WebCore::HTMLTreeBuilder::defaultForBeforeHead): Ditto.
1936         (WebCore::HTMLTreeBuilder::defaultForInHead): Ditto.
1937         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript): Ditto.
1938         (WebCore::HTMLTreeBuilder::defaultForAfterHead): Ditto.
1939         (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
1940         (WebCore::HTMLTreeBuilder::processStartTagForInHead): Ditto.
1941         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
1942         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
1943         (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.
1944         (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Made this return a reference.
1945         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): More of the same.
1946         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.
1947         (WebCore::HTMLTreeBuilder::finished): Changed m_isAttached assertion to !m_destroyed.
1948         Also updated the comment.
1949         (WebCore::HTMLTreeBuilder::parseError): Marked this empty function inline.
1950
1951         * html/parser/HTMLTreeBuilder.h: Removed most includes and forward declarations.
1952         Changed the phone number functions conditional to be correct. Removed a non-helpful
1953         FIXME about assertions we really don't need. Removed unneeded use of the inline keyword,
1954         changed types to references rather than pointer. Removed unneeded public insertionMode
1955         and setInsertionMode functions. Both are things that are only done inside this class and
1956         m_insertionMode can be accessed directly instead. Added a destructor that implements
1957         the destruction assertions. Asserted !m_destroyed at the start of all the public functions.
1958
1959         * html/parser/TextDocumentParser.cpp:
1960         (WebCore::TextDocumentParser::insertFakePreElement): Use reference rather than pointer.
1961
1962 2015-01-02  Manuel Rego Casasnovas  <rego@igalia.com>
1963
1964         [CSS Grid Layout] Remove stack from grid-auto-flow syntax
1965         https://bugs.webkit.org/show_bug.cgi?id=134842
1966
1967         Reviewed by Sergio Villar Senin.
1968
1969         "stack" mode for grid-auto-flow property has been removed from the grid
1970         layout spec. New syntax is:
1971           [ row | column ] || dense
1972
1973         Modified parsing in order to adapt it to the new syntax.
1974
1975         Also the current behavior relying on "stack" has been updated following
1976         the spec. Now it won't be possible to mimic the old "none" (or "stack")
1977         unless you specify manually the grid-placement properties.
1978
1979         No new tests needed, updated current tests to adapt them to the new
1980         behavior.
1981
1982         * css/CSSComputedStyleDeclaration.cpp:
1983         (WebCore::ComputedStyleExtractor::propertyValue): Adapt to new syntax.
1984         * css/CSSParser.cpp:
1985         (WebCore::isValidGridAutoFlowId): Remove "stack" from valid ids.
1986         (WebCore::CSSParser::parseGridAutoFlow): Adapt to new syntax.
1987         * css/CSSValueKeywords.in: Remove "stack".
1988         * css/StyleResolver.cpp:
1989         (WebCore::StyleResolver::applyProperty): Adapt to new syntax.
1990         * rendering/RenderGrid.cpp:
1991         (WebCore::RenderGrid::placeItemsOnGrid): Remove old "stack" code.
1992         * rendering/style/GridResolvedPosition.cpp:
1993         (WebCore::GridResolvedPosition::resolveGridPositionsFromStyle): If we
1994         cannot resolve positions, we have to run the auto-placement algorithm.
1995         * rendering/style/RenderStyle.h: Remove "stack".
1996         * rendering/style/RenderStyleConstants.h: Ditto.
1997
1998 2015-01-01  Sam Weinig  <sam@webkit.org>
1999
2000         Remove GroupSettings
2001         https://bugs.webkit.org/show_bug.cgi?id=140037
2002
2003         Reviewed by Dan Bernstein.
2004
2005         Nothing sets the values in GroupSettings and nothing uses them.
2006         - The indexedDBDatabasePath is accessed and sent to the IndexedDB backend,
2007           but the backend then proceeds to not use it.
2008
2009         * CMakeLists.txt:
2010         * Modules/indexeddb/IDBFactory.cpp:
2011         (WebCore::IDBFactory::getDatabaseNames):
2012         (WebCore::IDBFactory::deleteDatabase):
2013         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
2014         (WebCore::IDBFactoryBackendInterface::create):
2015         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2016         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
2017         (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
2018         (WebCore::PageGroupIndexedDatabase::from):
2019         (WebCore::PageGroupIndexedDatabase::factoryBackend):
2020         * Modules/indexeddb/PageGroupIndexedDatabase.h:
2021         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
2022         (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
2023         (WebCore::WorkerGlobalScopeIndexedDatabase::from):
2024         (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
2025         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
2026         * WebCore.exp.in:
2027         * WebCore.vcxproj/WebCore.vcxproj:
2028         * WebCore.vcxproj/WebCore.vcxproj.filters:
2029         * WebCore.xcodeproj/project.pbxproj:
2030         * dom/DocumentStyleSheetCollection.cpp:
2031         * page/CaptionUserPreferences.cpp:
2032         * page/Frame.cpp:
2033         * page/GroupSettings.cpp: Removed.
2034         * page/GroupSettings.h: Removed.
2035         * page/PageGroup.cpp:
2036         (WebCore::PageGroup::PageGroup):
2037         * page/PageGroup.h:
2038         (WebCore::PageGroup::groupSettings): Deleted.
2039         * platform/DatabaseStrategy.cpp:
2040         (WebCore::DatabaseStrategy::createIDBFactoryBackend):
2041         * platform/DatabaseStrategy.h:
2042         * workers/DedicatedWorkerGlobalScope.cpp:
2043         (WebCore::DedicatedWorkerGlobalScope::create):
2044         (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
2045         * workers/DedicatedWorkerGlobalScope.h:
2046         * workers/DedicatedWorkerThread.cpp:
2047         (WebCore::DedicatedWorkerThread::create):
2048         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
2049         (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
2050         * workers/DedicatedWorkerThread.h:
2051         * workers/DefaultSharedWorkerRepository.cpp:
2052         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
2053         (WebCore::SharedWorkerProxy::groupSettings): Deleted.
2054         * workers/SharedWorkerGlobalScope.cpp:
2055         (WebCore::SharedWorkerGlobalScope::create):
2056         (WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
2057         * workers/SharedWorkerGlobalScope.h:
2058         * workers/SharedWorkerThread.cpp:
2059         (WebCore::SharedWorkerThread::create):
2060         (WebCore::SharedWorkerThread::SharedWorkerThread):
2061         (WebCore::SharedWorkerThread::createWorkerGlobalScope):
2062         * workers/SharedWorkerThread.h:
2063         * workers/WorkerGlobalScope.cpp:
2064         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
2065         * workers/WorkerGlobalScope.h:
2066         (WebCore::WorkerGlobalScope::groupSettings): Deleted.
2067         * workers/WorkerMessagingProxy.cpp:
2068         (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
2069         * workers/WorkerThread.cpp:
2070         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2071         (WebCore::WorkerThread::WorkerThread):
2072         (WebCore::WorkerThread::workerThread):
2073         * workers/WorkerThread.h:
2074
2075 2015-01-01  Dan Bernstein  <mitz@apple.com>
2076
2077         Tried to fix the iOS build.
2078
2079         * page/scrolling/ios/ScrollingTreeIOS.cpp:
2080         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
2081
2082 2015-01-01  Darin Adler  <darin@apple.com>
2083
2084         Fix itearator typo
2085         https://bugs.webkit.org/show_bug.cgi?id=140027
2086
2087         Reviewed by Csaba Osztrogonác.
2088
2089         * rendering/SimpleLineLayoutFlowContents.cpp:
2090         (WebCore::SimpleLineLayout::nextBreakablePosition): Spelling mistake.
2091
2092 2015-01-01  Alexey Proskuryakov  <ap@apple.com>
2093
2094         Don't dereference end() in SimpleLineLayout::RunResolver::rangeForRenderer
2095         https://bugs.webkit.org/show_bug.cgi?id=139951
2096         rdar://problem/19339881
2097
2098         Reviewed by Darin Adler.
2099
2100         * rendering/SimpleLineLayoutResolver.cpp:
2101         (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
2102
2103 2015-01-01  Chris Dumez  <cdumez@apple.com>
2104
2105         ASSERT that a null key is never used with FeatureCounter
2106         https://bugs.webkit.org/show_bug.cgi?id=140030
2107
2108         Reviewed by Darin Adler.
2109
2110         * platform/FeatureCounter.cpp:
2111         (WebCore::FeatureCounter::incrementKey):
2112         (WebCore::FeatureCounter::setKey):
2113         * platform/ios/FeatureCounter.mm:
2114         (WebCore::FeatureCounter::incrementKey):
2115         (WebCore::FeatureCounter::setKey):
2116
2117 2015-01-01  Chris Dumez  <cdumez@apple.com>
2118
2119         [iOS] Fix memory leak in FeatureCounter
2120         https://bugs.webkit.org/show_bug.cgi?id=140029
2121         <rdar://problem/19255690>
2122
2123         Reviewed by Darin Adler.
2124
2125         Fix memory leak in FeatureCounter. The NSString for the counter key
2126         was allocated but never released. The patch switches to using a
2127         RetainPtr instead of a raw pointer to avoid the issue.
2128
2129         * platform/ios/FeatureCounter.mm:
2130         (WebCore::FeatureCounter::incrementKey):
2131         (WebCore::FeatureCounter::setKey):
2132
2133 2015-01-01  Jeff Miller  <jeffm@apple.com>
2134
2135         Update user-visible copyright strings to include 2015
2136         https://bugs.webkit.org/show_bug.cgi?id=139880
2137
2138         Reviewed by Darin Adler.
2139
2140         * Info.plist:
2141
2142 2014-12-31  Sam Weinig  <sam@webkit.org>
2143
2144         Move scrolling code off of WTF::bind
2145         https://bugs.webkit.org/show_bug.cgi?id=140019
2146
2147         Reviewed by Darin Adler.
2148
2149         * page/scrolling/ThreadedScrollingTree.cpp:
2150         (WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):
2151         (WebCore::ThreadedScrollingTree::invalidate):
2152         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
2153         (WebCore::ThreadedScrollingTree::handleWheelEventPhase):
2154         (WebCore::derefScrollingCoordinator): Deleted.
2155         * page/scrolling/ios/ScrollingTreeIOS.cpp:
2156         (WebCore::ScrollingTreeIOS::invalidate):
2157         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
2158         (WebCore::derefScrollingCoordinator): Deleted.
2159         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2160         (WebCore::ScrollingCoordinatorMac::pageDestroyed):
2161         (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
2162         * platform/MemoryPressureHandler.cpp:
2163         (WebCore::MemoryPressureHandler::releaseMemory):
2164         * workers/WorkerThread.cpp:
2165         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
2166
2167 2015-01-01  Antti Koivisto  <antti@apple.com>
2168
2169         Remove FontData::containsCharacters
2170         https://bugs.webkit.org/show_bug.cgi?id=140026
2171
2172         Reviewed by Dan Bernstein.
2173
2174         This virtual function has no clients.
2175
2176         * platform/graphics/FontData.h:
2177         * platform/graphics/SegmentedFontData.cpp:
2178         (WebCore::SegmentedFontData::containsCharacter): Deleted.
2179         (WebCore::SegmentedFontData::containsCharacters): Deleted.
2180         * platform/graphics/SegmentedFontData.h:
2181         * platform/graphics/SimpleFontData.h:
2182         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2183         (WebCore::SimpleFontData::containsCharacters): Deleted.
2184         * platform/graphics/ios/SimpleFontDataIOS.mm:
2185         (WebCore::SimpleFontData::containsCharacters): Deleted.
2186         * platform/graphics/mac/SimpleFontDataMac.mm:
2187         (WebCore::SimpleFontData::containsCharacters): Deleted.
2188         * platform/graphics/win/SimpleFontDataWin.cpp:
2189         (WebCore::SimpleFontData::containsCharacters): Deleted.
2190
2191 2015-01-01  Darin Adler  <darin@apple.com>
2192
2193         We often misspell identifier as "identifer"
2194         https://bugs.webkit.org/show_bug.cgi?id=140025
2195
2196         Reviewed by Michael Saboff.
2197
2198         * html/MediaFragmentURIParser.cpp:
2199         (WebCore::MediaFragmentURIParser::parseNPTFragment):
2200         * html/parser/AtomicHTMLToken.h:
2201         * html/parser/HTMLToken.h:
2202         * html/shadow/SliderThumbElement.h:
2203         * platform/graphics/ISOVTTCue.cpp:
2204         (WebCore::ISOWebVTTCue::ISOWebVTTCue):
2205         * platform/graphics/ISOVTTCue.h:
2206         (WebCore::ISOWebVTTCue::id):
2207         Fix mispellings.
2208
2209 2015-01-01  Zalan Bujtas  <zalan@apple.com>
2210
2211         Saturated arithmetics: Incorrect float/double clamping.
2212         https://bugs.webkit.org/show_bug.cgi?id=139888
2213         rdar://problem/19330885
2214
2215         Reviewed by Simon Fraser.
2216
2217         Clamp float and double values correctly when applying saturated arithmetics.
2218
2219         Test: LayoutUnit test for float overflow.
2220
2221         * platform/LayoutUnit.h:
2222         (WebCore::LayoutUnit::LayoutUnit):
2223
2224 2014-12-31  Dan Bernstein  <mitz@apple.com>
2225
2226         Fixed the iOS build.
2227
2228         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
2229         (WebCore::ScrollingCoordinatorIOS::commitTreeState):
2230
2231 2014-12-31  Csaba Osztrogonác  <ossy@webkit.org>
2232
2233         URTBF after r177835.
2234
2235         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
2236         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2237         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
2238
2239 2014-12-31  Commit Queue  <commit-queue@webkit.org>
2240
2241         Unreviewed, rolling out r176476.
2242         https://bugs.webkit.org/show_bug.cgi?id=140021
2243
2244         Sadly, this didn't reduce media test crashiness (Requested by
2245         ap on #webkit).
2246
2247         Reverted changeset:
2248
2249         "[Mac] Random crashes inside media libraries when creating
2250         then destroying media quickly."
2251         https://bugs.webkit.org/show_bug.cgi?id=138980
2252         http://trac.webkit.org/changeset/176476
2253
2254 2014-12-31  Sam Weinig  <sam@webkit.org>
2255
2256         Remove the remaining uses of OwnPtr from WebKit2
2257         https://bugs.webkit.org/show_bug.cgi?id=140017
2258
2259         Reviewed by Dan Bernstein.
2260
2261         * WebCore.exp.in:
2262         * page/scrolling/AsyncScrollingCoordinator.cpp:
2263         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
2264         * page/scrolling/AsyncScrollingCoordinator.h:
2265         * page/scrolling/ScrollingStateTree.cpp:
2266         (WebCore::ScrollingStateTree::commit):
2267         (WebCore::ScrollingStateTree::create): Deleted.
2268         * page/scrolling/ScrollingStateTree.h:
2269         * page/scrolling/ScrollingTree.cpp:
2270         (WebCore::ScrollingTree::commitNewTreeState):
2271         * page/scrolling/ScrollingTree.h:
2272         * page/scrolling/ThreadedScrollingTree.cpp:
2273         (WebCore::ThreadedScrollingTree::commitNewTreeState):
2274         * page/scrolling/ThreadedScrollingTree.h:
2275         * page/scrolling/ios/ScrollingTreeIOS.cpp:
2276         (WebCore::ScrollingTreeIOS::commitNewTreeState):
2277         * page/scrolling/ios/ScrollingTreeIOS.h:
2278         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2279         (WebCore::ScrollingCoordinatorMac::commitTreeState):
2280
2281 2014-12-31  Dan Bernstein  <mitz@apple.com>
2282
2283         Don’t use AccessibilityAllInOne when building with Xcode
2284         https://bugs.webkit.org/show_bug.cgi?id=139974
2285
2286         Reviewed by Darin Adler.
2287
2288         * WebCore.xcodeproj/project.pbxproj: Added all files included by AccessibilityAllInOne.cpp
2289         to the WebCore target, and removed AccessibilityAllInOne.cpp from the project.
2290
2291 2014-12-30  Chris Dumez  <cdumez@apple.com>
2292
2293         Move font-related CSS properties to the new StyleBuilder
2294         https://bugs.webkit.org/show_bug.cgi?id=140008
2295
2296         Reviewed by Darin Adler.
2297
2298         Move font-related CSS properties to the new StyleBuilder
2299         by teaching makeprop.pl how to generate them.
2300
2301         * css/CSSPropertyNames.in:
2302         * css/DeprecatedStyleBuilder.cpp:
2303         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2304         (WebCore::ApplyPropertyFont::applyInheritValue): Deleted.
2305         (WebCore::ApplyPropertyFont::applyInitialValue): Deleted.
2306         (WebCore::ApplyPropertyFont::applyValue): Deleted.
2307         (WebCore::ApplyPropertyFont::createHandler): Deleted.
2308         * css/makeprop.pl:
2309         (generateInitialValueSetter):
2310         (generateInheritValueSetter):
2311         (generateValueSetter):
2312         * platform/graphics/FontDescription.h:
2313         (WebCore::FontDescription::initialItalic):
2314         (WebCore::FontDescription::initialSmallCaps):
2315         (WebCore::FontDescription::initialKerning):
2316         (WebCore::FontDescription::initialFontSmoothing):
2317         (WebCore::FontDescription::initialTextRenderingMode):
2318
2319 2014-12-30  Chris Dumez  <cdumez@apple.com>
2320
2321         Move '-webkit-font-variant-ligature' CSS property to the new StyleBuilder
2322         https://bugs.webkit.org/show_bug.cgi?id=140007
2323
2324         Reviewed by Darin Adler.
2325
2326         Move '-webkit-font-variant-ligature' CSS property to the new StyleBuilder
2327         by using custom code.
2328
2329         * css/CSSPropertyNames.in:
2330         * css/DeprecatedStyleBuilder.cpp:
2331         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2332         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Deleted.
2333         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Deleted.
2334         (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Deleted.
2335         (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Deleted.
2336         * css/StyleBuilderCustom.h:
2337         (WebCore::StyleBuilderCustom::applyInitialWebkitFontVariantLigatures):
2338         (WebCore::StyleBuilderCustom::applyInheritWebkitFontVariantLigatures):
2339         (WebCore::StyleBuilderCustom::applyValueWebkitFontVariantLigatures):
2340
2341 2014-12-29  Chris Dumez  <cdumez@apple.com>
2342
2343         Move animation / transition CSS properties to the new StyleBuilder
2344         https://bugs.webkit.org/show_bug.cgi?id=139999
2345
2346         Reviewed by Darin Adler.
2347
2348         Move animation / transition CSS properties to the new StyleBuilder by
2349         teaching makeprop.pl how to generate them.
2350
2351 2014-12-29  Anders Carlsson  <andersca@apple.com>
2352
2353         Remove more dead code
2354         https://bugs.webkit.org/show_bug.cgi?id=139998
2355
2356         Reviewed by Oliver Hunt.
2357
2358         * page/PageGroup.cpp:
2359         (WebCore::PageGroup::localStorage): Deleted.
2360         (WebCore::PageGroup::transientLocalStorage): Deleted.
2361         * page/PageGroup.h:
2362         (WebCore::PageGroup::hasLocalStorage): Deleted.
2363
2364 2014-12-29  Anders Carlsson  <andersca@apple.com>
2365
2366         Remove unneeded StorageNamespace functions
2367         https://bugs.webkit.org/show_bug.cgi?id=139997
2368
2369         Reviewed by Sam Weinig.
2370
2371         * loader/EmptyClients.cpp:
2372         * storage/StorageNamespace.h:
2373         (WebCore::StorageNamespace::closeIdleLocalStorageDatabases): Deleted.
2374
2375 2014-12-29  Anders Carlsson  <andersca@apple.com>
2376
2377         Get rid of some PageGroup storage functions
2378         https://bugs.webkit.org/show_bug.cgi?id=139996
2379
2380         Reviewed by Sam Weinig.
2381
2382         * WebCore.exp.in:
2383         * page/PageGroup.cpp:
2384         (WebCore::PageGroup::closeLocalStorage): Deleted.
2385         (WebCore::PageGroup::clearLocalStorageForAllOrigins): Deleted.
2386         (WebCore::PageGroup::clearLocalStorageForOrigin): Deleted.
2387         (WebCore::PageGroup::closeIdleLocalStorageDatabases): Deleted.
2388         (WebCore::PageGroup::syncLocalStorage): Deleted.
2389         * page/PageGroup.h:
2390
2391 2014-12-29  Anders Carlsson  <andersca@apple.com>
2392
2393         Move storage code from WebCore to WebKit
2394         https://bugs.webkit.org/show_bug.cgi?id=139558
2395
2396         Reviewed by Darin Adler.
2397
2398         * WebCore.exp.in:
2399         * WebCore.vcxproj/WebCore.vcxproj:
2400         * WebCore.vcxproj/WebCore.vcxproj.filters:
2401         * WebCore.xcodeproj/project.pbxproj:
2402         * platform/MemoryPressureHandler.cpp:
2403
2404 2014-12-29  Sebastian Dröge  <sebastian@centricular.com>
2405
2406         [GStreamer] Rewrite MediaSource implementation
2407         https://bugs.webkit.org/show_bug.cgi?id=139441
2408
2409         Reviewed by Philippe Normand.
2410
2411         This now is a clean reimplementation around appsrc that works good
2412         enough for YouTube (except for seeking), but it still does not
2413         implement the complete API correctly. Further work is required on
2414         top of this and the Bugzilla ticket linked above contains some
2415         further work in the right direction.
2416
2417         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2418         (WebCore::MediaPlayerPrivateGStreamer::doSeek):
2419         (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):
2420         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
2421         (WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData):
2422         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2423         (WebCore::MediaPlayerPrivateGStreamer::totalVideoFrames):
2424         (WebCore::MediaPlayerPrivateGStreamer::droppedVideoFrames):
2425         (WebCore::MediaPlayerPrivateGStreamer::corruptedVideoFrames):
2426         (WebCore::MediaPlayerPrivateGStreamer::totalFrameDelay):
2427         (WebCore::MediaPlayerPrivateGStreamer::isMediaSource):
2428         * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
2429         (WebCore::MediaSourceGStreamer::MediaSourceGStreamer):
2430         (WebCore::MediaSourceGStreamer::addSourceBuffer):
2431         (WebCore::MediaSourceGStreamer::durationChanged):
2432         (WebCore::MediaSourceGStreamer::markEndOfStream):
2433         (WebCore::MediaSourceGStreamer::unmarkEndOfStream):
2434         (WebCore::MediaSourceGStreamer::readyState):
2435         (WebCore::MediaSourceGStreamer::setReadyState):
2436         (WebCore::MediaSourceGStreamer::waitForSeekCompleted):
2437         (WebCore::MediaSourceGStreamer::seekCompleted):
2438         * platform/graphics/gstreamer/MediaSourceGStreamer.h:
2439         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:
2440         (WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
2441         (WebCore::SourceBufferPrivateGStreamer::~SourceBufferPrivateGStreamer):
2442         (WebCore::SourceBufferPrivateGStreamer::setClient):
2443         (WebCore::SourceBufferPrivateGStreamer::append):
2444         (WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):
2445         (WebCore::SourceBufferPrivateGStreamer::readyState):
2446         (WebCore::SourceBufferPrivateGStreamer::setReadyState):
2447         (WebCore::SourceBufferPrivateGStreamer::flushAndEnqueueNonDisplayingSamples):
2448         (WebCore::SourceBufferPrivateGStreamer::enqueueSample):
2449         (WebCore::SourceBufferPrivateGStreamer::isReadyForMoreSamples):
2450         (WebCore::SourceBufferPrivateGStreamer::setActive):
2451         (WebCore::SourceBufferPrivateGStreamer::stopAskingForMoreSamples):
2452         (WebCore::SourceBufferPrivateGStreamer::notifyClientWhenReadyForMoreSamples):
2453         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
2454         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2455         (webkit_media_src_class_init):
2456         (webkit_media_src_init):
2457         (webKitMediaSrcFinalize):
2458         (webKitMediaSrcSetProperty):
2459         (webKitMediaSrcGetProperty):
2460         (webKitMediaSrcDoAsyncStart):
2461         (webKitMediaSrcDoAsyncDone):
2462         (webKitMediaSrcChangeState):
2463         (webKitMediaSrcQueryWithParent):
2464         (webKitMediaSrcGetUri):
2465         (webKitMediaSrcSetUri):
2466         (WebCore::MediaSourceClientGStreamer::MediaSourceClientGStreamer):
2467         (WebCore::MediaSourceClientGStreamer::~MediaSourceClientGStreamer):
2468         (WebCore::MediaSourceClientGStreamer::addSourceBuffer):
2469         (WebCore::MediaSourceClientGStreamer::durationChanged):
2470         (WebCore::MediaSourceClientGStreamer::append):
2471         (WebCore::MediaSourceClientGStreamer::markEndOfStream):
2472         (WebCore::MediaSourceClientGStreamer::removedFromMediaSource):
2473         (WTF::adoptGRef):
2474         (WTF::refGPtr<WebKitMediaSrc>):
2475         (WTF::derefGPtr<WebKitMediaSrc>):
2476         (webKitMediaSrcAddSrc): Deleted.
2477         (webKitMediaVideoSrcStop): Deleted.
2478         (webKitMediaAudioSrcStop): Deleted.
2479         (webKitMediaVideoSrcStart): Deleted.
2480         (webKitMediaAudioSrcStart): Deleted.
2481         (webKitMediaVideoSrcNeedDataMainCb): Deleted.
2482         (webKitMediaAudioSrcNeedDataMainCb): Deleted.
2483         (webKitMediaVideoSrcNeedDataCb): Deleted.
2484         (webKitMediaAudioSrcNeedDataCb): Deleted.
2485         (webKitMediaVideoSrcEnoughDataMainCb): Deleted.
2486         (webKitMediaAudioSrcEnoughDataMainCb): Deleted.
2487         (webKitMediaVideoSrcEnoughDataCb): Deleted.
2488         (webKitMediaAudioSrcEnoughDataCb): Deleted.
2489         (webKitMediaVideoSrcSeekMainCb): Deleted.
2490         (webKitMediaAudioSrcSeekMainCb): Deleted.
2491         (webKitMediaVideoSrcSeekDataCb): Deleted.
2492         (webKitMediaAudioSrcSeekDataCb): Deleted.
2493         (webKitMediaSrcSetMediaPlayer): Deleted.
2494         (webKitMediaSrcSetPlayBin): Deleted.
2495         (MediaSourceClientGstreamer::MediaSourceClientGstreamer): Deleted.
2496         (MediaSourceClientGstreamer::~MediaSourceClientGstreamer): Deleted.
2497         (MediaSourceClientGstreamer::didReceiveDuration): Deleted.
2498         (MediaSourceClientGstreamer::didReceiveData): Deleted.
2499         (MediaSourceClientGstreamer::didFinishLoading): Deleted.
2500         (MediaSourceClientGstreamer::didFail): Deleted.
2501         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h:
2502         Rewrite MediaSource implementation for GStreamer. The old code was
2503         overly complicated and did not work at all for anything I've tested
2504         it with.
2505
2506 2014-12-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2507
2508         Unreviewed, additional build fix on win port since r177786.
2509
2510         * platform/graphics/opengl/Extensions3DOpenGLES.h: Change a constructor from *protected* to *public*.
2511
2512 2014-12-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2513
2514         Unreviewed, speculative build fix on win port since r177786.
2515
2516         Apply std::unique_ptr<> and std::make_unique<> to win files as well.
2517
2518         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2519         (WebCore::GraphicsContext3D::getExtensions):
2520         * platform/graphics/win/GraphicsContextWin.cpp:
2521         (WebCore::GraphicsContext::createWindowsBitmap):
2522
2523 2014-12-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2524
2525         Convert OwnPtr to std::unique_ptr in WebCore/graphics/
2526         https://bugs.webkit.org/show_bug.cgi?id=139971
2527
2528         Reviewed by Darin Adler.
2529
2530         Use std::unique_ptr<> and std::make_unique<> instead of OwnPtr.
2531
2532         * platform/graphics/GlyphMetricsMap.h:
2533         (WebCore::GlyphMetricsMap<T>::locatePageSlowCase):
2534         * platform/graphics/GlyphPageTreeNode.cpp:
2535         (WebCore::GlyphPageTreeNode::getChild):
2536         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
2537         (WebCore::GlyphPageTreeNode::pruneFontData):
2538         * platform/graphics/GlyphPageTreeNode.h:
2539         * platform/graphics/GraphicsContext.h:
2540         * platform/graphics/GraphicsContext3D.h:
2541         * platform/graphics/GraphicsContext3DPrivate.h:
2542         * platform/graphics/GraphicsLayer.h:
2543         * platform/graphics/MaskImageOperation.h:
2544         * platform/graphics/ca/LayerPool.h:
2545         * platform/graphics/ca/TileController.h:
2546         * platform/graphics/ca/TileCoverageMap.h:
2547         * platform/graphics/ca/mac/WebTiledBackingLayer.h:
2548         * platform/graphics/gpu/DrawingBuffer.h:
2549         * platform/graphics/gpu/Texture.cpp:
2550         (WebCore::Texture::Texture):
2551         (WebCore::Texture::create):
2552         * platform/graphics/gpu/Texture.h:
2553         * platform/graphics/opengl/Extensions3DOpenGL.h:
2554         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2555         (WebCore::GraphicsContext3D::getExtensions):
2556         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2557         (WebCore::GraphicsContext3D::compileShader):
2558         (WebCore::GraphicsContext3D::mappedSymbolName):
2559         * platform/graphics/wayland/WaylandDisplay.cpp:
2560         (WebCore::WaylandDisplay::createSharingGLContext):
2561         * platform/graphics/wayland/WaylandDisplay.h:
2562         * platform/graphics/wayland/WaylandSurface.cpp:
2563         (WebCore::WaylandSurface::createGLContext):
2564         * platform/graphics/wayland/WaylandSurface.h:
2565
2566 2014-12-28  Dan Bernstein  <mitz@apple.com>
2567
2568         iOS build fix.
2569
2570         Reverted r177781, because it appears to trigger <http://webkit.org/b/139609> on iOS.
2571
2572         * WebCore.xcodeproj/project.pbxproj:
2573
2574 2014-12-28  Roland Takacs  <rtakacs.u-szeged@partner.samsung.com>
2575
2576         Set relayoutChildren to 'true' only if size change happens in Table
2577         https://bugs.webkit.org/show_bug.cgi?id=139676
2578
2579         Reviewed by Darin Adler.
2580
2581         Pass 'true' value for layoutPositionedObjects() in case of size change.
2582         It helps to avoid unneccessary setChildNeedsLayout() and
2583         setPreferredLogicalWidthsDirty() calls.
2584
2585         This is a backport of my fix in Blink: https://codereview.chromium.org/714933002/
2586
2587         * rendering/RenderTable.cpp:
2588         (WebCore::RenderTable::layout):
2589
2590 2014-12-28  Dan Bernstein  <mitz@apple.com>
2591
2592         Don’t use AccessibilityAllInOne when building with Xcode
2593         https://bugs.webkit.org/show_bug.cgi?id=139974
2594
2595         Reviewed by Darin Adler.
2596
2597         * WebCore.xcodeproj/project.pbxproj: Added all files included by AccessibilityAllInOne.cpp
2598         to the WebCore target, and removed AccessibilityAllInOne.cpp from the project.
2599
2600 2014-12-26  Andreas Kling  <akling@apple.com>
2601
2602         Purge PassRefPtr from Element and ElementRareData.
2603         <https://webkit.org/b/139949>
2604
2605         Reviewed by Anders Carlsson.
2606
2607         Make functions that used to take PassRefPtr now take Ref&& or RefPtr&&
2608         instead depending on possible nullity of incoming values.
2609
2610         * dom/Element.cpp:
2611         (WebCore::Element::addShadowRoot):
2612         (WebCore::Element::setBeforePseudoElement):
2613         (WebCore::Element::setAfterPseudoElement):
2614         * dom/Element.h:
2615         * dom/ElementRareData.h:
2616         (WebCore::ElementRareData::setShadowRoot):
2617         (WebCore::ElementRareData::setBeforePseudoElement):
2618         (WebCore::ElementRareData::setAfterPseudoElement):
2619         * dom/PseudoElement.h:
2620         * dom/ShadowRoot.h:
2621         * style/StyleResolveTree.cpp:
2622         (WebCore::Style::setBeforeOrAfterPseudoElement):
2623         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
2624
2625 2014-12-26  Dan Bernstein  <mitz@apple.com>
2626
2627         <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
2628         https://bugs.webkit.org/show_bug.cgi?id=139950
2629
2630         Reviewed by David Kilzer.
2631
2632         * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
2633         in a manner that works with Xcode 5.1.1.
2634
2635 2014-12-25  Dhi Aurrahman  <diorahman@rockybars.com>
2636
2637         Allow strings as argument to :lang()
2638         https://bugs.webkit.org/show_bug.cgi?id=139678
2639
2640         Reviewed by Benjamin Poulain.
2641
2642         Allow strings as argument to :lang()[1]. The selector with empty string argument (e.g. :lang(""))
2643         is handled as never matching.
2644
2645         [1] http://www.w3.org/blog/CSS/2014/12/11/minutes-telecon-231/
2646
2647         Test: fast/css/css-lang-selector-with-string-arguments-text.html
2648               fast/selectors/lang-extended-filtering-with-string-arguments.html
2649
2650         * css/CSSGrammar.y.in:
2651         * css/SelectorCheckerTestFunctions.h:
2652         (WebCore::matchesLangPseudoClass):
2653
2654 2014-12-25  Andreas Kling  <akling@apple.com>
2655
2656         DOM exception creator functions should return Ref.
2657         <https://webkit.org/b/139947>
2658
2659         Reviewed by Chris Dumez.
2660
2661         Tweak all the FooException::create() to return Ref instead of
2662         PassRefPtr since construction always succeeds.
2663
2664         Also add a toJS() overload for ImplType& to keep bindings building.
2665
2666         * Modules/indexeddb/IDBDatabaseException.h:
2667         (WebCore::IDBDatabaseException::create):
2668         * Modules/webdatabase/SQLException.h:
2669         (WebCore::SQLException::create):
2670         * bindings/scripts/CodeGeneratorJS.pm:
2671         (GenerateHeader):
2672         * dom/DOMCoreException.h:
2673         (WebCore::DOMCoreException::create):
2674         * dom/EventException.h:
2675         (WebCore::EventException::create):
2676         * dom/RangeException.h:
2677         (WebCore::RangeException::create):
2678         * fileapi/FileException.h:
2679         (WebCore::FileException::create):
2680         * svg/SVGException.h:
2681         (WebCore::SVGException::create):
2682         * xml/XMLHttpRequestException.h:
2683         (WebCore::XMLHttpRequestException::create):
2684         * xml/XPathException.h:
2685         (WebCore::XPathException::create):
2686
2687 2014-12-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2688
2689         Unreviewed, fix build break on win debug build since r177737.
2690
2691         Partial revert some code in r177737 because it causes build error on win debug buildbot.
2692
2693         * dom/ElementIteratorAssertions.h:
2694         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
2695
2696 2014-12-25  Dan Bernstein  <mitz@apple.com>
2697
2698         Give extract-localizable-strings an option to treat warnings as errors
2699         https://bugs.webkit.org/show_bug.cgi?id=139943
2700
2701         Reviewed by Darin Adler.
2702
2703         Add a --treat-warnings-as-errors option, which makes the script emit its warnings as errors
2704         and exit with a non-0 return code if it emitted any warnings.
2705
2706         * extract-localizable-strings.pl:
2707         Added $treatWarningsAsErrors variable, set to true if the option is passed in.
2708
2709         (emitWarning): Added. If $treatWarningsAsErrors is true, omits the "warning: " token from
2710         the message, which makes it appear as an error in Xcode, and sets $sawError to 1.
2711
2712         Replaced all print statements that printed warnings with calls to emitWarning.
2713
2714 2014-12-25  Dan Bernstein  <mitz@apple.com>
2715
2716         Bring the state of WEBCORE_EXPORT annotations closer to what the exports file specifies.
2717         https://bugs.webkit.org/show_bug.cgi?id=136172
2718
2719         Reviewed by Darin Adler.
2720
2721         * bridge/NP_jsobject.cpp: Give functions from npruntime_impl.h defined in this file default
2722         using a compiler pragma, in lieu of introducing WebCore-specific macros into that header.
2723         * bridge/npruntime.cpp: Ditto.
2724
2725         * platform/mac/WebCoreSystemInterface.mm: Similarly for WebCoreSystemInterface.h.
2726
2727         Added or removed WEBCORE_EXPORT in these files as necessary to match what is currently in
2728         the exports file:
2729
2730         * Modules/mediasource/SourceBuffer.h:
2731         * bindings/js/JSDOMBinding.h:
2732         * css/CSSComputedStyleDeclaration.h:
2733         * dom/ContainerNode.h:
2734         * dom/Document.h:
2735         * dom/MouseEvent.h:
2736         * dom/Range.h:
2737         * dom/SecurityContext.h:
2738         * editing/Editor.h:
2739         * editing/mac/DictionaryLookup.h:
2740         * loader/FrameLoaderClient.h:
2741         * loader/LoaderStrategy.h:
2742         * loader/icon/IconDatabaseBase.h:
2743         * page/ChromeClient.h:
2744         * page/EventHandler.h:
2745         * page/FrameSnapshotting.h:
2746         * page/Page.h:
2747         * page/PageOverlay.h:
2748         * page/PageOverlayController.h:
2749         * page/TextIndicator.h:
2750         * page/UserContentController.h:
2751         * page/WheelEventDeltaTracker.h:
2752         * page/mac/TextIndicatorWindow.h:
2753         * platform/DatabaseStrategy.h:
2754         * platform/ScrollableArea.h:
2755         * platform/SuddenTermination.h:
2756         * platform/URL.h:
2757         * platform/animation/Animation.h:
2758         * platform/cocoa/MachSendRight.h:
2759         * platform/graphics/FloatRoundedRect.h:
2760         * platform/graphics/GraphicsContext.h:
2761         * platform/graphics/GraphicsLayer.h:
2762         * platform/graphics/Path.h:
2763         * platform/graphics/TextRun.h:
2764         * platform/graphics/ca/TileController.h:
2765         * platform/graphics/cocoa/IOSurface.h:
2766         * platform/graphics/mac/ColorMac.h:
2767         * platform/mac/SoftLinking.h:
2768         * platform/mac/WebCoreNSStringExtras.h:
2769         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2770         * platform/network/BlobRegistry.h:
2771         * platform/network/ResourceRequestBase.h:
2772         * platform/network/ResourceResponseBase.h:
2773         * rendering/HitTestResult.h:
2774         * rendering/RenderInline.h:
2775         * rendering/RenderLayerBacking.h:
2776         * rendering/RenderLayerCompositor.cpp:
2777         * rendering/RenderView.h:
2778         * storage/StorageNamespaceImpl.h:
2779         * storage/StorageNamespaceProvider.h:
2780         * testing/Internals.h:
2781
2782 2014-12-25  Chris Dumez  <cdumez@apple.com>
2783
2784         [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
2785         https://bugs.webkit.org/show_bug.cgi?id=139921
2786
2787         Reviewed by Gavin Barraclough and Alexey Proskuryakov.
2788
2789         Log better using FeatureCounter why PageCache is failing due to pruned
2790         resources. In particular, we now distinguish if the resource was pruned
2791         due to:
2792         - Memory pressure
2793         - Page cache capacity reached
2794         - WebProcess suspended (WK2)
2795
2796         * WebCore.exp.in:
2797         * history/HistoryItem.cpp:
2798         (WebCore::HistoryItem::HistoryItem):
2799         * history/HistoryItem.h:
2800         * history/PageCache.cpp:
2801         (WebCore::PageCache::pruneToCapacityNow):
2802         (WebCore::PageCache::setCapacity):
2803         (WebCore::pruningReasonToFeatureCounterKey):
2804         (WebCore::PageCache::add):
2805         (WebCore::PageCache::take):
2806         (WebCore::PageCache::get):
2807         (WebCore::PageCache::prune):
2808         * history/PageCache.h:
2809         * loader/FrameLoader.cpp:
2810         (WebCore::FrameLoader::commitProvisionalLoad):
2811         * platform/FeatureCounterKeys.h:
2812         * platform/MemoryPressureHandler.cpp:
2813         (WebCore::MemoryPressureHandler::releaseCriticalMemory):
2814
2815 2014-12-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2816
2817         Use std::unique_ptr<> in WebCore/dom, plugin, and graphics
2818         https://bugs.webkit.org/show_bug.cgi?id=139938
2819         
2820         Reviewed by Darin Adler.
2821
2822         Replace OwnPtr with std::unique_ptr<> and std::make_unique<>.
2823
2824         * dom/ElementIteratorAssertions.h:
2825         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
2826         * dom/MutationObserverRegistration.cpp:
2827         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
2828         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
2829         * dom/MutationObserverRegistration.h:
2830         * dom/StyledElement.cpp:
2831         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
2832         * platform/graphics/SimpleFontData.h:
2833         (WebCore::SimpleFontData::boundsForGlyph):
2834         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2835         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2836         * platform/graphics/mac/SimpleFontDataMac.mm:
2837         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2838         * plugins/PluginStream.cpp:
2839         (WebCore::PluginStream::didReceiveData):
2840         * plugins/PluginStream.h:
2841
2842 2014-12-25  Commit Queue  <commit-queue@webkit.org>
2843
2844         Unreviewed, rolling out r177712 and r177717.
2845         https://bugs.webkit.org/show_bug.cgi?id=139944
2846
2847         Caused flaky assertion failures (Requested by ap on #webkit).
2848
2849         Reverted changesets:
2850
2851         "[iOS] Log better using FeatureCounter why PageCache is
2852         failing due to pruned resources"
2853         https://bugs.webkit.org/show_bug.cgi?id=139921
2854         http://trac.webkit.org/changeset/177712
2855
2856         "Unreviewed, fix build warning after r177712"
2857         http://trac.webkit.org/changeset/177717
2858
2859 2014-12-25  Andreas Kling  <akling@apple.com>
2860
2861         Rebaseline bindings tests after r177733.
2862
2863         * bindings/scripts/test/JS/JSTestCallback.h:
2864         (WebCore::JSTestCallback::create):
2865
2866 2014-12-24  Andreas Kling  <akling@apple.com>
2867
2868         Convert more creator functions to return Ref instead of PassRefPtr.
2869         <https://webkit.org/b/139939>
2870
2871         Reviewed by Darin Adler.
2872
2873         Convert a slew of functions to return Ref<T> instead of PassRefPtr<T>
2874         where the result is guaranteed to never be null.
2875
2876         * Modules/geolocation/Coordinates.h:
2877         (WebCore::Coordinates::create):
2878         (WebCore::Coordinates::isolatedCopy):
2879         * Modules/plugins/QuickTimePluginReplacement.mm:
2880         (WebCore::QuickTimePluginReplacement::isolatedWorld):
2881         * Modules/webaudio/AnalyserNode.h:
2882         (WebCore::AnalyserNode::create):
2883         * Modules/webaudio/AudioBuffer.cpp:
2884         (WebCore::AudioBuffer::create):
2885         (WebCore::AudioBuffer::createFromAudioFileData):
2886         * Modules/webaudio/AudioBuffer.h:
2887         * Modules/webaudio/AudioBufferSourceNode.cpp:
2888         (WebCore::AudioBufferSourceNode::create):
2889         * Modules/webaudio/AudioBufferSourceNode.h:
2890         * Modules/webaudio/AudioContext.cpp:
2891         (WebCore::AudioContext::create):
2892         * Modules/webaudio/AudioContext.h:
2893         * Modules/webaudio/AudioListener.h:
2894         (WebCore::AudioListener::create):
2895         * Modules/webaudio/AudioParam.h:
2896         (WebCore::AudioParam::create):
2897         * Modules/webaudio/BiquadFilterNode.h:
2898         (WebCore::BiquadFilterNode::create):
2899         * Modules/webaudio/ConvolverNode.h:
2900         (WebCore::ConvolverNode::create):
2901         * Modules/webaudio/DelayNode.h:
2902         (WebCore::DelayNode::create):
2903         * Modules/webaudio/DynamicsCompressorNode.h:
2904         (WebCore::DynamicsCompressorNode::create):
2905         * Modules/webdatabase/ChangeVersionWrapper.h:
2906         (WebCore::ChangeVersionWrapper::create):
2907         * Modules/webdatabase/DatabaseAuthorizer.cpp:
2908         (WebCore::DatabaseAuthorizer::create):
2909         * Modules/webdatabase/DatabaseAuthorizer.h:
2910         * Modules/webdatabase/DatabaseThread.h:
2911         (WebCore::DatabaseThread::create):
2912         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2913         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2914         * accessibility/AXObjectCache.cpp:
2915         (WebCore::createFromRenderer):
2916         (WebCore::createFromNode):
2917         * accessibility/AccessibilityARIAGrid.cpp:
2918         (WebCore::AccessibilityARIAGrid::create):
2919         * accessibility/AccessibilityARIAGrid.h:
2920         * accessibility/AccessibilityARIAGridCell.cpp:
2921         (WebCore::AccessibilityARIAGridCell::create):
2922         * accessibility/AccessibilityARIAGridCell.h:
2923         * accessibility/AccessibilityARIAGridRow.cpp:
2924         (WebCore::AccessibilityARIAGridRow::create):
2925         * accessibility/AccessibilityARIAGridRow.h:
2926         * accessibility/AccessibilityImageMapLink.cpp:
2927         (WebCore::AccessibilityImageMapLink::create):
2928         * accessibility/AccessibilityImageMapLink.h:
2929         * accessibility/AccessibilityList.cpp:
2930         (WebCore::AccessibilityList::create):
2931         * accessibility/AccessibilityList.h:
2932         * accessibility/AccessibilityListBox.cpp:
2933         (WebCore::AccessibilityListBox::create):
2934         * accessibility/AccessibilityListBox.h:
2935         * accessibility/AccessibilityListBoxOption.cpp:
2936         (WebCore::AccessibilityListBoxOption::create):
2937         * accessibility/AccessibilityListBoxOption.h:
2938         * accessibility/AccessibilityMediaControls.cpp:
2939         (WebCore::AccessibilityMediaControl::create):
2940         (WebCore::AccessibilityMediaControlsContainer::create):
2941         (WebCore::AccessibilityMediaTimeline::create):
2942         (WebCore::AccessibilityMediaTimeDisplay::create):
2943         * accessibility/AccessibilityMediaControls.h:
2944         * accessibility/AccessibilityMenuList.cpp:
2945         (WebCore::AccessibilityMenuList::create):
2946         * accessibility/AccessibilityMenuList.h:
2947         * accessibility/AccessibilityMenuListOption.h:
2948         * accessibility/AccessibilityMenuListPopup.h:
2949         * accessibility/AccessibilityNodeObject.cpp:
2950         (WebCore::AccessibilityNodeObject::create):
2951         * accessibility/AccessibilityNodeObject.h:
2952         * accessibility/AccessibilityProgressIndicator.cpp:
2953         (WebCore::AccessibilityProgressIndicator::create):
2954         * accessibility/AccessibilityProgressIndicator.h:
2955         * accessibility/AccessibilityRenderObject.cpp:
2956         (WebCore::AccessibilityRenderObject::create):
2957         * accessibility/AccessibilityRenderObject.h:
2958         * accessibility/AccessibilitySVGRoot.cpp:
2959         (WebCore::AccessibilitySVGRoot::create):
2960         * accessibility/AccessibilitySVGRoot.h:
2961         * accessibility/AccessibilityScrollView.cpp:
2962         (WebCore::AccessibilityScrollView::create):
2963         * accessibility/AccessibilityScrollView.h:
2964         * accessibility/AccessibilityScrollbar.cpp:
2965         (WebCore::AccessibilityScrollbar::create):
2966         * accessibility/AccessibilityScrollbar.h:
2967         * accessibility/AccessibilitySearchFieldButtons.cpp:
2968         (WebCore::AccessibilitySearchFieldCancelButton::create):
2969         * accessibility/AccessibilitySearchFieldButtons.h:
2970         * accessibility/AccessibilitySlider.cpp:
2971         (WebCore::AccessibilitySlider::create):
2972         (WebCore::AccessibilitySliderThumb::create):
2973         * accessibility/AccessibilitySlider.h:
2974         * accessibility/AccessibilitySpinButton.cpp:
2975         (WebCore::AccessibilitySpinButton::create):
2976         (WebCore::AccessibilitySpinButtonPart::create):
2977         * accessibility/AccessibilitySpinButton.h:
2978         * accessibility/AccessibilityTable.cpp:
2979         (WebCore::AccessibilityTable::create):
2980         * accessibility/AccessibilityTable.h:
2981         * accessibility/AccessibilityTableCell.cpp:
2982         (WebCore::AccessibilityTableCell::create):
2983         * accessibility/AccessibilityTableCell.h:
2984         * accessibility/AccessibilityTableColumn.cpp:
2985         (WebCore::AccessibilityTableColumn::create):
2986         * accessibility/AccessibilityTableColumn.h:
2987         * accessibility/AccessibilityTableHeaderContainer.cpp:
2988         (WebCore::AccessibilityTableHeaderContainer::create):
2989         * accessibility/AccessibilityTableHeaderContainer.h:
2990         * accessibility/AccessibilityTableRow.cpp:
2991         (WebCore::AccessibilityTableRow::create):
2992         * accessibility/AccessibilityTableRow.h:
2993         * bindings/js/CachedScriptSourceProvider.h:
2994         (WebCore::CachedScriptSourceProvider::create):
2995         * bindings/js/DOMWrapperWorld.h:
2996         (WebCore::DOMWrapperWorld::create):
2997         * bindings/js/SerializedScriptValue.cpp:
2998         (WebCore::CloneDeserializer::getJSValue):
2999         * bindings/objc/DOMCustomXPathNSResolver.h:
3000         (WebCore::DOMCustomXPathNSResolver::create):
3001         * bindings/scripts/CodeGeneratorJS.pm:
3002         (GenerateCallbackHeader):
3003         * bridge/c/c_instance.h:
3004         (JSC::Bindings::CInstance::create):
3005         * crypto/CryptoKeyPair.h:
3006         (WebCore::CryptoKeyPair::create):
3007         * crypto/keys/CryptoKeyAES.h:
3008         * crypto/keys/CryptoKeyHMAC.h:
3009         * crypto/keys/CryptoKeyRSA.h:
3010         * crypto/mac/CryptoKeyRSAMac.cpp:
3011         (WebCore::CryptoKeyRSA::generatePair):
3012         * css/DOMWindowCSS.cpp:
3013         (WebCore::DOMWindowCSS::create):
3014         * css/DOMWindowCSS.h:
3015         * css/DashboardRegion.h:
3016         (WebCore::DashboardRegion::create):
3017         * css/FontLoader.h:
3018         * dom/DOMError.h:
3019         (WebCore::DOMError::create):
3020         * dom/DOMStringList.h:
3021         (WebCore::DOMStringList::create):
3022         * dom/DataTransfer.cpp:
3023         (WebCore::DataTransfer::createForCopyAndPaste):
3024         (WebCore::DataTransfer::createForDragAndDrop):
3025         * dom/DataTransfer.h:
3026         * dom/DeviceMotionData.cpp:
3027         (WebCore::DeviceMotionData::Acceleration::create):
3028         (WebCore::DeviceMotionData::RotationRate::create):
3029         (WebCore::DeviceMotionData::create):
3030         * dom/DeviceMotionData.h:
3031         * dom/DeviceOrientationData.cpp:
3032         (WebCore::DeviceOrientationData::create):
3033         * dom/DeviceOrientationData.h:
3034         * dom/DocumentMarker.cpp:
3035         (WebCore::DocumentMarkerDescription::create):
3036         * editing/AlternativeTextController.cpp:
3037         (WebCore::AutocorrectionAlternativeDetails::create):
3038         (WebCore::DictationAlternativeDetails::create):
3039         * editing/AlternativeTextController.h:
3040         (WebCore::DictationMarkerDetails::create):
3041         * editing/AppendNodeCommand.h:
3042         (WebCore::AppendNodeCommand::create):
3043         * editing/ApplyStyleCommand.h:
3044         (WebCore::ApplyStyleCommand::create):
3045         * editing/BreakBlockquoteCommand.h:
3046         (WebCore::BreakBlockquoteCommand::create):
3047         * editing/CompositeEditCommand.cpp:
3048         (WebCore::EditCommandComposition::create):
3049         * editing/CompositeEditCommand.h:
3050         * editing/CreateLinkCommand.h:
3051         (WebCore::CreateLinkCommand::create):
3052         * editing/DeleteFromTextNodeCommand.h:
3053         (WebCore::DeleteFromTextNodeCommand::create):
3054         * editing/DeleteSelectionCommand.h:
3055         (WebCore::DeleteSelectionCommand::create):
3056         * editing/DictationCommand.cpp:
3057         (WebCore::DictationMarkerSupplier::create):
3058         * editing/DictationCommand.h:
3059         (WebCore::DictationCommand::create):
3060         * editing/EditingStyle.h:
3061         (WebCore::EditingStyle::create):
3062         * editing/Editor.cpp:
3063         (WebCore::Editor::applyStyle):
3064         (WebCore::Editor::applyParagraphStyle):
3065         * editing/FormatBlockCommand.h:
3066         (WebCore::FormatBlockCommand::create):
3067         * editing/IndentOutdentCommand.h:
3068         (WebCore::IndentOutdentCommand::create):
3069         * editing/InsertIntoTextNodeCommand.h:
3070         (WebCore::InsertIntoTextNodeCommand::create):
3071         * editing/InsertLineBreakCommand.h:
3072         (WebCore::InsertLineBreakCommand::create):
3073         * editing/InsertNodeBeforeCommand.h:
3074         (WebCore::InsertNodeBeforeCommand::create):
3075         * editing/InsertParagraphSeparatorCommand.h:
3076         (WebCore::InsertParagraphSeparatorCommand::create):
3077         * editing/InsertTextCommand.h:
3078         (WebCore::InsertTextCommand::create):
3079         (WebCore::InsertTextCommand::createWithMarkerSupplier):
3080         * editing/MergeIdenticalElementsCommand.h:
3081         (WebCore::MergeIdenticalElementsCommand::create):
3082         * editing/ModifySelectionListLevel.h:
3083         (WebCore::IncreaseSelectionListLevelCommand::create):
3084         (WebCore::DecreaseSelectionListLevelCommand::create):
3085         * editing/MoveSelectionCommand.h:
3086         (WebCore::MoveSelectionCommand::create):
3087         * editing/RemoveCSSPropertyCommand.h:
3088         (WebCore::RemoveCSSPropertyCommand::create):
3089         * editing/RemoveFormatCommand.h:
3090         (WebCore::RemoveFormatCommand::create):
3091         * editing/RemoveNodeCommand.h:
3092         (WebCore::RemoveNodeCommand::create):
3093         * editing/RemoveNodePreservingChildrenCommand.h:
3094         (WebCore::RemoveNodePreservingChildrenCommand::create):
3095         * editing/ReplaceNodeWithSpanCommand.h:
3096         (WebCore::ReplaceNodeWithSpanCommand::create):
3097         * editing/ReplaceSelectionCommand.h:
3098         (WebCore::ReplaceSelectionCommand::create):
3099         * editing/SetNodeAttributeCommand.h:
3100         (WebCore::SetNodeAttributeCommand::create):
3101         * editing/SetSelectionCommand.h:
3102         (WebCore::SetSelectionCommand::create):
3103         * editing/SimplifyMarkupCommand.h:
3104         (WebCore::SimplifyMarkupCommand::create):
3105         * editing/SpellChecker.cpp:
3106         (WebCore::SpellCheckRequest::create):
3107         * editing/SpellChecker.h:
3108         * editing/SpellingCorrectionCommand.cpp:
3109         (WebCore::SpellingCorrectionRecordUndoCommand::create):
3110         * editing/SpellingCorrectionCommand.h:
3111         (WebCore::SpellingCorrectionCommand::create):
3112         * editing/SplitElementCommand.h:
3113         (WebCore::SplitElementCommand::create):
3114         * editing/SplitTextNodeCommand.h:
3115         (WebCore::SplitTextNodeCommand::create):
3116         * editing/SplitTextNodeContainingElementCommand.h:
3117         (WebCore::SplitTextNodeContainingElementCommand::create):
3118         * editing/TypingCommand.h:
3119         (WebCore::TypingCommand::create):
3120         * editing/UnlinkCommand.h:
3121         (WebCore::UnlinkCommand::create):
3122         * editing/WrapContentsInDummySpanCommand.h:
3123         (WebCore::WrapContentsInDummySpanCommand::create):
3124         * editing/ios/DictationCommandIOS.h:
3125         (WebCore::DictationCommandIOS::create):
3126         * fileapi/Blob.h:
3127         (WebCore::Blob::create):
3128         (WebCore::Blob::deserialize):
3129         (WebCore::Blob::slice):
3130         * fileapi/File.h:
3131         * fileapi/FileList.h:
3132         (WebCore::FileList::create):
3133         * fileapi/FileReader.cpp:
3134         (WebCore::FileReader::create):
3135         * fileapi/FileReader.h:
3136         * fileapi/FileReaderSync.h:
3137         (WebCore::FileReaderSync::create):
3138         * history/BackForwardList.h:
3139         (WebCore::BackForwardList::create):
3140         * history/HistoryItem.h:
3141         (WebCore::HistoryItem::create):
3142         * html/DOMURL.cpp:
3143         (WebCore::DOMURL::create):
3144         * html/DOMURL.h:
3145         * html/HTMLPlugInImageElement.cpp:
3146         (WebCore::plugInImageElementIsolatedWorld):
3147         * html/canvas/CanvasGradient.h:
3148         (WebCore::CanvasGradient::create):
3149         * html/canvas/CanvasPattern.cpp:
3150         (WebCore::CanvasPattern::create):
3151         * html/canvas/CanvasPattern.h:
3152         * html/canvas/DOMPath.h:
3153         * html/shadow/DetailsMarkerControl.cpp:
3154         (WebCore::DetailsMarkerControl::create):
3155         * html/shadow/DetailsMarkerControl.h:
3156         * html/track/AudioTrack.h:
3157         * html/track/AudioTrackList.h:
3158         * html/track/DataCue.h:
3159         * inspector/CommandLineAPIHost.cpp:
3160         (WebCore::CommandLineAPIHost::create):
3161         * inspector/CommandLineAPIHost.h:
3162         * loader/DocumentLoader.h:
3163         (WebCore::DocumentLoader::create):
3164         * loader/FormState.cpp:
3165         (WebCore::FormState::create):
3166         * loader/FormState.h:
3167         * loader/FormSubmission.cpp:
3168         (WebCore::FormSubmission::create):
3169         * loader/FormSubmission.h:
3170         * loader/TextResourceDecoder.h:
3171         (WebCore::TextResourceDecoder::create):
3172         * loader/ThreadableLoaderClientWrapper.h:
3173         (WebCore::ThreadableLoaderClientWrapper::create):
3174         * loader/WorkerThreadableLoader.h:
3175         (WebCore::WorkerThreadableLoader::create):
3176         * loader/appcache/ApplicationCache.h:
3177         (WebCore::ApplicationCache::create):
3178         * loader/appcache/ApplicationCacheResource.h:
3179         (WebCore::ApplicationCacheResource::create):
3180         * loader/appcache/DOMApplicationCache.h:
3181         * loader/archive/ArchiveResource.cpp:
3182         (WebCore::ArchiveResource::create):
3183         * loader/archive/ArchiveResource.h:
3184         * loader/icon/IconDatabaseBase.h:
3185         (WebCore::EnumCallback::create):
3186         (WebCore::ObjectCallback::create):
3187         * loader/icon/IconRecord.h:
3188         (WebCore::IconRecord::create):
3189         * mathml/MathMLInlineContainerElement.cpp:
3190         (WebCore::MathMLInlineContainerElement::create):
3191         * mathml/MathMLInlineContainerElement.h:
3192         * mathml/MathMLMathElement.cpp:
3193         (WebCore::MathMLMathElement::create):
3194         * mathml/MathMLMathElement.h:
3195         * mathml/MathMLMencloseElement.cpp:
3196         (WebCore::MathMLMencloseElement::create):
3197         * mathml/MathMLMencloseElement.h:
3198         * mathml/MathMLSelectElement.cpp:
3199         (WebCore::MathMLSelectElement::create):
3200         * mathml/MathMLSelectElement.h:
3201         * mathml/MathMLTextElement.cpp:
3202         (WebCore::MathMLTextElement::create):
3203         * mathml/MathMLTextElement.h:
3204         * page/BarProp.h:
3205         (WebCore::BarProp::create):
3206         * page/Crypto.h:
3207         (WebCore::Crypto::create):
3208         * page/DOMSecurityPolicy.h:
3209         (WebCore::DOMSecurityPolicy::create):
3210         * page/DOMSelection.h:
3211         (WebCore::DOMSelection::create):
3212         * page/DOMWindow.h:
3213         * page/DOMWindowExtension.h:
3214         (WebCore::DOMWindowExtension::create):
3215         * page/FrameView.cpp:
3216         (WebCore::FrameView::create):
3217         * page/FrameView.h:
3218         * page/animation/CompositeAnimation.h:
3219         (WebCore::CompositeAnimation::create):
3220         * page/scrolling/AsyncScrollingCoordinator.h:
3221         * platform/Cursor.h:
3222         (WebCore::SharedCursor::create):
3223         * platform/FileChooser.cpp:
3224         (WebCore::FileChooser::create):
3225         * platform/FileChooser.h:
3226         * platform/animation/Animation.h:
3227         (WebCore::Animation::create):
3228         * platform/audio/AudioBus.cpp:
3229         (WebCore::AudioBus::create):
3230         (WebCore::AudioBus::createBufferFromRange):
3231         (WebCore::AudioBus::createBySampleRateConverting):
3232         (WebCore::AudioBus::createByMixingToMono):
3233         * platform/audio/AudioBus.h:
3234         * platform/audio/AudioHardwareListener.cpp:
3235         (WebCore::AudioHardwareListener::create):
3236         * platform/audio/AudioHardwareListener.h:
3237         * platform/audio/mac/AudioHardwareListenerMac.cpp:
3238         (WebCore::AudioHardwareListener::create):
3239         (WebCore::AudioHardwareListenerMac::create):
3240         * platform/audio/mac/AudioHardwareListenerMac.h:
3241         * platform/graphics/AudioTrackPrivate.h:
3242         (WebCore::AudioTrackPrivate::create):
3243         * platform/graphics/BitmapImage.h:
3244         * platform/graphics/CrossfadeGeneratedImage.h:
3245         * platform/graphics/FontFeatureSettings.h:
3246         (WebCore::FontFeatureSettings::create):
3247         * platform/graphics/Image.cpp:
3248         (WebCore::Image::nullImage):
3249         * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.h:
3250         * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
3251         (WebCore::AudioSourceProviderAVFObjC::create):
3252         * platform/graphics/filters/DistantLightSource.h:
3253         (WebCore::DistantLightSource::create):
3254         * platform/graphics/filters/FEBlend.cpp:
3255         (WebCore::FEBlend::create):
3256         * platform/graphics/filters/FEBlend.h:
3257         * platform/graphics/filters/FEColorMatrix.cpp:
3258         (WebCore::FEColorMatrix::create):
3259         * platform/graphics/filters/FEColorMatrix.h:
3260         * platform/graphics/filters/FEComponentTransfer.cpp:
3261         (WebCore::FEComponentTransfer::create):
3262         * platform/graphics/filters/FEComponentTransfer.h:
3263         * platform/graphics/filters/FEComposite.cpp:
3264         (WebCore::FEComposite::create):
3265         * platform/graphics/filters/FEComposite.h:
3266         * platform/graphics/filters/FEConvolveMatrix.cpp:
3267         (WebCore::FEConvolveMatrix::create):
3268         * platform/graphics/filters/FEConvolveMatrix.h:
3269         * platform/graphics/filters/FEDiffuseLighting.cpp:
3270         (WebCore::FEDiffuseLighting::create):
3271         * platform/graphics/filters/FEDiffuseLighting.h:
3272         * platform/graphics/filters/FEDisplacementMap.cpp:
3273         (WebCore::FEDisplacementMap::create):
3274         * platform/graphics/filters/FEDisplacementMap.h:
3275         * platform/graphics/filters/FEDropShadow.cpp:
3276         (WebCore::FEDropShadow::create):
3277         * platform/graphics/filters/FEDropShadow.h:
3278         * platform/graphics/filters/FEFlood.cpp:
3279         (WebCore::FEFlood::create):
3280         * platform/graphics/filters/FEFlood.h:
3281         * platform/graphics/filters/FEGaussianBlur.cpp:
3282         (WebCore::FEGaussianBlur::create):
3283         * platform/graphics/filters/FEGaussianBlur.h:
3284         * platform/graphics/filters/FEMerge.cpp:
3285         (WebCore::FEMerge::create):
3286         * platform/graphics/filters/FEMerge.h:
3287         * platform/graphics/filters/FEMorphology.cpp:
3288         (WebCore::FEMorphology::create):
3289         * platform/graphics/filters/FEMorphology.h:
3290         * platform/graphics/filters/FEOffset.cpp:
3291         (WebCore::FEOffset::create):
3292         * platform/graphics/filters/FEOffset.h:
3293         * platform/graphics/filters/FESpecularLighting.cpp:
3294         (WebCore::FESpecularLighting::create):
3295         * platform/graphics/filters/FESpecularLighting.h:
3296         * platform/graphics/filters/FETile.cpp:
3297         (WebCore::FETile::create):
3298         * platform/graphics/filters/FETile.h:
3299         * platform/graphics/filters/FETurbulence.cpp:
3300         (WebCore::FETurbulence::create):
3301         * platform/graphics/filters/FETurbulence.h:
3302         * platform/graphics/ios/DisplayRefreshMonitorIOS.h:
3303         (WebCore::DisplayRefreshMonitorIOS::create):
3304         * platform/graphics/mac/ComplexTextController.h:
3305         (WebCore::ComplexTextController::ComplexTextRun::create):
3306         * platform/network/BlobData.h:
3307         (WebCore::RawData::create):
3308         (WebCore::BlobData::create):
3309         * platform/network/BlobDataFileReference.h:
3310         (WebCore::BlobDataFileReference::create):
3311         * platform/network/cf/FormDataStreamCFNet.cpp:
3312         * platform/text/BidiContext.cpp:
3313         (WebCore::BidiContext::createUncached):
3314         (WebCore::BidiContext::create):
3315         * platform/text/BidiContext.h:
3316         * plugins/DOMMimeType.h:
3317         (WebCore::DOMMimeType::create):
3318         * plugins/DOMMimeTypeArray.cpp:
3319         (WebCore::DOMMimeTypeArray::item):
3320         (WebCore::DOMMimeTypeArray::namedItem):
3321         * plugins/DOMMimeTypeArray.h:
3322         (WebCore::DOMMimeTypeArray::create):
3323         * plugins/DOMPlugin.cpp:
3324         (WebCore::DOMPlugin::item):
3325         (WebCore::DOMPlugin::namedItem):
3326         * plugins/DOMPlugin.h:
3327         (WebCore::DOMPlugin::create):
3328         * plugins/DOMPluginArray.cpp:
3329         (WebCore::DOMPluginArray::item):
3330         (WebCore::DOMPluginArray::namedItem):
3331         * plugins/DOMPluginArray.h:
3332         (WebCore::DOMPluginArray::create):
3333         * plugins/PluginData.h:
3334         (WebCore::PluginData::create):
3335         * rendering/ClipPathOperation.h:
3336         * rendering/CounterNode.cpp:
3337         (WebCore::CounterNode::create):
3338         * rendering/CounterNode.h:
3339         * rendering/style/BasicShapes.h:
3340         * rendering/style/CursorList.h:
3341         (WebCore::CursorList::create):
3342         * replay/CapturingInputCursor.cpp:
3343         (WebCore::CapturingInputCursor::create):
3344         * replay/CapturingInputCursor.h:
3345         * storage/Storage.cpp:
3346         (WebCore::Storage::create):
3347         * storage/Storage.h:
3348         * storage/StorageAreaImpl.cpp:
3349         (WebCore::StorageAreaImpl::create):
3350         * storage/StorageAreaImpl.h:
3351         * storage/StorageAreaSync.cpp:
3352         (WebCore::StorageAreaSync::create):
3353         * storage/StorageAreaSync.h:
3354         * storage/StorageMap.cpp:
3355         (WebCore::StorageMap::create):
3356         * storage/StorageMap.h:
3357         * storage/StorageSyncManager.cpp:
3358         (WebCore::StorageSyncManager::create):
3359         * storage/StorageSyncManager.h:
3360         * workers/DedicatedWorkerGlobalScope.cpp:
3361         (WebCore::DedicatedWorkerGlobalScope::create):
3362         * workers/DedicatedWorkerGlobalScope.h:
3363         * workers/DedicatedWorkerThread.cpp:
3364         (WebCore::DedicatedWorkerThread::create):
3365         (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
3366         * workers/DedicatedWorkerThread.h:
3367         * workers/DefaultSharedWorkerRepository.cpp:
3368         * workers/SharedWorkerGlobalScope.cpp:
3369         (WebCore::SharedWorkerGlobalScope::create):
3370         * workers/SharedWorkerGlobalScope.h:
3371         * workers/SharedWorkerThread.cpp:
3372         (WebCore::SharedWorkerThread::create):
3373         (WebCore::SharedWorkerThread::createWorkerGlobalScope):
3374         * workers/SharedWorkerThread.h:
3375         * workers/WorkerGlobalScope.cpp:
3376         (WebCore::WorkerGlobalScope::importScripts):
3377         * workers/WorkerLocation.h:
3378         (WebCore::WorkerLocation::create):
3379         * workers/WorkerScriptLoader.h:
3380         (WebCore::WorkerScriptLoader::create):
3381         * workers/WorkerThread.h:
3382         * xml/DOMParser.h:
3383         (WebCore::DOMParser::create):
3384         * xml/NativeXPathNSResolver.h:
3385         (WebCore::NativeXPathNSResolver::create):
3386         * xml/XMLHttpRequest.cpp:
3387         (WebCore::XMLHttpRequest::create):
3388         * xml/XMLHttpRequest.h:
3389         * xml/XMLHttpRequestProgressEventThrottle.cpp:
3390         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
3391         * xml/XMLSerializer.h:
3392         (WebCore::XMLSerializer::create):
3393         * xml/XPathEvaluator.h:
3394         (WebCore::XPathEvaluator::create):
3395         * xml/XPathResult.h:
3396         (WebCore::XPathResult::create):
3397         * xml/XSLStyleSheet.h:
3398         * xml/XSLTProcessor.h:
3399         (WebCore::XSLTProcessor::create):
3400
3401 2014-12-24  Benjamin Poulain  <bpoulain@apple.com>
3402
3403         Small cleanup of RenderBlock::paint()
3404         https://bugs.webkit.org/show_bug.cgi?id=139849
3405
3406         Reviewed by Daniel Bates.
3407
3408         Remove a couple of instructions by putting variable in the right scope.
3409
3410         * rendering/RenderBlock.cpp:
3411         (WebCore::RenderBlock::paint):
3412
3413 2014-12-24  Dan Bernstein  <mitz@apple.com>
3414
3415         [Cocoa] WebCoreSystemInterface.h declares two unused symbols