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