[WinCairo] Crash when font data pointer is null.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-01-05  peavo@outlook.com  <peavo@outlook.com>
2
3         [WinCairo] Crash when font data pointer is null.
4         https://bugs.webkit.org/show_bug.cgi?id=139969
5
6         Reviewed by Darin Adler.
7
8         Added null pointer check.
9
10         Test: fonts/unicode-character-font-crash.html
11
12         * platform/graphics/win/UniscribeController.cpp:
13         (WebCore::UniscribeController::advance):
14         (WebCore::UniscribeController::shape):
15
16 2015-01-05  Michael Catanzaro  <mcatanzaro@igalia.com>
17
18         [GStreamer] Disable gst-plugin-scanner if seccomp filters are enabled
19         https://bugs.webkit.org/show_bug.cgi?id=140069
20
21         Reviewed by Philippe Normand.
22
23         If seccomp filters are enabled, any child processes we create are doomed
24         if they try to use a trapped syscall: the child will receive SIGSYS and
25         dump core. There appears to be no way around this.
26
27         Fortunately, the gstreamer developers had mad prescience and provided
28         us with a way to move plugin scanning in-process, so we don't need the
29         helper binary at all.
30
31         No new tests because this is covered by existing tests when seccomp
32         filters are enabled.
33
34         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
35         (WebCore::initializeGStreamer):
36
37 2015-01-04  Darin Adler  <darin@apple.com>
38
39         * dom/DocumentFragment.cpp:
40         (WebCore::DocumentFragment::parseXML):
41         Removed an incorrect assertion my last check-in added.
42
43 2015-01-04  Darin Adler  <darin@apple.com>
44
45         Modernize and tighten up HTMLDocumentParser
46         https://bugs.webkit.org/show_bug.cgi?id=140041
47
48         Reviewed by Sam Weinig.
49
50         * dom/DocumentFragment.cpp:
51         (WebCore::DocumentFragment::parseHTML): Pass a reference instead of
52         a pointer for the context element.
53
54         * html/FTPDirectoryDocument.cpp: Removed unneeded includes, made more
55         things in FTPDirectoryDocumentParser private. Use Ref instead of RefPtr
56         in a could places. Initialize in class instead of in constructor.
57         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
58         Less initialization here.
59         (WebCore::FTPDirectoryDocumentParser::createTDForFilename): More Ref here.
60         (WebCore::createTemplateDocumentData): Removed unneeded initialization
61         of RefPtr, which is initialized without explicitly asking for it.
62         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Reworded
63         comment slightly.
64
65         * html/parser/HTMLDocumentParser.cpp: Cut down on includes.
66         (WebCore::tokenizerStateForContextElement): Fixed URL. Changed argument
67         to be a reference rather than a pointer.
68         (WebCore::HTMLDocumentParser::inPumpSession):
69         (WebCore::HTMLDocumentParser::shouldDelayEnd):
70         (WebCore::HTMLDocumentParser::HTMLDocumentParser): Marked constructors
71         inline. Updated for data members that are now objects instead of pointers.
72         Removed explicit initialization for scalars that are now initialized in
73         the class definition.
74         (WebCore::HTMLDocumentParser::create): Moved the private creation
75         functions in here, out of the header file.
76         (WebCore::HTMLDocumentParser::~HTMLDocumentParser): Removed unused
77         m_haveBackgroundParser.
78         (WebCore::HTMLDocumentParser::prepareToStopParsing): Updated URL and
79         removed m_haveBackgroundParser reference.
80         (WebCore::HTMLDocumentParser::processingData): Removed a check of
81         m_haveBackgroundParser.
82         (WebCore::HTMLDocumentParser::resumeParsingAfterYield): Tweak comment.
83         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Added
84         a null check of the result of takeScriptToProcess, since there really
85         is no guarantee it's non-null.
86         (WebCore::HTMLDocumentParser::canTakeNextToken): Removed assertion
87         that was for m_haveBackgroundParser cases only. Rewrapped comment.
88         (WebCore::HTMLDocumentParser::contextForParsingSession): Use nullptr.
89         (WebCore::HTMLDocumentParser::pumpTokenizer): Rework comments,
90         remove assertions that no longer make sense, use auto instead of
91         repeating a long type name, update to use m_token and m_tokenizer.
92         (WebCore::HTMLDocumentParser::hasInsertionPoint): Rewrapped comment.
93         (WebCore::HTMLDocumentParser::insert): Got rid of braces around a
94         single-line if body.
95         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
96         Removed comment about incorrect m_haveBackgroundParser assertion.
97         (WebCore::HTMLDocumentParser::isExecutingScript): Use && style instead
98         of early exit for a null check.
99         (WebCore::HTMLDocumentParser::textPosition): Tightened up code a little.
100         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): Added
101         a Ref to protect the parser, as is already done in every other function
102         that calls pumpTokenizerIfPossible.
103         (WebCore::HTMLDocumentParser::parseDocumentFragment): Take a reference
104         instead of a pointer. Also use auto so we get a Ref instead of a RefPtr.
105
106         * html/parser/HTMLDocumentParser.h: Removed unneeded includes.
107         Made private inheritance explicit instead of just omitting public.
108         Moved function bodies out of the class, and in some cases, out of the
109         header entirely. Return a reference from tokenizer(). Marked most
110         virtual functions final. Made DocumentFragment version of the
111         constructor private rather than protected. Made the functions
112         suspendScheduledTasks() and resumeScheduledTasks() private, since
113         they are always called through a base class. Removed the private
114         token function since it is better to get at m_token directly.
115         Removed m_haveBackgroundParser, since we don't have that any more
116         and it's always false. Also removed forcePlaintextForTextDocument
117         since the tokenizer is exposed and can be used directly to do that.
118
119         * html/parser/HTMLTreeBuilder.cpp:
120         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Made the parser non-const.
121         It could only be const before because HTMLDocumentParser::tokenizer
122         took a const parser and returned a non-const tokenizer, but that doesn't
123         really make sense.
124         (WebCore::HTMLTreeBuilder::constructTree): Removed null check for
125         tokenizer, which was never null. Updated since tokenizer is a reference.
126         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
127         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
128         (WebCore::HTMLTreeBuilder::processEndTag): Ditto. Also fixed and removed
129         some assertions like the ones I did recently in the rest of this file.
130         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
131         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
132         (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.
133
134         * html/parser/HTMLTreeBuilder.h: Made HTMLDocumentParser& non-const.
135
136         * html/parser/TextDocumentParser.cpp: Removed unneeded include and
137         unneeded explicit destructor.
138         (WebCore::TextDocumentParser::TextDocumentParser): Updated since
139         treeBuilder() returns a reference now, and set the tokenizer state
140         directly since tokenizer() is exposed.
141
142         * html/parser/TextDocumentParser.h: Moved initialization of the
143         data member here instead of the constructor. Also removed unneeded
144         explicitly defined destructor.
145
146 2015-01-04  Antti Koivisto  <antti@apple.com>
147
148         Remove GlyphPageTree
149         https://bugs.webkit.org/show_bug.cgi?id=140015
150
151         Follow-up to follow-up, fonts/font-fallback-prefers-pictographs.html is now failing.
152
153         * platform/graphics/FontGlyphs.cpp:
154         (WebCore::FontGlyphs::glyphDataForVariant):
155         (WebCore::FontGlyphs::glyphDataForNormalVariant):
156
157             Make the loop again go one past the last fallback index, the pictograph special case depends on it.
158
159 2015-01-04  Antti Koivisto  <antti@apple.com>
160
161         Remove GlyphPageTree
162         https://bugs.webkit.org/show_bug.cgi?id=140015
163
164         Follow-up to r177876 to fix mathml/opentype/munderover-layout-resize.html which is asserting.
165
166         * platform/graphics/FontGlyphs.cpp:
167         (WebCore::FontGlyphs::glyphDataForVariant):
168         (WebCore::FontGlyphs::glyphDataForNormalVariant):
169
170         Always return system fallback if no glyph is found.
171
172 2015-01-04  Dan Bernstein  <mitz@apple.com>
173
174         iOS build fix.
175
176         * platform/graphics/SimpleFontData.cpp:
177         (WebCore::createAndFillGlyphPage):
178
179 2015-01-02  Antti Koivisto  <antti@apple.com>
180
181         Remove GlyphPageTree
182         https://bugs.webkit.org/show_bug.cgi?id=140015
183
184         Reviewed by Darin Adler.
185
186         GlyphPageTree is a global cache consisting of a tree of nodes that match SimpleFontData instances.
187         The tree levels correspond to font fallback lists so that higher levels fill holes (missing glyphs)
188         in the lower levels. This patch replaces it with a simpler and easier to understand caching scheme.
189         In particular the goal is to have clearer ownership relations and better control over mutability.
190
191         The new scheme looks like this:
192
193         SimpleFontData instances cache GlyphPages for themselves. These pages are immutable after construction
194         and may contain holes. This is a global cache (since SimpleFontDatas are cached globally) with the same
195         lifetime as the GlyphPageTree used to have.
196
197         FontGlyphs instances cache resolved GlyphPages for the normal font variant. These are build by traversing
198         the fallback list as necessary and collecting glyphs from SimpleFontDatas. As a common case case optimization
199         the page from the primary font is cached directly as long as it has the requested glyphs.
200         FontGlyphs are shared between sufficiently similar Font instances so this is a shared cache as well.
201
202         * CMakeLists.txt:
203         * WebCore.exp.in:
204         * WebCore.vcxproj/WebCore.vcxproj:
205         * WebCore.xcodeproj/project.pbxproj:
206         * platform/graphics/FontCache.h:
207         (WebCore::FontDescriptionFontDataCacheKey::makeFlagKey):
208
209             nonCJKGlyphOrientation matters for glyph selection too and needs to be part of the FontDescription cache key.
210
211         * platform/graphics/FontData.h:
212         (WebCore::FontData::FontData):
213         (WebCore::FontData::setMaxGlyphPageTreeLevel): Deleted.
214         (WebCore::FontData::maxGlyphPageTreeLevel): Deleted.
215         * platform/graphics/FontFastPath.cpp:
216         (WebCore::Font::primaryFontHasGlyphForCharacter):
217         * platform/graphics/FontGlyphs.cpp:
218         (WebCore::FontGlyphs::FontGlyphs):
219         (WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic):
220         (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
221         (WebCore::FontGlyphs::glyphDataForSystemFallback):
222         (WebCore::FontGlyphs::glyphDataForVariant):
223         (WebCore::FontGlyphs::glyphDataForNormalCharacter):
224
225             Traverse the fallback list by using simple index instead of indirectly via GlyphPageTreeNode traversal.
226
227         (WebCore::pageFromFontData):
228
229             Fetch a page from the primary font and see if we can use it as-is.
230             Vertical fonts have special glyph selection and can't use this path.
231
232         (WebCore::FontGlyphs::createFlattenedGlyphPage):
233
234             Build a hole-free glyph page by pulling characters from the fallback list.
235
236         (WebCore::FontGlyphs::glyphDataForCharacter):
237         * platform/graphics/FontGlyphs.h:
238         (WebCore::FontGlyphs::primarySimpleFontData):
239         * platform/graphics/GlyphPage.h:
240         (WebCore::GlyphPage::createForMixedFontData):
241         (WebCore::GlyphPage::createCopyForMixedFontData):
242
243             Add copy version.
244
245         (WebCore::GlyphPage::createForSingleFontData):
246
247             Remove owner node field.
248
249         (WebCore::GlyphPage::~GlyphPage):
250         (WebCore::GlyphPage::count):
251         (WebCore::GlyphPage::GlyphPage):
252         (WebCore::GlyphPage::createCopiedSystemFallbackPage): Deleted.
253         (WebCore::GlyphPage::owner): Deleted.
254         * platform/graphics/GlyphPageTreeNode.cpp: Removed.
255         * platform/graphics/GlyphPageTreeNode.h: Removed.
256         * platform/graphics/SegmentedFontData.cpp:
257         (WebCore::SegmentedFontData::SegmentedFontData):
258         (WebCore::SegmentedFontData::~SegmentedFontData):
259         (WebCore::SegmentedFontData::simpleFontDataForCharacter):
260
261             Return null when there is no usable range so the client can tell the difference.
262             Rename for clarity.
263
264         (WebCore::SegmentedFontData::simpleFontDataForFirstRange):
265
266             Add a way to get the fallback font separately. This is always available.
267
268         (WebCore::SegmentedFontData::isLoading):
269         (WebCore::SegmentedFontData::fontDataForCharacter): Deleted.
270         * platform/graphics/SegmentedFontData.h:
271         (WebCore::SegmentedFontData::SegmentedFontData): Deleted.
272         * platform/graphics/SimpleFontData.cpp:
273         (WebCore::SimpleFontData::initCharWidths):
274         (WebCore::SimpleFontData::platformGlyphInit):
275         (WebCore::SimpleFontData::~SimpleFontData):
276         (WebCore::SimpleFontData::simpleFontDataForCharacter):
277         (WebCore::fillGlyphPage):
278         (WebCore::createAndFillGlyphPage):
279
280             Move code for initializing glyph pages here. The code is from GlyphPageTreeNode.
281
282         (WebCore::SimpleFontData::glyphPage):
283
284             Cache glyphs for this font. These pages may have holes.
285
286         (WebCore::SimpleFontData::glyphForCharacter):
287         (WebCore::SimpleFontData::glyphDataForCharacter):
288         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
289
290             Since the cache is now owned by the SimpleFontData all the custom pruning can go away.
291             The glyph page cache dies along with it owner.
292
293         (WebCore::SimpleFontData::fontDataForCharacter): Deleted.
294         * platform/graphics/SimpleFontData.h:
295         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
296         (-[WebCascadeList objectAtIndex:]):
297         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
298         * platform/graphics/mac/FontComplexTextMac.cpp:
299         (WebCore::Font::fontDataForCombiningCharacterSequence):
300         * platform/graphics/mac/GlyphPageMac.cpp: Copied from Source/WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp.
301
302             This was already misnamed.
303
304         (WebCore::GlyphPage::fill):
305         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Removed.
306         * platform/graphics/mac/SimpleFontDataMac.mm:
307         (WebCore::SimpleFontData::platformInit):
308         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
309         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
310         * platform/graphics/win/SimpleFontDataCGWin.cpp:
311         (WebCore::SimpleFontData::platformInit):
312         * platform/mac/DragImageMac.mm:
313
314             Add missing FontCachePurgePreventer.
315
316         (WebCore::createDragImageForLink):
317         * svg/SVGFontData.cpp:
318         (WebCore::SVGFontData::initializeFontData):
319         * svg/SVGFontElement.cpp:
320
321 2015-01-04  Anders Carlsson  <andersca@apple.com>
322
323         Remove an unused function
324         https://bugs.webkit.org/show_bug.cgi?id=140055
325
326         Reviewed by Sam Weinig.
327
328         * Modules/webdatabase/DatabaseAuthorizer.cpp:
329         (WebCore::DatabaseAuthorizer::setReadOnly): Deleted.
330         * Modules/webdatabase/DatabaseAuthorizer.h:
331         * Modules/webdatabase/DatabaseBackendBase.cpp:
332         (WebCore::DatabaseBackendBase::setAuthorizerReadOnly): Deleted.
333         * Modules/webdatabase/DatabaseBackendBase.h:
334
335 2015-01-04  Anders Carlsson  <andersca@apple.com>
336
337         Modernize parts of the database code
338         https://bugs.webkit.org/show_bug.cgi?id=140054
339
340         Reviewed by Antti Koivisto.
341
342         * Modules/webdatabase/Database.cpp:
343         (WebCore::Database::runTransaction):
344         * Modules/webdatabase/Database.h:
345         * Modules/webdatabase/SQLStatement.cpp:
346         (WebCore::SQLStatement::SQLStatement):
347         * Modules/webdatabase/SQLStatement.h:
348         * Modules/webdatabase/SQLTransaction.cpp:
349         (WebCore::SQLTransaction::create):
350         (WebCore::SQLTransaction::SQLTransaction):
351         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
352         (WebCore::SQLTransaction::executeSQL):
353         * Modules/webdatabase/SQLTransaction.h:
354         (WebCore::SQLTransaction::database):
355
356 2015-01-03  Chris Dumez  <cdumez@apple.com>
357
358         Move the CSS Grid properties to the new StyleBuilder
359         https://bugs.webkit.org/show_bug.cgi?id=140051
360
361         Reviewed by Sam Weinig.
362
363         Move the CSS Grid properties from StyleResolver to the new
364         StyleBuilder.
365
366         This patch adds support for "ConditionalConverter" parameter in
367         CSSPropertyNames.in to support cases where we only want to call the
368         property setter conditionally. The converter function is then expected
369         to return a boolean to indicate if the setter should be called by the
370         StyleBuilder or not.
371
372 2015-01-02  Chris Dumez  <cdumez@apple.com>
373
374         Kill the DeprecatedStyleBuilder
375         https://bugs.webkit.org/show_bug.cgi?id=140034
376
377         Reviewed by Darin Adler.
378
379         Move FillLayer properties to the new StyleBuilder and get rid of the
380         DeprecatedStyleBuilder now that all its CSS properties have been ported
381         to the new StyleBuilder.
382
383 2015-01-02  Chris Dumez  <cdumez@apple.com>
384
385         Move 'font-size' CSS property to the new StyleBuilder
386         https://bugs.webkit.org/show_bug.cgi?id=140010
387
388         Reviewed by Darin Adler.
389
390         Move 'font-size' CSS property to the new StyleBuilder by using custom
391         code.
392
393 2015-01-02  Darin Adler  <darin@apple.com>
394
395         Pass Document instead of ScriptExecutionContext to non-worker constructors
396         https://bugs.webkit.org/show_bug.cgi?id=140040
397
398         Reviewed by Sam Weinig.
399
400         * bindings/scripts/CodeGeneratorJS.pm:
401         (GenerateConstructorDefinition):
402         Generate code passing the document when ConstructorCallWith=Document is used.
403         Later, we could base this on whether the constructor is exposed to workers
404         or not, instead, but for now this seems a clean way to do it.
405
406         * bindings/scripts/IDLAttributes.txt: Allow ConstructorCallWith=Document.
407
408         * Modules/notifications/Notification.cpp:
409         (WebCore::Notification::create):
410         * Modules/notifications/Notification.h:
411         * Modules/notifications/Notification.idl:
412         * dom/Comment.cpp:
413         * dom/Comment.h:
414         * dom/Comment.idl:
415         * dom/DocumentFragment.cpp:
416         (WebCore::DocumentFragment::nodeName): Use ASCIILiteral (just something
417         I noticed in passing).
418         * dom/DocumentFragment.h:
419         * dom/DocumentFragment.idl:
420         * dom/Range.cpp:
421         * dom/Range.h:
422         * dom/Range.idl:
423         * dom/Text.cpp:
424         * dom/Text.h:
425         * dom/Text.idl:
426         Change from ScriptExecutionContext to Document, and remove unneeded
427         overloads that were just casting. It's better to have the bindings
428         layer, which knows these are not ScriptExecutionContext, do the cast
429         than to have create functions that cast that are not in any position
430         to know the cast is safe.
431
432 2015-01-02  Darin Adler  <darin@apple.com>
433
434         Re-land the HTMLTreeBuilder change with the assertion fixed.
435         https://bugs.webkit.org/show_bug.cgi?id=140032
436
437         Reviewed by Andreas Kling.
438
439 2015-01-02  Commit Queue  <commit-queue@webkit.org>
440
441         Unreviewed, rolling out r177859 and r177861.
442         https://bugs.webkit.org/show_bug.cgi?id=140042
443
444         Caused many assertion failures (Requested by ap on #webkit).
445
446         Reverted changesets:
447
448         "Modernize coding style of HTMLTreeBuilder"
449         https://bugs.webkit.org/show_bug.cgi?id=140032
450         http://trac.webkit.org/changeset/177859
451
452         "Tried to fix the iOS build."
453         http://trac.webkit.org/changeset/177861
454
455 2015-01-02  Dan Bernstein  <mitz@apple.com>
456
457         Tried to fix the iOS build.
458
459         * html/parser/HTMLTreeBuilder.cpp:
460
461 2015-01-01  Darin Adler  <darin@apple.com>
462
463         Rework code that hides characters in password fields to streamline a little
464         https://bugs.webkit.org/show_bug.cgi?id=140035
465
466         Reviewed by Sam Weinig.
467
468         * editing/InsertIntoTextNodeCommand.cpp:
469         (WebCore::InsertIntoTextNodeCommand::doApply): Pass the offset after the character
470         we want to reveal instead of the offset before. This is more future proof if we
471         ever want to handling surrogate pairs or combining marks, rather than hard
472         coding the likely incorrect rule of "go back by one code unit". Also got rid of
473         the isSecure check here, since RenderText can do that check inside the
474         momentarilyRevealLastTypedCharacter instead.
475
476         * rendering/RenderText.cpp: Tweaked the SecureTextTimer class: Marked it final
477         and made it derive from TimerBase privately. Made the constructor explicit and
478         made it take a reference rather than a pointer. Use initialization in the class
479         to set up the variable, and use 0 as the special value instead of -1 since we
480         now store the offset *after* the character to be revealed.
481         (WebCore::secureTextTimers): Use this function and NeverDestroyed rather than
482         a global variable gSecureTextTimers. Also use unique_ptr for the map so we
483         don't have to delete explicitly any more.
484         (WebCore::SecureTextTimer::SecureTextTimer): Moved out of the class definition
485         so the class ia a little easier to read.
486         (WebCore::SecureTextTimer::restart): Renamed since the function name doesn't
487         have to describe its argument; the function is only called in one place.
488         (WebCore::SecureTextTimer::takeOffsetAfterLastTypedCharacter): Changed name
489         and made this a one-shot that always zeroes the offset.
490         (WebCore::SecureTextTimer::fired): Moved out of line and tweaked as above.
491         (WebCore::RenderText::willBeDestroyed): Simplified now that the function
492         secureTextTimers() always returns a map and we can just remove since the
493         values in the map are unique_ptr, so take care of deletion.
494         (WebCore::RenderText::setRenderedText): Tweaked the code that calls secureText
495         to make the iOS case clearer.
496         (WebCore::RenderText::secureText): Rewrote the function. New version no
497         longer relies on a special String::fill function; it's kind of strange that
498         String had a built in concept of replacing a string with one that has the
499         same length but all with a masking character. This new approach is cleaner.
500         I had written a version that handles surrogate pairs and combining marks,
501         but then instead wrote a comment explaining why that's not needed/helpful.
502         (WebCore::RenderText::momentarilyRevealLastTypedCharacter): Added a check so
503         this does nothing if we are not securing the text. Also updated logic so that
504         this doesn't double hash any more and updated for other changes like using
505         a reference instead of a pointer.
506
507         * rendering/RenderText.h: Removed the unneeded isSecure function and updated
508         the argument name in momentarilyRevealLastTypedCharacter since it's now the
509         offset after the character, not before the character.
510
511 2015-01-01  Darin Adler  <darin@apple.com>
512
513         Modernize coding style of HTMLTreeBuilder
514         https://bugs.webkit.org/show_bug.cgi?id=140032
515
516         Reviewed by Andreas Kling.
517
518         Changes include:
519         - Use references rather than pointers.
520         - Mark data members const that are fully set up in the constructor.
521         - Remove many unneeded includes and forward declarations.
522         - Fix conditionals to be consistent and correct.
523         - Merge some multi-line constructs into a single line.
524         - Update whatwg.org URLs; not sure we should keep these, though.
525         - Cut down on use of WTF_MAKE_NONCOPYABLE since for many classes it's
526           impossible to copy anyway due to references, or harmless to copy.
527         - Made more things private.
528         - Initialize scalars in the class definition rather than each constructor.
529         - Use Ref/RefPtr instead of PassRefPtr.
530
531         * html/parser/HTMLDocumentParser.cpp:
532         (WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass reference rather than pointer to
533         the context element.
534         (WebCore::HTMLDocumentParser::detach): Removed call to HTMLTreeBuilder::detach. This work
535         is instead done when the tree builder is destroyed.
536         (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Pass reference rather than pointer.
537
538         * html/parser/HTMLTreeBuilder.cpp:
539         (WebCore::uninitializedPositionValue1): Marked this inline because it's trivial. It was
540         probably getting inlined already.
541         (WebCore::isCaptionColOrColgroupTag): Format on a single line.
542         (WebCore::isTableBodyContextTag): Ditto.
543         (WebCore::isNonAnchorFormattingTag): Ditto.
544         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
545         Take reference instead of pointer.
546         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Use makeString helper.
547         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading): Tweak formatting.
548         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading): Both of the above.
549         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::makeString): Added.
550         (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Moved the body of this function here,
551         since it's only used inside the class.
552         (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Ditto.
553         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Get rid of dead code that handles a null context
554         element. The FIXME mentions a bug that is obsolete. Also reorder the data members to be a bit
555         more logical and set the new m_destructionProhibited to false at the end of the constructor,
556         to check if we accidentally destroy the tree builder while constructing it.
557         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Updated to take
558         a reference and to let m_fragment get initialized in the class definition.
559         (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment): Moved this here since it's only
560         used inside the class.
561         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto.
562         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Ditto.
563         (WebCore::HTMLTreeBuilder::takeScriptToProcess): Changed return type to RefPtr instead of
564         PassRefPtr. Added code to handle m_scriptToProcess of null, since reading the code at the
565         single call site makes it clear that it's not guaranteed to be non-null! Added destruction-
566         related assertions since this is a public function.
567         (WebCore::HTMLTreeBuilder::constructTree): Updated for reference rather than pointer. Also
568         added destruction-related assertions since this is a public function.
569         (WebCore::HTMLTreeBuilder::processToken): Updated to take a reference.
570         (WebCore::HTMLTreeBuilder::processDoctypeToken): Ditto.
571         (WebCore::HTMLTreeBuilder::processFakeStartTag): Ditto. Also take an rvalue reference for
572         the vector of attributes that we will put into the token.
573         (WebCore::HTMLTreeBuilder::processFakeEndTag): Ditto.
574         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto.
575         (WebCore::HTMLTreeBuilder::attributesForIsindexInput): Ditto.
576         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto.
577         (WebCore::isLi): Ditto.
578         (WebCore::isDdOrDt): Ditto.
579         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Changed loop to use reference
580         rather than pointer for never-null stackItem. Also use auto and a for loop to make the
581         loop easier to read.
582         (WebCore::createCaseMap): Tweaked formatting.
583         (WebCore::adjustAttributes): Ditto.
584         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Use reference instead of pointer.
585         Set insertion mode directly instead of using a setInsertionMode function.
586         (WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto.
587         (WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto.
588         (WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents): Ditto.
589         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto.
590         (WebCore::HTMLTreeBuilder::closeTheCell): Ditto.
591         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
592         (WebCore::HTMLTreeBuilder::processStartTag): Ditto. Tweaked assertions, so that we
593         assert what state we are in before we fall through to each case, rather than asserting
594         inside each case. The per-case assertions were sort of excessive and repetitive and
595         even a bit hard to understand.
596         (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto.
597         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto.
598         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto.
599         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto.
600         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto.
601         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto.
602         (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
603         (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
604         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
605         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto.
606         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto.
607         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto.
608         (WebCore::HTMLTreeBuilder::processEndTagForInTable): Ditto.
609         (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
610         (WebCore::HTMLTreeBuilder::processComment): Ditto.
611         (WebCore::HTMLTreeBuilder::processCharacter): Ditto.
612         (WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Ditto.
613         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
614         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Ditto.
615         (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
616         (WebCore::HTMLTreeBuilder::defaultForInitial): Ditto.
617         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML): Ditto.
618         (WebCore::HTMLTreeBuilder::defaultForBeforeHead): Ditto.
619         (WebCore::HTMLTreeBuilder::defaultForInHead): Ditto.
620         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript): Ditto.
621         (WebCore::HTMLTreeBuilder::defaultForAfterHead): Ditto.
622         (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
623         (WebCore::HTMLTreeBuilder::processStartTagForInHead): Ditto.
624         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
625         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
626         (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.
627         (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Made this return a reference.
628         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): More of the same.
629         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.
630         (WebCore::HTMLTreeBuilder::finished): Changed m_isAttached assertion to !m_destroyed.
631         Also updated the comment.
632         (WebCore::HTMLTreeBuilder::parseError): Marked this empty function inline.
633
634         * html/parser/HTMLTreeBuilder.h: Removed most includes and forward declarations.
635         Changed the phone number functions conditional to be correct. Removed a non-helpful
636         FIXME about assertions we really don't need. Removed unneeded use of the inline keyword,
637         changed types to references rather than pointer. Removed unneeded public insertionMode
638         and setInsertionMode functions. Both are things that are only done inside this class and
639         m_insertionMode can be accessed directly instead. Added a destructor that implements
640         the destruction assertions. Asserted !m_destroyed at the start of all the public functions.
641
642         * html/parser/TextDocumentParser.cpp:
643         (WebCore::TextDocumentParser::insertFakePreElement): Use reference rather than pointer.
644
645 2015-01-02  Manuel Rego Casasnovas  <rego@igalia.com>
646
647         [CSS Grid Layout] Remove stack from grid-auto-flow syntax
648         https://bugs.webkit.org/show_bug.cgi?id=134842
649
650         Reviewed by Sergio Villar Senin.
651
652         "stack" mode for grid-auto-flow property has been removed from the grid
653         layout spec. New syntax is:
654           [ row | column ] || dense
655
656         Modified parsing in order to adapt it to the new syntax.
657
658         Also the current behavior relying on "stack" has been updated following
659         the spec. Now it won't be possible to mimic the old "none" (or "stack")
660         unless you specify manually the grid-placement properties.
661
662         No new tests needed, updated current tests to adapt them to the new
663         behavior.
664
665         * css/CSSComputedStyleDeclaration.cpp:
666         (WebCore::ComputedStyleExtractor::propertyValue): Adapt to new syntax.
667         * css/CSSParser.cpp:
668         (WebCore::isValidGridAutoFlowId): Remove "stack" from valid ids.
669         (WebCore::CSSParser::parseGridAutoFlow): Adapt to new syntax.
670         * css/CSSValueKeywords.in: Remove "stack".
671         * css/StyleResolver.cpp:
672         (WebCore::StyleResolver::applyProperty): Adapt to new syntax.
673         * rendering/RenderGrid.cpp:
674         (WebCore::RenderGrid::placeItemsOnGrid): Remove old "stack" code.
675         * rendering/style/GridResolvedPosition.cpp:
676         (WebCore::GridResolvedPosition::resolveGridPositionsFromStyle): If we
677         cannot resolve positions, we have to run the auto-placement algorithm.
678         * rendering/style/RenderStyle.h: Remove "stack".
679         * rendering/style/RenderStyleConstants.h: Ditto.
680
681 2015-01-01  Sam Weinig  <sam@webkit.org>
682
683         Remove GroupSettings
684         https://bugs.webkit.org/show_bug.cgi?id=140037
685
686         Reviewed by Dan Bernstein.
687
688         Nothing sets the values in GroupSettings and nothing uses them.
689         - The indexedDBDatabasePath is accessed and sent to the IndexedDB backend,
690           but the backend then proceeds to not use it.
691
692         * CMakeLists.txt:
693         * Modules/indexeddb/IDBFactory.cpp:
694         (WebCore::IDBFactory::getDatabaseNames):
695         (WebCore::IDBFactory::deleteDatabase):
696         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
697         (WebCore::IDBFactoryBackendInterface::create):
698         * Modules/indexeddb/IDBFactoryBackendInterface.h:
699         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
700         (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
701         (WebCore::PageGroupIndexedDatabase::from):
702         (WebCore::PageGroupIndexedDatabase::factoryBackend):
703         * Modules/indexeddb/PageGroupIndexedDatabase.h:
704         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
705         (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
706         (WebCore::WorkerGlobalScopeIndexedDatabase::from):
707         (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
708         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
709         * WebCore.exp.in:
710         * WebCore.vcxproj/WebCore.vcxproj:
711         * WebCore.vcxproj/WebCore.vcxproj.filters:
712         * WebCore.xcodeproj/project.pbxproj:
713         * dom/DocumentStyleSheetCollection.cpp:
714         * page/CaptionUserPreferences.cpp:
715         * page/Frame.cpp:
716         * page/GroupSettings.cpp: Removed.
717         * page/GroupSettings.h: Removed.
718         * page/PageGroup.cpp:
719         (WebCore::PageGroup::PageGroup):
720         * page/PageGroup.h:
721         (WebCore::PageGroup::groupSettings): Deleted.
722         * platform/DatabaseStrategy.cpp:
723         (WebCore::DatabaseStrategy::createIDBFactoryBackend):
724         * platform/DatabaseStrategy.h:
725         * workers/DedicatedWorkerGlobalScope.cpp:
726         (WebCore::DedicatedWorkerGlobalScope::create):
727         (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
728         * workers/DedicatedWorkerGlobalScope.h:
729         * workers/DedicatedWorkerThread.cpp:
730         (WebCore::DedicatedWorkerThread::create):
731         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
732         (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
733         * workers/DedicatedWorkerThread.h:
734         * workers/DefaultSharedWorkerRepository.cpp:
735         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
736         (WebCore::SharedWorkerProxy::groupSettings): Deleted.
737         * workers/SharedWorkerGlobalScope.cpp:
738         (WebCore::SharedWorkerGlobalScope::create):
739         (WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
740         * workers/SharedWorkerGlobalScope.h:
741         * workers/SharedWorkerThread.cpp:
742         (WebCore::SharedWorkerThread::create):
743         (WebCore::SharedWorkerThread::SharedWorkerThread):
744         (WebCore::SharedWorkerThread::createWorkerGlobalScope):
745         * workers/SharedWorkerThread.h:
746         * workers/WorkerGlobalScope.cpp:
747         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
748         * workers/WorkerGlobalScope.h:
749         (WebCore::WorkerGlobalScope::groupSettings): Deleted.
750         * workers/WorkerMessagingProxy.cpp:
751         (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
752         * workers/WorkerThread.cpp:
753         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
754         (WebCore::WorkerThread::WorkerThread):
755         (WebCore::WorkerThread::workerThread):
756         * workers/WorkerThread.h:
757
758 2015-01-01  Dan Bernstein  <mitz@apple.com>
759
760         Tried to fix the iOS build.
761
762         * page/scrolling/ios/ScrollingTreeIOS.cpp:
763         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
764
765 2015-01-01  Darin Adler  <darin@apple.com>
766
767         Fix itearator typo
768         https://bugs.webkit.org/show_bug.cgi?id=140027
769
770         Reviewed by Csaba Osztrogonác.
771
772         * rendering/SimpleLineLayoutFlowContents.cpp:
773         (WebCore::SimpleLineLayout::nextBreakablePosition): Spelling mistake.
774
775 2015-01-01  Alexey Proskuryakov  <ap@apple.com>
776
777         Don't dereference end() in SimpleLineLayout::RunResolver::rangeForRenderer
778         https://bugs.webkit.org/show_bug.cgi?id=139951
779         rdar://problem/19339881
780
781         Reviewed by Darin Adler.
782
783         * rendering/SimpleLineLayoutResolver.cpp:
784         (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
785
786 2015-01-01  Chris Dumez  <cdumez@apple.com>
787
788         ASSERT that a null key is never used with FeatureCounter
789         https://bugs.webkit.org/show_bug.cgi?id=140030
790
791         Reviewed by Darin Adler.
792
793         * platform/FeatureCounter.cpp:
794         (WebCore::FeatureCounter::incrementKey):
795         (WebCore::FeatureCounter::setKey):
796         * platform/ios/FeatureCounter.mm:
797         (WebCore::FeatureCounter::incrementKey):
798         (WebCore::FeatureCounter::setKey):
799
800 2015-01-01  Chris Dumez  <cdumez@apple.com>
801
802         [iOS] Fix memory leak in FeatureCounter
803         https://bugs.webkit.org/show_bug.cgi?id=140029
804         <rdar://problem/19255690>
805
806         Reviewed by Darin Adler.
807
808         Fix memory leak in FeatureCounter. The NSString for the counter key
809         was allocated but never released. The patch switches to using a
810         RetainPtr instead of a raw pointer to avoid the issue.
811
812         * platform/ios/FeatureCounter.mm:
813         (WebCore::FeatureCounter::incrementKey):
814         (WebCore::FeatureCounter::setKey):
815
816 2015-01-01  Jeff Miller  <jeffm@apple.com>
817
818         Update user-visible copyright strings to include 2015
819         https://bugs.webkit.org/show_bug.cgi?id=139880
820
821         Reviewed by Darin Adler.
822
823         * Info.plist:
824
825 2014-12-31  Sam Weinig  <sam@webkit.org>
826
827         Move scrolling code off of WTF::bind
828         https://bugs.webkit.org/show_bug.cgi?id=140019
829
830         Reviewed by Darin Adler.
831
832         * page/scrolling/ThreadedScrollingTree.cpp:
833         (WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):
834         (WebCore::ThreadedScrollingTree::invalidate):
835         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
836         (WebCore::ThreadedScrollingTree::handleWheelEventPhase):
837         (WebCore::derefScrollingCoordinator): Deleted.
838         * page/scrolling/ios/ScrollingTreeIOS.cpp:
839         (WebCore::ScrollingTreeIOS::invalidate):
840         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
841         (WebCore::derefScrollingCoordinator): Deleted.
842         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
843         (WebCore::ScrollingCoordinatorMac::pageDestroyed):
844         (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
845         * platform/MemoryPressureHandler.cpp:
846         (WebCore::MemoryPressureHandler::releaseMemory):
847         * workers/WorkerThread.cpp:
848         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
849
850 2015-01-01  Antti Koivisto  <antti@apple.com>
851
852         Remove FontData::containsCharacters
853         https://bugs.webkit.org/show_bug.cgi?id=140026
854
855         Reviewed by Dan Bernstein.
856
857         This virtual function has no clients.
858
859         * platform/graphics/FontData.h:
860         * platform/graphics/SegmentedFontData.cpp:
861         (WebCore::SegmentedFontData::containsCharacter): Deleted.
862         (WebCore::SegmentedFontData::containsCharacters): Deleted.
863         * platform/graphics/SegmentedFontData.h:
864         * platform/graphics/SimpleFontData.h:
865         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
866         (WebCore::SimpleFontData::containsCharacters): Deleted.
867         * platform/graphics/ios/SimpleFontDataIOS.mm:
868         (WebCore::SimpleFontData::containsCharacters): Deleted.
869         * platform/graphics/mac/SimpleFontDataMac.mm:
870         (WebCore::SimpleFontData::containsCharacters): Deleted.
871         * platform/graphics/win/SimpleFontDataWin.cpp:
872         (WebCore::SimpleFontData::containsCharacters): Deleted.
873
874 2015-01-01  Darin Adler  <darin@apple.com>
875
876         We often misspell identifier as "identifer"
877         https://bugs.webkit.org/show_bug.cgi?id=140025
878
879         Reviewed by Michael Saboff.
880
881         * html/MediaFragmentURIParser.cpp:
882         (WebCore::MediaFragmentURIParser::parseNPTFragment):
883         * html/parser/AtomicHTMLToken.h:
884         * html/parser/HTMLToken.h:
885         * html/shadow/SliderThumbElement.h:
886         * platform/graphics/ISOVTTCue.cpp:
887         (WebCore::ISOWebVTTCue::ISOWebVTTCue):
888         * platform/graphics/ISOVTTCue.h:
889         (WebCore::ISOWebVTTCue::id):
890         Fix mispellings.
891
892 2015-01-01  Zalan Bujtas  <zalan@apple.com>
893
894         Saturated arithmetics: Incorrect float/double clamping.
895         https://bugs.webkit.org/show_bug.cgi?id=139888
896         rdar://problem/19330885
897
898         Reviewed by Simon Fraser.
899
900         Clamp float and double values correctly when applying saturated arithmetics.
901
902         Test: LayoutUnit test for float overflow.
903
904         * platform/LayoutUnit.h:
905         (WebCore::LayoutUnit::LayoutUnit):
906
907 2014-12-31  Dan Bernstein  <mitz@apple.com>
908
909         Fixed the iOS build.
910
911         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
912         (WebCore::ScrollingCoordinatorIOS::commitTreeState):
913
914 2014-12-31  Csaba Osztrogonác  <ossy@webkit.org>
915
916         URTBF after r177835.
917
918         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
919         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
920         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
921
922 2014-12-31  Commit Queue  <commit-queue@webkit.org>
923
924         Unreviewed, rolling out r176476.
925         https://bugs.webkit.org/show_bug.cgi?id=140021
926
927         Sadly, this didn't reduce media test crashiness (Requested by
928         ap on #webkit).
929
930         Reverted changeset:
931
932         "[Mac] Random crashes inside media libraries when creating
933         then destroying media quickly."
934         https://bugs.webkit.org/show_bug.cgi?id=138980
935         http://trac.webkit.org/changeset/176476
936
937 2014-12-31  Sam Weinig  <sam@webkit.org>
938
939         Remove the remaining uses of OwnPtr from WebKit2
940         https://bugs.webkit.org/show_bug.cgi?id=140017
941
942         Reviewed by Dan Bernstein.
943
944         * WebCore.exp.in:
945         * page/scrolling/AsyncScrollingCoordinator.cpp:
946         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
947         * page/scrolling/AsyncScrollingCoordinator.h:
948         * page/scrolling/ScrollingStateTree.cpp:
949         (WebCore::ScrollingStateTree::commit):
950         (WebCore::ScrollingStateTree::create): Deleted.
951         * page/scrolling/ScrollingStateTree.h:
952         * page/scrolling/ScrollingTree.cpp:
953         (WebCore::ScrollingTree::commitNewTreeState):
954         * page/scrolling/ScrollingTree.h:
955         * page/scrolling/ThreadedScrollingTree.cpp:
956         (WebCore::ThreadedScrollingTree::commitNewTreeState):
957         * page/scrolling/ThreadedScrollingTree.h:
958         * page/scrolling/ios/ScrollingTreeIOS.cpp:
959         (WebCore::ScrollingTreeIOS::commitNewTreeState):
960         * page/scrolling/ios/ScrollingTreeIOS.h:
961         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
962         (WebCore::ScrollingCoordinatorMac::commitTreeState):
963
964 2014-12-31  Dan Bernstein  <mitz@apple.com>
965
966         Don’t use AccessibilityAllInOne when building with Xcode
967         https://bugs.webkit.org/show_bug.cgi?id=139974
968
969         Reviewed by Darin Adler.
970
971         * WebCore.xcodeproj/project.pbxproj: Added all files included by AccessibilityAllInOne.cpp
972         to the WebCore target, and removed AccessibilityAllInOne.cpp from the project.
973
974 2014-12-30  Chris Dumez  <cdumez@apple.com>
975
976         Move font-related CSS properties to the new StyleBuilder
977         https://bugs.webkit.org/show_bug.cgi?id=140008
978
979         Reviewed by Darin Adler.
980
981         Move font-related CSS properties to the new StyleBuilder
982         by teaching makeprop.pl how to generate them.
983
984         * css/CSSPropertyNames.in:
985         * css/DeprecatedStyleBuilder.cpp:
986         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
987         (WebCore::ApplyPropertyFont::applyInheritValue): Deleted.
988         (WebCore::ApplyPropertyFont::applyInitialValue): Deleted.
989         (WebCore::ApplyPropertyFont::applyValue): Deleted.
990         (WebCore::ApplyPropertyFont::createHandler): Deleted.
991         * css/makeprop.pl:
992         (generateInitialValueSetter):
993         (generateInheritValueSetter):
994         (generateValueSetter):
995         * platform/graphics/FontDescription.h:
996         (WebCore::FontDescription::initialItalic):
997         (WebCore::FontDescription::initialSmallCaps):
998         (WebCore::FontDescription::initialKerning):
999         (WebCore::FontDescription::initialFontSmoothing):
1000         (WebCore::FontDescription::initialTextRenderingMode):
1001
1002 2014-12-30  Chris Dumez  <cdumez@apple.com>
1003
1004         Move '-webkit-font-variant-ligature' CSS property to the new StyleBuilder
1005         https://bugs.webkit.org/show_bug.cgi?id=140007
1006
1007         Reviewed by Darin Adler.
1008
1009         Move '-webkit-font-variant-ligature' CSS property to the new StyleBuilder
1010         by using custom code.
1011
1012         * css/CSSPropertyNames.in:
1013         * css/DeprecatedStyleBuilder.cpp:
1014         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1015         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Deleted.
1016         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Deleted.
1017         (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Deleted.
1018         (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Deleted.
1019         * css/StyleBuilderCustom.h:
1020         (WebCore::StyleBuilderCustom::applyInitialWebkitFontVariantLigatures):
1021         (WebCore::StyleBuilderCustom::applyInheritWebkitFontVariantLigatures):
1022         (WebCore::StyleBuilderCustom::applyValueWebkitFontVariantLigatures):
1023
1024 2014-12-29  Chris Dumez  <cdumez@apple.com>
1025
1026         Move animation / transition CSS properties to the new StyleBuilder
1027         https://bugs.webkit.org/show_bug.cgi?id=139999
1028
1029         Reviewed by Darin Adler.
1030
1031         Move animation / transition CSS properties to the new StyleBuilder by
1032         teaching makeprop.pl how to generate them.
1033
1034 2014-12-29  Anders Carlsson  <andersca@apple.com>
1035
1036         Remove more dead code
1037         https://bugs.webkit.org/show_bug.cgi?id=139998
1038
1039         Reviewed by Oliver Hunt.
1040
1041         * page/PageGroup.cpp:
1042         (WebCore::PageGroup::localStorage): Deleted.
1043         (WebCore::PageGroup::transientLocalStorage): Deleted.
1044         * page/PageGroup.h:
1045         (WebCore::PageGroup::hasLocalStorage): Deleted.
1046
1047 2014-12-29  Anders Carlsson  <andersca@apple.com>
1048
1049         Remove unneeded StorageNamespace functions
1050         https://bugs.webkit.org/show_bug.cgi?id=139997
1051
1052         Reviewed by Sam Weinig.
1053
1054         * loader/EmptyClients.cpp:
1055         * storage/StorageNamespace.h:
1056         (WebCore::StorageNamespace::closeIdleLocalStorageDatabases): Deleted.
1057
1058 2014-12-29  Anders Carlsson  <andersca@apple.com>
1059
1060         Get rid of some PageGroup storage functions
1061         https://bugs.webkit.org/show_bug.cgi?id=139996
1062
1063         Reviewed by Sam Weinig.
1064
1065         * WebCore.exp.in:
1066         * page/PageGroup.cpp:
1067         (WebCore::PageGroup::closeLocalStorage): Deleted.
1068         (WebCore::PageGroup::clearLocalStorageForAllOrigins): Deleted.
1069         (WebCore::PageGroup::clearLocalStorageForOrigin): Deleted.
1070         (WebCore::PageGroup::closeIdleLocalStorageDatabases): Deleted.
1071         (WebCore::PageGroup::syncLocalStorage): Deleted.
1072         * page/PageGroup.h:
1073
1074 2014-12-29  Anders Carlsson  <andersca@apple.com>
1075
1076         Move storage code from WebCore to WebKit
1077         https://bugs.webkit.org/show_bug.cgi?id=139558
1078
1079         Reviewed by Darin Adler.
1080
1081         * WebCore.exp.in:
1082         * WebCore.vcxproj/WebCore.vcxproj:
1083         * WebCore.vcxproj/WebCore.vcxproj.filters:
1084         * WebCore.xcodeproj/project.pbxproj:
1085         * platform/MemoryPressureHandler.cpp:
1086
1087 2014-12-29  Sebastian Dröge  <sebastian@centricular.com>
1088
1089         [GStreamer] Rewrite MediaSource implementation
1090         https://bugs.webkit.org/show_bug.cgi?id=139441
1091
1092         Reviewed by Philippe Normand.
1093
1094         This now is a clean reimplementation around appsrc that works good
1095         enough for YouTube (except for seeking), but it still does not
1096         implement the complete API correctly. Further work is required on
1097         top of this and the Bugzilla ticket linked above contains some
1098         further work in the right direction.
1099
1100         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1101         (WebCore::MediaPlayerPrivateGStreamer::doSeek):
1102         (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):
1103         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
1104         (WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData):
1105         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1106         (WebCore::MediaPlayerPrivateGStreamer::totalVideoFrames):
1107         (WebCore::MediaPlayerPrivateGStreamer::droppedVideoFrames):
1108         (WebCore::MediaPlayerPrivateGStreamer::corruptedVideoFrames):
1109         (WebCore::MediaPlayerPrivateGStreamer::totalFrameDelay):
1110         (WebCore::MediaPlayerPrivateGStreamer::isMediaSource):
1111         * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
1112         (WebCore::MediaSourceGStreamer::MediaSourceGStreamer):
1113         (WebCore::MediaSourceGStreamer::addSourceBuffer):
1114         (WebCore::MediaSourceGStreamer::durationChanged):
1115         (WebCore::MediaSourceGStreamer::markEndOfStream):
1116         (WebCore::MediaSourceGStreamer::unmarkEndOfStream):
1117         (WebCore::MediaSourceGStreamer::readyState):
1118         (WebCore::MediaSourceGStreamer::setReadyState):
1119         (WebCore::MediaSourceGStreamer::waitForSeekCompleted):
1120         (WebCore::MediaSourceGStreamer::seekCompleted):
1121         * platform/graphics/gstreamer/MediaSourceGStreamer.h:
1122         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:
1123         (WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
1124         (WebCore::SourceBufferPrivateGStreamer::~SourceBufferPrivateGStreamer):
1125         (WebCore::SourceBufferPrivateGStreamer::setClient):
1126         (WebCore::SourceBufferPrivateGStreamer::append):
1127         (WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):
1128         (WebCore::SourceBufferPrivateGStreamer::readyState):
1129         (WebCore::SourceBufferPrivateGStreamer::setReadyState):
1130         (WebCore::SourceBufferPrivateGStreamer::flushAndEnqueueNonDisplayingSamples):
1131         (WebCore::SourceBufferPrivateGStreamer::enqueueSample):
1132         (WebCore::SourceBufferPrivateGStreamer::isReadyForMoreSamples):
1133         (WebCore::SourceBufferPrivateGStreamer::setActive):
1134         (WebCore::SourceBufferPrivateGStreamer::stopAskingForMoreSamples):
1135         (WebCore::SourceBufferPrivateGStreamer::notifyClientWhenReadyForMoreSamples):
1136         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
1137         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1138         (webkit_media_src_class_init):
1139         (webkit_media_src_init):
1140         (webKitMediaSrcFinalize):
1141         (webKitMediaSrcSetProperty):
1142         (webKitMediaSrcGetProperty):
1143         (webKitMediaSrcDoAsyncStart):
1144         (webKitMediaSrcDoAsyncDone):
1145         (webKitMediaSrcChangeState):
1146         (webKitMediaSrcQueryWithParent):
1147         (webKitMediaSrcGetUri):
1148         (webKitMediaSrcSetUri):
1149         (WebCore::MediaSourceClientGStreamer::MediaSourceClientGStreamer):
1150         (WebCore::MediaSourceClientGStreamer::~MediaSourceClientGStreamer):
1151         (WebCore::MediaSourceClientGStreamer::addSourceBuffer):
1152         (WebCore::MediaSourceClientGStreamer::durationChanged):
1153         (WebCore::MediaSourceClientGStreamer::append):
1154         (WebCore::MediaSourceClientGStreamer::markEndOfStream):
1155         (WebCore::MediaSourceClientGStreamer::removedFromMediaSource):
1156         (WTF::adoptGRef):
1157         (WTF::refGPtr<WebKitMediaSrc>):
1158         (WTF::derefGPtr<WebKitMediaSrc>):
1159         (webKitMediaSrcAddSrc): Deleted.
1160         (webKitMediaVideoSrcStop): Deleted.
1161         (webKitMediaAudioSrcStop): Deleted.
1162         (webKitMediaVideoSrcStart): Deleted.
1163         (webKitMediaAudioSrcStart): Deleted.
1164         (webKitMediaVideoSrcNeedDataMainCb): Deleted.
1165         (webKitMediaAudioSrcNeedDataMainCb): Deleted.
1166         (webKitMediaVideoSrcNeedDataCb): Deleted.
1167         (webKitMediaAudioSrcNeedDataCb): Deleted.
1168         (webKitMediaVideoSrcEnoughDataMainCb): Deleted.
1169         (webKitMediaAudioSrcEnoughDataMainCb): Deleted.
1170         (webKitMediaVideoSrcEnoughDataCb): Deleted.
1171         (webKitMediaAudioSrcEnoughDataCb): Deleted.
1172         (webKitMediaVideoSrcSeekMainCb): Deleted.
1173         (webKitMediaAudioSrcSeekMainCb): Deleted.
1174         (webKitMediaVideoSrcSeekDataCb): Deleted.
1175         (webKitMediaAudioSrcSeekDataCb): Deleted.
1176         (webKitMediaSrcSetMediaPlayer): Deleted.
1177         (webKitMediaSrcSetPlayBin): Deleted.
1178         (MediaSourceClientGstreamer::MediaSourceClientGstreamer): Deleted.
1179         (MediaSourceClientGstreamer::~MediaSourceClientGstreamer): Deleted.
1180         (MediaSourceClientGstreamer::didReceiveDuration): Deleted.
1181         (MediaSourceClientGstreamer::didReceiveData): Deleted.
1182         (MediaSourceClientGstreamer::didFinishLoading): Deleted.
1183         (MediaSourceClientGstreamer::didFail): Deleted.
1184         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h:
1185         Rewrite MediaSource implementation for GStreamer. The old code was
1186         overly complicated and did not work at all for anything I've tested
1187         it with.
1188
1189 2014-12-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1190
1191         Unreviewed, additional build fix on win port since r177786.
1192
1193         * platform/graphics/opengl/Extensions3DOpenGLES.h: Change a constructor from *protected* to *public*.
1194
1195 2014-12-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1196
1197         Unreviewed, speculative build fix on win port since r177786.
1198
1199         Apply std::unique_ptr<> and std::make_unique<> to win files as well.
1200
1201         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1202         (WebCore::GraphicsContext3D::getExtensions):
1203         * platform/graphics/win/GraphicsContextWin.cpp:
1204         (WebCore::GraphicsContext::createWindowsBitmap):
1205
1206 2014-12-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1207
1208         Convert OwnPtr to std::unique_ptr in WebCore/graphics/
1209         https://bugs.webkit.org/show_bug.cgi?id=139971
1210
1211         Reviewed by Darin Adler.
1212
1213         Use std::unique_ptr<> and std::make_unique<> instead of OwnPtr.
1214
1215         * platform/graphics/GlyphMetricsMap.h:
1216         (WebCore::GlyphMetricsMap<T>::locatePageSlowCase):
1217         * platform/graphics/GlyphPageTreeNode.cpp:
1218         (WebCore::GlyphPageTreeNode::getChild):
1219         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
1220         (WebCore::GlyphPageTreeNode::pruneFontData):
1221         * platform/graphics/GlyphPageTreeNode.h:
1222         * platform/graphics/GraphicsContext.h:
1223         * platform/graphics/GraphicsContext3D.h:
1224         * platform/graphics/GraphicsContext3DPrivate.h:
1225         * platform/graphics/GraphicsLayer.h:
1226         * platform/graphics/MaskImageOperation.h:
1227         * platform/graphics/ca/LayerPool.h:
1228         * platform/graphics/ca/TileController.h:
1229         * platform/graphics/ca/TileCoverageMap.h:
1230         * platform/graphics/ca/mac/WebTiledBackingLayer.h:
1231         * platform/graphics/gpu/DrawingBuffer.h:
1232         * platform/graphics/gpu/Texture.cpp:
1233         (WebCore::Texture::Texture):
1234         (WebCore::Texture::create):
1235         * platform/graphics/gpu/Texture.h:
1236         * platform/graphics/opengl/Extensions3DOpenGL.h:
1237         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1238         (WebCore::GraphicsContext3D::getExtensions):
1239         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1240         (WebCore::GraphicsContext3D::compileShader):
1241         (WebCore::GraphicsContext3D::mappedSymbolName):
1242         * platform/graphics/wayland/WaylandDisplay.cpp:
1243         (WebCore::WaylandDisplay::createSharingGLContext):
1244         * platform/graphics/wayland/WaylandDisplay.h:
1245         * platform/graphics/wayland/WaylandSurface.cpp:
1246         (WebCore::WaylandSurface::createGLContext):
1247         * platform/graphics/wayland/WaylandSurface.h:
1248
1249 2014-12-28  Dan Bernstein  <mitz@apple.com>
1250
1251         iOS build fix.
1252
1253         Reverted r177781, because it appears to trigger <http://webkit.org/b/139609> on iOS.
1254
1255         * WebCore.xcodeproj/project.pbxproj:
1256
1257 2014-12-28  Roland Takacs  <rtakacs.u-szeged@partner.samsung.com>
1258
1259         Set relayoutChildren to 'true' only if size change happens in Table
1260         https://bugs.webkit.org/show_bug.cgi?id=139676
1261
1262         Reviewed by Darin Adler.
1263
1264         Pass 'true' value for layoutPositionedObjects() in case of size change.
1265         It helps to avoid unneccessary setChildNeedsLayout() and
1266         setPreferredLogicalWidthsDirty() calls.
1267
1268         This is a backport of my fix in Blink: https://codereview.chromium.org/714933002/
1269
1270         * rendering/RenderTable.cpp:
1271         (WebCore::RenderTable::layout):
1272
1273 2014-12-28  Dan Bernstein  <mitz@apple.com>
1274
1275         Don’t use AccessibilityAllInOne when building with Xcode
1276         https://bugs.webkit.org/show_bug.cgi?id=139974
1277
1278         Reviewed by Darin Adler.
1279
1280         * WebCore.xcodeproj/project.pbxproj: Added all files included by AccessibilityAllInOne.cpp
1281         to the WebCore target, and removed AccessibilityAllInOne.cpp from the project.
1282
1283 2014-12-26  Andreas Kling  <akling@apple.com>
1284
1285         Purge PassRefPtr from Element and ElementRareData.
1286         <https://webkit.org/b/139949>
1287
1288         Reviewed by Anders Carlsson.
1289
1290         Make functions that used to take PassRefPtr now take Ref&& or RefPtr&&
1291         instead depending on possible nullity of incoming values.
1292
1293         * dom/Element.cpp:
1294         (WebCore::Element::addShadowRoot):
1295         (WebCore::Element::setBeforePseudoElement):
1296         (WebCore::Element::setAfterPseudoElement):
1297         * dom/Element.h:
1298         * dom/ElementRareData.h:
1299         (WebCore::ElementRareData::setShadowRoot):
1300         (WebCore::ElementRareData::setBeforePseudoElement):
1301         (WebCore::ElementRareData::setAfterPseudoElement):
1302         * dom/PseudoElement.h:
1303         * dom/ShadowRoot.h:
1304         * style/StyleResolveTree.cpp:
1305         (WebCore::Style::setBeforeOrAfterPseudoElement):
1306         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
1307
1308 2014-12-26  Dan Bernstein  <mitz@apple.com>
1309
1310         <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
1311         https://bugs.webkit.org/show_bug.cgi?id=139950
1312
1313         Reviewed by David Kilzer.
1314
1315         * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
1316         in a manner that works with Xcode 5.1.1.
1317
1318 2014-12-25  Dhi Aurrahman  <diorahman@rockybars.com>
1319
1320         Allow strings as argument to :lang()
1321         https://bugs.webkit.org/show_bug.cgi?id=139678
1322
1323         Reviewed by Benjamin Poulain.
1324
1325         Allow strings as argument to :lang()[1]. The selector with empty string argument (e.g. :lang(""))
1326         is handled as never matching.
1327
1328         [1] http://www.w3.org/blog/CSS/2014/12/11/minutes-telecon-231/
1329
1330         Test: fast/css/css-lang-selector-with-string-arguments-text.html
1331               fast/selectors/lang-extended-filtering-with-string-arguments.html
1332
1333         * css/CSSGrammar.y.in:
1334         * css/SelectorCheckerTestFunctions.h:
1335         (WebCore::matchesLangPseudoClass):
1336
1337 2014-12-25  Andreas Kling  <akling@apple.com>
1338
1339         DOM exception creator functions should return Ref.
1340         <https://webkit.org/b/139947>
1341
1342         Reviewed by Chris Dumez.
1343
1344         Tweak all the FooException::create() to return Ref instead of
1345         PassRefPtr since construction always succeeds.
1346
1347         Also add a toJS() overload for ImplType& to keep bindings building.
1348
1349         * Modules/indexeddb/IDBDatabaseException.h:
1350         (WebCore::IDBDatabaseException::create):
1351         * Modules/webdatabase/SQLException.h:
1352         (WebCore::SQLException::create):
1353         * bindings/scripts/CodeGeneratorJS.pm:
1354         (GenerateHeader):
1355         * dom/DOMCoreException.h:
1356         (WebCore::DOMCoreException::create):
1357         * dom/EventException.h:
1358         (WebCore::EventException::create):
1359         * dom/RangeException.h:
1360         (WebCore::RangeException::create):
1361         * fileapi/FileException.h:
1362         (WebCore::FileException::create):
1363         * svg/SVGException.h:
1364         (WebCore::SVGException::create):
1365         * xml/XMLHttpRequestException.h:
1366         (WebCore::XMLHttpRequestException::create):
1367         * xml/XPathException.h:
1368         (WebCore::XPathException::create):
1369
1370 2014-12-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1371
1372         Unreviewed, fix build break on win debug build since r177737.
1373
1374         Partial revert some code in r177737 because it causes build error on win debug buildbot.
1375
1376         * dom/ElementIteratorAssertions.h:
1377         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
1378
1379 2014-12-25  Dan Bernstein  <mitz@apple.com>
1380
1381         Give extract-localizable-strings an option to treat warnings as errors
1382         https://bugs.webkit.org/show_bug.cgi?id=139943
1383
1384         Reviewed by Darin Adler.
1385
1386         Add a --treat-warnings-as-errors option, which makes the script emit its warnings as errors
1387         and exit with a non-0 return code if it emitted any warnings.
1388
1389         * extract-localizable-strings.pl:
1390         Added $treatWarningsAsErrors variable, set to true if the option is passed in.
1391
1392         (emitWarning): Added. If $treatWarningsAsErrors is true, omits the "warning: " token from
1393         the message, which makes it appear as an error in Xcode, and sets $sawError to 1.
1394
1395         Replaced all print statements that printed warnings with calls to emitWarning.
1396
1397 2014-12-25  Dan Bernstein  <mitz@apple.com>
1398
1399         Bring the state of WEBCORE_EXPORT annotations closer to what the exports file specifies.
1400         https://bugs.webkit.org/show_bug.cgi?id=136172
1401
1402         Reviewed by Darin Adler.
1403
1404         * bridge/NP_jsobject.cpp: Give functions from npruntime_impl.h defined in this file default
1405         using a compiler pragma, in lieu of introducing WebCore-specific macros into that header.
1406         * bridge/npruntime.cpp: Ditto.
1407
1408         * platform/mac/WebCoreSystemInterface.mm: Similarly for WebCoreSystemInterface.h.
1409
1410         Added or removed WEBCORE_EXPORT in these files as necessary to match what is currently in
1411         the exports file:
1412
1413         * Modules/mediasource/SourceBuffer.h:
1414         * bindings/js/JSDOMBinding.h:
1415         * css/CSSComputedStyleDeclaration.h:
1416         * dom/ContainerNode.h:
1417         * dom/Document.h:
1418         * dom/MouseEvent.h:
1419         * dom/Range.h:
1420         * dom/SecurityContext.h:
1421         * editing/Editor.h:
1422         * editing/mac/DictionaryLookup.h:
1423         * loader/FrameLoaderClient.h:
1424         * loader/LoaderStrategy.h:
1425         * loader/icon/IconDatabaseBase.h:
1426         * page/ChromeClient.h:
1427         * page/EventHandler.h:
1428         * page/FrameSnapshotting.h:
1429         * page/Page.h:
1430         * page/PageOverlay.h:
1431         * page/PageOverlayController.h:
1432         * page/TextIndicator.h:
1433         * page/UserContentController.h:
1434         * page/WheelEventDeltaTracker.h:
1435         * page/mac/TextIndicatorWindow.h:
1436         * platform/DatabaseStrategy.h:
1437         * platform/ScrollableArea.h:
1438         * platform/SuddenTermination.h:
1439         * platform/URL.h:
1440         * platform/animation/Animation.h:
1441         * platform/cocoa/MachSendRight.h:
1442         * platform/graphics/FloatRoundedRect.h:
1443         * platform/graphics/GraphicsContext.h:
1444         * platform/graphics/GraphicsLayer.h:
1445         * platform/graphics/Path.h:
1446         * platform/graphics/TextRun.h:
1447         * platform/graphics/ca/TileController.h:
1448         * platform/graphics/cocoa/IOSurface.h:
1449         * platform/graphics/mac/ColorMac.h:
1450         * platform/mac/SoftLinking.h:
1451         * platform/mac/WebCoreNSStringExtras.h:
1452         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
1453         * platform/network/BlobRegistry.h:
1454         * platform/network/ResourceRequestBase.h:
1455         * platform/network/ResourceResponseBase.h:
1456         * rendering/HitTestResult.h:
1457         * rendering/RenderInline.h:
1458         * rendering/RenderLayerBacking.h:
1459         * rendering/RenderLayerCompositor.cpp:
1460         * rendering/RenderView.h:
1461         * storage/StorageNamespaceImpl.h:
1462         * storage/StorageNamespaceProvider.h:
1463         * testing/Internals.h:
1464
1465 2014-12-25  Chris Dumez  <cdumez@apple.com>
1466
1467         [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
1468         https://bugs.webkit.org/show_bug.cgi?id=139921
1469
1470         Reviewed by Gavin Barraclough and Alexey Proskuryakov.
1471
1472         Log better using FeatureCounter why PageCache is failing due to pruned
1473         resources. In particular, we now distinguish if the resource was pruned
1474         due to:
1475         - Memory pressure
1476         - Page cache capacity reached
1477         - WebProcess suspended (WK2)
1478
1479         * WebCore.exp.in:
1480         * history/HistoryItem.cpp:
1481         (WebCore::HistoryItem::HistoryItem):
1482         * history/HistoryItem.h:
1483         * history/PageCache.cpp:
1484         (WebCore::PageCache::pruneToCapacityNow):
1485         (WebCore::PageCache::setCapacity):
1486         (WebCore::pruningReasonToFeatureCounterKey):
1487         (WebCore::PageCache::add):
1488         (WebCore::PageCache::take):
1489         (WebCore::PageCache::get):
1490         (WebCore::PageCache::prune):
1491         * history/PageCache.h:
1492         * loader/FrameLoader.cpp:
1493         (WebCore::FrameLoader::commitProvisionalLoad):
1494         * platform/FeatureCounterKeys.h:
1495         * platform/MemoryPressureHandler.cpp:
1496         (WebCore::MemoryPressureHandler::releaseCriticalMemory):
1497
1498 2014-12-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1499
1500         Use std::unique_ptr<> in WebCore/dom, plugin, and graphics
1501         https://bugs.webkit.org/show_bug.cgi?id=139938
1502         
1503         Reviewed by Darin Adler.
1504
1505         Replace OwnPtr with std::unique_ptr<> and std::make_unique<>.
1506
1507         * dom/ElementIteratorAssertions.h:
1508         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
1509         * dom/MutationObserverRegistration.cpp:
1510         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
1511         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
1512         * dom/MutationObserverRegistration.h:
1513         * dom/StyledElement.cpp:
1514         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1515         * platform/graphics/SimpleFontData.h:
1516         (WebCore::SimpleFontData::boundsForGlyph):
1517         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
1518         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
1519         * platform/graphics/mac/SimpleFontDataMac.mm:
1520         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
1521         * plugins/PluginStream.cpp:
1522         (WebCore::PluginStream::didReceiveData):
1523         * plugins/PluginStream.h:
1524
1525 2014-12-25  Commit Queue  <commit-queue@webkit.org>
1526
1527         Unreviewed, rolling out r177712 and r177717.
1528         https://bugs.webkit.org/show_bug.cgi?id=139944
1529
1530         Caused flaky assertion failures (Requested by ap on #webkit).
1531
1532         Reverted changesets:
1533
1534         "[iOS] Log better using FeatureCounter why PageCache is
1535         failing due to pruned resources"
1536         https://bugs.webkit.org/show_bug.cgi?id=139921
1537         http://trac.webkit.org/changeset/177712
1538
1539         "Unreviewed, fix build warning after r177712"
1540         http://trac.webkit.org/changeset/177717
1541
1542 2014-12-25  Andreas Kling  <akling@apple.com>
1543
1544         Rebaseline bindings tests after r177733.
1545
1546         * bindings/scripts/test/JS/JSTestCallback.h:
1547         (WebCore::JSTestCallback::create):
1548
1549 2014-12-24  Andreas Kling  <akling@apple.com>
1550
1551         Convert more creator functions to return Ref instead of PassRefPtr.
1552         <https://webkit.org/b/139939>
1553
1554         Reviewed by Darin Adler.
1555
1556         Convert a slew of functions to return Ref<T> instead of PassRefPtr<T>
1557         where the result is guaranteed to never be null.
1558
1559         * Modules/geolocation/Coordinates.h:
1560         (WebCore::Coordinates::create):
1561         (WebCore::Coordinates::isolatedCopy):
1562         * Modules/plugins/QuickTimePluginReplacement.mm:
1563         (WebCore::QuickTimePluginReplacement::isolatedWorld):
1564         * Modules/webaudio/AnalyserNode.h:
1565         (WebCore::AnalyserNode::create):
1566         * Modules/webaudio/AudioBuffer.cpp:
1567         (WebCore::AudioBuffer::create):
1568         (WebCore::AudioBuffer::createFromAudioFileData):
1569         * Modules/webaudio/AudioBuffer.h:
1570         * Modules/webaudio/AudioBufferSourceNode.cpp:
1571         (WebCore::AudioBufferSourceNode::create):
1572         * Modules/webaudio/AudioBufferSourceNode.h:
1573         * Modules/webaudio/AudioContext.cpp:
1574         (WebCore::AudioContext::create):
1575         * Modules/webaudio/AudioContext.h:
1576         * Modules/webaudio/AudioListener.h:
1577         (WebCore::AudioListener::create):
1578         * Modules/webaudio/AudioParam.h:
1579         (WebCore::AudioParam::create):
1580         * Modules/webaudio/BiquadFilterNode.h:
1581         (WebCore::BiquadFilterNode::create):
1582         * Modules/webaudio/ConvolverNode.h:
1583         (WebCore::ConvolverNode::create):
1584         * Modules/webaudio/DelayNode.h:
1585         (WebCore::DelayNode::create):
1586         * Modules/webaudio/DynamicsCompressorNode.h:
1587         (WebCore::DynamicsCompressorNode::create):
1588         * Modules/webdatabase/ChangeVersionWrapper.h:
1589         (WebCore::ChangeVersionWrapper::create):
1590         * Modules/webdatabase/DatabaseAuthorizer.cpp:
1591         (WebCore::DatabaseAuthorizer::create):
1592         * Modules/webdatabase/DatabaseAuthorizer.h:
1593         * Modules/webdatabase/DatabaseThread.h:
1594         (WebCore::DatabaseThread::create):
1595         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
1596         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
1597         * accessibility/AXObjectCache.cpp:
1598         (WebCore::createFromRenderer):
1599         (WebCore::createFromNode):
1600         * accessibility/AccessibilityARIAGrid.cpp:
1601         (WebCore::AccessibilityARIAGrid::create):
1602         * accessibility/AccessibilityARIAGrid.h:
1603         * accessibility/AccessibilityARIAGridCell.cpp:
1604         (WebCore::AccessibilityARIAGridCell::create):
1605         * accessibility/AccessibilityARIAGridCell.h:
1606         * accessibility/AccessibilityARIAGridRow.cpp:
1607         (WebCore::AccessibilityARIAGridRow::create):
1608         * accessibility/AccessibilityARIAGridRow.h:
1609         * accessibility/AccessibilityImageMapLink.cpp:
1610         (WebCore::AccessibilityImageMapLink::create):
1611         * accessibility/AccessibilityImageMapLink.h:
1612         * accessibility/AccessibilityList.cpp:
1613         (WebCore::AccessibilityList::create):
1614         * accessibility/AccessibilityList.h:
1615         * accessibility/AccessibilityListBox.cpp:
1616         (WebCore::AccessibilityListBox::create):
1617         * accessibility/AccessibilityListBox.h:
1618         * accessibility/AccessibilityListBoxOption.cpp:
1619         (WebCore::AccessibilityListBoxOption::create):
1620         * accessibility/AccessibilityListBoxOption.h:
1621         * accessibility/AccessibilityMediaControls.cpp:
1622         (WebCore::AccessibilityMediaControl::create):
1623         (WebCore::AccessibilityMediaControlsContainer::create):
1624         (WebCore::AccessibilityMediaTimeline::create):
1625         (WebCore::AccessibilityMediaTimeDisplay::create):
1626         * accessibility/AccessibilityMediaControls.h:
1627         * accessibility/AccessibilityMenuList.cpp:
1628         (WebCore::AccessibilityMenuList::create):
1629         * accessibility/AccessibilityMenuList.h:
1630         * accessibility/AccessibilityMenuListOption.h:
1631         * accessibility/AccessibilityMenuListPopup.h:
1632         * accessibility/AccessibilityNodeObject.cpp:
1633         (WebCore::AccessibilityNodeObject::create):
1634         * accessibility/AccessibilityNodeObject.h:
1635         * accessibility/AccessibilityProgressIndicator.cpp:
1636         (WebCore::AccessibilityProgressIndicator::create):
1637         * accessibility/AccessibilityProgressIndicator.h:
1638         * accessibility/AccessibilityRenderObject.cpp:
1639         (WebCore::AccessibilityRenderObject::create):
1640         * accessibility/AccessibilityRenderObject.h:
1641         * accessibility/AccessibilitySVGRoot.cpp:
1642         (WebCore::AccessibilitySVGRoot::create):
1643         * accessibility/AccessibilitySVGRoot.h:
1644         * accessibility/AccessibilityScrollView.cpp:
1645         (WebCore::AccessibilityScrollView::create):
1646         * accessibility/AccessibilityScrollView.h:
1647         * accessibility/AccessibilityScrollbar.cpp:
1648         (WebCore::AccessibilityScrollbar::create):
1649         * accessibility/AccessibilityScrollbar.h:
1650         * accessibility/AccessibilitySearchFieldButtons.cpp:
1651         (WebCore::AccessibilitySearchFieldCancelButton::create):
1652         * accessibility/AccessibilitySearchFieldButtons.h:
1653         * accessibility/AccessibilitySlider.cpp:
1654         (WebCore::AccessibilitySlider::create):
1655         (WebCore::AccessibilitySliderThumb::create):
1656         * accessibility/AccessibilitySlider.h:
1657         * accessibility/AccessibilitySpinButton.cpp:
1658         (WebCore::AccessibilitySpinButton::create):
1659         (WebCore::AccessibilitySpinButtonPart::create):
1660         * accessibility/AccessibilitySpinButton.h:
1661         * accessibility/AccessibilityTable.cpp:
1662         (WebCore::AccessibilityTable::create):
1663         * accessibility/AccessibilityTable.h:
1664         * accessibility/AccessibilityTableCell.cpp:
1665         (WebCore::AccessibilityTableCell::create):
1666         * accessibility/AccessibilityTableCell.h:
1667         * accessibility/AccessibilityTableColumn.cpp:
1668         (WebCore::AccessibilityTableColumn::create):
1669         * accessibility/AccessibilityTableColumn.h:
1670         * accessibility/AccessibilityTableHeaderContainer.cpp:
1671         (WebCore::AccessibilityTableHeaderContainer::create):
1672         * accessibility/AccessibilityTableHeaderContainer.h:
1673         * accessibility/AccessibilityTableRow.cpp:
1674         (WebCore::AccessibilityTableRow::create):
1675         * accessibility/AccessibilityTableRow.h:
1676         * bindings/js/CachedScriptSourceProvider.h:
1677         (WebCore::CachedScriptSourceProvider::create):
1678         * bindings/js/DOMWrapperWorld.h:
1679         (WebCore::DOMWrapperWorld::create):
1680         * bindings/js/SerializedScriptValue.cpp:
1681         (WebCore::CloneDeserializer::getJSValue):
1682         * bindings/objc/DOMCustomXPathNSResolver.h:
1683         (WebCore::DOMCustomXPathNSResolver::create):
1684         * bindings/scripts/CodeGeneratorJS.pm:
1685         (GenerateCallbackHeader):
1686         * bridge/c/c_instance.h:
1687         (JSC::Bindings::CInstance::create):
1688         * crypto/CryptoKeyPair.h:
1689         (WebCore::CryptoKeyPair::create):
1690         * crypto/keys/CryptoKeyAES.h:
1691         * crypto/keys/CryptoKeyHMAC.h:
1692         * crypto/keys/CryptoKeyRSA.h:
1693         * crypto/mac/CryptoKeyRSAMac.cpp:
1694         (WebCore::CryptoKeyRSA::generatePair):
1695         * css/DOMWindowCSS.cpp:
1696         (WebCore::DOMWindowCSS::create):
1697         * css/DOMWindowCSS.h:
1698         * css/DashboardRegion.h:
1699         (WebCore::DashboardRegion::create):
1700         * css/FontLoader.h:
1701         * dom/DOMError.h:
1702         (WebCore::DOMError::create):
1703         * dom/DOMStringList.h:
1704         (WebCore::DOMStringList::create):
1705         * dom/DataTransfer.cpp:
1706         (WebCore::DataTransfer::createForCopyAndPaste):
1707         (WebCore::DataTransfer::createForDragAndDrop):
1708         * dom/DataTransfer.h:
1709         * dom/DeviceMotionData.cpp:
1710         (WebCore::DeviceMotionData::Acceleration::create):
1711         (WebCore::DeviceMotionData::RotationRate::create):
1712         (WebCore::DeviceMotionData::create):
1713         * dom/DeviceMotionData.h:
1714         * dom/DeviceOrientationData.cpp:
1715         (WebCore::DeviceOrientationData::create):
1716         * dom/DeviceOrientationData.h:
1717         * dom/DocumentMarker.cpp:
1718         (WebCore::DocumentMarkerDescription::create):
1719         * editing/AlternativeTextController.cpp:
1720         (WebCore::AutocorrectionAlternativeDetails::create):
1721         (WebCore::DictationAlternativeDetails::create):
1722         * editing/AlternativeTextController.h:
1723         (WebCore::DictationMarkerDetails::create):
1724         * editing/AppendNodeCommand.h:
1725         (WebCore::AppendNodeCommand::create):
1726         * editing/ApplyStyleCommand.h:
1727         (WebCore::ApplyStyleCommand::create):
1728         * editing/BreakBlockquoteCommand.h:
1729         (WebCore::BreakBlockquoteCommand::create):
1730         * editing/CompositeEditCommand.cpp:
1731         (WebCore::EditCommandComposition::create):
1732         * editing/CompositeEditCommand.h:
1733         * editing/CreateLinkCommand.h:
1734         (WebCore::CreateLinkCommand::create):
1735         * editing/DeleteFromTextNodeCommand.h:
1736         (WebCore::DeleteFromTextNodeCommand::create):
1737         * editing/DeleteSelectionCommand.h:
1738         (WebCore::DeleteSelectionCommand::create):
1739         * editing/DictationCommand.cpp:
1740         (WebCore::DictationMarkerSupplier::create):
1741         * editing/DictationCommand.h:
1742         (WebCore::DictationCommand::create):
1743         * editing/EditingStyle.h:
1744         (WebCore::EditingStyle::create):
1745         * editing/Editor.cpp:
1746         (WebCore::Editor::applyStyle):
1747         (WebCore::Editor::applyParagraphStyle):
1748         * editing/FormatBlockCommand.h:
1749         (WebCore::FormatBlockCommand::create):
1750         * editing/IndentOutdentCommand.h:
1751         (WebCore::IndentOutdentCommand::create):
1752         * editing/InsertIntoTextNodeCommand.h:
1753         (WebCore::InsertIntoTextNodeCommand::create):
1754         * editing/InsertLineBreakCommand.h:
1755         (WebCore::InsertLineBreakCommand::create):
1756         * editing/InsertNodeBeforeCommand.h:
1757         (WebCore::InsertNodeBeforeCommand::create):
1758         * editing/InsertParagraphSeparatorCommand.h:
1759         (WebCore::InsertParagraphSeparatorCommand::create):
1760         * editing/InsertTextCommand.h:
1761         (WebCore::InsertTextCommand::create):
1762         (WebCore::InsertTextCommand::createWithMarkerSupplier):
1763         * editing/MergeIdenticalElementsCommand.h:
1764         (WebCore::MergeIdenticalElementsCommand::create):
1765         * editing/ModifySelectionListLevel.h:
1766         (WebCore::IncreaseSelectionListLevelCommand::create):
1767         (WebCore::DecreaseSelectionListLevelCommand::create):
1768         * editing/MoveSelectionCommand.h:
1769         (WebCore::MoveSelectionCommand::create):
1770         * editing/RemoveCSSPropertyCommand.h:
1771         (WebCore::RemoveCSSPropertyCommand::create):
1772         * editing/RemoveFormatCommand.h:
1773         (WebCore::RemoveFormatCommand::create):
1774         * editing/RemoveNodeCommand.h:
1775         (WebCore::RemoveNodeCommand::create):
1776         * editing/RemoveNodePreservingChildrenCommand.h:
1777         (WebCore::RemoveNodePreservingChildrenCommand::create):
1778         * editing/ReplaceNodeWithSpanCommand.h:
1779         (WebCore::ReplaceNodeWithSpanCommand::create):
1780         * editing/ReplaceSelectionCommand.h:
1781         (WebCore::ReplaceSelectionCommand::create):
1782         * editing/SetNodeAttributeCommand.h:
1783         (WebCore::SetNodeAttributeCommand::create):
1784         * editing/SetSelectionCommand.h:
1785         (WebCore::SetSelectionCommand::create):
1786         * editing/SimplifyMarkupCommand.h:
1787         (WebCore::SimplifyMarkupCommand::create):
1788         * editing/SpellChecker.cpp:
1789         (WebCore::SpellCheckRequest::create):
1790         * editing/SpellChecker.h:
1791         * editing/SpellingCorrectionCommand.cpp:
1792         (WebCore::SpellingCorrectionRecordUndoCommand::create):
1793         * editing/SpellingCorrectionCommand.h:
1794         (WebCore::SpellingCorrectionCommand::create):
1795         * editing/SplitElementCommand.h:
1796         (WebCore::SplitElementCommand::create):
1797         * editing/SplitTextNodeCommand.h:
1798         (WebCore::SplitTextNodeCommand::create):
1799         * editing/SplitTextNodeContainingElementCommand.h:
1800         (WebCore::SplitTextNodeContainingElementCommand::create):
1801         * editing/TypingCommand.h:
1802         (WebCore::TypingCommand::create):
1803         * editing/UnlinkCommand.h:
1804         (WebCore::UnlinkCommand::create):
1805         * editing/WrapContentsInDummySpanCommand.h:
1806         (WebCore::WrapContentsInDummySpanCommand::create):
1807         * editing/ios/DictationCommandIOS.h:
1808         (WebCore::DictationCommandIOS::create):
1809         * fileapi/Blob.h:
1810         (WebCore::Blob::create):
1811         (WebCore::Blob::deserialize):
1812         (WebCore::Blob::slice):
1813         * fileapi/File.h:
1814         * fileapi/FileList.h:
1815         (WebCore::FileList::create):
1816         * fileapi/FileReader.cpp:
1817         (WebCore::FileReader::create):
1818         * fileapi/FileReader.h:
1819         * fileapi/FileReaderSync.h:
1820         (WebCore::FileReaderSync::create):
1821         * history/BackForwardList.h:
1822         (WebCore::BackForwardList::create):
1823         * history/HistoryItem.h:
1824         (WebCore::HistoryItem::create):
1825         * html/DOMURL.cpp:
1826         (WebCore::DOMURL::create):
1827         * html/DOMURL.h:
1828         * html/HTMLPlugInImageElement.cpp:
1829         (WebCore::plugInImageElementIsolatedWorld):
1830         * html/canvas/CanvasGradient.h:
1831         (WebCore::CanvasGradient::create):
1832         * html/canvas/CanvasPattern.cpp:
1833         (WebCore::CanvasPattern::create):
1834         * html/canvas/CanvasPattern.h:
1835         * html/canvas/DOMPath.h:
1836         * html/shadow/DetailsMarkerControl.cpp:
1837         (WebCore::DetailsMarkerControl::create):
1838         * html/shadow/DetailsMarkerControl.h:
1839         * html/track/AudioTrack.h:
1840         * html/track/AudioTrackList.h:
1841         * html/track/DataCue.h:
1842         * inspector/CommandLineAPIHost.cpp:
1843         (WebCore::CommandLineAPIHost::create):
1844         * inspector/CommandLineAPIHost.h:
1845         * loader/DocumentLoader.h:
1846         (WebCore::DocumentLoader::create):
1847         * loader/FormState.cpp:
1848         (WebCore::FormState::create):
1849         * loader/FormState.h:
1850         * loader/FormSubmission.cpp:
1851         (WebCore::FormSubmission::create):
1852         * loader/FormSubmission.h:
1853         * loader/TextResourceDecoder.h:
1854         (WebCore::TextResourceDecoder::create):
1855         * loader/ThreadableLoaderClientWrapper.h:
1856         (WebCore::ThreadableLoaderClientWrapper::create):
1857         * loader/WorkerThreadableLoader.h:
1858         (WebCore::WorkerThreadableLoader::create):
1859         * loader/appcache/ApplicationCache.h:
1860         (WebCore::ApplicationCache::create):
1861         * loader/appcache/ApplicationCacheResource.h:
1862         (WebCore::ApplicationCacheResource::create):
1863         * loader/appcache/DOMApplicationCache.h:
1864         * loader/archive/ArchiveResource.cpp:
1865         (WebCore::ArchiveResource::create):
1866         * loader/archive/ArchiveResource.h:
1867         * loader/icon/IconDatabaseBase.h:
1868         (WebCore::EnumCallback::create):
1869         (WebCore::ObjectCallback::create):
1870         * loader/icon/IconRecord.h:
1871         (WebCore::IconRecord::create):
1872         * mathml/MathMLInlineContainerElement.cpp:
1873         (WebCore::MathMLInlineContainerElement::create):
1874         * mathml/MathMLInlineContainerElement.h:
1875         * mathml/MathMLMathElement.cpp:
1876         (WebCore::MathMLMathElement::create):
1877         * mathml/MathMLMathElement.h:
1878         * mathml/MathMLMencloseElement.cpp:
1879         (WebCore::MathMLMencloseElement::create):
1880         * mathml/MathMLMencloseElement.h:
1881         * mathml/MathMLSelectElement.cpp:
1882         (WebCore::MathMLSelectElement::create):
1883         * mathml/MathMLSelectElement.h:
1884         * mathml/MathMLTextElement.cpp:
1885         (WebCore::MathMLTextElement::create):
1886         * mathml/MathMLTextElement.h:
1887         * page/BarProp.h:
1888         (WebCore::BarProp::create):
1889         * page/Crypto.h:
1890         (WebCore::Crypto::create):
1891         * page/DOMSecurityPolicy.h:
1892         (WebCore::DOMSecurityPolicy::create):
1893         * page/DOMSelection.h:
1894         (WebCore::DOMSelection::create):
1895         * page/DOMWindow.h:
1896         * page/DOMWindowExtension.h:
1897         (WebCore::DOMWindowExtension::create):
1898         * page/FrameView.cpp:
1899         (WebCore::FrameView::create):
1900         * page/FrameView.h:
1901         * page/animation/CompositeAnimation.h:
1902         (WebCore::CompositeAnimation::create):
1903         * page/scrolling/AsyncScrollingCoordinator.h:
1904         * platform/Cursor.h:
1905         (WebCore::SharedCursor::create):
1906         * platform/FileChooser.cpp:
1907         (WebCore::FileChooser::create):
1908         * platform/FileChooser.h:
1909         * platform/animation/Animation.h:
1910         (WebCore::Animation::create):
1911         * platform/audio/AudioBus.cpp:
1912         (WebCore::AudioBus::create):
1913         (WebCore::AudioBus::createBufferFromRange):
1914         (WebCore::AudioBus::createBySampleRateConverting):
1915         (WebCore::AudioBus::createByMixingToMono):
1916         * platform/audio/AudioBus.h:
1917         * platform/audio/AudioHardwareListener.cpp:
1918         (WebCore::AudioHardwareListener::create):
1919         * platform/audio/AudioHardwareListener.h:
1920         * platform/audio/mac/AudioHardwareListenerMac.cpp:
1921         (WebCore::AudioHardwareListener::create):
1922         (WebCore::AudioHardwareListenerMac::create):
1923         * platform/audio/mac/AudioHardwareListenerMac.h:
1924         * platform/graphics/AudioTrackPrivate.h:
1925         (WebCore::AudioTrackPrivate::create):
1926         * platform/graphics/BitmapImage.h:
1927         * platform/graphics/CrossfadeGeneratedImage.h:
1928         * platform/graphics/FontFeatureSettings.h:
1929         (WebCore::FontFeatureSettings::create):
1930         * platform/graphics/Image.cpp:
1931         (WebCore::Image::nullImage):
1932         * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.h:
1933         * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
1934         (WebCore::AudioSourceProviderAVFObjC::create):
1935         * platform/graphics/filters/DistantLightSource.h:
1936         (WebCore::DistantLightSource::create):
1937         * platform/graphics/filters/FEBlend.cpp:
1938         (WebCore::FEBlend::create):
1939         * platform/graphics/filters/FEBlend.h:
1940         * platform/graphics/filters/FEColorMatrix.cpp:
1941         (WebCore::FEColorMatrix::create):
1942         * platform/graphics/filters/FEColorMatrix.h:
1943         * platform/graphics/filters/FEComponentTransfer.cpp:
1944         (WebCore::FEComponentTransfer::create):
1945         * platform/graphics/filters/FEComponentTransfer.h:
1946         * platform/graphics/filters/FEComposite.cpp:
1947         (WebCore::FEComposite::create):
1948         * platform/graphics/filters/FEComposite.h:
1949         * platform/graphics/filters/FEConvolveMatrix.cpp:
1950         (WebCore::FEConvolveMatrix::create):
1951         * platform/graphics/filters/FEConvolveMatrix.h:
1952         * platform/graphics/filters/FEDiffuseLighting.cpp:
1953         (WebCore::FEDiffuseLighting::create):
1954         * platform/graphics/filters/FEDiffuseLighting.h:
1955         * platform/graphics/filters/FEDisplacementMap.cpp:
1956         (WebCore::FEDisplacementMap::create):
1957         * platform/graphics/filters/FEDisplacementMap.h:
1958         * platform/graphics/filters/FEDropShadow.cpp:
1959         (WebCore::FEDropShadow::create):
1960         * platform/graphics/filters/FEDropShadow.h:
1961         * platform/graphics/filters/FEFlood.cpp:
1962         (WebCore::FEFlood::create):
1963         * platform/graphics/filters/FEFlood.h:
1964         * platform/graphics/filters/FEGaussianBlur.cpp:
1965         (WebCore::FEGaussianBlur::create):
1966         * platform/graphics/filters/FEGaussianBlur.h:
1967         * platform/graphics/filters/FEMerge.cpp:
1968         (WebCore::FEMerge::create):
1969         * platform/graphics/filters/FEMerge.h:
1970         * platform/graphics/filters/FEMorphology.cpp:
1971         (WebCore::FEMorphology::create):
1972         * platform/graphics/filters/FEMorphology.h:
1973         * platform/graphics/filters/FEOffset.cpp:
1974         (WebCore::FEOffset::create):
1975         * platform/graphics/filters/FEOffset.h:
1976         * platform/graphics/filters/FESpecularLighting.cpp:
1977         (WebCore::FESpecularLighting::create):
1978         * platform/graphics/filters/FESpecularLighting.h:
1979         * platform/graphics/filters/FETile.cpp:
1980         (WebCore::FETile::create):
1981         * platform/graphics/filters/FETile.h:
1982         * platform/graphics/filters/FETurbulence.cpp:
1983         (WebCore::FETurbulence::create):
1984         * platform/graphics/filters/FETurbulence.h:
1985         * platform/graphics/ios/DisplayRefreshMonitorIOS.h:
1986         (WebCore::DisplayRefreshMonitorIOS::create):
1987         * platform/graphics/mac/ComplexTextController.h:
1988         (WebCore::ComplexTextController::ComplexTextRun::create):
1989         * platform/network/BlobData.h:
1990         (WebCore::RawData::create):
1991         (WebCore::BlobData::create):
1992         * platform/network/BlobDataFileReference.h:
1993         (WebCore::BlobDataFileReference::create):
1994         * platform/network/cf/FormDataStreamCFNet.cpp:
1995         * platform/text/BidiContext.cpp:
1996         (WebCore::BidiContext::createUncached):
1997         (WebCore::BidiContext::create):
1998         * platform/text/BidiContext.h:
1999         * plugins/DOMMimeType.h:
2000         (WebCore::DOMMimeType::create):
2001         * plugins/DOMMimeTypeArray.cpp:
2002         (WebCore::DOMMimeTypeArray::item):
2003         (WebCore::DOMMimeTypeArray::namedItem):
2004         * plugins/DOMMimeTypeArray.h:
2005         (WebCore::DOMMimeTypeArray::create):
2006         * plugins/DOMPlugin.cpp:
2007         (WebCore::DOMPlugin::item):
2008         (WebCore::DOMPlugin::namedItem):
2009         * plugins/DOMPlugin.h:
2010         (WebCore::DOMPlugin::create):
2011         * plugins/DOMPluginArray.cpp:
2012         (WebCore::DOMPluginArray::item):
2013         (WebCore::DOMPluginArray::namedItem):
2014         * plugins/DOMPluginArray.h:
2015         (WebCore::DOMPluginArray::create):
2016         * plugins/PluginData.h:
2017         (WebCore::PluginData::create):
2018         * rendering/ClipPathOperation.h:
2019         * rendering/CounterNode.cpp:
2020         (WebCore::CounterNode::create):
2021         * rendering/CounterNode.h:
2022         * rendering/style/BasicShapes.h:
2023         * rendering/style/CursorList.h:
2024         (WebCore::CursorList::create):
2025         * replay/CapturingInputCursor.cpp:
2026         (WebCore::CapturingInputCursor::create):
2027         * replay/CapturingInputCursor.h:
2028         * storage/Storage.cpp:
2029         (WebCore::Storage::create):
2030         * storage/Storage.h:
2031         * storage/StorageAreaImpl.cpp:
2032         (WebCore::StorageAreaImpl::create):
2033         * storage/StorageAreaImpl.h:
2034         * storage/StorageAreaSync.cpp:
2035         (WebCore::StorageAreaSync::create):
2036         * storage/StorageAreaSync.h:
2037         * storage/StorageMap.cpp:
2038         (WebCore::StorageMap::create):
2039         * storage/StorageMap.h:
2040         * storage/StorageSyncManager.cpp:
2041         (WebCore::StorageSyncManager::create):
2042         * storage/StorageSyncManager.h:
2043         * workers/DedicatedWorkerGlobalScope.cpp:
2044         (WebCore::DedicatedWorkerGlobalScope::create):
2045         * workers/DedicatedWorkerGlobalScope.h:
2046         * workers/DedicatedWorkerThread.cpp:
2047         (WebCore::DedicatedWorkerThread::create):
2048         (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
2049         * workers/DedicatedWorkerThread.h:
2050         * workers/DefaultSharedWorkerRepository.cpp:
2051         * workers/SharedWorkerGlobalScope.cpp:
2052         (WebCore::SharedWorkerGlobalScope::create):
2053         * workers/SharedWorkerGlobalScope.h:
2054         * workers/SharedWorkerThread.cpp:
2055         (WebCore::SharedWorkerThread::create):
2056         (WebCore::SharedWorkerThread::createWorkerGlobalScope):
2057         * workers/SharedWorkerThread.h:
2058         * workers/WorkerGlobalScope.cpp:
2059         (WebCore::WorkerGlobalScope::importScripts):
2060         * workers/WorkerLocation.h:
2061         (WebCore::WorkerLocation::create):
2062         * workers/WorkerScriptLoader.h:
2063         (WebCore::WorkerScriptLoader::create):
2064         * workers/WorkerThread.h:
2065         * xml/DOMParser.h:
2066         (WebCore::DOMParser::create):
2067         * xml/NativeXPathNSResolver.h:
2068         (WebCore::NativeXPathNSResolver::create):
2069         * xml/XMLHttpRequest.cpp:
2070         (WebCore::XMLHttpRequest::create):
2071         * xml/XMLHttpRequest.h:
2072         * xml/XMLHttpRequestProgressEventThrottle.cpp:
2073         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
2074         * xml/XMLSerializer.h:
2075         (WebCore::XMLSerializer::create):
2076         * xml/XPathEvaluator.h:
2077         (WebCore::XPathEvaluator::create):
2078         * xml/XPathResult.h:
2079         (WebCore::XPathResult::create):
2080         * xml/XSLStyleSheet.h:
2081         * xml/XSLTProcessor.h:
2082         (WebCore::XSLTProcessor::create):
2083
2084 2014-12-24  Benjamin Poulain  <bpoulain@apple.com>
2085
2086         Small cleanup of RenderBlock::paint()
2087         https://bugs.webkit.org/show_bug.cgi?id=139849
2088
2089         Reviewed by Daniel Bates.
2090
2091         Remove a couple of instructions by putting variable in the right scope.
2092
2093         * rendering/RenderBlock.cpp:
2094         (WebCore::RenderBlock::paint):
2095
2096 2014-12-24  Dan Bernstein  <mitz@apple.com>
2097
2098         [Cocoa] WebCoreSystemInterface.h declares two unused symbols
2099         https://bugs.webkit.org/show_bug.cgi?id=139937
2100
2101         Reviewed by Tim Horton.
2102
2103         * platform/graphics/FontPlatformData.h: Removed unused typedefs.
2104
2105         * platform/graphics/mac/FontCustomPlatformData.cpp:
2106         (WebCore::createFontCustomPlatformData): Stop passing always-zero containerRef parameter to
2107         FontCustomPlatformData constructor.
2108
2109         * platform/graphics/mac/FontCustomPlatformData.h: Removed unused typedefs.
2110         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed unused container
2111         parameter and m_atsContainer member variable.
2112
2113         * platform/mac/WebCoreSystemInterface.h: Removed unused typedefs and symbols.
2114
2115 2014-12-23  Chris Dumez  <cdumez@apple.com>
2116
2117         Simplify RenderStyle::invalidColor() function
2118         https://bugs.webkit.org/show_bug.cgi?id=139898
2119
2120         Reviewed by Andreas Kling.
2121
2122         Simplify RenderStyle::invalidColor() function by getting rid of the
2123         static variable. The default constructor for Color is very cheap
2124         anyway.
2125
2126         * rendering/style/RenderStyle.h:
2127
2128 2014-12-23  Jaehun Lim  <ljaehun.lim@samsung.com>
2129
2130         Unreviewed, fix build warning after r177712
2131
2132         ../../Source/WebCore/history/PageCache.cpp: In function ‘const char* WebCore::pruningReasonToFeatureCounterKey(WebCore::PruningReason)’:
2133         ../../Source/WebCore/history/PageCache.cpp:449:1: error: control reaches end of non-void function [-Werror=return-type]
2134
2135         No new tests, no behavior changes.
2136
2137         * history/PageCache.cpp:
2138         (WebCore::pruningReasonToFeatureCounterKey):
2139
2140 2014-12-23  Chris Dumez  <cdumez@apple.com>
2141
2142         [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
2143         https://bugs.webkit.org/show_bug.cgi?id=139921
2144         <rdar://problem/19255690>
2145
2146         Reviewed by Gavin Barraclough.
2147
2148         Log better using FeatureCounter why PageCache is failing due to pruned
2149         resources. In particular, we now distinguish if the resource was pruned
2150         due to:
2151         - Memory pressure
2152         - Page cache capacity reached
2153         - WebProcess suspended (WK2)
2154
2155         * WebCore.exp.in:
2156         * history/HistoryItem.cpp:
2157         (WebCore::HistoryItem::HistoryItem):
2158         * history/HistoryItem.h:
2159         * history/PageCache.cpp:
2160         (WebCore::PageCache::pruneToCapacityNow):
2161         (WebCore::PageCache::setCapacity):
2162         (WebCore::pruningReasonToFeatureCounterKey):
2163         (WebCore::PageCache::add):
2164         (WebCore::PageCache::take):
2165         (WebCore::PageCache::get):
2166         (WebCore::PageCache::prune):
2167         * history/PageCache.h:
2168         * loader/FrameLoader.cpp:
2169         (WebCore::FrameLoader::commitProvisionalLoad):
2170         * platform/FeatureCounterKeys.h:
2171         * platform/MemoryPressureHandler.cpp:
2172         (WebCore::MemoryPressureHandler::releaseCriticalMemory):
2173
2174 2014-12-23  Andreas Kling  <akling@apple.com>
2175
2176         [Mac] Fix nullptr dereference in EventHandler::platformPrepareForWheelEvents().
2177         <https://webkit.org/b/139923>
2178         <rdar://problem/19182531>
2179
2180         Reviewed by Chris Dumez.
2181
2182         Don't dereference 'wheelEventTarget' until we know it's non-null.
2183         This manifested as a crash in Node::renderBox() with some versions of LLVM.
2184
2185         The compiler was free to assume that the ContainerNode* 'candidate' in
2186         findEnclosingScrollableContainer() would always be non-null on the first
2187         iteration of the loop.
2188
2189         I suspect that we can get here with a null 'wheelEventTarget' during the
2190         rubberbanding phase of a wheel scroll; if the cursor is sitting over the
2191         exposed "gutter" area.
2192
2193         * page/mac/EventHandlerMac.mm:
2194         (WebCore::findEnclosingScrollableContainer):
2195         (WebCore::EventHandler::platformPrepareForWheelEvents):
2196
2197 2014-12-23  Timothy Horton  <timothy_horton@apple.com>
2198
2199         Install a TextIndicator for link immediate actions
2200         https://bugs.webkit.org/show_bug.cgi?id=139897
2201         <rdar://problem/19333076>
2202
2203         Reviewed by Anders Carlsson.
2204
2205         * platform/spi/mac/QuickLookMacSPI.h:
2206         Add a new piece of SPI.
2207
2208 2014-12-23  Sam Weinig  <sam@webkit.org>
2209
2210         Rename WebContext to WebProcessPool
2211         https://bugs.webkit.org/show_bug.cgi?id=139909
2212
2213         Rubber-stamped by Anders Carlsson.
2214
2215         Merge SessionID and SessionIDHash into one file to make auto-generation of
2216         HashMaps with SessionIDs easier.
2217
2218         * WebCore.xcodeproj/project.pbxproj:
2219         * loader/cache/MemoryCache.h:
2220         * page/SessionID.h:
2221         (WTF::SessionIDHash::hash):
2222         (WTF::SessionIDHash::equal):
2223         (WTF::HashTraits<WebCore::SessionID>::emptyValue):
2224         (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue):
2225         (WTF::HashTraits<WebCore::SessionID>::isDeletedValue):
2226         * page/SessionIDHash.h: Removed.
2227
2228 2014-12-23  Myles C. Maxfield  <mmaxfield@apple.com>
2229
2230         platform/mac/editing/input/devanagari-ligature.html is flaky on Yosemite, ligature fails to form
2231         https://bugs.webkit.org/show_bug.cgi?id=138683
2232
2233         Reviewed by Darin Adler.
2234
2235         This patch changes how we check fonts for equality. In particular, this patch adds a
2236         objectForEqualityCheck() to Cocoa's FontPlatformData, and callers should pass this object
2237         to CFEqual() to determine if two platform fonts are equal. This patch also migrates all
2238         call sites to using this function.
2239
2240         I don't want to implement operator==() because there are many cases where the same font
2241         is compared against many others, and this solution is cleaner than caching a comparison
2242         object inside the font object itself.
2243
2244         No new tests because this is covered by platform/mac/editing/input/devanagari-ligature.html.
2245
2246         * platform/graphics/FontPlatformData.h:
2247         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2248         (WebCore::FontPlatformData::objectForEqualityCheck):
2249         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2250         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2251         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2252         (WebCore::GlyphPage::fill):
2253         * platform/graphics/mac/SimpleFontDataMac.mm:
2254         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2255         * platform/spi/cocoa/CoreTextSPI.h:
2256
2257 2014-12-23  Myles C. Maxfield  <mmaxfield@apple.com>
2258
2259         [SVG -> OTF Converter] Make Placeholder a move-only type
2260         https://bugs.webkit.org/show_bug.cgi?id=139870
2261
2262         Reviewed by Anders Carlsson.
2263
2264         No new tests because there is no behavior change.
2265
2266         * svg/SVGToOTFFontConversion.cpp:
2267         (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
2268         (WebCore::SVGToOTFFontConverter::Placeholder::populate):
2269         (WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):
2270
2271 2014-12-23  Chris Dumez  <cdumez@apple.com>
2272
2273         Move color CSS properties to the new StyleBuilder
2274         https://bugs.webkit.org/show_bug.cgi?id=139898
2275
2276         Reviewed by Antti Koivisto.
2277
2278         Move color CSS properties to the new StyleBuilder by teaching the
2279         StyleBuilder generator how to handle them.
2280
2281         * css/CSSPropertyNames.in:
2282         - Move color properties to the new StyleBuilder.
2283
2284         * css/DeprecatedStyleBuilder.cpp:
2285         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2286         (WebCore::defaultInitialColor): Deleted.
2287         (WebCore::ApplyPropertyColor::applyInheritValue): Deleted.
2288         (WebCore::ApplyPropertyColor::applyInitialValue): Deleted.
2289         (WebCore::ApplyPropertyColor::applyValue): Deleted.
2290         (WebCore::ApplyPropertyColor::applyColorValue): Deleted.
2291         (WebCore::ApplyPropertyColor::createHandler): Deleted.
2292         - Drop color properties support from the DeprecatedStyleBuilder.
2293
2294         * css/makeprop.pl:
2295         - Teach the StyleBuilder generator how to handle color properties.
2296         - Use a class for StyleBuilderFunctions instead of a namespace so
2297           that it can be made a friend of RenderStyle class.
2298
2299         * rendering/style/RenderStyle.h:
2300         - Mark StyleBuilderFunctions class as friend as its functions
2301           can set RenderStyle members directly. This is similar to what
2302           is already done for StyleBuilderCustom class. The new color
2303           properties handling calls private methods on RenderStyle.
2304         - Mark invalidColor() method as static as it does not require
2305           an instance.
2306
2307 2014-12-23  Zalan Bujtas  <zalan@apple.com>
2308
2309         Incorrect dashed and dotted border painting.
2310         https://bugs.webkit.org/show_bug.cgi?id=139872
2311         rdar://problem/18024205
2312
2313         Reviewed by Simon Fraser.
2314
2315         This patch makes dashed/dotted border painting symmetric and consistent.
2316         It also works with subpixel positioning.
2317
2318         Tests: fast/borders/border-painting-correctness-dashed.html
2319                fast/borders/border-painting-correctness-dotted.html
2320
2321         * platform/graphics/cg/GraphicsContextCG.cpp:
2322         (WebCore::GraphicsContext::drawLine):
2323         * rendering/RenderObject.cpp:
2324         (WebCore::RenderObject::drawLineForBoxSide):
2325
2326 2014-12-22  Chris Dumez  <cdumez@apple.com>
2327
2328         [iOS] Log which type of resources are commonly loaded using FeatureCounter
2329         https://bugs.webkit.org/show_bug.cgi?id=139890
2330
2331         Reviewed by Darin Adler.
2332
2333         Log which type of resources are commonly loaded using FeatureCounter
2334         (e.g. stylesheets, scripts, fonts, images, ...).
2335
2336         * loader/SubresourceLoader.cpp:
2337         (WebCore::logResourceLoadedUsingFeatureCounter):
2338         (WebCore::SubresourceLoader::didFinishLoading):
2339         * platform/FeatureCounterKeys.h:
2340
2341 2014-12-22  Chris Dumez  <cdumez@apple.com>
2342
2343         [iOS] Log using FeatureCounter when a PacheCache fails due to memory pressure
2344         https://bugs.webkit.org/show_bug.cgi?id=139874
2345         <rdar://problem/19255690>
2346
2347         Reviewed by Darin Adler.
2348
2349         Log using FeatureCounter when a PacheCache fails due to memory
2350         pressure. To detect this, a flag is added to HistoryItem to mark
2351         items that are no longer in the page becaused they were pruned
2352         (either because of a low memory handling or because the page cache
2353         reached its maximum capacity).
2354
2355         * history/HistoryItem.cpp:
2356         (WebCore::HistoryItem::HistoryItem):
2357         * history/HistoryItem.h:
2358         * history/PageCache.cpp:
2359         (WebCore::PageCache::add):
2360         (WebCore::PageCache::take):
2361         (WebCore::PageCache::get):
2362         (WebCore::PageCache::prune):
2363         * platform/FeatureCounterKeys.h:
2364
2365 2014-12-22  Commit Queue  <commit-queue@webkit.org>
2366
2367         Unreviewed, rolling out r177658.
2368         https://bugs.webkit.org/show_bug.cgi?id=139900
2369
2370         Caused many assertion failures (Requested by ap on #webkit).
2371
2372         Reverted changeset:
2373
2374         "Incorrect dashed and dotted border painting."
2375         https://bugs.webkit.org/show_bug.cgi?id=139872
2376         http://trac.webkit.org/changeset/177658
2377
2378 2014-12-22  Jaehun Lim  <ljaehun.lim@samsung.com>
2379
2380         Unreviewed build fix after r177661 and r177662
2381
2382         * dom/SecurityOriginPolicy.cpp: Modify #include path.
2383
2384 2014-12-22  Mark Rowe  <mrowe@apple.com>
2385
2386         [Mac] Engineering builds of WebCore on OS X 10.8 and 10.9 shouldn't build with -gline-tables-only
2387         <https://webkit.org/b/139883> / <rdar://problem/19297261>
2388
2389         Reviewed by Alexey Proskuryakov.
2390
2391         * Configurations/DebugRelease.xcconfig: Override the setting using conditional settings
2392         so that they take precedence over the conditional settings in Base.xcconfig.
2393
2394 2014-12-22  Alexey Proskuryakov  <ap@apple.com>
2395
2396         Unreviewed build fix.
2397
2398         * WebCore.exp.in: Move SQLiteDatabaseTracker::setClient export out of PLATFORM(IOS) section.
2399
2400 2014-12-22  Anders Carlsson  <andersca@apple.com>
2401
2402         Remove two functions from SecurityOrigin
2403         https://bugs.webkit.org/show_bug.cgi?id=139885
2404
2405         Reviewed by Andreas Kling.
2406
2407         * page/SecurityOrigin.h:
2408         (WebCore::SecurityOrigin::canAccessPasswordManager): Deleted.
2409         (WebCore::SecurityOrigin::canAccessFileSystem): Deleted.
2410
2411 2014-12-22  Chris Dumez  <cdumez@apple.com>
2412
2413         [iOS] Log using FeatureCounter user-triggered zooming
2414         https://bugs.webkit.org/show_bug.cgi?id=139879
2415         <rdar://problem/19329130>
2416
2417         Reviewed by Benjamin Poulain.
2418
2419         Log using FeatureCounter user-triggered zooming on iOS.
2420
2421         * WebCore.exp.in:
2422         * WebCore.xcodeproj/project.pbxproj:
2423         * platform/FeatureCounter.h:
2424         * platform/FeatureCounterKeys.h:
2425
2426 2014-12-22  Benjamin Poulain  <bpoulain@apple.com>
2427
2428         Form elements should match :valid and :invalid based on their associated elements
2429         https://bugs.webkit.org/show_bug.cgi?id=139850
2430
2431         Reviewed by Darin Adler.
2432
2433         In the latest HTML spec, form elements can match :valid or :invalid based
2434         on their associated element.
2435
2436         The tricky part is that object lifetime is a mess. When elements are associated
2437         with forms by the parser, the form is set by the constructor of HTMLFormControlElement.
2438         At that point, the real object has not been initialized yet which
2439         makes it impossible to find its validity.
2440
2441         To work around the lifetime problem, the code of HTMLFormControlElement::didChangeForm()
2442         uses m_willValidateInitialized and m_willValidate direclty instead
2443         of invoking willValidate(). That way we don't try to validate an incomplete object.
2444
2445         When the object really validates, HTMLFormControlElement::setNeedsWillValidateCheck()
2446         takes care of updating the form.
2447
2448         Tests: fast/css/pseudo-invalid-form-and-fieldset-basics.html
2449                fast/css/pseudo-invalid-form-basics.html
2450                fast/css/pseudo-invalid-form-dynamically-created-basics.html
2451                fast/css/pseudo-invalid-form-invalidation-optimization.html
2452                fast/css/pseudo-valid-form-and-fieldset-basics.html
2453                fast/css/pseudo-valid-form-basics.html
2454                fast/css/pseudo-valid-form-dynamically-created-basics.html
2455                fast/css/pseudo-valid-form-invalidation-optimization.html
2456                fast/selectors/invalid-form-style-update-1.html
2457                fast/selectors/invalid-form-style-update-2.html
2458                fast/selectors/invalid-form-style-update-3.html
2459                fast/selectors/valid-form-style-update-1.html
2460                fast/selectors/valid-form-style-update-2.html
2461                fast/selectors/valid-form-style-update-3.html
2462
2463         * css/StyleResolver.cpp:
2464         (WebCore::StyleResolver::canShareStyleWithControl):
2465         (WebCore::StyleResolver::canShareStyleWithElement):
2466         HTMLFormElement is not a FormControl, we have to generalize the test
2467         for :valid/:invalid with style sharing.
2468
2469         * html/HTMLFormControlElement.cpp:
2470         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
2471         Since we now have willChangeForm(), didChangeForm(), we have to null
2472         the form ourself, as documented by FormAssociatedElement.
2473
2474         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
2475         (WebCore::HTMLFormControlElement::willChangeForm):
2476         (WebCore::HTMLFormControlElement::didChangeForm):
2477         (WebCore::HTMLFormControlElement::updateValidity):
2478         Update the owner form when any of the associated form element changes
2479         to invalid.
2480
2481         * html/HTMLFormControlElement.h:
2482         * html/HTMLFormElement.cpp:
2483         (WebCore::HTMLFormElement::registerInvalidAssociatedFormControl):
2484         (WebCore::HTMLFormElement::removeInvalidAssociatedFormControlIfNeeded):
2485         (WebCore::HTMLFormElement::matchesValidPseudoClass):
2486         (WebCore::HTMLFormElement::matchesInvalidPseudoClass):
2487         This is very similar to the code of fieldset, but we have much weaker
2488         invariants due to the insane way FormAssociatedElement initializes.
2489
2490         * html/HTMLFormElement.h:
2491         * html/HTMLInputElement.cpp:
2492         (WebCore::HTMLInputElement::initializeInputType):
2493         For completeness, we should always validate when changing the type.
2494         The code was only doing that when the element was inserted into the tree,
2495         that was too fragile.
2496
2497 2014-12-22  Anders Carlsson  <andersca@apple.com>
2498
2499         Try to fix the Windows build.
2500
2501         * dom/DOMAllInOne.cpp:
2502
2503 2014-12-22  Anders Carlsson  <andersca@apple.com>
2504
2505         Add a SecurityOriginPolicy class
2506         https://bugs.webkit.org/show_bug.cgi?id=139875
2507
2508         Reviewed by Sam Weinig.
2509
2510         This is the first step towards making SecurityOrigin immutable. SecurityOriginPolicy will hold a
2511         SecurityOrigin and will handle things that would otherwise mutate SecurityOrigin.
2512
2513         * CMakeLists.txt:
2514         * WebCore.exp.in:
2515         * WebCore.vcxproj/WebCore.vcxproj:
2516         * WebCore.vcxproj/WebCore.vcxproj.filters:
2517         * WebCore.xcodeproj/project.pbxproj:
2518         * dom/DOMImplementation.cpp:
2519         (WebCore::DOMImplementation::createDocument):
2520         (WebCore::DOMImplementation::createHTMLDocument):
2521         * dom/Document.cpp:
2522         (WebCore::Document::create):
2523         (WebCore::Document::open):
2524         (WebCore::Document::cloneDataFromDocument):
2525         (WebCore::Document::initSecurityContext):
2526         * dom/ScriptExecutionContext.h:
2527         * dom/SecurityContext.cpp:
2528         (WebCore::SecurityContext::setSecurityOriginPolicy):
2529         (WebCore::SecurityContext::securityOrigin):
2530         (WebCore::SecurityContext::isSecureTransitionTo):
2531         (WebCore::SecurityContext::enforceSandboxFlags):
2532         (WebCore::SecurityContext::setSecurityOrigin): Deleted.
2533         * dom/SecurityContext.h:
2534         (WebCore::SecurityContext::securityOriginPolicy):
2535         (WebCore::SecurityContext::securityOrigin): Deleted.
2536         * dom/SecurityOriginPolicy.cpp: Added.
2537         (WebCore::SecurityOriginPolicy::create):
2538         (WebCore::SecurityOriginPolicy::SecurityOriginPolicy):
2539         (WebCore::SecurityOriginPolicy::~SecurityOriginPolicy):
2540         * dom/SecurityOriginPolicy.h: Added.
2541         (WebCore::SecurityOriginPolicy::origin):
2542         * loader/DocumentWriter.cpp:
2543         (WebCore::DocumentWriter::begin):
2544         * workers/WorkerGlobalScope.cpp:
2545         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
2546         * xml/XMLHttpRequest.cpp:
2547         (WebCore::XMLHttpRequest::responseXML):
2548         * xml/XMLTreeViewer.cpp:
2549         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2550         * xml/XSLTProcessor.cpp:
2551         (WebCore::XSLTProcessor::createDocumentFromSource):
2552
2553 2014-12-22  Zalan Bujtas  <zalan@apple.com>
2554
2555         Incorrect dashed and dotted border painting.
2556         https://bugs.webkit.org/show_bug.cgi?id=139872
2557         rdar://problem/18024205
2558
2559         Reviewed by Simon Fraser.
2560
2561         This patch makes dashed/dotted border painting symmetric and consistent.
2562         It also works with subpixel positioning.
2563
2564         Tests: fast/borders/border-painting-correctness-dashed.html
2565                fast/borders/border-painting-correctness-dotted.html
2566
2567         * platform/graphics/cg/GraphicsContextCG.cpp:
2568         (WebCore::GraphicsContext::drawLine):
2569         * rendering/RenderObject.cpp:
2570         (WebCore::RenderObject::drawLineForBoxSide):
2571
2572 2014-12-22  Timothy Horton  <timothy_horton@apple.com>
2573
2574         TextIndicatorWindow is larger than it needs to be, especially when not bouncing
2575         https://bugs.webkit.org/show_bug.cgi?id=139876
2576         <rdar://problem/19311017>
2577
2578         Reviewed by Sam Weinig.
2579
2580         * page/TextIndicator.cpp:
2581         (WebCore::TextIndicator::wantsBounce):
2582         (WebCore::TextIndicator::wantsContentCrossfade):
2583         (WebCore::TextIndicator::wantsFadeIn):
2584         * page/TextIndicator.h:
2585         * page/mac/TextIndicatorWindow.mm:
2586         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
2587         (-[WebTextIndicatorView _animationDuration]):
2588         (-[WebTextIndicatorView present]):
2589         (WebCore::TextIndicatorWindow::setTextIndicator):
2590         (-[WebTextIndicatorView _textIndicatorWantsBounce]): Deleted.
2591         (-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]): Deleted.
2592         (-[WebTextIndicatorView _textIndicatorWantsFadeIn]): Deleted.
2593         Move the various switches over TextIndicatorPresentationTransition into TextIndicator.
2594         Adjust the margin; only inflate by the shadow if we're not bouncing.
2595         If we are bouncing, fix the math to more tightly fit the bounce.
2596         Previously we were inflating by way too much, and even when we didn't need to.
2597
2598 2014-12-22  Chris Dumez  <cdumez@apple.com>
2599
2600         [iOS] Log using FeatureCounter when a PacheCache entry is not reused because it expired
2601         https://bugs.webkit.org/show_bug.cgi?id=139869
2602         <rdar://problem/19255690>
2603
2604         Reviewed by Darin Adler.
2605
2606         Log using FeatureCounter when a PacheCache entry is not reused because
2607         it expired.
2608
2609         * history/PageCache.cpp:
2610         (WebCore::PageCache::take):
2611         (WebCore::PageCache::get):
2612         * history/PageCache.h:
2613         * loader/FrameLoader.cpp:
2614         (WebCore::FrameLoader::commitProvisionalLoad):
2615         (WebCore::FrameLoader::loadDifferentDocumentItem):
2616         * loader/HistoryController.cpp:
2617         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
2618         * platform/FeatureCounterKeys.h:
2619
2620 2014-12-22  Antti Koivisto  <antti@apple.com>
2621
2622         Try to fix the windows build.
2623
2624         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2625
2626 2014-12-22  Timothy Horton  <timothy_horton@apple.com>
2627
2628         Adjust TextIndicator shadow parameters
2629         https://bugs.webkit.org/show_bug.cgi?id=139871
2630         <rdar://problem/19283300>
2631
2632         Reviewed by Sam Weinig.
2633
2634         * page/mac/TextIndicatorWindow.mm:
2635         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
2636         Slightly adjust the shadow and bounce size.
2637
2638 2014-12-22  Chris Dumez  <cdumez@apple.com>
2639
2640         Consistently use "FeatureCounter*Key" naming for FeatureCounter keys
2641         https://bugs.webkit.org/show_bug.cgi?id=139867
2642
2643         Reviewed by Darin Adler.
2644
2645         Consistently use "FeatureCounter*Key" naming for FeatureCounter keys.
2646
2647         * loader/FrameLoader.cpp:
2648         (WebCore::logNavigationWithFeatureCounter):
2649         * platform/FeatureCounterKeys.h:
2650
2651 2014-12-22  Antti Koivisto  <antti@apple.com>
2652
2653         Generic font code should not know about SVG font missing glyph
2654         https://bugs.webkit.org/show_bug.cgi?id=139864
2655
2656         Reviewed by Andreas Kling and Myles Maxfield.
2657
2658         The defined missing glyph is an SVG font concept and should be handled in SVG code.
2659
2660         * platform/graphics/FontGlyphs.cpp:
2661         (WebCore::FontGlyphs::glyphDataForSystemFallback):
2662         (WebCore::FontGlyphs::glyphDataForVariant):
2663
2664             Return null glyph instead of the missing glyph (the missing glyph was already a null glyph in all non-svg-font cases).
2665             Use early return style.
2666
2667         * platform/graphics/FontGlyphs.h:
2668         * platform/graphics/SegmentedFontData.cpp:
2669         * platform/graphics/SimpleFontData.cpp:
2670         (WebCore::SimpleFontData::platformGlyphInit):
2671         * platform/graphics/SimpleFontData.h:
2672
2673             Remove the missingGlyph member.
2674
2675         * platform/graphics/WidthIterator.cpp:
2676         (WebCore::WidthIterator::advanceInternal):
2677
2678             Explicitly skip over null glyphs. Before they had non-null fontData and would get skipped implicitly.
2679
2680         * platform/graphics/mac/SimpleFontDataMac.mm:
2681         * rendering/svg/SVGTextRunRenderingContext.cpp:
2682         (WebCore::missingGlyphForFont):
2683
2684             Get the missing glyph from the SVG font element.
2685
2686         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
2687
2688             Return the missing glyph if the normal lookup didn't produce results.
2689
2690         * svg/SVGFontData.cpp:
2691         (WebCore::SVGFontData::initializeFontData):
2692
2693 2014-12-22  Chris Dumez  <cdumez@apple.com>
2694
2695         Move "Auto" CSS properties to the new StyleBuilder
2696         https://bugs.webkit.org/show_bug.cgi?id=139858
2697
2698         Reviewed by Antti Koivisto.
2699
2700         Move "Auto" CSS properties from DeprecatedStyleBuilder to the new
2701         StyleBuilder, by adding support in the generator for using hasAutoXXX()
2702         / setHasAutoXXX() methods on RenderStyle.
2703
2704         No new tests, no web-exposed behavior change.
2705
2706         * css/CSSPropertyNames.in:
2707         * css/DeprecatedStyleBuilder.cpp:
2708         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2709         (WebCore::ApplyPropertyAuto::setValue): Deleted.
2710         (WebCore::ApplyPropertyAuto::value): Deleted.
2711         (WebCore::ApplyPropertyAuto::hasAuto): Deleted.
2712         (WebCore::ApplyPropertyAuto::setAuto): Deleted.
2713         (WebCore::ApplyPropertyAuto::applyInheritValue): Deleted.
2714         (WebCore::ApplyPropertyAuto::applyInitialValue): Deleted.
2715         (WebCore::ApplyPropertyAuto::applyValue): Deleted.
2716         (WebCore::ApplyPropertyAuto::createHandler): Deleted.
2717         * css/StyleBuilderCustom.h:
2718         (WebCore::StyleBuilderCustom::applyInitialColumnGap):
2719         (WebCore::StyleBuilderCustom::applyInheritColumnGap):
2720         (WebCore::StyleBuilderCustom::applyValueColumnGap):
2721         * css/makeprop.pl:
2722         (getNameForMethods):
2723         (getAutoGetter):
2724         (getAutoSetter):
2725         (generateInitialValueSetter):
2726         (generateInheritValueSetter):
2727         (generateValueSetter):
2728
2729 2014-12-21  Shivakumar JM  <shiva.jm@samsung.com>
2730
2731         HTMLSelectElement add() should support adding group of options element (HTMLOptGroupElement).
2732         https://bugs.webkit.org/show_bug.cgi?id=139806
2733
2734         Reviewed by Darin Adler.
2735
2736         HTMLSelectElement add() should support adding group of options (optgroup) element.
2737
2738         Test: fast/dom/HTMLSelectElement/select-add-optgroup.html
2739
2740         * html/HTMLSelectElement.cpp:
2741         (WebCore::HTMLSelectElement::add):
2742
2743 2014-12-21  Chris Dumez  <cdumez@apple.com>
2744
2745         Fix missing assertion in r177623.
2746         https://bugs.webkit.org/show_bug.cgi?id=139334
2747
2748         Reviewed by Darin Adler.
2749
2750         ValueWithCalculation::setCalculation() was meant to include an
2751         "isCalculation()" assertion but I inadvertently omitted the
2752         ASSERT() around the statement.
2753
2754         * css/CSSParser.h:
2755         (WebCore::CSSParser::ValueWithCalculation::setCalculation):
2756
2757 2014-12-21  Gabor Rapcsanyi  <rgabor@webkit.org>
2758
2759         AX: Hidden aria table crash
2760         https://bugs.webkit.org/show_bug.cgi?id=139856
2761
2762         Reviewed by Chris Fleizach.
2763
2764         Change axCaption to pointer and check it's value because
2765         AXObjectCache::getOrCreate() can return with nullptr.
2766
2767         Test: accessibility/aria-hidden-crash.html
2768
2769         * accessibility/AccessibilityTable.cpp:
2770         (WebCore::AccessibilityTable::addChildren):
2771
2772 2014-12-20  Chris Dumez  <cdumez@apple.com>
2773
2774         Get rid of error-prone ReleaseParsedCalcValueCondition argument in CSSParser
2775         https://bugs.webkit.org/show_bug.cgi?id=139334
2776
2777         Reviewed by Darin Adler.
2778
2779         Get rid of error-prone ReleaseParsedCalcValueCondition argument in
2780         CSSParser that determines the the m_parsedCalculation member should
2781         be released.
2782
2783         Instead, introduce a new ValueWithCalculation type which wraps a
2784         CSSParserValue and an optional parsed calculation value. This way,
2785         the parsed calculation value is now associated with its CSSParserValue.
2786         This makes it very difficult to use a parsed calculation value for the
2787         wrong CSSParserValue. The API is also easier to use as developers no
2788         longer need to explicitly indicate if the calculation value should be
2789         released or not.
2790
2791         No new tests, no web-behavior change.
2792
2793 2014-12-20  Eric Carlson  <eric.carlson@apple.com>
2794
2795         [iOS] add optimized fullscreen API
2796         https://bugs.webkit.org/show_bug.cgi?id=139833
2797         <rdar://problem/18844486>
2798
2799         Reviewed by Simon Fraser.
2800
2801         * Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.
2802
2803         * Modules/mediacontrols/MediaControlsHost.cpp:
2804         (WebCore::MediaControlsHost::optimizedFullscreenSupported): Deleted.
2805         (WebCore::MediaControlsHost::fullscreenMode): Deleted.
2806         * Modules/mediacontrols/MediaControlsHost.h:
2807         * Modules/mediacontrols/MediaControlsHost.idl:
2808
2809         * Modules/mediacontrols/mediaControlsiOS.js:
2810         (ControllerIOS.prototype.addVideoListeners): Listen for 'webkitpresentationmodechanged'.
2811         (ControllerIOS.prototype.removeVideoListeners): Stop listening for 'webkitpresentationmodechanged'.
2812         (ControllerIOS.prototype.configureInlineControls): Call video element instead of using the now 
2813             removed host property.
2814         (ControllerIOS.prototype.updateControls): Ditto.
2815         (ControllerIOS.prototype.presentationMode): New, return webkitPresentationMode when possible.
2816         (ControllerIOS.prototype.handleFullscreenButtonClicked): Use webkitSetPresentationMode when possible.
2817         (ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): Use video element instead of 
2818             using the now removed host method.
2819         (ControllerIOS.prototype.handlePresentationModeChange): New, react to presentation mode changes.
2820         (ControllerIOS.prototype.handleFullscreenChange): Call handlePresentationModeChange.
2821
2822         * dom/EventNames.h: Add webkitpresentationmodechanged.
2823
2824         * html/HTMLAttributeNames.in: Add onwebkitpresentationmodechanged.
2825
2826         * html/HTMLMediaElement.cpp:
2827         (WebCore::HTMLMediaElement::enterFullscreen): Early return when asked to change to the current 
2828             mode. Call fullscreenModeChanged() instead of whacking the instance variable directly.
2829         (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
2830         * html/HTMLMediaElement.h:
2831         (WebCore::HTMLMediaElement::fullscreenModeChanged): Make virtual.
2832
2833         * html/HTMLVideoElement.cpp:
2834         (WebCore::HTMLVideoElement::parseAttribute): Deal with onwebkitpresentationmodechange.
2835         (WebCore::presentationModeFullscreen): New.
2836         (WebCore::presentationModeOptimized): Ditto.
2837         (WebCore::presentationModeInline): Ditto.
2838         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Ditto.
2839         (WebCore::HTMLVideoElement::webkitSetPresentationMode): Ditto.
2840         (WebCore::HTMLVideoElement::webkitPresentationMode): Ditto.
2841         (WebCore::HTMLVideoElement::fullscreenModeChanged): Ditto.
2842         * html/HTMLVideoElement.h:
2843         * html/HTMLVideoElement.idl:
2844
2845         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2846         (WebVideoFullscreenInterfaceAVKit::setIsOptimized): Simplify the logic a bit. Don't report
2847             a mode change when 
2848
2849 2014-12-20  David Kilzer  <ddkilzer@apple.com>
2850
2851         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
2852         <http://webkit.org/b/139463>
2853
2854         Reviewed by Mark Rowe.
2855
2856         Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
2857         WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
2858         r132859 and needed for Leopard.
2859
2860         * Configurations/Base.xcconfig:
2861         - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
2862           on OS X.
2863         - Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
2864         - Simplify SQLITE3_HEADER_SEARCH_PATHS.
2865         * Configurations/DebugRelease.xcconfig:
2866         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
2867         * Configurations/Version.xcconfig:
2868         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
2869         * Configurations/WebCore.xcconfig:
2870         - Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
2871           FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
2872           OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
2873           WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
2874           PRODUCTION_FRAMEWORKS_DIR,
2875           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
2876           EXCLUDED_SOURCE_FILE_NAMES based on SDK.
2877         - Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
2878           overrideable by WebCoreTestSupport.xcconfig.
2879         * Configurations/WebCoreTestSupport.xcconfig:
2880         - Set PRIVATE_HEADERS_FOLDER_PATH_Production and
2881           INSTALL_PATH_Production based on SDK.
2882         - Override SECT_ORDER_FLAGS from WebCore.xcconfig.
2883
2884 2014-12-19  Myles C. Maxfield  <mmaxfield@apple.com>
2885
2886         [SVG -> OTF Converter] Make placeholders more robust
2887         https://bugs.webkit.org/show_bug.cgi?id=139836
2888
2889         Reviewed by Dan Bernstein.
2890
2891         This patch creates a Placeholder object which hides the complexity of
2892         populating offsets to subtables.
2893
2894         No new tests because there is no behavior change.
2895
2896         * svg/SVGToOTFFontConversion.cpp:
2897         (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
2898         (WebCore::SVGToOTFFontConverter::Placeholder::populate):
2899         (WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):
2900         (WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable):
2901         (WebCore::SVGToOTFFontConverter::appendGSUBTable):
2902
2903 2014-12-19  Chris Dumez  <cdumez@apple.com>
2904
2905         Fix initial / inherit support for '-webkit-perspective-origin' CSS property
2906         https://bugs.webkit.org/show_bug.cgi?id=139843
2907
2908         Reviewed by Simon Fraser.
2909
2910         Fix initial / inherit support for '-webkit-perspective-origin' CSS
2911         property. These previously had no effect.
2912
2913         This patch updates the code to be consistent with
2914         '-webkit-transform-origin' and gets rid of the code in
2915         DeprecatedStyleBuilder as it isn't used.
2916
2917         Test: fast/css/perspective-origin-initial-inherit.html
2918
2919         * css/DeprecatedStyleBuilder.cpp:
2920         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2921         (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue): Deleted.
2922         (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue): Deleted.
2923         (WebCore::ApplyPropertyPerspectiveOrigin::applyValue): Deleted.
2924         (WebCore::ApplyPropertyPerspectiveOrigin::createHandler): Deleted.
2925         * css/StyleProperties.cpp:
2926         (WebCore::StyleProperties::getPropertyValue):
2927         (WebCore::StyleProperties::asText):
2928         * css/StylePropertyShorthand.cpp:
2929         (WebCore::webkitPerspectiveOriginShorthand):
2930         (WebCore::shorthandForProperty):
2931         (WebCore::matchingShorthandsForLonghand):
2932         * css/StylePropertyShorthand.h:
2933         * css/StyleResolver.cpp:
2934         (WebCore::StyleResolver::applyProperty):
2935
2936 2014-12-19  Commit Queue  <commit-queue@webkit.org>
2937
2938         Unreviewed, rolling out r177599.
2939         https://bugs.webkit.org/show_bug.cgi?id=139846
2940
2941         this breaks so many things (Requested by thorton_ on #webkit).
2942
2943         Reverted changeset:
2944
2945         "TextIndicator's window can be pushed down if it intersects
2946         the menu bar"
2947         https://bugs.webkit.org/show_bug.cgi?id=139841
2948         http://trac.webkit.org/changeset/177599
2949
2950 2014-12-19  Timothy Horton  <timothy_horton@apple.com>
2951
2952         TextIndicator's window can be pushed down if it intersects the menu bar
2953         https://bugs.webkit.org/show_bug.cgi?id=139841
2954         <rdar://problem/19311017>
2955
2956         Reviewed by Anders Carlsson.
2957
2958         * page/mac/TextIndicatorWindow.mm:
2959         (WebCore::TextIndicatorWindow::setTextIndicator):
2960         Ensure that the textIndicatorWindow sits above the menubar, and re-set
2961         its frame so that it moves under the menubar if required.
2962
2963 2014-12-19  Anders Carlsson  <andersca@apple.com>
2964
2965         Use WebCore::MachSendRights for the compositing render server port
2966         https://bugs.webkit.org/show_bug.cgi?id=139834
2967
2968         Reviewed by Tim Horton.
2969
2970         * WebCore.exp.in:
2971
2972 2014-12-19  Chris Dumez  <cdumez@apple.com>
2973
2974         [iOS] Log how often media element playback happens using FeatureCounter
2975         https://bugs.webkit.org/show_bug.cgi?id=139819
2976         <rdar://problem/19309988>
2977
2978         Reviewed by Eric Carlson.
2979
2980         Log using FeatureCounter how often we start loading for audio / video
2981         elements, and how often they end up being played.
2982
2983         * html/HTMLMediaElement.cpp:
2984         (WebCore::HTMLMediaElement::HTMLMediaElement):
2985         Add flag to identify when a media element starts playing for the first
2986         time.
2987
2988         (WebCore::HTMLMediaElement::loadResource):
2989         Log when a media element starts loading.
2990
2991         (WebCore::HTMLMediaElement::updatePlayState):
2992         Log when a media element starts playing for the first time.
2993
2994         * html/HTMLMediaElement.h:
2995         Add flag to identify when a media element starts playing for the first
2996         time.
2997
2998         * platform/FeatureCounterKeys.h:
2999         Add FeatureCounter keys for HTMLMediaElement loading / playback.
3000
3001 2014-12-19  Andreas Kling  <akling@apple.com>
3002
3003         Ref-ify TextIterator API.
3004         <https://webkit.org/b/139823>
3005
3006         Reviewed by Antti Koivisto.
3007
3008         Change TextIterator functions that always return Range objects to return
3009         Ref<Range> instead of PassRefPtr<Range>.
3010
3011         One API (rangeFromLocationAndLength) may return nullptr, so its return type
3012         is now RefPtr<Range>.
3013
3014         * editing/TextIterator.cpp:
3015         (WebCore::TextIterator::range):
3016         (WebCore::TextIterator::node):
3017         (WebCore::SimplifiedBackwardsTextIterator::range):
3018         (WebCore::CharacterIterator::range):
3019         (WebCore::characterSubrange):
3020         (WebCore::BackwardsCharacterIterator::range):
3021         (WebCore::TextIterator::subrange):
3022         (WebCore::TextIterator::rangeFromLocationAndLength):
3023         (WebCore::TextIterator::getLocationAndLengthFromRange):
3024         (WebCore::collapsedToBoundary):
3025         (WebCore::findPlainText):
3026         * editing/TextIterator.h:
3027
3028 2014-12-19  Joseph Pecoraro  <pecoraro@apple.com>
3029
3030         Web Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html
3031         https://bugs.webkit.org/show_bug.cgi?id=139792
3032
3033         Reviewed by Timothy Hatcher.
3034
3035         * bindings/js/WorkerScriptDebugServer.cpp:
3036         (WebCore::WorkerScriptDebugServer::removeListener):
3037         When removing listeners, we could be during WorkerGlobalObject shutdown
3038         and WorkerGlobalObject::script may be null.
3039
3040         * workers/WorkerMessagingProxy.cpp:
3041         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
3042         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
3043         This postTask may happen after m_pageInspector has been cleared, so
3044         only execute it if m_pageInspector is still valid.
3045
3046 2014-12-19  Chris Dumez  <cdumez@apple.com>
3047
3048         Drop useless HTMLMediaElement::m_previousProgress member
3049         https://bugs.webkit.org/show_bug.cgi?id=139822
3050
3051         Reviewed by Eric Carlson.
3052
3053         Drop HTMLMediaElement::m_previousProgress member and it is not used or
3054         even initialized.
3055
3056         * html/HTMLMediaElement.h:
3057
3058 2014-12-19  Chris Dumez  <cdumez@apple.com>
3059
3060         [iOS] Log how successful the memory cache is using FeatureCounter
3061         https://bugs.webkit.org/show_bug.cgi?id=139802
3062
3063         Reviewed by Andreas Kling.
3064
3065         Log how successful the memory cache is using FeatureCounter and why we
3066         choose not to use the resource in the memory cache when it is present.
3067
3068         * loader/cache/CachedResourceLoader.cpp:
3069         (WebCore::CachedResourceLoader::requestResource):
3070         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
3071         * platform/FeatureCounterKeys.h:
3072
3073 2014-12-19  Commit Queue  <commit-queue@webkit.org>
3074
3075         Unreviewed, rolling out r177574.
3076         https://bugs.webkit.org/show_bug.cgi?id=139821
3077
3078         "Broke Production builds by installing
3079         libWebCoreTestSupport.dylib in the wrong directory" (Requested
3080         by ddkilzer on #webkit).
3081
3082         Reverted changeset:
3083
3084         "Switch from using PLATFORM_NAME to SDK selectors in WebCore,
3085         WebInspectorUI, WebKit, WebKit2"
3086         https://bugs.webkit.org/show_bug.cgi?id=139463
3087         http://trac.webkit.org/changeset/177574
3088
3089 2014-12-19  Said Abou-Hallawa  <sabouhallawa@apple.com>
3090
3091         Only when the SVG is inline and only when a shape is referenced before it is defined, this shape will not be drawn.
3092         https://bugs.webkit.org/show_bug.cgi?id=139451.
3093
3094         Reviewed by Antti Koivisto.
3095
3096         Tests: svg/in-html/defs-after-use.html.
3097
3098         When parsing the children of an SVG element is finished, we need to notify the
3099         other SVG elements which have incomplete shadow trees because of early referencing
3100         to this element. The referencing elements need to rebuild their shadow trees and
3101         make new copies of the this element and its sub-tree.
3102         
3103         This is the case where a <use> tag references target elements before these target
3104         elements are defined. Updating the shadow DOM tree of a <use> element should update
3105         the corresponding shadow render tree as well.
3106
3107         * svg/SVGElement.cpp:
3108         (WebCore::SVGElement::finishParsingChildren):
3109         Invalidate all the referencing elements of a target element whose sub-tree has
3110         just finished parsing.
3111
3112 2014-12-19  David Kilzer  <ddkilzer@apple.com>
3113
3114         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
3115         <http://webkit.org/b/139463>
3116
3117         Reviewed by Mark Rowe.
3118
3119         Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
3120         WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
3121         r132859 and needed for Leopard.
3122
3123         * Configurations/Base.xcconfig:
3124         - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
3125           on OS X.
3126         - Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
3127         - Simplify SQLITE3_HEADER_SEARCH_PATHS.
3128         * Configurations/DebugRelease.xcconfig:
3129         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
3130         * Configurations/Version.xcconfig:
3131         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
3132         * Configurations/WebCore.xcconfig:
3133         - Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
3134           FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
3135           OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
3136           WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
3137           PRODUCTION_FRAMEWORKS_DIR,
3138           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
3139           EXCLUDED_SOURCE_FILE_NAMES based on SDK.
3140         - Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
3141           overrideable by WebCoreTestSupport.xcconfig.
3142         * Configurations/WebCoreTestSupport.xcconfig:
3143         - Set PRIVATE_HEADERS_FOLDER_PATH_Production and
3144           INSTALL_PATH_Production based on SDK.
3145         - Override SECT_ORDER_FLAGS from WebCore.xcconfig.
3146
3147 2014-12-19  Chris Dumez  <cdumez@apple.com>
3148
3149         Clean up StyleBuilderCustom and DeprecatedStyleBuilder
3150         https://bugs.webkit.org/show_bug.cgi?id=139807
3151
3152         Reviewed by Antti Koivisto.
3153
3154         Clean up StyleBuilderCustom and DeprecatedStyleBuilder.
3155
3156         * css/DeprecatedStyleBuilder.cpp:
3157
3158         - Remove unnecessary header includes.
3159
3160         (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue):
3161         (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue):
3162         (WebCore::ApplyPropertyPerspectiveOrigin::applyValue):
3163         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3164         (WebCore::ApplyPropertyExpanding::applyInheritValue): Deleted.
3165         (WebCore::ApplyPropertyExpanding::applyInitialValue): Deleted.
3166         (WebCore::ApplyPropertyExpanding::applyValue): Deleted.
3167         (WebCore::ApplyPropertyExpanding::createHandler): Deleted.
3168
3169         - Rename ApplyPropertyExpanding to ApplyPropertyPerspectiveOrigin as
3170           PerspectiveOrigin is the only remaining user of this class. This also
3171           allows us to simplify the implementation a lot.
3172
3173         (WebCore::ApplyPropertyDefaultBase::setValue): Deleted.
3174         (WebCore::ApplyPropertyDefaultBase::value): Deleted.
3175         (WebCore::ApplyPropertyDefaultBase::initial): Deleted.
3176         (WebCore::ApplyPropertyDefaultBase::applyInheritValue): Deleted.
3177         (WebCore::ApplyPropertyDefaultBase::applyInitialValue): Deleted.
3178         (WebCore::ApplyPropertyDefaultBase::applyValue): Deleted.
3179
3180         - There is no longer any user of this templated class.
3181
3182         * css/StyleBuilderCustom.h:
3183
3184         - Introduce a macro that declares all 3 handlers (inherit, initial and
3185           value) in the StyleBuilderCustom class. This greatly reduces the
3186           number of lines in this class.
3187         - Also alphabetize the handlers.
3188
3189 2014-12-18  Jeremy Jones  <jeremyj@apple.com>
3190
3191         dispatch to main thread before accessing playerController() in WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse
3192         https://bugs.webkit.org/show_bug.cgi?id=139809
3193
3194         Reviewed by Dan Bernstein.
3195
3196         This prevents a race in playerController().
3197
3198         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3199         (WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):
3200
3201 2014-12-18  Jessie Berlin  <jberlin@webkit.org>
3202
3203         More speculative build fixing.
3204
3205         * WebCore.exp.in:
3206
3207 2014-12-18  Andreas Kling  <akling@apple.com>
3208
3209         Ref-ify various Document-related things.
3210         <https://webkit.org/b/139796>
3211
3212         Reviewed by Anders Carlsson.
3213
3214         * bindings/objc/DOMHTML.mm:
3215         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
3216         * dom/CDATASection.cpp:
3217         (WebCore::CDATASection::create):
3218         (WebCore::CDATASection::virtualCreate):
3219         * dom/CDATASection.h:
3220         * dom/Comment.cpp:
3221         (WebCore::Comment::create):
3222         * dom/Comment.h:
3223         * dom/Document.cpp:
3224         (WebCore::Document::create):
3225         (WebCore::Document::createDocumentFragment):
3226         (WebCore::Document::createTextNode):
3227         (WebCore::Document::createComment):
3228         (WebCore::Document::createEditingTextNode):
3229         (WebCore::Document::createCSSStyleDeclaration):
3230         (WebCore::Document::createElement):
3231         (WebCore::Document::createRange):
3232         (WebCore::Document::createParser):
3233         (WebCore::Document::cloneNodeInternal):
3234         (WebCore::Document::cloneDocumentWithoutChildren):
3235         * dom/Document.h:
3236         (WebCore::Document::create):
3237         (WebCore::Document::createXHTML):
3238         (WebCore::Document::createNonRenderedPlaceholder):
3239         * dom/DocumentFragment.cpp:
3240         (WebCore::DocumentFragment::create):
3241         * dom/DocumentFragment.h:
3242         * dom/DocumentType.h:
3243         * dom/EntityReference.cpp:
3244         (WebCore::EntityReference::create):
3245         * dom/EntityReference.h:
3246         * dom/Text.cpp:
3247         (WebCore::Text::create):
3248         (WebCore::Text::createEditingText):
3249         (WebCore::Text::splitText):
3250         (WebCore::Text::virtualCreate):
3251         (WebCore::Text::createWithLengthLimit):
3252         * dom/Text.h:
3253         * editing/markup.cpp:
3254         (WebCore::replaceChildrenWithText):
3255         * html/FTPDirectoryDocument.cpp:
3256         (WebCore::FTPDirectoryDocument::createParser):
3257         * html/FTPDirectoryDocument.h:
3258         * html/HTMLDocument.cpp:
3259         (WebCore::HTMLDocument::createParser):
3260         (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
3261         * html/HTMLDocument.h:
3262         (WebCore::HTMLDocument::create):
3263         (WebCore::HTMLDocument::createSynthesizedDocument):
3264         * html/ImageDocument.cpp:
3265         (WebCore::ImageDocument::createParser):
3266         * html/ImageDocument.h:
3267         * html/MediaDocument.cpp:
3268         (WebCore::MediaDocument::createParser):
3269         * html/MediaDocument.h:
3270         * html/PluginDocument.cpp:
3271         (WebCore::PluginDocument::createParser):
3272         * html/PluginDocument.h:
3273         * html/TextDocument.cpp:
3274         (WebCore::TextDocument::createParser):
3275         * html/TextDocument.h:
3276         * html/parser/HTMLConstructionSite.cpp:
3277         (WebCore::HTMLConstructionSite::insertTextNode):
3278         * html/parser/HTMLDocumentParser.h:
3279         (WebCore::HTMLDocumentParser::create):
3280         * loader/SinkDocument.cpp:
3281         (WebCore::SinkDocument::createParser):
3282         * loader/SinkDocument.h:
3283         * svg/SVGDocument.cpp:
3284         (WebCore::SVGDocument::cloneDocumentWithoutChildren):
3285         * svg/SVGDocument.h:
3286         * xml/parser/XMLDocumentParser.h:
3287         (WebCore::XMLDocumentParser::create):
3288         * xml/parser/XMLDocumentParserLibxml2.cpp:
3289         (WebCore::XMLParserContext::createStringParser):
3290         (WebCore::XMLParserContext::createMemoryParser):
3291
3292 2014-12-18  Anders Carlsson  <andersca@apple.com>
3293
3294         Use MachSendRight in WebKit2
3295         https://bugs.webkit.org/show_bug.cgi?id=139800
3296
3297         Reviewed by Tim Horton.
3298
3299         * WebCore.exp.in:
3300         * platform/cocoa/MachSendRight.h:
3301         (WebCore::MachSendRight::MachSendRight):
3302         (WebCore::MachSendRight::sendRight):
3303         * platform/graphics/cocoa/IOSurface.h:
3304         * platform/graphics/cocoa/IOSurface.mm:
3305         (IOSurface::createFromSendRight):
3306         (IOSurface::createFromMachPort): Deleted.
3307
3308 2014-12-18  Gavin Barraclough  <barraclough@apple.com>
3309
3310         Add strong typing to RefCounter interface, return value as a bool.
3311         https://bugs.webkit.org/show_bug.cgi?id=139776
3312
3313         Reviewed by Geoff Garen.
3314
3315         Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>.
3316         This means there is no compile time type checking to prevent mistakes. Update the count()
3317         method to token<>(), templated on type used to identify the token being returned.
3318         Calls to token<T>() will return a result of type RefCounter::Token<T>.
3319
3320         There are a few problems with the fact the counter will return you an exact count of the
3321         number of outstanding tokens:
3322           - It is desirable to only fire the callback on zero-edge changes; it is more consistent
3323             to do so if the value is only readable as a boolean.
3324           - It is desirable to provide the value as an argument to the callback, however to make
3325             this useful for integer values it is also necessary to indicate the direction of change
3326             (0->1 is often interesting where 2->1 is not).
3327           - There is a mismatch between the precision of returning a count, and the inherent
3328             imprecision of a token based mechanism, where it may be difficult to guarantee
3329             absolutely no unnecessary refcount churn, and thus unintentional counter values.
3330
3331         * page/PageThrottler.cpp:
3332         (WebCore::m_mediaActivityCounter):
3333         (WebCore::m_pageLoadActivityCounter):
3334             - lambdas now passed the value.
3335         (WebCore::PageThrottler::mediaActivityToken):
3336         (WebCore::PageThrottler::pageLoadActivityToken):
3337             - count() -> token<>().
3338         * page/PageThrottler.h:
3339             - specify tpoken type for PageActivityAssertionToken.
3340
3341 2014-12-18  Benjamin Poulain  <bpoulain@apple.com>
3342
3343         HTMLFormControlElement and HTMLObjectElement need not to look for an ancestor on construction
3344         https://bugs.webkit.org/show_bug.cgi?id=139791
3345
3346         Reviewed by Alexey Proskuryakov.
3347
3348         The objects are being constructed, they have not been inserted into the tree yet.
3349         There is not chance of finding the owner form at this point,
3350         that is done when inserting the node into the tree.
3351
3352         * html/HTMLFormControlElement.cpp:
3353         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
3354         * html/HTMLObjectElement.cpp:
3355         (WebCore::HTMLObjectElement::HTMLObjectElement):
3356
3357 2014-12-18  Chris Fleizach  <cfleizach@apple.com>
3358
3359         AX: Recursive crash at WebCore::accessibleNameForNode
3360         https://bugs.webkit.org/show_bug.cgi?id=139616
3361
3362         Reviewed by Mario Sanchez Prada.
3363
3364         An image that uses aria-labelledby to reference its own parent can lead to a recursion crash.
3365         There needs to be some information we can pass through these methods to ensure we don't hit this case.
3366
3367         Test: accessibility/accessibility-description-crash.html
3368
3369         * accessibility/AccessibilityNodeObject.cpp:
3370         (WebCore::AccessibilityNodeObject::alternativeText):
3371         (WebCore::AccessibilityNodeObject::textUnderElement):
3372         (WebCore::accessibleNameForNode):
3373         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
3374         * accessibility/AccessibilityObject.h:
3375         (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
3376
3377 2014-12-18  Chris Fleizach  <cfleizach@apple.com>
3378
3379         AX: Heuristic: Avoid exposing an element as clickable if mouse event delegation is handled on an element with any explicit ARIA role, including presentation.
3380         https://bugs.webkit.org/show_bug.cgi?id=133613
3381
3382         Reviewed by Mario Sanchez Prada.
3383
3384         This adds a heuristic to avoid a problem we have where too many objects that say they respond to press actions for accessibility.
3385         It results from people installing click handlers on container nodes and then lots of static text objects are "clickable" in the eyes of VoiceOver.
3386
3387         What we can do is avoid this determination if the element is presentational.
3388
3389         Test: platform/mac/accessibility/press-action-for-presentational-descendants.html
3390
3391         * accessibility/AccessibilityObject.cpp:
3392         (WebCore::nodeHasPresentationRole):
3393         (WebCore::AccessibilityObject::supportsPressAction):
3394         * accessibility/AccessibilityObject.h:
3395         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3396         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
3397
3398 2014-12-18  Chris Fleizach  <cfleizach@apple.com>
3399
3400         AX: event.target should sometimes be a descendant element on AXPress-triggered mouse clicks
3401         https://bugs.webkit.org/show_bug.cgi?id=135689
3402
3403         Reviewed by Mario Sanchez Prada.
3404
3405         When trying to find the right sub-node to target, we need to go back up the parent chain to find 
3406         an Element, in case we land on a Text node for example.
3407
3408         Test: accessibility/press-target-uses-text-descendant-node.html
3409
3410         * accessibility/AccessibilityObject.cpp:
3411         (WebCore::AccessibilityObject::press):
3412
3413 2014-12-16  Sam Weinig  <sam@webkit.org>
3414
3415         Unify the Mac and iOS implementations of FontPlatformData a bit
3416         https://bugs.webkit.org/show_bug.cgi?id=139721
3417
3418         Reviewed by Anders Carlsson.
3419
3420         This is a first pass of unifying the Mac and iOS implementations of FontPlatformData.
3421         Notable changes:
3422         - Change the storage of the platform font to be CTFontRef across the board. Adds NSFont
3423           setter/getter/constructor as a temporary measures during the transition away from NSFont.
3424         - Removes duplicate code that only differed by whether the type was NSFont or CTFontRef.
3425         - Reduces the number of #ifdefs.
3426
3427         * platform/graphics/FontPlatformData.cpp:
3428         (WebCore::FontPlatformData::FontPlatformData):
3429         (WebCore::FontPlatformData::operator=):
3430         (WebCore::FontPlatformData::openTypeTable): Deleted.
3431         * platform/graphics/FontPlatformData.h:
3432         (WebCore::FontPlatformData::nsFont):
3433         (WebCore::FontPlatformData::setNSFont):
3434         (WebCore::FontPlatformData::hash):
3435         (WebCore::FontPlatformData::operator==):
3436         (WebCore::FontPlatformData::isHashTableDeletedValue):
3437         (WebCore::toCTFontRef): Deleted.
3438         (WebCore::FontPlatformData::font): Deleted.
3439         (WebCore::FontPlatformData::roundsGlyphAdvances): Deleted.
3440         (WebCore::FontPlatformData::cgFont): Deleted.
3441         (WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
3442         * platform/graphics/SimpleFontData.h:
3443         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3444         (WebCore::FontPlatformData::FontPlatformData):
3445         (WebCore::FontPlatformData::~FontPlatformData):
3446         (WebCore::FontPlatformData::platformDataInit):
3447         (WebCore::FontPlatformData::platformDataAssign):
3448         (WebCore::FontPlatformData::setFont):
3449         (WebCore::FontPlatformData::roundsGlyphAdvances):
3450         (WebCore::FontPlatformData::allowsLigatures):
3451         (WebCore::FontPlatformData::ctFont):
3452         (WebCore::FontPlatformData::openTypeTable):
3453         (WebCore::FontPlatformData::loadFont): Deleted.
3454         * platform/graphics/mac/FontCacheMac.mm:
3455         (WebCore::FontCache::systemFallbackForCharacters):
3456         * platform/graphics/mac/FontMac.mm:
3457         (WebCore::Font::drawGlyphs):
3458         * platform/graphics/mac/SimpleFontDataMac.mm:
3459         (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
3460         (WebCore::SimpleFontData::platformInit):
3461         (WebCore::SimpleFontData::platformCreateScaledFontData):
3462         (WebCore::SimpleFontData::containsCharacters):
3463         (WebCore::SimpleFontData::determinePitch):
3464    &nb