Add a build flag for ES6 class syntax
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-01-22  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Add a build flag for ES6 class syntax
4         https://bugs.webkit.org/show_bug.cgi?id=140760
5
6         Reviewed by Michael Saboff.
7
8         * Configurations/FeatureDefines.xcconfig:
9
10 2015-01-22  Chris Dumez  <cdumez@apple.com>
11
12         SVGNames.cpp and HTMLNames.cpp are sometimes malformed
13         https://bugs.webkit.org/show_bug.cgi?id=140784
14         <rdar://problem/17701233>
15
16         Reviewed by David Kilzer.
17
18         Due to bad rules in DerivedSources.make, make_names.pl was called
19         several times with the same arguments during build. This is because
20         SVG/HTML/MathML each had several targets associated to the same
21         command. This would cause the command (make_names.pl) to be called
22         once per target. However, make_names.pl only needs to be executed
23         once to generate all of the files currently marked as target.
24
25         Calling make_names.pl several times for the same files is not only
26         wasteful, but it can also lead to malformed generated files if the
27         scripts instances are executed in parallel as they will read / write
28         from / to the same files.
29
30         This patch uses INTERMEDIATE targets instead so that we can still
31         indicate which files are generated by make_names.pl but only run
32         the script once.
33
34         This is a similar fix as for Bug 140756. There may several other
35         similar issues in DerivedSources.make but this patch focuses on
36         make_names.pl. I will take care of other in follow-ups if needed.
37
38         * DerivedSources.make:
39
40 2015-01-22  Chris Dumez  <cdumez@apple.com>
41
42         Have Counter::create() return a Ref<Counter>
43         https://bugs.webkit.org/show_bug.cgi?id=140777
44
45         Reviewed by Andreas Kling.
46
47         Have Counter::create() return a Ref<Counter> instead of a PassRefPtr.
48
49         The CSSPrimitiveValue class needed some updates as well to support
50         constructing a CSSPrimitiveValue object from a Ref<>.
51
52         * css/CSSPrimitiveValue.cpp:
53         (WebCore::CSSPrimitiveValue::init):
54         * css/CSSPrimitiveValue.h:
55         (WebCore::CSSPrimitiveValue::create):
56         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
57         * css/Counter.h:
58         (WebCore::Counter::create):
59         (WebCore::Counter::cloneForCSSOM):
60
61 2015-01-22  Chris Dumez  <cdumez@apple.com>
62
63         Drop the legacy FeatureCounter class
64         https://bugs.webkit.org/show_bug.cgi?id=140749
65
66         Reviewed by Andreas Kling.
67
68         Drop the legacy FeatureCounter class and use DiagnosticLoggingClient
69         instead.
70
71         * CMakeLists.txt:
72         * Configurations/WebCore.xcconfig:
73         * WebCore.exp.in:
74         * WebCore.vcxproj/WebCore.vcxproj:
75         * WebCore.vcxproj/WebCore.vcxproj.filters:
76         * WebCore.xcodeproj/project.pbxproj:
77         * html/HTMLMediaElement.cpp:
78         (WebCore::HTMLMediaElement::parseAttribute):
79         * loader/SubresourceLoader.cpp:
80         (WebCore::SubresourceLoader::willSendRequest):
81         (WebCore::SubresourceLoader::didReceiveResponse):
82         * loader/cache/CachedResource.cpp:
83         (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
84         * loader/cache/CachedResourceLoader.cpp:
85         (WebCore::logMemoryCacheResourceRequest):
86         (WebCore::CachedResourceLoader::requestResource):
87         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
88         * page/DiagnosticLoggingKeys.cpp:
89         (WebCore::DiagnosticLoggingKeys::mustRevalidateIsExpiredKey):
90         (WebCore::DiagnosticLoggingKeys::playedKey):
91         (WebCore::DiagnosticLoggingKeys::noCacheKey):
92         (WebCore::DiagnosticLoggingKeys::noStoreKey):
93         (WebCore::DiagnosticLoggingKeys::notInMemoryCacheKey):
94         (WebCore::DiagnosticLoggingKeys::mediaKey):
95         (WebCore::DiagnosticLoggingKeys::isExpiredKey):
96         (WebCore::DiagnosticLoggingKeys::loadingKey):
97         (WebCore::DiagnosticLoggingKeys::inMemoryCacheKey):
98         (WebCore::DiagnosticLoggingKeys::reasonKey):
99         (WebCore::DiagnosticLoggingKeys::audioKey):
100         (WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationKey):
101         (WebCore::DiagnosticLoggingKeys::resourceRequestKey):
102         (WebCore::DiagnosticLoggingKeys::revalidatingKey):
103         (WebCore::DiagnosticLoggingKeys::unusedKey):
104         (WebCore::DiagnosticLoggingKeys::unusedReasonCredentialSettingsKey):
105         (WebCore::DiagnosticLoggingKeys::unusedReasonErrorKey):
106         (WebCore::DiagnosticLoggingKeys::unusedReasonMustRevalidateNoValidatorKey):
107         (WebCore::DiagnosticLoggingKeys::unusedReasonNoStoreKey):
108         (WebCore::DiagnosticLoggingKeys::unusedReasonRedirectChainKey):
109         (WebCore::DiagnosticLoggingKeys::unusedReasonReloadKey):
110         (WebCore::DiagnosticLoggingKeys::unusedReasonTypeMismatchKey):
111         (WebCore::DiagnosticLoggingKeys::usedKey):
112         (WebCore::DiagnosticLoggingKeys::userKey):
113         (WebCore::DiagnosticLoggingKeys::videoKey):
114         (WebCore::DiagnosticLoggingKeys::webViewKey):
115         (WebCore::DiagnosticLoggingKeys::zoomedKey):
116         * page/DiagnosticLoggingKeys.h:
117         * page/Settings.in:
118         * platform/FeatureCounter.cpp: Removed.
119         * platform/FeatureCounter.h: Removed.
120         * platform/FeatureCounterKeys.h: Removed.
121         * platform/ios/FeatureCounter.mm: Removed.
122
123 2015-01-22  Benjamin Poulain  <benjamin@webkit.org>
124
125         When extending the fallback transitions with their closure, we are modifying the Set while iterating it
126         https://bugs.webkit.org/show_bug.cgi?id=140785
127
128         Reviewed by Andreas Kling.
129
130         * contentextensions/NFAToDFA.cpp:
131         (WebCore::ContentExtensions::populateTransitions):
132         Make that in two steps: accumulate the fallback transitions then add the closure
133         of every element.
134
135 2015-01-21  Antti Koivisto  <antti@apple.com>
136
137         Rename SimpleFontData to Font
138         https://bugs.webkit.org/show_bug.cgi?id=140496
139
140         Reviewed by Zalan Bujtas.
141
142         The fallback supporting Font type was renamed FontCascade.
143         We can now rename SimpleFontData to Font matching the usual definition.
144
145 2015-01-22  Zalan Bujtas  <zalan@apple.com>
146
147         Simple line layout: Make trailing whitespace handling more explicit.
148         https://bugs.webkit.org/show_bug.cgi?id=140776
149
150         Reviewed by Antti Koivisto.
151
152         Differentiate between committed and uncommitted trailing whitespace.
153         This enables further cleanup in removeTrailingWhitespace().
154
155         No change in functionality.
156
157         * rendering/SimpleLineLayout.cpp:
158         (WebCore::SimpleLineLayout::LineState::commitAndCreateRun):
159         (WebCore::SimpleLineLayout::LineState::addUncommitted):
160         (WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly):
161         (WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
162         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
163         (WebCore::SimpleLineLayout::LineState::LineState): Deleted.
164         (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): Deleted.
165         (WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace): Deleted.
166
167 2015-01-22  Alexey Proskuryakov  <ap@apple.com>
168
169         Crash in URL::protocol() after appcache load fails
170         https://bugs.webkit.org/show_bug.cgi?id=140755
171         rdar://problem/7881290
172
173         Reviewed by Dan Bates.
174
175         Test: http/tests/appcache/404-resource-with-slow-main-resource.php
176
177         Not every cache that isn't being updated is complete. It could also be in a zombie
178         state after failing to load. We get rid of the cache once the main resource finishes
179         loading, but while it's being loaded, the zombie still looks like a regular
180         candidate application cache.
181
182         * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::isComplete):
183         * loader/appcache/ApplicationCache.h:
184         Removed const from isComplete(), because otherwise we couldn't use ApplicationCacheGroup::m_caches.contains().
185         Constness doesn't make a lot of sense for these objects anyway.
186
187         * loader/appcache/ApplicationCacheGroup.cpp:
188         (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Toned down an assertion.
189         We can fail a main resource load when the document has a zombie appcache, too.
190
191         * loader/appcache/ApplicationCacheGroup.h:
192         (WebCore::ApplicationCacheGroup::cacheIsComplete):
193         (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): Deleted.
194         These functions are only used in ApplicationCache::isComplete().
195
196 2015-01-22  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
197
198         Avoid defining always empty Vector<TextCheckingResult>
199         https://bugs.webkit.org/show_bug.cgi?id=140765
200
201         Reviewed by Alexey Proskuryakov.
202
203         Pass an empty vector direclty instead.
204
205         No new tests. No behavior change.
206
207         * editing/SpellChecker.cpp:
208         (WebCore::SpellChecker::didCheckCancel):
209
210 2015-01-22  Chris Dumez  <cdumez@apple.com>
211
212         makeprop.pl script is called too many times during build
213         https://bugs.webkit.org/show_bug.cgi?id=140756
214         <rdar://problem/19467942>
215
216         Reviewed by David Kilzer.
217
218         The makeprop.pl script was called 4 times (instead of once) during
219         build due to a bad Makefile rule in DerivedSources.make. makeprop.pl
220         had 4 associated targets and thus was called 4 times (with the same
221         parameter). Calling it once is sufficient to generate all 4 files
222         that were marked as target. This patch uses an INTERMEDIATE target
223         instead so that we can indicate that several files are generated
224         by the same command.
225
226         I believe this may be the reason for the sporatic build failures
227         that look like:
228         """
229         CSSPropertyNames.gperf: No keywords in input file!
230         calling gperf failed: 256 at WebCore/css/makeprop.pl line 1036.
231         """
232         The makeprop.pl script is generating gperf's input file and calling the
233         gperf executable on this file. If the script is executed several times
234         in parallel, it would explain the build failures as several instances
235         of makeprop.pl may be writing / reading from the same
236         CSSPropertyNames.gperf file.
237
238         * DerivedSources.make:
239
240 2015-01-22  Commit Queue  <commit-queue@webkit.org>
241
242         Unreviewed, rolling out r178894.
243         https://bugs.webkit.org/show_bug.cgi?id=140775
244
245         Broke JSC and bindings tests (Requested by ap_ on #webkit).
246
247         Reverted changeset:
248
249         "put_by_val_direct need to check the property is index or not
250         for using putDirect / putDirectIndex"
251         https://bugs.webkit.org/show_bug.cgi?id=140426
252         http://trac.webkit.org/changeset/178894
253
254 2015-01-22  David Kilzer  <ddkilzer@apple.com>
255
256         [iOS] Fix iphoneos SDK builds for ios-ews queue
257         <http://webkit.org/b/140748>
258
259         Reviewed by Daniel Bates.
260
261         * WebCore.xcodeproj/project.pbxproj: Add new SPI headers.
262         * platform/graphics/cg/ImageBufferCG.cpp: Switch to using
263         "IOSurfaceSPI.h" from <IOSurface/IOSurface.h>.
264         * platform/graphics/cg/ImageBufferDataCG.cpp: Ditto.
265         * platform/graphics/cocoa/IOSurface.mm: Ditto.  Move definitions
266         in <IOSurface/IOSurfacePrivate.h> into "IOSurfaceSPI.h".
267         * platform/spi/cg/CoreGraphicsSPI.h: Switch to
268         WTF_EXTERN_C_{BEGIN,END}.  Add
269         CGContextGetFontAntialiasingStyle() and
270         CGContextSetFontAntialiasingStyle().
271         * platform/spi/cocoa/IOPMLibSPI.h: Switch to use IOReturnSPI.h.
272         * platform/spi/cocoa/IOReturnSPI.h: Add.
273         * platform/spi/cocoa/IOSurfaceSPI.h: Add.
274         * platform/spi/cocoa/IOTypesSPI.h: Add.
275
276 2015-01-21  Sergio Villar Senin  <svillar@igalia.com>
277
278         [CSS Grid Layout] Skip items spanning flex tracks when sizing content based tracks
279         https://bugs.webkit.org/show_bug.cgi?id=140720
280
281         Reviewed by David Hyatt.
282
283         Section "11.5. Resolve Intrinsic Track Sizes" of the specs forces
284         us to ignore items spanning tracks with flex sizing functions when
285         resolving the content-based track sizing functions. Items with
286         span < 2 are not affected by this rule (as they will belong to a
287         single track). This way the algorithm ensures that min-content and
288         max-content restrictions are fulfilled before distributing the
289         extra space.
290
291         Test: fast/css-grid-layout/flex-and-content-sized-resolution-columns.html
292
293         * rendering/RenderGrid.cpp:
294         (WebCore::RenderGrid::spanningItemCrossesFlexibleSizedTracks):
295         (WebCore::integerSpanForDirection):
296         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
297         * rendering/RenderGrid.h:
298
299 2015-01-22  Yusuke Suzuki  <utatane.tea@gmail.com>
300
301         put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex
302         https://bugs.webkit.org/show_bug.cgi?id=140426
303
304         Reviewed by Geoffrey Garen.
305
306         Test: js/dfg-put-by-val-direct-with-edge-numbers.html
307
308         * bindings/js/JSDOMWindowCustom.cpp:
309         (WebCore::JSDOMWindow::getOwnPropertySlot):
310         * bindings/js/JSHTMLAllCollectionCustom.cpp:
311         (WebCore::callHTMLAllCollection):
312         (WebCore::JSHTMLAllCollection::item):
313         * bindings/scripts/CodeGeneratorJS.pm:
314         (GenerateGetOwnPropertySlotBody):
315         (GenerateImplementation):
316         * bindings/scripts/test/JS/JSFloat64Array.cpp:
317         (WebCore::JSFloat64Array::getOwnPropertySlot):
318         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
319         (WebCore::JSFloat64Array::put):
320         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
321         (WebCore::JSTestEventTarget::getOwnPropertySlot):
322         * bridge/runtime_array.cpp:
323         (JSC::RuntimeArray::getOwnPropertySlot):
324         (JSC::RuntimeArray::put):
325
326 2015-01-19  Sergio Villar Senin  <svillar@igalia.com>
327
328         [CSS Grid Layout] Size tracks using a list of all items sorted by span
329         https://bugs.webkit.org/show_bug.cgi?id=140615
330
331         Reviewed by Andreas Kling.
332
333         In r173620 we fixed
334         RenderGrid::resolveContentBasedTrackSizingFunctions() so that it
335         now collects all items spanning content-sized tracks and process
336         them one by one after sorting them by ascending span.
337
338         The problem is that it was incorrectly implemented, it has two
339         important bugs. First one is that the hash table that collects
340         items is regenerated after processing each track, so it's actually
341         doing nothing. Secondly we're only sorting the items on each
342         track, instead of all the items in the grid.
343
344         * rendering/RenderGrid.cpp:
345         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
346
347 2015-01-21  Daniel Bates  <dabates@apple.com>
348
349         Fix the iOS release build after <http://trac.webkit.org/changeset/178868>
350         (https://bugs.webkit.org/show_bug.cgi?id=140742)
351
352         Substitute ASSERT_UNUSED() for ASSERT() since the parameter layer is used only in the assertion expression.
353
354         * rendering/RenderLayerBacking.cpp:
355         (WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack):
356
357 2015-01-21  Daniel Bates  <dabates@apple.com>
358
359         [iOS] Many compositing tests fail in DumpRenderTree due to contentsOpaque difference
360         https://bugs.webkit.org/show_bug.cgi?id=140742
361
362         Reviewed by Simon Fraser.
363
364         Make RenderLayerBacking::layerTreeAsText() (including internals.layerTreeAsText()) always
365         report that the main frame's RenderView layer is opaque when running iOS DumpRenderTree to
366         avoid test failures and the need to maintain for iOS WebKit1 an almost identical copy of the
367         platform-independent compositing test results.
368
369         The main frame's RenderView layer is always transparent in iOS WebKit1 since it does
370         not make use of a tiled cache layer and defers to UIKit to handle the final compositing
371         of the web view, including applying the page scale factor.
372
373         * platform/RuntimeApplicationChecksIOS.mm:
374         (WebCore::applicationIsDumpRenderTree): The app bundle identifier of DumpRenderTree has
375         the form org.webkit.DumpRenderTreeX where X is some non-negative integer.
376         * platform/graphics/GraphicsLayer.cpp:
377         (WebCore::GraphicsLayer::dumpProperties): Modified to report that a layer is opaque when
378         GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack() returns true.
379         * platform/graphics/GraphicsLayerClient.h:
380         (WebCore::GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added
381         default implementation (returns false).
382         * rendering/RenderLayerBacking.cpp:
383         (WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added;
384         returns true when running in DumpRenderTree and the passed GraphicsLayer corresponds to the main frame's
385         RenderView layer.
386         * rendering/RenderLayerBacking.h:
387
388 2015-01-21  Roger Fong  <roger_fong@apple.com>
389
390         WebGL2 (spec section 3.1): Add new types to WebGL2 API.
391         https://bugs.webkit.org/show_bug.cgi?id=140741.
392         <rdar://problem/19552962>
393
394         Reviewed by Dean Jackson.
395
396         * html/canvas/WebGL2RenderingContext.idl:
397
398 2015-01-21  Zalan Bujtas  <zalan@apple.com>
399
400         Simple line layout: Move nextTextFragment() to FlowContents class.
401         https://bugs.webkit.org/show_bug.cgi?id=140738
402
403         Reviewed by Antti Koivisto.
404
405         This is in preparation to make FlowContents an iterator class.
406         
407         No change in functionality.
408
409         * rendering/SimpleLineLayout.cpp:
410         (WebCore::SimpleLineLayout::LineState::addUncommitted):
411         (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace):
412         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
413         (WebCore::SimpleLineLayout::initializeNewLine):
414         (WebCore::SimpleLineLayout::splitFragmentToFitLine):
415         (WebCore::SimpleLineLayout::createLineRuns):
416         (WebCore::SimpleLineLayout::TextFragment::TextFragment): Deleted.
417         (WebCore::SimpleLineLayout::TextFragment::isEmpty): Deleted.
418         (WebCore::SimpleLineLayout::nextFragment): Deleted.
419         * rendering/SimpleLineLayoutFlowContents.cpp:
420         (WebCore::SimpleLineLayout::FlowContents::nextTextFragment):
421         * rendering/SimpleLineLayoutFlowContents.h:
422         (WebCore::SimpleLineLayout::FlowContents::TextFragment::TextFragment):
423         (WebCore::SimpleLineLayout::FlowContents::TextFragment::isEmpty):
424
425 2015-01-21  Andreas Kling  <akling@apple.com>
426
427         DocumentLoader::timing() should return a reference.
428         <https://webkit.org/b/128272>
429
430         Reviewed by Antti Koivisto.
431
432         There is always a DocumentLoadTiming object, so return it by
433         reference since it can never be null.
434
435         * Modules/gamepad/NavigatorGamepad.cpp:
436         (WebCore::NavigatorGamepad::from):
437         * dom/ScriptedAnimationController.cpp:
438         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
439         * html/HTMLMediaElement.cpp:
440         (WebCore::HTMLMediaElement::parseAttribute):
441         * inspector/InspectorResourceAgent.cpp:
442         (WebCore::buildObjectForTiming):
443         * loader/DocumentLoader.cpp:
444         (WebCore::DocumentLoader::finishedLoading):
445         (WebCore::DocumentLoader::willSendRequest):
446         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
447         (WebCore::DocumentLoader::startLoadingMainResource):
448         * loader/DocumentLoader.h:
449         (WebCore::DocumentLoader::timing):
450         * loader/FrameLoader.cpp:
451         (WebCore::FrameLoader::stopLoading):
452         (WebCore::FrameLoader::commitProvisionalLoad):
453         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
454         * page/DOMWindow.cpp:
455         (WebCore::DOMWindow::dispatchLoadEvent):
456         * page/Performance.cpp:
457         (WebCore::Performance::now):
458         * page/PerformanceNavigation.cpp:
459         (WebCore::PerformanceNavigation::redirectCount):
460         * page/PerformanceResourceTiming.cpp:
461         (WebCore::monotonicTimeToDocumentMilliseconds):
462         (WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
463         * page/PerformanceTiming.cpp:
464         (WebCore::PerformanceTiming::documentLoadTiming):
465
466 2015-01-21  Benjamin Poulain  <benjamin@webkit.org>
467
468         Handle the transition on any character as a separate type of transition
469         https://bugs.webkit.org/show_bug.cgi?id=140711
470
471         Reviewed by Andreas Kling.
472
473         Instead of considering the universal transition as 127 transitions, it is now
474         handled as a separate type of transition.
475
476         The goal is to reduce the number of exit edge to consider for each node. Instead
477         of having 127 for any partition containing one universal transition, we have
478         as few exit edges as necessary + one universal transition.
479
480         In the NFA, the universal transition is stored directly on NFANode in a new
481         HashSet (transitionsOnAnyCharacter).
482         The target nodes are made exclusive between "transitionsOnAnyCharacter" and "transitions"
483         by construction. That is not strictly needed but it simplify debugging at the moment.
484
485         When converting a NFA to a DFA, we first find all the node that transition on any character.
486         Then, when we iterate over "real" transition, we also augment that set with the set on
487         any character.
488
489         When creating the DFA node, we first consider each "real" transition, then we have a single
490         "fallback" transition for any character that has not been handled yet.
491
492         When matching, we first search for any real transition. If there is none but a fallback exists,
493         we take the fallback.
494
495         * contentextensions/DFA.cpp:
496         (WebCore::ContentExtensions::DFA::nextState):
497         (WebCore::ContentExtensions::printTransitions):
498         (WebCore::ContentExtensions::DFA::debugPrintDot):
499         (WebCore::ContentExtensions::printTransition): Deleted.
500         * contentextensions/DFANode.h:
501         * contentextensions/NFA.cpp:
502         (WebCore::ContentExtensions::NFA::addTransition):
503         (WebCore::ContentExtensions::NFA::addTransitionsOnAnyCharacter):
504         (WebCore::ContentExtensions::printTransitions):
505         (WebCore::ContentExtensions::NFA::debugPrintDot):
506         (WebCore::ContentExtensions::printTransition): Deleted.
507         * contentextensions/NFA.h:
508         * contentextensions/NFANode.h:
509         * contentextensions/NFAToDFA.cpp:
510         (WebCore::ContentExtensions::populateTransitions):
511         (WebCore::ContentExtensions::getOrCreateDFANode):
512         (WebCore::ContentExtensions::NFAToDFA::convert):
513         * contentextensions/URLFilterParser.cpp:
514         (WebCore::ContentExtensions::GraphBuilder::generateTransition):
515
516 2015-01-20  Antti Koivisto  <antti@apple.com>
517
518         REGRESSION(r178180): Membuster regressed ~4%
519         https://bugs.webkit.org/show_bug.cgi?id=140495
520
521         Reviewed by Andreas Kling.
522
523         After r178180 we keep system fallback fonts that are used on glyph pages alive.
524         Previously we would traverse the glyph pages and remove entries referencing system fallbacks.
525
526         * platform/graphics/FontCache.cpp:
527         (WebCore::FontCache::purgeInactiveFontData):
528         * platform/graphics/FontCascade.cpp:
529         (WebCore::pruneUnreferencedEntriesFromFontGlyphsCache):
530         (WebCore::pruneSystemFallbackFonts):
531         * platform/graphics/FontCascade.h:
532         * platform/graphics/FontGlyphs.cpp:
533         (WebCore::FontGlyphs::pruneSystemFallbacks):
534
535             When clearing the font cache also remove the cached glyph pages that may contain system fallback fonts
536             and release the fallbacks.
537
538         * platform/graphics/FontGlyphs.h:
539
540 2015-01-21  Manuel Rego Casasnovas  <rego@igalia.com>
541
542         first-letter pseudo-element from ancestors is not being ignored in grids and flexboxes
543         https://bugs.webkit.org/show_bug.cgi?id=138424
544
545         Reviewed by Benjamin Poulain.
546
547         Source/WebCore:
548
549         According to the grid and flexbox specs:
550         "::first-letter pseudo-element do not apply to grid/flex containers".
551         http://dev.w3.org/csswg/css-grid/#grid-containers
552         http://dev.w3.org/csswg/css-flexbox/#flex-containers
553
554         Check also the CSS WG mailing list discussion:
555         http://lists.w3.org/Archives/Public/www-style/2014Dec/0305.html
556
557         This was almost working right, except in the case that an ancestor was
558         setting the ::first-letter pseudo-element.
559
560         Added a few more cases to the current tests in order to check this
561         behavior.
562         Also created some new tests to increase coverage
563
564         Tests: fast/css/first-letter-from-ancestors-not-apply-inline-elements.html
565                fast/css/first-letter-ignores-display-property.html
566
567         * rendering/RenderBlock.cpp:
568         (WebCore::RenderBlock::getFirstLetter): Go to the next sibling when
569         looking for the first text child if you reach a grid or flexbox.
570
571 2015-01-21  Csaba Osztrogonác  <ossy@webkit.org>
572
573         Fix cast-align warning in Source/WebCore/platform/efl/EflScreenUtilities.cpp
574         https://bugs.webkit.org/show_bug.cgi?id=140670
575
576         Reviewed by Darin Adler.
577
578         * platform/efl/EflScreenUtilities.cpp:
579         (WebCore::createCustomCursor):
580
581 2015-01-21  Csaba Osztrogonác  <ossy@webkit.org>
582
583         Remove ENABLE(INSPECTOR) ifdef guards
584         https://bugs.webkit.org/show_bug.cgi?id=140668
585
586         Reviewed by Darin Adler.
587
588         * Configurations/FeatureDefines.xcconfig:
589         * WebCore.exp.in:
590         * bindings/js/JSCommandLineAPIHostCustom.cpp:
591         * bindings/js/JSDOMWindowBase.cpp:
592         (WebCore::JSDOMWindowBase::supportsProfiling):
593         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
594         * bindings/js/JSInspectorFrontendHostCustom.cpp:
595         * bindings/js/ScriptController.cpp:
596         (WebCore::ScriptController::collectIsolatedContexts):
597         * bindings/js/ScriptController.h:
598         * bindings/js/ScriptGlobalObject.cpp:
599         (WebCore::ScriptGlobalObject::set):
600         * bindings/js/ScriptGlobalObject.h:
601         * bindings/js/WorkerScriptDebugServer.cpp:
602         * bindings/js/WorkerScriptDebugServer.h:
603         * dom/Node.cpp:
604         (WebCore::Node::inspect):
605         * inspector/CommandLineAPIHost.cpp:
606         * inspector/CommandLineAPIHost.idl:
607         * inspector/CommandLineAPIModule.cpp:
608         * inspector/CommandLineAPIModule.h:
609         * inspector/DOMEditor.cpp:
610         * inspector/DOMEditor.h:
611         * inspector/DOMPatchSupport.cpp:
612         * inspector/DOMPatchSupport.h:
613         * inspector/InspectorApplicationCacheAgent.cpp:
614         * inspector/InspectorApplicationCacheAgent.h:
615         * inspector/InspectorCSSAgent.cpp:
616         * inspector/InspectorCSSAgent.h:
617         * inspector/InspectorClient.cpp:
618         * inspector/InspectorConsoleInstrumentation.h:
619         (WebCore::InspectorInstrumentation::addMessageToConsole):
620         (WebCore::InspectorInstrumentation::consoleCount):
621         (WebCore::InspectorInstrumentation::startConsoleTiming):
622         (WebCore::InspectorInstrumentation::stopConsoleTiming):
623         (WebCore::InspectorInstrumentation::consoleTimeStamp):
624         (WebCore::InspectorInstrumentation::startProfiling):
625         (WebCore::InspectorInstrumentation::stopProfiling):
626         * inspector/InspectorController.cpp:
627         * inspector/InspectorController.h:
628         * inspector/InspectorDOMAgent.cpp:
629         * inspector/InspectorDOMAgent.h:
630         * inspector/InspectorDOMDebuggerAgent.cpp:
631         * inspector/InspectorDOMDebuggerAgent.h:
632         * inspector/InspectorDOMStorageAgent.cpp:
633         * inspector/InspectorDatabaseAgent.cpp:
634         * inspector/InspectorDatabaseAgent.h:
635         * inspector/InspectorDatabaseInstrumentation.h:
636         (WebCore::InspectorInstrumentation::didOpenDatabase):
637         * inspector/InspectorDatabaseResource.cpp:
638         * inspector/InspectorDatabaseResource.h:
639         * inspector/InspectorFrontendClientLocal.cpp:
640         * inspector/InspectorFrontendHost.cpp:
641         * inspector/InspectorFrontendHost.idl:
642         * inspector/InspectorHistory.cpp:
643         * inspector/InspectorHistory.h:
644         * inspector/InspectorIndexedDBAgent.cpp:
645         * inspector/InspectorIndexedDBAgent.h:
646         * inspector/InspectorInstrumentation.cpp:
647         * inspector/InspectorInstrumentation.h:
648         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
649         (WebCore::InspectorInstrumentation::isDebuggerPaused):
650         (WebCore::InspectorInstrumentation::willInsertDOMNode):
651         (WebCore::InspectorInstrumentation::didInsertDOMNode):
652         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
653         (WebCore::InspectorInstrumentation::didRemoveDOMNode):
654         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
655         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
656         (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
657         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
658         (WebCore::InspectorInstrumentation::frameWindowDiscarded):
659         (WebCore::InspectorInstrumentation::mediaQueryResultChanged):
660         (WebCore::InspectorInstrumentation::didPushShadowRoot):
661         (WebCore::InspectorInstrumentation::willPopShadowRoot):
662         (WebCore::InspectorInstrumentation::didCreateNamedFlow):
663         (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
664         (WebCore::InspectorInstrumentation::didChangeRegionOverset):
665         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
666         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
667         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
668         (WebCore::InspectorInstrumentation::handleTouchEvent):
669         (WebCore::InspectorInstrumentation::handleMousePress):
670         (WebCore::InspectorInstrumentation::forcePseudoState):
671         (WebCore::InspectorInstrumentation::characterDataModified):
672         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
673         (WebCore::InspectorInstrumentation::didInstallTimer):
674         (WebCore::InspectorInstrumentation::didRemoveTimer):
675         (WebCore::InspectorInstrumentation::willCallFunction):
676         (WebCore::InspectorInstrumentation::didCallFunction):
677         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
678         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
679         (WebCore::InspectorInstrumentation::willDispatchEvent):
680         (WebCore::InspectorInstrumentation::didDispatchEvent):
681         (WebCore::InspectorInstrumentation::willHandleEvent):
682         (WebCore::InspectorInstrumentation::didHandleEvent):
683         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
684         (WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
685         (WebCore::InspectorInstrumentation::willEvaluateScript):
686         (WebCore::InspectorInstrumentation::didEvaluateScript):
687         (WebCore::InspectorInstrumentation::scriptsEnabled):
688         (WebCore::InspectorInstrumentation::willFireTimer):
689         (WebCore::InspectorInstrumentation::didFireTimer):
690         (WebCore::InspectorInstrumentation::didInvalidateLayout):
691         (WebCore::InspectorInstrumentation::willLayout):
692         (WebCore::InspectorInstrumentation::didLayout):
693         (WebCore::InspectorInstrumentation::didScroll):
694         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
695         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
696         (WebCore::InspectorInstrumentation::willPaint):
697         (WebCore::InspectorInstrumentation::didPaint):
698         (WebCore::InspectorInstrumentation::willScrollLayer):
699         (WebCore::InspectorInstrumentation::didScrollLayer):
700         (WebCore::InspectorInstrumentation::willRecalculateStyle):
701         (WebCore::InspectorInstrumentation::didRecalculateStyle):
702         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
703         (WebCore::InspectorInstrumentation::applyEmulatedMedia):
704         (WebCore::InspectorInstrumentation::willSendRequest):
705         (WebCore::InspectorInstrumentation::continueAfterPingLoader):
706         (WebCore::InspectorInstrumentation::markResourceAsCached):
707         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
708         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
709         (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
710         (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
711         (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
712         (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
713         (WebCore::InspectorInstrumentation::didReceiveData):
714         (WebCore::InspectorInstrumentation::didFinishLoading):
715         (WebCore::InspectorInstrumentation::didFailLoading):
716         (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient):
717         (WebCore::InspectorInstrumentation::willLoadXHR):
718         (WebCore::InspectorInstrumentation::didFailXHRLoading):
719         (WebCore::InspectorInstrumentation::didFinishXHRLoading):
720         (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
721         (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
722         (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
723         (WebCore::InspectorInstrumentation::scriptImported):
724         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
725         (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
726         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
727         (WebCore::InspectorInstrumentation::loadEventFired):
728         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
729         (WebCore::InspectorInstrumentation::didCommitLoad):
730         (WebCore::InspectorInstrumentation::frameDocumentUpdated):
731         (WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
732         (WebCore::InspectorInstrumentation::frameStartedLoading):
733         (WebCore::InspectorInstrumentation::frameStoppedLoading):
734         (WebCore::InspectorInstrumentation::frameScheduledNavigation):
735         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
736         (WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
737         (WebCore::InspectorInstrumentation::didRunJavaScriptDialog):
738         (WebCore::InspectorInstrumentation::willDestroyCachedResource):
739         (WebCore::InspectorInstrumentation::willWriteHTML):
740         (WebCore::InspectorInstrumentation::didWriteHTML):
741         (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
742         (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
743         (WebCore::InspectorInstrumentation::didStartWorkerGlobalScope):
744         (WebCore::InspectorInstrumentation::workerGlobalScopeTerminated):
745         (WebCore::InspectorInstrumentation::didCreateWebSocket):
746         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
747         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
748         (WebCore::InspectorInstrumentation::didCloseWebSocket):
749         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
750         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
751         (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
752         (WebCore::InspectorInstrumentation::sessionCreated):
753         (WebCore::InspectorInstrumentation::sessionLoaded):
754         (WebCore::InspectorInstrumentation::sessionModified):
755         (WebCore::InspectorInstrumentation::segmentCreated):
756         (WebCore::InspectorInstrumentation::segmentCompleted):
757         (WebCore::InspectorInstrumentation::segmentLoaded):
758         (WebCore::InspectorInstrumentation::segmentUnloaded):
759         (WebCore::InspectorInstrumentation::captureStarted):
760         (WebCore::InspectorInstrumentation::captureStopped):
761         (WebCore::InspectorInstrumentation::playbackStarted):
762         (WebCore::InspectorInstrumentation::playbackPaused):
763         (WebCore::InspectorInstrumentation::playbackFinished):
764         (WebCore::InspectorInstrumentation::playbackHitPosition):
765         (WebCore::InspectorInstrumentation::networkStateChanged):
766         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
767         (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
768         (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
769         (WebCore::InspectorInstrumentation::willFireAnimationFrame):
770         (WebCore::InspectorInstrumentation::didFireAnimationFrame):
771         (WebCore::InspectorInstrumentation::layerTreeDidChange):
772         (WebCore::InspectorInstrumentation::renderLayerDestroyed):
773         (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
774         (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
775         (WebCore::InspectorInstrumentation::hasFrontends): Deleted.
776         (WebCore::InspectorInstrumentation::consoleAgentEnabled): Deleted.
777         (WebCore::InspectorInstrumentation::runtimeAgentEnabled): Deleted.
778         (WebCore::InspectorInstrumentation::timelineAgentEnabled): Deleted.
779         (WebCore::InspectorInstrumentation::replayAgentEnabled): Deleted.
780         * inspector/InspectorLayerTreeAgent.cpp:
781         * inspector/InspectorLayerTreeAgent.h:
782         * inspector/InspectorOverlay.cpp:
783         * inspector/InspectorPageAgent.cpp:
784         * inspector/InspectorPageAgent.h:
785         * inspector/InspectorReplayAgent.cpp:
786         * inspector/InspectorReplayAgent.h:
787         * inspector/InspectorResourceAgent.cpp:
788         * inspector/InspectorResourceAgent.h:
789         * inspector/InspectorStyleSheet.cpp:
790         * inspector/InspectorStyleSheet.h:
791         * inspector/InspectorStyleTextEditor.cpp:
792         * inspector/InspectorStyleTextEditor.h:
793         * inspector/InspectorTimelineAgent.cpp:
794         * inspector/InspectorTimelineAgent.h:
795         * inspector/InspectorWorkerAgent.cpp:
796         * inspector/InspectorWorkerResource.h:
797         * inspector/InstrumentingAgents.cpp:
798         * inspector/NetworkResourcesData.cpp:
799         * inspector/NetworkResourcesData.h:
800         * inspector/PageConsoleAgent.cpp:
801         * inspector/PageConsoleAgent.h:
802         * inspector/PageDebuggerAgent.cpp:
803         * inspector/PageDebuggerAgent.h:
804         * inspector/PageRuntimeAgent.cpp:
805         * inspector/PageRuntimeAgent.h:
806         * inspector/PageScriptDebugServer.cpp:
807         * inspector/PageScriptDebugServer.h:
808         * inspector/TimelineRecordFactory.cpp:
809         * inspector/WebConsoleAgent.cpp:
810         * inspector/WebConsoleAgent.h:
811         * inspector/WebDebuggerAgent.cpp:
812         * inspector/WebDebuggerAgent.h:
813         * inspector/WebInjectedScriptHost.cpp:
814         * inspector/WebInjectedScriptHost.h:
815         * inspector/WebInjectedScriptManager.cpp:
816         * inspector/WebInjectedScriptManager.h:
817         * inspector/WorkerConsoleAgent.cpp:
818         * inspector/WorkerConsoleAgent.h:
819         * inspector/WorkerDebuggerAgent.cpp:
820         * inspector/WorkerDebuggerAgent.h:
821         * inspector/WorkerInspectorController.cpp:
822         * inspector/WorkerInspectorController.h:
823         * inspector/WorkerRuntimeAgent.cpp:
824         * inspector/WorkerRuntimeAgent.h:
825         * loader/DocumentThreadableLoader.cpp:
826         (WebCore::DocumentThreadableLoader::didReceiveResponse):
827         (WebCore::DocumentThreadableLoader::loadRequest):
828         * loader/FrameLoader.cpp:
829         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
830         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
831         * loader/appcache/ApplicationCacheGroup.cpp:
832         (WebCore::ApplicationCacheGroup::createResourceHandle):
833         (WebCore::ApplicationCacheGroup::didReceiveResponse):
834         * loader/appcache/ApplicationCacheHost.cpp:
835         (WebCore::ApplicationCacheHost::applicationCacheInfo):
836         * loader/appcache/ApplicationCacheHost.h:
837         * loader/cache/CachedResourceLoader.cpp:
838         (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
839         * page/ContextMenuController.cpp:
840         (WebCore::ContextMenuController::showContextMenu):
841         (WebCore::ContextMenuController::contextMenuItemSelected):
842         (WebCore::ContextMenuController::populate):
843         (WebCore::ContextMenuController::addInspectElementItem):
844         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
845         * page/FrameView.cpp:
846         (WebCore::FrameView::sendResizeEventIfNeeded):
847         * page/Page.cpp:
848         (WebCore::Page::Page):
849         (WebCore::Page::~Page):
850         * page/Page.h:
851         * platform/ContextMenuItem.h:
852         * platform/efl/EflInspectorUtilities.cpp:
853         * platform/efl/EflInspectorUtilities.h:
854         * platform/network/ResourceRequestBase.h:
855         (WebCore::ResourceRequestBase::ResourceRequestBase):
856         * platform/network/cf/ResourceRequestCFNet.cpp:
857         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
858         * platform/network/cocoa/ResourceRequestCocoa.mm:
859         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
860         * testing/Internals.cpp:
861         (WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
862         (WebCore::Internals::resetToConsistentState):
863         (WebCore::Internals::inspectorHighlightRects):
864         (WebCore::Internals::inspectorHighlightObject):
865         (WebCore::Internals::setInspectorIsUnderTest):
866         * testing/Internals.h:
867         * testing/Internals.idl:
868         * workers/WorkerGlobalScope.cpp:
869         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
870         * workers/WorkerGlobalScope.h:
871         * workers/WorkerGlobalScopeProxy.h:
872         * workers/WorkerMessagingProxy.cpp:
873         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
874         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
875         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
876         * workers/WorkerMessagingProxy.h:
877         * workers/WorkerReportingProxy.h:
878         * workers/WorkerThread.cpp:
879         (WebCore::WorkerThread::workerThread):
880
881 2015-01-20  Chris Dumez  <cdumez@apple.com>
882
883         Simplify DiagnosticLoggingClient call sites
884         https://bugs.webkit.org/show_bug.cgi?id=140701
885
886         Reviewed by Andreas Kling.
887
888         Simplify DiagnosticLoggingClient call sites by:
889         - Moving the Settings::diagnosticLoggingEnabled() check inside the
890           MainFrame::diagnosticLoggingClient() getter.
891         - Having MainFrame::diagnosticLoggingClient() return a reference
892           instead of a pointer (returning a dummy client if necessary).
893
894         Otherwise, each call site needs to both check the setting and do a
895         null-check on the client which is a bit annoying.
896
897         * history/PageCache.cpp:
898         (WebCore::logPageCacheFailureDiagnosticMessage):
899         (WebCore::logCanCacheFrameDecision):
900         (WebCore::logCanCachePageDecision):
901         * html/HTMLMediaElement.cpp:
902         (WebCore::HTMLMediaElement::parseAttribute):
903         * loader/EmptyClients.h:
904         * loader/FrameLoader.cpp:
905         (WebCore::logNavigation):
906         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
907         * loader/SubframeLoader.cpp:
908         (WebCore::logPluginRequest):
909         * loader/SubresourceLoader.cpp:
910         (WebCore::logResourceLoaded):
911         * page/DiagnosticLoggingClient.h:
912         (WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Deleted.
913         (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Deleted.
914         (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Deleted.
915         * page/MainFrame.cpp:
916         (WebCore::MainFrame::diagnosticLoggingClient):
917         * page/MainFrame.h:
918
919 2015-01-20  Joseph Pecoraro  <pecoraro@apple.com>
920
921         Web Inspector: Should show dynamic specificity values
922         https://bugs.webkit.org/show_bug.cgi?id=140647
923
924         Reviewed by Benjamin Poulain.
925
926         Test: inspector/css/selector-dynamic-specificity.html
927
928         * inspector/InspectorCSSAgent.h:
929         * inspector/InspectorCSSAgent.cpp:
930         (WebCore::InspectorCSSAgent::setRuleSelector):
931         (WebCore::InspectorCSSAgent::addRule):
932         (WebCore::InspectorCSSAgent::buildObjectForRule):
933         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
934         When building a response for a particular element, pass the element along.
935
936         * inspector/InspectorStyleSheet.h:
937         * inspector/InspectorStyleSheet.cpp:
938         (WebCore::hasDynamicSpecificity):
939         (WebCore::buildObjectForSelectorHelper):
940         (WebCore::selectorsFromSource):
941         (WebCore::InspectorStyleSheet::buildObjectForSelector):
942         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
943         (WebCore::InspectorStyleSheet::buildObjectForRule):
944         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
945         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
946         When building a response for a Selector, include the specificity if we know
947         the element in context.
948
949 2015-01-20  Brent Fulgham  <bfulgham@apple.com>
950
951         [Win] Build fix after r178760.
952
953         Windows will not accept a variable as the size declaration for an array.
954
955         * svg/SVGToOTFFontConversion.cpp:
956         (WebCore::SVGToOTFFontConverter::appendGSUBTable): Make size argument a const.
957
958 2015-01-20  Brent Fulgham  <bfulgham@apple.com>
959
960         [Win] Unreviewed Windows project file gardening.
961
962         * WebCore.vcxproj/WebCore.vcxproj: Add missing SVG files and put things in their proper
963         folders.
964         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
965
966 2015-01-20  Benjamin Poulain  <benjamin@webkit.org>
967
968         URLFilterParser dismisses the last atom when parsing a builtin character class
969         https://bugs.webkit.org/show_bug.cgi?id=140695
970
971         Reviewed by Andreas Kling.
972
973         The pending atom was not sunk before creating the new atom.
974
975         * contentextensions/URLFilterParser.cpp:
976         (WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
977
978 2015-01-20  Andreas Kling  <akling@apple.com>
979
980         Fast path for casting JSValue to JSDocument*.
981         <https://webkit.org/b/134655>
982
983         Add a custom JSType bit for JSDocument so we can quickly cast to it
984         from JSValue in the DocumentPrototype functions. This removes a bunch
985         of grunt work and branches from common functions like getElementById.
986
987         Also removed GetCastingHelperForBaseObject and replace it with
988         simple jsCasts since we don't need dynamic type checks for the base.
989
990         Reviewed by Darin Adler.
991
992         * WebCore.xcodeproj/project.pbxproj:
993         * bindings/js/JSDOMWrapper.h:
994         * bindings/js/JSDocumentCustom.h:
995         * bindings/scripts/CodeGeneratorJS.pm:
996         (GenerateHeader):
997         (GetCastingHelperForThisObject):
998         (GenerateImplementation):
999         (GetCastingHelperForBaseObject): Deleted.
1000         * dom/Document.idl:
1001
1002 2015-01-20  Commit Queue  <commit-queue@webkit.org>
1003
1004         Unreviewed, rolling out r178751.
1005         https://bugs.webkit.org/show_bug.cgi?id=140694
1006
1007         Caused 32-bit JSC test failures (Requested by JoePeck on
1008         #webkit).
1009
1010         Reverted changeset:
1011
1012         "put_by_val_direct need to check the property is index or not
1013         for using putDirect / putDirectIndex"
1014         https://bugs.webkit.org/show_bug.cgi?id=140426
1015         http://trac.webkit.org/changeset/178751
1016
1017 2015-01-20  Zalan Bujtas  <zalan@apple.com>
1018
1019         Simple line layout: Use FlowContents::Segment::text instead of renderer when possible.
1020         https://bugs.webkit.org/show_bug.cgi?id=140692
1021
1022         Reviewed by Myles C. Maxfield.
1023
1024         No change in functionality.
1025
1026         * rendering/SimpleLineLayoutResolver.cpp:
1027         (WebCore::SimpleLineLayout::RunResolver::Run::text):
1028
1029 2015-01-20  David Kilzer  <ddkilzer@apple.com>
1030
1031         Switch to comparing PLATFORM_NAME in terms of macosx
1032         <http://webkit.org/b/139516>
1033
1034         Reviewed by Timothy Hatcher.
1035
1036         * bindings/scripts/preprocessor.pm:
1037         (applyPreprocessor):
1038         * generate-export-file:
1039         (preprocessorMacros):
1040
1041 2015-01-20  Benjamin Poulain  <benjamin@webkit.org>
1042
1043         Attempt to fix 32bits builds after r178743
1044
1045         * contentextensions/ContentExtensionsBackend.cpp:
1046         (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
1047
1048 2015-01-20  Yusuke Suzuki  <utatane.tea@gmail.com>
1049
1050         put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex
1051         https://bugs.webkit.org/show_bug.cgi?id=140426
1052
1053         Reviewed by Geoffrey Garen.
1054
1055         Test: js/dfg-put-by-val-direct-with-edge-numbers.html
1056
1057         * bindings/js/JSDOMWindowCustom.cpp:
1058         (WebCore::JSDOMWindow::getOwnPropertySlot):
1059         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1060         (WebCore::callHTMLAllCollection):
1061         (WebCore::JSHTMLAllCollection::item):
1062         * bindings/scripts/CodeGeneratorJS.pm:
1063         (GenerateGetOwnPropertySlotBody):
1064         (GenerateImplementation):
1065         * bindings/scripts/test/JS/JSFloat64Array.cpp:
1066         (WebCore::JSFloat64Array::getOwnPropertySlot):
1067         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
1068         (WebCore::JSFloat64Array::put):
1069         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1070         (WebCore::JSTestEventTarget::getOwnPropertySlot):
1071         * bridge/runtime_array.cpp:
1072         (JSC::RuntimeArray::getOwnPropertySlot):
1073         (JSC::RuntimeArray::put):
1074
1075 2015-01-20  Chris Dumez  <cdumez@apple.com>
1076
1077         Drop width / height shorthands code from StylePropertyShorthand.*
1078         https://bugs.webkit.org/show_bug.cgi?id=140686
1079
1080         Reviewed by Andreas Kling.
1081
1082         Drop width / height shorthands code from StylePropertyShorthand.*.
1083         width / height are not shorthands for min-width/max-width and
1084         min-height/max-height. Also, only matchingCustomShorthandsForLonghand()
1085         treats these as shorthands. For e.g, the reverse method
1086         (indexOfShorthandForLonghand()) does not.
1087
1088         * css/StylePropertyShorthand.cpp:
1089         (WebCore::widthShorthand): Deleted.
1090         (WebCore::heightShorthand): Deleted.
1091         * css/StylePropertyShorthand.h:
1092         (WebCore::matchingCustomShorthandsForLonghand):
1093
1094 2015-01-20  Benjamin Poulain  <benjamin@webkit.org>
1095
1096         Add a mechanism to ignore previous content extension rules
1097         https://bugs.webkit.org/show_bug.cgi?id=140663
1098
1099         Reviewed by Andreas Kling.
1100
1101         * contentextensions/ContentExtensionRule.h:
1102         * contentextensions/ContentExtensionsBackend.cpp:
1103         (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
1104         * contentextensions/ContentExtensionsManager.cpp:
1105         (WebCore::ContentExtensions::ExtensionsManager::loadAction):
1106
1107 2015-01-20  Benjamin Poulain  <benjamin@webkit.org>
1108
1109         Resolve the epsilon transitions for each state upfront instead of dynamically
1110         https://bugs.webkit.org/show_bug.cgi?id=140654
1111
1112         Reviewed by Andreas Kling.
1113
1114         Instead of recomputing the epsilon-closure for each set, we compute the closure
1115         of every element at the beginning of the transformation.
1116
1117         We then remove the epsilon transitions from the NFA to simplify populateTransitions().
1118         The epsilon transitions are still there, but they are now in a separate graph we use
1119         in parallel.
1120
1121         * contentextensions/NFAToDFA.cpp:
1122         (WebCore::ContentExtensions::epsilonClosureExcludingSelf):
1123         (WebCore::ContentExtensions::resolveEpsilonClosures):
1124         (WebCore::ContentExtensions::extendSetWithClosure):
1125         (WebCore::ContentExtensions::populateTransitions):
1126         (WebCore::ContentExtensions::NFAToDFA::convert):
1127         (WebCore::ContentExtensions::epsilonClosure): Deleted.
1128         (WebCore::ContentExtensions::populateTransitionsExcludingEpsilon): Deleted.
1129         * contentextensions/NFAToDFA.h:
1130
1131 2015-01-20  Chris Dumez  <cdumez@apple.com>
1132
1133         Log types of resources being loaded using DiagnosticLoggingClient
1134         https://bugs.webkit.org/show_bug.cgi?id=140682
1135
1136         Reviewed by Andreas Kling.
1137
1138         Log types of resources being loaded using DiagnosticLoggingClient
1139         instead of the legacy FeatureCounter.
1140
1141         * loader/SubresourceLoader.cpp:
1142         (WebCore::logResourceLoaded):
1143         (WebCore::SubresourceLoader::didFinishLoading):
1144         (WebCore::logResourceLoadedUsingFeatureCounter): Deleted.
1145         * page/DiagnosticLoggingKeys.cpp:
1146         (WebCore::DiagnosticLoggingKeys::otherKey):
1147         (WebCore::DiagnosticLoggingKeys::mainResourceKey):
1148         (WebCore::DiagnosticLoggingKeys::loadedKey):
1149         (WebCore::DiagnosticLoggingKeys::imageKey):
1150         (WebCore::DiagnosticLoggingKeys::rawKey):
1151         (WebCore::DiagnosticLoggingKeys::resourceKey):
1152         (WebCore::DiagnosticLoggingKeys::scriptKey):
1153         (WebCore::DiagnosticLoggingKeys::styleSheetKey):
1154         (WebCore::DiagnosticLoggingKeys::svgDocumentKey):
1155         (WebCore::DiagnosticLoggingKeys::fontKey):
1156         * page/DiagnosticLoggingKeys.h:
1157         * platform/FeatureCounterKeys.h:
1158
1159 2015-01-20  Zalan Bujtas  <zalan@apple.com>
1160
1161         Simple line layout: Remove redundant style.preserveNewline check when collapsing trailing whitespace.
1162         https://bugs.webkit.org/show_bug.cgi?id=140684
1163
1164         Reviewed by Antti Koivisto.
1165
1166         FlowContents::isLineBreak() checks whether we are at a hard newline.
1167
1168         No change in functionality.
1169
1170         * rendering/SimpleLineLayout.cpp:
1171         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
1172
1173 2015-01-19  Simon Fraser  <simon.fraser@apple.com>
1174
1175         Add a way to collect scrolling performance data (viewport tile coverage) with UI-side compositing
1176         https://bugs.webkit.org/show_bug.cgi?id=140474
1177
1178         Reviewed by Tim Horton.
1179
1180         Add accessors for standard names for container CALayer for each of the tile grids,
1181         and when tile grids are swapped, update those names as appropriate.
1182         
1183         * WebCore.exp.in:
1184         * platform/graphics/ca/TileController.cpp:
1185         (WebCore::TileController::tileGridContainerLayerName):
1186         (WebCore::TileController::zoomedOutTileGridContainerLayerName):
1187         (WebCore::TileController::setContentsScale):
1188         * platform/graphics/ca/TileController.h:
1189         * platform/graphics/ca/TileGrid.cpp:
1190         (WebCore::TileGrid::TileGrid):
1191         (WebCore::TileGrid::setIsZoomedOutTileGrid):
1192         * platform/graphics/ca/TileGrid.h:
1193
1194 2015-01-20  Csaba Osztrogonác  <ossy@webkit.org>
1195
1196         Fix unused-private-field warning in IconEfl.cpp
1197         https://bugs.webkit.org/show_bug.cgi?id=140676
1198
1199         Reviewed by Darin Adler.
1200
1201         * platform/graphics/Icon.h:
1202         * platform/graphics/efl/IconEfl.cpp:
1203         (WebCore::Icon::Icon): Deleted.
1204
1205 2015-01-20  Csaba Osztrogonác  <ossy@webkit.org>
1206
1207         Fix unused-private-field warning in FontCustomPlatformDataFreeType.cpp
1208         https://bugs.webkit.org/show_bug.cgi?id=140677
1209
1210         Reviewed by Martin Robinson.
1211
1212         * platform/graphics/cairo/FontCustomPlatformData.h:
1213         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
1214         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1215         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1216
1217 2015-01-20  peavo@outlook.com  <peavo@outlook.com>
1218
1219         Plugin content not loaded.
1220         https://bugs.webkit.org/show_bug.cgi?id=140672
1221
1222         Reviewed by Brent Fulgham.
1223
1224         It seems this is caused by a std::unique_ptr in CClass::methodNamed being moved,
1225         resetting its raw pointer. The raw pointer, which now is null, is then returned
1226         from the method.
1227
1228         * bridge/c/c_class.cpp:
1229         (JSC::Bindings::CClass::methodNamed):
1230         (JSC::Bindings::CClass::fieldNamed):
1231
1232 2015-01-20  Darin Adler  <darin@apple.com>
1233
1234         Remove SVGElementInstanceList, m_instanceUnderMouse, DUMP_INSTANCE_TREE, DUMP_SHADOW_TREE
1235         https://bugs.webkit.org/show_bug.cgi?id=140679
1236
1237         Reviewed by Anders Carlsson.
1238
1239         First step in removing the SVG instance tree.
1240         All based on redoing the same excellent work Rob Buis did to remove this in Blink in crbug.com/313438.
1241
1242         * CMakeLists.txt: Removed the source files.
1243         * DerivedSources.cpp: Ditto.
1244         * DerivedSources.make: Ditto.
1245         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1246         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1247         * WebCore.xcodeproj/project.pbxproj: Ditto.
1248
1249         * page/EventHandler.cpp:
1250         (WebCore::EventHandler::clear): Removed code to set unused m_instanceUnderMouse.
1251         (WebCore::EventHandler::updateMouseEventTargetNode): Ditto.
1252         * page/EventHandler.h: Removed m_instanceUnderMouse.
1253
1254         * svg/SVGAllInOne.cpp: Removed the source files.
1255         * svg/SVGElementInstance.cpp:
1256         (WebCore::SVGElementInstance::childNodes): Deleted.
1257         * svg/SVGElementInstance.h: Removed childNodes.
1258         * svg/SVGElementInstance.idl: Ditto.
1259         * svg/SVGElementInstanceList.cpp: Removed.
1260         * svg/SVGElementInstanceList.h: Removed.
1261         * svg/SVGElementInstanceList.idl: Removed.
1262         * svg/SVGUseElement.cpp:
1263         (WebCore::dumpInstanceTree): Deleted.
1264         (WebCore::SVGUseElement::buildShadowAndInstanceTree): Removed DUMP_INSTANCE_TREE and
1265         DUMP_SHADOW_TREE code.
1266
1267 2015-01-19  Brian J. Burg  <burg@cs.washington.edu>
1268
1269         Web Replay: code generator should take supplemental specifications and allow cross-framework references
1270         https://bugs.webkit.org/show_bug.cgi?id=136312
1271
1272         Reviewed by Joseph Pecoraro.
1273
1274         Changes covered by existing input generator tests.
1275
1276         * DerivedSources.make: Add JSInputs.json as supplemental specification.
1277         * replay/WebInputs.json: Moved common types to JSInputs.json.
1278
1279 2015-01-20  Csaba Osztrogonác  <ossy@webkit.org>
1280
1281         Fix unused-const-variable warning in RenderLayerCompositor.cpp
1282         https://bugs.webkit.org/show_bug.cgi?id=140678
1283
1284         Reviewed by Simon Fraser.
1285
1286         * rendering/RenderLayerCompositor.cpp:
1287
1288 2015-01-20  Csaba Osztrogonác  <ossy@webkit.org>
1289
1290         [gstreamer] Fix expression result unused warning in GRefPtrGStreamer.cpp
1291         https://bugs.webkit.org/show_bug.cgi?id=140671
1292
1293         Reviewed by Philippe Normand.
1294
1295         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1296         (WTF::refGPtr<GstToc>):
1297
1298 2015-01-19  Dean Jackson  <dino@apple.com>
1299
1300         Support "plus-darker" in mix-blend mode
1301         https://bugs.webkit.org/show_bug.cgi?id=140646
1302         <rdar://problem/19523370>
1303
1304         Reviewed by Simon Fraser.
1305
1306         Support the "plus-darker" blending mode to CSS.
1307         See: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html
1308
1309         Test: css3/blending/svg-blend-plus-darker.html
1310
1311         * css/CSSParser.cpp:
1312         (WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept
1313         the new keyword.
1314         * css/CSSPrimitiveValueMappings.h: Add the mappings.
1315         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1316         (WebCore::CSSPrimitiveValue::operator BlendMode):
1317         * platform/graphics/GraphicsTypes.cpp: Add the new GraphicsType.
1318         * platform/graphics/GraphicsTypes.h:
1319         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA compositing filter.
1320         (PlatformCAFilters::setBlendingFiltersOnLayer):
1321         * platform/graphics/cg/GraphicsContextCG.cpp:
1322         (WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG blending flag.
1323
1324 2015-01-20  Csaba Osztrogonác  <ossy@webkit.org>
1325
1326         Fix 'register' storage class specifier is deprecated warning
1327         https://bugs.webkit.org/show_bug.cgi?id=140669
1328
1329         Reviewed by Carlos Garcia Campos.
1330
1331         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1332         (webKitWebAudioSrcLoop):
1333
1334 2015-01-20  Chris Dumez  <cdumez@apple.com>
1335
1336         Use DiagnosticLoggingClient to log page cache failures
1337         https://bugs.webkit.org/show_bug.cgi?id=140650
1338
1339         Reviewed by Andreas Kling.
1340
1341         Use DiagnosticLoggingClient to log page cache failures instead of the
1342         legacy FeatureCounter.
1343
1344         * history/PageCache.cpp:
1345         (WebCore::logPageCacheFailureDiagnosticMessage):
1346         (WebCore::logCanCacheFrameDecision):
1347         (WebCore::logCanCachePageDecision):
1348         (WebCore::PageCache::canCache):
1349         (WebCore::pruningReasonToDiagnosticLoggingKey):
1350         (WebCore::PageCache::take):
1351         (WebCore::PageCache::get):
1352         (WebCore::pruningReasonToFeatureCounterKey): Deleted.
1353         * page/DiagnosticLoggingKeys.cpp:
1354         (WebCore::DiagnosticLoggingKeys::successKey):
1355         (WebCore::DiagnosticLoggingKeys::failureKey):
1356         (WebCore::DiagnosticLoggingKeys::pageLoadedKey):
1357         (WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey):
1358         (WebCore::DiagnosticLoggingKeys::navigationKey):
1359         (WebCore::DiagnosticLoggingKeys::pageCacheKey):
1360         (WebCore::DiagnosticLoggingKeys::noDocumentLoaderKey):
1361         (WebCore::DiagnosticLoggingKeys::mainDocumentErrorKey):
1362         (WebCore::DiagnosticLoggingKeys::isErrorPageKey):
1363         (WebCore::DiagnosticLoggingKeys::hasPluginsKey):
1364         (WebCore::DiagnosticLoggingKeys::httpsNoStoreKey):
1365         (WebCore::DiagnosticLoggingKeys::hasOpenDatabasesKey):
1366         (WebCore::DiagnosticLoggingKeys::noCurrentHistoryItemKey):
1367         (WebCore::DiagnosticLoggingKeys::quirkRedirectComingKey):
1368         (WebCore::DiagnosticLoggingKeys::loadingAPISenseKey):
1369         (WebCore::DiagnosticLoggingKeys::documentLoaderStoppingKey):
1370         (WebCore::DiagnosticLoggingKeys::cannotSuspendActiveDOMObjectsKey):
1371         (WebCore::DiagnosticLoggingKeys::applicationCacheKey):
1372         (WebCore::DiagnosticLoggingKeys::deniedByClientKey):
1373         (WebCore::DiagnosticLoggingKeys::deviceMotionKey):
1374         (WebCore::DiagnosticLoggingKeys::deviceOrientationKey):
1375         (WebCore::DiagnosticLoggingKeys::deviceProximityKey):
1376         (WebCore::DiagnosticLoggingKeys::reloadKey):
1377         (WebCore::DiagnosticLoggingKeys::reloadFromOriginKey):
1378         (WebCore::DiagnosticLoggingKeys::sameLoadKey):
1379         (WebCore::DiagnosticLoggingKeys::expiredKey):
1380         (WebCore::DiagnosticLoggingKeys::prunedDueToMemoryPressureKey):
1381         (WebCore::DiagnosticLoggingKeys::prunedDueToCapacityReached):
1382         (WebCore::DiagnosticLoggingKeys::prunedDueToProcessSuspended):
1383         (WebCore::DiagnosticLoggingKeys::passKey): Deleted.
1384         (WebCore::DiagnosticLoggingKeys::failKey): Deleted.
1385         (WebCore::DiagnosticLoggingKeys::noopKey): Deleted.
1386         * page/DiagnosticLoggingKeys.h:
1387         * platform/FeatureCounterKeys.h:
1388
1389 2015-01-19  Sergio Villar Senin  <svillar@igalia.com>
1390
1391         [CSS Grid Layout] Wrong arguments passed to computeNormalizedFractionBreadth
1392         https://bugs.webkit.org/show_bug.cgi?id=139058
1393
1394         Reviewed by Andreas Kling.
1395
1396         The method RenderGrid::computeNormalizedFractionBreadth() is
1397         supposed to get as fourth argument either the grid element's
1398         content box size or the max-size of a particular grid item. For
1399         the former we were incorrectly passing the free space after
1400         distributing the available space to tracks.
1401
1402         Apart from that, that method has a bug in its implementation. As
1403         we were using the free space instead of the grid element's content
1404         box size, we didn't have to subtract the usedBreadth of grid
1405         tracks from the passed in value. That did not work for the case of
1406         the caller passing the max-size of a particular item.
1407
1408         * rendering/RenderGrid.cpp:
1409         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1410         (WebCore::RenderGrid::computeNormalizedFractionBreadth):
1411
1412 2015-01-19  Myles C. Maxfield  <mmaxfield@apple.com>
1413
1414         [SVG -> OTF Converter] Flip the switch on
1415         https://bugs.webkit.org/show_bug.cgi?id=140592
1416
1417         Reviewed by Antti Koivisto.
1418
1419         * Configurations/FeatureDefines.xcconfig:
1420
1421 2015-01-19  Commit Queue  <commit-queue@webkit.org>
1422
1423         Unreviewed, rolling out r178683.
1424         https://bugs.webkit.org/show_bug.cgi?id=140657
1425
1426         Lots of asserts in tests. (Requested by JoePeck on #webkit).
1427
1428         Reverted changeset:
1429
1430         "LayoutState and subtree layout code should use
1431         RenderElement."
1432         https://bugs.webkit.org/show_bug.cgi?id=126878
1433         http://trac.webkit.org/changeset/178683
1434
1435 2015-01-19  Brent Fulgham  <bfulgham@apple.com>
1436
1437         [Win] Unreviewed gardening.
1438
1439         Avoid compiling files twice when they are included in an 'AllInOne.cpp' file.
1440
1441         * WebCore.vcxproj/WebCore.vcxproj: Mark several files as 'not to be built', since
1442         they are also build as part of an 'AllInOne.cpp' file.
1443
1444 2015-01-19  Chris Dumez  <cdumez@apple.com>
1445
1446         Stop using FeatureCounter to log navigation types
1447         https://bugs.webkit.org/show_bug.cgi?id=140642
1448
1449         Reviewed by Andreas Kling.
1450
1451         Stop using FeatureCounter to log navigation types now that
1452         DiagnosticLoggingClient is working on iOS.
1453
1454         * loader/FrameLoader.cpp:
1455         (WebCore::logNavigation):
1456         * platform/FeatureCounterKeys.h:
1457
1458 2015-01-19  Andreas Kling  <akling@apple.com>
1459
1460         LayoutState and subtree layout code should use RenderElement.
1461         <https://webkit.org/b/126878>
1462
1463         Subtree layout will never begin at a RenderText, so tighten up
1464         the code to operate on RenderElements instead of RenderObjects.
1465
1466         Reviewed by Antti Koivisto.
1467
1468         * inspector/InspectorTimelineAgent.cpp:
1469         (WebCore::InspectorTimelineAgent::willLayout):
1470         * page/FrameView.cpp:
1471         (WebCore::FrameView::layoutRoot):
1472         (WebCore::FrameView::layout):
1473         * page/FrameView.h:
1474
1475             Make FrameView::layoutRoot() return RenderElement*.
1476
1477         * rendering/RenderElement.cpp:
1478         (WebCore::RenderElement::willBeDestroyed):
1479         * rendering/RenderObject.cpp:
1480         (WebCore::RenderObject::willBeDestroyed):
1481         * rendering/RenderObject.h:
1482
1483             Move subtree layout root clearing logic in willBeDestroyed()
1484             from RenderObject to RenderElement.
1485
1486         * rendering/LayoutState.cpp:
1487         (WebCore::LayoutState::LayoutState):
1488         * rendering/LayoutState.h:
1489         * rendering/RenderView.h:
1490         * rendering/RenderView.cpp:
1491         (WebCore::RenderView::pushLayoutState):
1492         (WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
1493
1494             Make all of these functions take RenderElement instead of
1495             RenderObject since layout never starts from a RenderText.
1496
1497         (WebCore::RenderView::shouldDisableLayoutStateForSubtree):
1498
1499             Tweak loop since it's never null on first iteration.
1500
1501 2015-01-19  Beth Dakin  <bdakin@apple.com>
1502
1503         Speculative build fix.
1504
1505         * platform/spi/mac/NSViewSPI.h:
1506
1507 2015-01-19  Timothy Horton  <timothy_horton@apple.com>
1508
1509         Adjust naming of action menu SPI
1510         https://bugs.webkit.org/show_bug.cgi?id=140644
1511         <rdar://problem/19448129>
1512
1513         Reviewed by Brian Weinstein.
1514
1515         * platform/spi/mac/NSViewSPI.h:
1516         Add an underscore.
1517
1518 2015-01-19  Dhi Aurrahman  <diorahman@rockybars.com>
1519
1520         Canonicalization of :lang() should preserve the :lang()'s arguments representations
1521         https://bugs.webkit.org/show_bug.cgi?id=139928
1522
1523         Reviewed by Benjamin Poulain.
1524
1525         Preserve the representation of IDENT and STRING when serializing the
1526         :lang(). For example, :lang(foo,"bar", baz) should be serialize as
1527         :lang(foo, "bar", baz) instead of :lang(foo, bar, baz).
1528     
1529         Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
1530         and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
1531         CSSSelector::setLangArgumentList and CSSSelector::langArgumentList
1532         respectively, since those methods are being exclusively used in respect
1533         with :lang().
1534
1535         Update the test of serializing :lang() with IDENT and STRING arguments.
1536
1537         * css/CSSGrammar.y.in:
1538         * css/CSSParserValues.cpp:
1539         (WebCore::CSSParserSelector::setLangArgumentList):
1540         (WebCore::CSSParserSelector::setArgumentList): Deleted.
1541         * css/CSSParserValues.h:
1542         (WebCore::CSSParserString::tokenType):
1543         (WebCore::CSSParserString::setTokenType):
1544         * css/CSSSelector.cpp:
1545         (WebCore::appendLangArgumentList):
1546         (WebCore::CSSSelector::selectorText):
1547         (WebCore::CSSSelector::setLangArgumentList):
1548         (WebCore::appendArgumentList): Deleted.
1549         (WebCore::CSSSelector::setArgumentList): Deleted.
1550         * css/CSSSelector.h:
1551         (WebCore::CSSSelector::langArgumentList):
1552         (WebCore::CSSSelector::argumentList): Deleted.
1553         * css/SelectorChecker.cpp:
1554         (WebCore::SelectorChecker::checkOne):
1555         * css/SelectorCheckerTestFunctions.h:
1556         (WebCore::matchesLangPseudoClass):
1557
1558 2015-01-16  Roger Fong  <roger_fong@apple.com>
1559
1560         WebGL2: Support webgl2 context creation.
1561         https://bugs.webkit.org/show_bug.cgi?id=126408
1562         <rdar://problem/15002170>
1563
1564         Reviewed by Dean Jackson.
1565
1566         Tests covered by existing Khronos tests for WebGL 1.0 conformance.
1567
1568         Create a WebGLRenderingContextBase class that extends to a WebGLRenderingContext and WebGL2RenderingContext.
1569         Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now.
1570         As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality.
1571
1572         * CMakeLists.txt:
1573         * DerivedSources.cpp:
1574         * DerivedSources.make:
1575         * WebCore.vcxproj/WebCore.vcxproj:
1576         * WebCore.vcxproj/WebCore.vcxproj.filters:
1577         * WebCore.xcodeproj/project.pbxproj:
1578         * bindings/js/JSBindingsAllInOne.cpp:
1579         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1580         (WebCore::toJS):
1581         * bindings/js/JSDocumentCustom.cpp:
1582         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1583         * bindings/js/JSWebGL2RenderingContextCustom.cpp: Added.
1584         (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
1585         * bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added.
1586         * bindings/js/JSWebGLRenderingContextCustom.cpp: Move code to JSWebGLRenderingContextBaseCustom.cpp.
1587         * bindings/scripts/CodeGeneratorJS.pm:
1588         (GenerateImplementation):
1589         * html/HTMLCanvasElement.cpp:
1590         (WebCore::HTMLCanvasElement::getContext):
1591         (WebCore::HTMLCanvasElement::reset):
1592         (WebCore::HTMLCanvasElement::paint):
1593         (WebCore::HTMLCanvasElement::getImageData):
1594         * html/canvas/ANGLEInstancedArrays.cpp:
1595         (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
1596         (WebCore::ANGLEInstancedArrays::supported):
1597         * html/canvas/ANGLEInstancedArrays.h:
1598         * html/canvas/CanvasRenderingContext.h:
1599         (WebCore::CanvasRenderingContext::isWebGL1):
1600         (WebCore::CanvasRenderingContext::isWebGL2):
1601         (WebCore::CanvasRenderingContext::is3d):
1602         * html/canvas/EXTBlendMinMax.cpp:
1603         (WebCore::EXTBlendMinMax::EXTBlendMinMax):
1604         * html/canvas/EXTBlendMinMax.h:
1605         * html/canvas/EXTFragDepth.cpp:
1606         (WebCore::EXTFragDepth::EXTFragDepth):
1607         * html/canvas/EXTFragDepth.h:
1608         * html/canvas/EXTShaderTextureLOD.cpp:
1609         (WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
1610         * html/canvas/EXTShaderTextureLOD.h:
1611         * html/canvas/EXTTextureFilterAnisotropic.cpp:
1612         (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
1613         * html/canvas/EXTTextureFilterAnisotropic.h:
1614         * html/canvas/EXTsRGB.cpp:
1615         (WebCore::EXTsRGB::EXTsRGB):
1616         * html/canvas/EXTsRGB.h:
1617         * html/canvas/OESElementIndexUint.cpp:
1618         (WebCore::OESElementIndexUint::OESElementIndexUint):
1619         * html/canvas/OESElementIndexUint.h:
1620         * html/canvas/OESStandardDerivatives.cpp:
1621         (WebCore::OESStandardDerivatives::OESStandardDerivatives):
1622         * html/canvas/OESStandardDerivatives.h:
1623         * html/canvas/OESTextureFloat.cpp:
1624         (WebCore::OESTextureFloat::OESTextureFloat):
1625         * html/canvas/OESTextureFloat.h:
1626         * html/canvas/OESTextureFloatLinear.cpp:
1627         (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
1628         * html/canvas/OESTextureFloatLinear.h:
1629         * html/canvas/OESTextureHalfFloat.cpp:
1630         (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
1631         * html/canvas/OESTextureHalfFloat.h:
1632         * html/canvas/OESTextureHalfFloatLinear.cpp:
1633         (WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
1634         * html/canvas/OESTextureHalfFloatLinear.h:
1635         * html/canvas/OESVertexArrayObject.cpp:
1636         (WebCore::OESVertexArrayObject::OESVertexArrayObject):
1637         * html/canvas/OESVertexArrayObject.h:
1638         * html/canvas/WebGL2RenderingContext.cpp: Added.
1639         (WebCore::WebGL2RenderingContext::WebGL2RenderingContext):
1640         * html/canvas/WebGL2RenderingContext.h: Added.
1641         * html/canvas/WebGL2RenderingContext.idl: Added.
1642         * html/canvas/WebGLBuffer.cpp:
1643         (WebCore::WebGLBuffer::create):
1644         (WebCore::WebGLBuffer::WebGLBuffer):
1645         * html/canvas/WebGLBuffer.h:
1646         * html/canvas/WebGLCompressedTextureATC.cpp:
1647         (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
1648         (WebCore::WebGLCompressedTextureATC::supported):
1649         * html/canvas/WebGLCompressedTextureATC.h:
1650         * html/canvas/WebGLCompressedTexturePVRTC.cpp:
1651         (WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
1652         (WebCore::WebGLCompressedTexturePVRTC::supported):
1653         * html/canvas/WebGLCompressedTexturePVRTC.h:
1654         * html/canvas/WebGLCompressedTextureS3TC.cpp:
1655         (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
1656         (WebCore::WebGLCompressedTextureS3TC::supported):
1657         * html/canvas/WebGLCompressedTextureS3TC.h:
1658         * html/canvas/WebGLContextGroup.cpp:
1659         (WebCore::WebGLContextGroup::getAGraphicsContext3D):
1660         (WebCore::WebGLContextGroup::addContext):
1661         (WebCore::WebGLContextGroup::removeContext):
1662         (WebCore::WebGLContextGroup::loseContextGroup):
1663         * html/canvas/WebGLContextGroup.h:
1664         * html/canvas/WebGLContextObject.cpp:
1665         (WebCore::WebGLContextObject::WebGLContextObject):
1666         * html/canvas/WebGLContextObject.h:
1667         (WebCore::WebGLContextObject::context):
1668         * html/canvas/WebGLDebugRendererInfo.cpp:
1669         (WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):
1670         * html/canvas/WebGLDebugRendererInfo.h:
1671         * html/canvas/WebGLDebugShaders.cpp:
1672         (WebCore::WebGLDebugShaders::WebGLDebugShaders):
1673         * html/canvas/WebGLDebugShaders.h:
1674         * html/canvas/WebGLDepthTexture.cpp:
1675         (WebCore::WebGLDepthTexture::WebGLDepthTexture):
1676         * html/canvas/WebGLDepthTexture.h:
1677         * html/canvas/WebGLDrawBuffers.cpp:
1678         (WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
1679         (WebCore::WebGLDrawBuffers::supported):
1680         (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
1681         * html/canvas/WebGLDrawBuffers.h:
1682         * html/canvas/WebGLExtension.cpp:
1683         (WebCore::WebGLExtension::WebGLExtension):
1684         * html/canvas/WebGLExtension.h:
1685         (WebCore::WebGLExtension::context):
1686         * html/canvas/WebGLFramebuffer.cpp:
1687         (WebCore::WebGLFramebuffer::create):
1688         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
1689         * html/canvas/WebGLFramebuffer.h:
1690         * html/canvas/WebGLLoseContext.cpp:
1691         (WebCore::WebGLLoseContext::WebGLLoseContext):
1692         (WebCore::WebGLLoseContext::loseContext):
1693         * html/canvas/WebGLLoseContext.h:
1694         * html/canvas/WebGLObject.cpp:
1695         (WebCore::WebGLObject::WebGLObject):
1696         * html/canvas/WebGLObject.h:
1697         * html/canvas/WebGLProgram.cpp:
1698         (WebCore::WebGLProgram::create):
1699         (WebCore::WebGLProgram::WebGLProgram):
1700         * html/canvas/WebGLProgram.h:
1701         * html/canvas/WebGLRenderbuffer.cpp:
1702         (WebCore::WebGLRenderbuffer::create):
1703         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
1704         * html/canvas/WebGLRenderbuffer.h:
1705         * html/canvas/WebGLRenderingContext.cpp: Move implementation to WebGLRenderingContextBase.cpp.
1706         * html/canvas/WebGLRenderingContext.h:  Move implementation to WebGLRenderingContextBase.h.
1707         * html/canvas/WebGLRenderingContext.idl:  Move implementation to WebGLRenderingContextBase.idl.
1708         * html/canvas/WebGLRenderingContextBase.cpp: Added.
1709         * html/canvas/WebGLRenderingContextBase.h: Added.
1710         * html/canvas/WebGLRenderingContextBase.idl: Added.
1711         * html/canvas/WebGLShader.cpp:
1712         (WebCore::WebGLShader::create):
1713         (WebCore::WebGLShader::WebGLShader):
1714         * html/canvas/WebGLShader.h:
1715         * html/canvas/WebGLSharedObject.cpp:
1716         (WebCore::WebGLSharedObject::WebGLSharedObject):
1717         * html/canvas/WebGLSharedObject.h:
1718         * html/canvas/WebGLTexture.cpp:
1719         (WebCore::WebGLTexture::create):
1720         (WebCore::WebGLTexture::WebGLTexture):
1721         * html/canvas/WebGLTexture.h:
1722         * html/canvas/WebGLVertexArrayObjectOES.cpp:
1723         (WebCore::WebGLVertexArrayObjectOES::create):
1724         (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
1725         * html/canvas/WebGLVertexArrayObjectOES.h:
1726
1727 2015-01-19  Antti Koivisto  <antti@apple.com>
1728
1729         REGRESSION(r178250): ~2% PLT regression
1730         https://bugs.webkit.org/show_bug.cgi?id=140640
1731
1732         Reviewed by Andreas Kling.
1733
1734         * platform/graphics/FontCache.cpp:
1735
1736         The patch accidentally contained a change to reduce the size of the cache (to verify that purgin works).
1737         Restore it back to the original value.
1738
1739 2015-01-19  peavo@outlook.com  <peavo@outlook.com>
1740
1741         [WinCairo][Video] Windows Media Foundation implementation is not completed.
1742         https://bugs.webkit.org/show_bug.cgi?id=140337
1743
1744         Reviewed by Alex Christensen.
1745
1746         This patch aims to complete some of the methods which are not implemented.
1747         Currently, only MP4 is supported.
1748         Video is rendered in a child window of the main window.
1749         We should eventually render the video directly in the main window,
1750         by reading and painting individual video frames from the stream.
1751
1752         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1753         (WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
1754         (WebCore::MediaPlayerPrivateMediaFoundation::~MediaPlayerPrivateMediaFoundation):
1755         (WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes):
1756         (WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
1757         (WebCore::MediaPlayerPrivateMediaFoundation::load):
1758         (WebCore::MediaPlayerPrivateMediaFoundation::play):
1759         (WebCore::MediaPlayerPrivateMediaFoundation::pause):
1760         (WebCore::MediaPlayerPrivateMediaFoundation::naturalSize):
1761         (WebCore::MediaPlayerPrivateMediaFoundation::hasVideo):
1762         (WebCore::MediaPlayerPrivateMediaFoundation::hasAudio):
1763         (WebCore::MediaPlayerPrivateMediaFoundation::setVisible):
1764         (WebCore::MediaPlayerPrivateMediaFoundation::paused):
1765         (WebCore::MediaPlayerPrivateMediaFoundation::readyState):
1766         (WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress):
1767         (WebCore::MediaPlayerPrivateMediaFoundation::setSize):
1768         (WebCore::MediaPlayerPrivateMediaFoundation::paint):
1769         (WebCore::MediaPlayerPrivateMediaFoundation::createSession):
1770         (WebCore::MediaPlayerPrivateMediaFoundation::endSession):
1771         (WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
1772         (WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
1773         (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
1774         (WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
1775         (WebCore::MediaPlayerPrivateMediaFoundation::addBranchToPartialTopology):
1776         (WebCore::MediaPlayerPrivateMediaFoundation::VideoViewWndProc):
1777         (WebCore::MediaPlayerPrivateMediaFoundation::registerVideoWindowClass):
1778         (WebCore::MediaPlayerPrivateMediaFoundation::createVideoWindow):
1779         (WebCore::MediaPlayerPrivateMediaFoundation::destroyVideoWindow):
1780         (WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
1781         (WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
1782         (WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource):
1783         (WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):
1784         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AsyncCallback):
1785         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::~AsyncCallback):
1786         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::QueryInterface):
1787         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AddRef):
1788         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Release):
1789         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::GetParameters):
1790         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
1791         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
1792
1793 2015-01-19  Brian J. Burg  <burg@cs.washington.edu>
1794
1795         Web Replay: convert to is<T> and downcast<T> for decoding replay inputs
1796         https://bugs.webkit.org/show_bug.cgi?id=140512
1797
1798         Reviewed by Chris Dumez.
1799
1800         No new tests, no behavior changed.
1801
1802         * replay/EventLoopInput.h: Make overridden methods public.
1803         * replay/MemoizedDOMResult.h: Add type trait specialization here. It is
1804         special-cased because the input type parameter doesn't work with macros.
1805         * replay/SerializationMethods.cpp:
1806         (JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
1807         Use is() and downcast() when dispatching to encoders based on type.
1808
1809 2015-01-19  Zan Dobersek  <zdobersek@igalia.com>
1810
1811         Replace use of WTF::bind() in MemoryPressureHandlerLinux.cpp with a C++ lambda
1812         https://bugs.webkit.org/show_bug.cgi?id=140614
1813
1814         Reviewed by Carlos Garcia Campos.
1815
1816         Use a C++ lambda instead of WTF::bind() in the MemoryPressureHandler
1817         implementation for Linux.
1818
1819         * platform/linux/MemoryPressureHandlerLinux.cpp:
1820         (WebCore::MemoryPressureHandler::waitForMemoryPressureEvent):
1821
1822 2015-01-19  Zan Dobersek  <zdobersek@igalia.com>
1823
1824         Replace uses of WTF::bind() in MockMediaPlayerMediaSource with C++ lambdas
1825         https://bugs.webkit.org/show_bug.cgi?id=140612
1826
1827         Reviewed by Philippe Normand.
1828
1829         Use C++ lambdas in place of WTF::bind() in the MockMediaPlayerMediaSource class.
1830
1831         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1832         (WebCore::MockMediaPlayerMediaSource::play):
1833         (WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
1834         (WebCore::MockMediaPlayerMediaSource::seekCompleted):
1835
1836 2015-01-19  Commit Queue  <commit-queue@webkit.org>
1837
1838         Unreviewed, rolling out r178653.
1839         https://bugs.webkit.org/show_bug.cgi?id=140634
1840
1841         Broke multiple SVG tests on Mountain Lion (Requested by ap on
1842         #webkit).
1843
1844         Reverted changeset:
1845
1846         "[SVG -> OTF Converter] Flip the switch on"
1847         https://bugs.webkit.org/show_bug.cgi?id=140592
1848         http://trac.webkit.org/changeset/178653
1849
1850 2015-01-19  Brent Fulgham  <bfulgham@apple.com>
1851
1852         Layers need to be already updated before we call adjustViewSize
1853         https://bugs.webkit.org/show_bug.cgi?id=135514
1854
1855         Reviewed by Simon Fraser.
1856
1857         Tested by 'fast/dynamic/layer-no-longer-paginated.html'
1858
1859         Defer painting operations until we have finished layout. This
1860         has a couple of benefits:
1861         (1) We do not attempt to modify render layers during layout.
1862         (2) In WK1 we do not attempt to paint during layout.
1863
1864         Add a new virtual predicate to ScrollView indicating when we are in
1865         layout so that calls to setContentsSize do not attempt
1866         to adjust scrollbars.
1867
1868         Modify FrameView to set its ScrollView state to block paint
1869         operations during layout. Also add a post-layout handler to
1870         complete the scrollbar updates after layout is finished.
1871
1872         * WebCore.exp.in: Move linker symbol to ScrollView (from FrameView).
1873         * page/FrameView.cpp:
1874         (WebCore::FrameView::layout):
1875         (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
1876         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Removed (Renamed).
1877         (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added (Renamed)
1878         (WebCore::FrameView::paintContents): Do not paint if we are inside view size adjustment.
1879         * page/FrameView.h:
1880         * platform/ScrollView.cpp:
1881         (WebCore::ScrollView::scrollPositionChangedViaPlatformWidget): Added. Checks whether we need to defer
1882         painting, and calls virtual scrollPositionChangedViaPlatformWidgetImpl if we do not.
1883         (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added.
1884         (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
1885         (WebCore::ScrollView::scrollTo): If we should defer painting, cache the
1886         the scroll delta and apply it after the layout is complete.
1887         (WebCore::ScrollView::completeUpdatesAfterScrollTo): Split off part of 'scrollTo' into its own method
1888         so we can reuse it in handleDeferredScrollUpdateAfterContentSizeChange.
1889         * platform/ScrollView.h:
1890         (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
1891
1892 2015-01-16  Ada Chan  <adachan@apple.com>
1893
1894         HTMLMediaElement::isPlayingAudio() should return false if the element is explicitly muted by script.
1895         https://bugs.webkit.org/show_bug.cgi?id=140524
1896
1897         Reviewed by Andreas Kling.
1898
1899         Test: media/muted-video-is-playing-audio.html
1900
1901         * html/HTMLMediaElement.cpp:
1902         (WebCore::HTMLMediaElement::setMuted):
1903         Call Document::updateIsPlayingAudio() to recalculate the overall audio playing state.
1904         (WebCore::HTMLMediaElement::isPlayingAudio):
1905         HTMLMediaElement::isPlayingAudio() should return false if the media element is explicitly muted.
1906
1907 2015-01-19  Myles C. Maxfield  <mmaxfield@apple.com>
1908
1909         [SVG -> OTF Converter] Flip the switch on
1910         https://bugs.webkit.org/show_bug.cgi?id=140592
1911
1912         Reviewed by Antti Koivisto.
1913
1914         * Configurations/FeatureDefines.xcconfig:
1915
1916 2015-01-16  Alexey Proskuryakov  <ap@apple.com>
1917
1918         Console log sometimes prefixed with line number
1919         https://bugs.webkit.org/show_bug.cgi?id=105280
1920
1921         Reviewed by Darin Adler.
1922
1923         Improve the logic for determining whether a console message should be associated
1924         with a source code location.
1925
1926         * dom/ScriptableDocumentParser.h:
1927         * html/parser/HTMLDocumentParser.cpp:
1928         (WebCore::HTMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):
1929         * html/parser/HTMLDocumentParser.h:
1930         * page/PageConsoleClient.cpp:
1931         (WebCore::getParserLocationForConsoleMessage):
1932         (WebCore::PageConsoleClient::addMessage):
1933         * xml/parser/XMLDocumentParser.cpp:
1934         (WebCore::XMLDocumentParser::pauseParsing):
1935         * xml/parser/XMLDocumentParser.h:
1936         * xml/parser/XMLDocumentParserLibxml2.cpp:
1937         (WebCore::XMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):
1938
1939 2015-01-19  Myles C. Maxfield  <mmaxfield@apple.com>
1940
1941         [SVG -> OTF Converter] Glyphs get clipped weirdly
1942         https://bugs.webkit.org/show_bug.cgi?id=137095
1943
1944         Reviewed by Antti Koivisto.
1945
1946         The Adobe CFF spec doesn't actually tell you how to serialize a
1947         "FontBBox." After trial and error, it seems to be (x, y, width,
1948         height).
1949
1950         Test: svg/text/kerning.svg
1951               svg/W3C-SVG-1.1/fonts-kern-01-t.svg
1952
1953         * svg/SVGToOTFFontConversion.cpp:
1954         (WebCore::SVGToOTFFontConverter::appendHEADTable):
1955         (WebCore::SVGToOTFFontConverter::appendCFFTable):
1956         (WebCore::SVGToOTFFontConverter::appendVHEATable):
1957         (WebCore::CFFBuilder::CFFBuilder):
1958         (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
1959         (WebCore::SVGToOTFFontConverter::processGlyphElement):
1960
1961 2015-01-19  Csaba Osztrogonác  <ossy@webkit.org>
1962
1963         REGRESSION(r178486): It broke the !ENABLE(VIDEO) build
1964         https://bugs.webkit.org/show_bug.cgi?id=140611
1965
1966         Reviewed by Eric Carlson.
1967
1968         * testing/Internals.cpp:
1969         (WebCore::Internals::elementIsBlockingDisplaySleep):
1970         * testing/Internals.h:
1971
1972 2015-01-19  Sergio Villar Senin  <svillar@igalia.com>
1973
1974         [CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
1975         https://bugs.webkit.org/show_bug.cgi?id=139059
1976
1977         Reviewed by David Hyatt.
1978
1979         Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html
1980
1981         * rendering/RenderGrid.cpp:
1982         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1983
1984 2015-01-18  Alexey Proskuryakov  <ap@apple.com>
1985
1986         Update bindings generation test results after <https://trac.webkit.org/changeset/178633>.
1987
1988         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1989         (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
1990         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1991         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
1992         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
1993         * bindings/scripts/test/JS/JSTestObj.cpp:
1994         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1995         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1996
1997 2015-01-18  Chris Dumez  <cdumez@apple.com>
1998
1999         Generate matchingShorthandsForLonghand() implementation from CSSPropertyNames.in
2000         https://bugs.webkit.org/show_bug.cgi?id=140599
2001
2002         Reviewed by Antti Koivisto.
2003
2004         Generate matchingShorthandsForLonghand() implementation from
2005         CSSPropertyNames.in. We already have all the information we need in
2006         CSSPropertyNames.in to generate the big switch() in
2007         matchingShorthandsForLonghand().
2008
2009         A few shorthands still aren't generated. I will look into getting rid
2010         of the custom code in a follow-up patch.
2011
2012         * css/StylePropertyShorthand.cpp:
2013         (WebCore::makeVector): Deleted.
2014         (WebCore::matchingShorthandsForLonghand): Deleted.
2015         * css/StylePropertyShorthand.h:
2016         (WebCore::matchingCustomShorthandsForLonghand):
2017         * css/makeprop.pl:
2018         (constructShorthandsVector):
2019
2020 2015-01-18  Dean Jackson  <dino@apple.com>
2021
2022         Out of bounds write in canvas.toDataURL
2023         https://bugs.webkit.org/show_bug.cgi?id=140594
2024         <rdar://problem/19449135>
2025
2026         Reviewed by Alexey Proskuryakov.
2027
2028         In the case where we have a canvas object that does
2029         not have premultiplied alpha (an option you can select
2030         when using WebGL) we have to multiply out the alpha when
2031         converting to JPEG via toDataURL.
2032
2033         For this we created a buffer, but were not accurately
2034         resizing it before flattening the alpha.
2035
2036         Test: fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html
2037
2038         * platform/graphics/cg/ImageBufferCG.cpp:
2039         (WebCore::ImageDataToDataURL): Call resize once we've
2040         determined we have enough space.
2041
2042 2015-01-17  Sam Weinig  <sam@webkit.org>
2043
2044         Add initial experimental user content filtering API
2045         https://bugs.webkit.org/show_bug.cgi?id=140584
2046
2047         Reviewed by Benjamin Poulain.
2048
2049         Change content extensions to be managed through the UserContentController.
2050
2051         * WebCore.exp.in:
2052         Update exports.
2053
2054         * WebCore.xcodeproj/project.pbxproj:
2055         Update for removed files.
2056
2057         * contentextensions/ContentExtensionsBackend.cpp:
2058         (WebCore::ContentExtensions::ContentExtensionsBackend::removeAllRuleLists):
2059         (WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance): Deleted.
2060         * contentextensions/ContentExtensionsBackend.h:
2061         Remove concept of a shared instance and add a removeAllRuleLists() function.
2062         
2063         * contentextensions/ContentExtensionsInterface.cpp: Removed.
2064         * contentextensions/ContentExtensionsInterface.h: Removed.
2065         Since there is no shared instance anymore, checking if a URL should be blocked
2066         now has to go directly to the backend.
2067         
2068         * contentextensions/ContentExtensionsManager.cpp:
2069         (WebCore::ContentExtensions::ExtensionsManager::createRuleList):
2070         (WebCore::ContentExtensions::ExtensionsManager::loadExtension): Deleted.
2071         * contentextensions/ContentExtensionsManager.h:
2072         Update interface to accommodate the lack of a shared instance. Now, all this
2073         file does is take a serialized rule list and outputs the Vector of ContentExtensionRules
2074
2075         * loader/cache/CachedResourceLoader.cpp:
2076         (WebCore::CachedResourceLoader::requestResource):
2077         Check with the UserContentController to see if the URL should be blocked.
2078
2079         * page/UserContentController.cpp:
2080         (WebCore::UserContentController::addUserContentFilter):
2081         (WebCore::UserContentController::removeAllUserContentFilters):
2082         (WebCore::UserContentController::contentFilterBlocksURL):
2083         * page/UserContentController.h:
2084         Add single point of interaction for both the WebKit level to add and remove
2085         content filters and WebCore to check to see if URLs should be blocked.
2086
2087 2015-01-18  Darin Adler  <darin@apple.com>
2088
2089         REGRESSION (r125251): wrapper lifetimes of SVGElementInstance are incorrect
2090         https://bugs.webkit.org/show_bug.cgi?id=132148
2091
2092         Reviewed by Anders Carlsson.
2093
2094         Test: svg/custom/use-instanceRoot-event-listeners.xhtml
2095
2096         * bindings/js/JSDOMWindowCustom.cpp:
2097         (WebCore::JSDOMWindow::addEventListener): Updated for the new return type
2098         of JSListener::create. For the event type, use JSString::toAtomicString instead of
2099         calling JSString::value and then converting to an AtomicString.
2100         (WebCore::JSDOMWindow::removeEventListener): Same changes as for addEventListener.
2101
2102         * bindings/js/JSEventListener.cpp:
2103         (WebCore::forwardsEventListeners): Added. Helper to detect the special case needed
2104         for SVGElementInstance. In the future, for better encapsulation, we could use virtual
2105         functions, but for now hard coding this single class seems fine.
2106         (WebCore::correspondingElementWrapper): Added. For use if forwardsEventListeners
2107         returns true, to find out where event listeners will be forwarded.
2108         (WebCore::createJSEventListenerForAttribute): Added. Replaces the old function
2109         createJSAttributeEventListener, for SVGElementInstance attributes only.
2110         (WebCore::createJSEventListenerForAdd): Added. Helper function to avoid repeated
2111         generated code in the addElementListener bindings other than the DOMWindow one.
2112
2113         * bindings/js/JSEventListener.h:
2114         (WebCore::JSEventListener::create): Changed to return a Ref instead of a PassRefPtr.
2115         (WebCore::createJSEventListenerForAttribute): Renamed from createJSAttributeEventListener,
2116         changed to return a RefPtr instead of a PassRefPtr and to take references rather than
2117         pointers for non-null things.
2118         (WebCore::createJSEventListenerForRemove): Added. Small wrapper that calls
2119         createJSEventListenerForAdd since they are currently identical.
2120
2121         * bindings/scripts/CodeGeneratorJS.pm:
2122         (GenerateAttributeEventListenerCall): Removed the special case for JSSVGElementInstance
2123         and updated to call the new createJSEventListenerForAttribute. The special case for
2124         SVGElementInstance is now in JSEventListener.h/cpp, which is nicer since we prefer to
2125         keep the generated code simpler if possible.
2126         (GenerateEventListenerCall): Removed the special case for JSSVGElementInstance. This
2127         has been dead code since the explicit definition of add/removeEventListener was removed
2128         from SVGElementInstance.idl, and was also a problem if someone were to use the
2129         addEventListener function from EventTarget on an SVGElementInstance object. The function
2130         needs to be generic at runtime. Use toAtomicString as in JSDOMWindow::addEventListener above.
2131         Call the two new functions, createJSEventListenerForAdd and createJSEventListenerForRemove.
2132         Those new functions properly handle SVGElementInstance.
2133         (GenerateImplementation): Don't pass the class name to GenerateAttributeEventListenerCall
2134         or GenerateEventListenerCall any more.
2135         (GenerateConstructorDefinition): Use JSString::toAtomicString instead of calling
2136         JSString::value and then converting to AtomicString.
2137
2138 2015-01-17  Brian J. Burg  <burg@cs.washington.edu>
2139
2140         Web Inspector: highlight data for overlay should use protocol type builders
2141         https://bugs.webkit.org/show_bug.cgi?id=129441
2142
2143         Reviewed by Timothy Hatcher.
2144
2145         As a first step towards cleaning up the inspector overlay, convert highlight
2146         data construction to use protocol type builders. It's now really obvious what
2147         data is being sent to the inspector overlay page.
2148
2149         This change paves the way towards using inspector protocol commands and events
2150         if we want to support more interactive functionality in the inspector overlay.
2151
2152         This patch makes a few style cleanups, such as standardizing variable names,
2153         using default member initializers, passing by reference, and fixing casts.
2154
2155         No new tests, no behavior changed.
2156
2157         * WebCore.exp.in:
2158         * inspector/InspectorController.cpp:
2159         (WebCore::InspectorController::getHighlight):
2160         (WebCore::InspectorController::buildObjectForHighlightedNode):
2161         (WebCore::InspectorController::inspect): Deleted.
2162         * inspector/InspectorController.h:
2163         * inspector/InspectorOverlay.cpp:
2164         (WebCore::buildRendererHighlight):
2165         (WebCore::buildNodeHighlight):
2166         (WebCore::buildQuadHighlight):
2167         (WebCore::InspectorOverlay::InspectorOverlay):
2168         (WebCore::InspectorOverlay::getHighlight):
2169         (WebCore::buildObjectForPoint):
2170         (WebCore::buildObjectForRect):
2171         (WebCore::buildArrayForQuad):
2172         (WebCore::buildObjectForHighlight):
2173         (WebCore::buildObjectForRegion):
2174         (WebCore::buildObjectForFlowRegions):
2175         (WebCore::buildObjectForSize):
2176         (WebCore::buildQuadObjectForCSSRegionContentClip):
2177         Simplify how the clipping area is encoded. It's now 'regionClippingArea'
2178         stored on a FragmentHighlightData instance.
2179
2180         (WebCore::InspectorOverlay::updatePaintRectsTimerFired):
2181         (WebCore::InspectorOverlay::drawPaintRects):
2182         (WebCore::buildArrayForRendererFragments):
2183         (WebCore::appendPathCommandAndPoints):
2184         (WebCore::appendPathSegment):
2185         (WebCore::buildObjectForShapeOutside):
2186         (WebCore::buildObjectForElementData):
2187         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2188         (WebCore::InspectorOverlay::drawNodeHighlight):
2189         (WebCore::InspectorOverlay::drawQuadHighlight):
2190         (WebCore::InspectorOverlay::reset):
2191         (WebCore::buildObjectForRegionHighlight): Deleted.
2192         (WebCore::buildObjectForCSSRegionsHighlight): Deleted.
2193         (WebCore::buildObjectForCSSRegionContentClip): Deleted.
2194         (WebCore::buildObjectForRendererFragments): Deleted.
2195         (WebCore::buildObjectForElementInfo): Deleted.
2196         * inspector/InspectorOverlay.h:
2197         (WebCore::Highlight::Highlight):
2198         * inspector/InspectorOverlayPage.js:
2199         (_createElementTitle):
2200         (_drawElementTitle):
2201         (_drawFragmentHighlight):
2202         (drawNodeHighlight):
2203         * testing/Internals.cpp:
2204         (WebCore::Internals::inspectorHighlightRects):
2205         (WebCore::Internals::inspectorHighlightObject):
2206
2207 2015-01-17  Myles C. Maxfield  <mmaxfield@apple.com>
2208
2209         [SVG -> OTF Converter] Crashes when SVG font is invalid
2210         https://bugs.webkit.org/show_bug.cgi?id=140378
2211
2212         Reviewed by Antti Koivisto.
2213
2214         Because CachedSVGFonts are cached, they have to be able to be used
2215         in subsequent documents regardless how the first document left it.
2216
2217         Tests: fast/css/font-face-svg-decoding-error.html
2218                svg/custom/svg-fonts-in-html.html
2219                svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html
2220
2221         * loader/cache/CachedFont.cpp:
2222         (WebCore::CachedFont::ensureCustomFontData):
2223         * loader/cache/CachedFont.h:
2224         * loader/cache/CachedSVGFont.cpp:
2225         (WebCore::CachedSVGFont::getFontData):
2226         (WebCore::CachedSVGFont::ensureCustomFontData):
2227         (WebCore::CachedSVGFont::maybeInitializeExternalSVGFontElement):
2228         * loader/cache/CachedSVGFont.h:
2229
2230 2015-01-17  Chris Dumez  <cdumez@apple.com>
2231
2232         Converting time, angle and frequency units in CSS calc() function
2233         https://bugs.webkit.org/show_bug.cgi?id=138356
2234
2235         Reviewed by Darin Adler.
2236
2237         Update CSSPrimitiveValue::primitiveType() to actually query the
2238         primitiveType of the CSSCalcValue instead of assuming a given
2239         type based on its category (e.g. If category is CalcTime, then
2240         assume type is CSS_MS, even though it would be CSS_S as well).
2241
2242         This would like to calculation errors such as:
2243         calc(4s + 1s) -> 5ms
2244
2245         Because we would assume the unit is CSS_MS without actually
2246         checking.
2247
2248         This patch is inspired by the following Blink revision
2249         by <rhodovan.u-szeged@partner.samsung.com> and initial WebKit
2250         patch from <tmeszaros.u-szeged@partner.samsung.com>:
2251         https://src.chromium.org/viewvc/blink?view=rev&revision=179101
2252
2253         Test: fast/css/calc-with-angle-time-frequency.html
2254
2255         * css/CSSCalculationValue.h:
2256         (WebCore::CSSCalcValue::primitiveType):
2257         * css/CSSPrimitiveValue.cpp:
2258         (WebCore::CSSPrimitiveValue::primitiveType):
2259
2260 2015-01-17  Chris Dumez  <cdumez@apple.com>
2261
2262         Generate shorthandForProperty() implementation from CSSPropertyNames.in
2263         https://bugs.webkit.org/show_bug.cgi?id=140556
2264
2265         Reviewed by Darin Adler.
2266
2267         Generate shorthandForProperty() implementation from CSSPropertyNames.in.
2268         This is just a big switch() statement calling the right
2269         StylePropertyShorthand factory function for a given CSSPropertyID.
2270
2271         * css/StylePropertyShorthand.cpp:
2272         (WebCore::shorthandForProperty): Deleted.
2273         * css/StylePropertyShorthand.h:
2274         * css/makeprop.pl:
2275
2276 2015-01-16  Brent Fulgham  <bfulgham@apple.com>
2277
2278         [Mac] Correct infinite loop in Wheel Handler code in EventHandlerMac
2279         https://bugs.webkit.org/show_bug.cgi?id=140564
2280         <rdar://problem/19386426.
2281
2282         Reviewed by Dean Jackson.
2283
2284         * page/mac/EventHandlerMac.mm:
2285         (WebCore::latchingIsLockedToAncestorOfThisFrame): Put missing assignment
2286         back into the loop!
2287
2288 2015-01-16  Zalan Bujtas  <zalan@apple.com>
2289
2290         When border-radius is present, inset/outset/groove/ridge border color changes.
2291         https://bugs.webkit.org/show_bug.cgi?id=140551
2292
2293         Reviewed by Simon Fraser.
2294
2295         This patch applies the same color lighten/darken adjustment on the radius borders
2296         that we use for non-radius border.
2297
2298         Test: fast/borders/wrong-border-color-when-radius-is-present.html
2299
2300         * rendering/RenderBoxModelObject.cpp:
2301         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2302         * rendering/RenderObject.cpp:
2303         (WebCore::RenderObject::calculateBorderStyleColor):
2304         * rendering/RenderObject.h:
2305
2306 2015-01-16  Pratik Solanki  <psolanki@apple.com>
2307
2308         Web pages fail to load using public iOS WebKit; ASSERT(!isMainThread()) in
2309         -[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
2310         https://bugs.webkit.org/show_bug.cgi?id=140470
2311
2312         Reviewed by Alexey Proskuryakov.
2313
2314         Fixes an issue where a web page would fail to load in iOS WebKit2 built with the public iOS SDK
2315         because NSURLConnection callbacks were always being scheduled on the main thread.
2316
2317         Currently we always schedule NSURLConnection callbacks to occur on the WebThread or the main
2318         thread depending on whether the WebThread was started. In iOS WebKit2, the callbacks were
2319         always being scheduled on the main thread regardless of whether we were using the NetworkProcess
2320         (since the WebThread is only started when using WebKit1). This led to an assertion failure.
2321         Instead we want to schedule callbacks to an NSOperationsQueue queue when using WebKit2 with the
2322         NetworkProcess (i.e. ResourceHandleClient::usesAsyncCallbacks() is true), on the main thread when
2323         using WebKit2 without the NetworkProcess and on the WebThread when using WebKit1.
2324
2325         * platform/network/mac/ResourceHandleMac.mm:
2326         (WebCore::operationQueueForAsyncClients): Remove PLATFORM(IOS)-guards as we want to make use
2327         of this code for iOS WebKit2 with the NetworkProcess.
2328         (WebCore::ResourceHandle::start): Modified to use the existing Mac code path to conditionally
2329         schedule NSURLConnection callbacks to an operation queue when ResourceHandleClient::usesAsyncCallbacks()
2330         is true. Otherwise, schedule the callbacks on the run loop returned by WebThreadNSRunLoop(),
2331         which is either the WebThread or the main thread run loop when using WebKit1 and WebKit2 without
2332         the NetworkProcess, respectively.
2333
2334 2015-01-16  Brian J. Burg  <burg@cs.washington.edu>
2335
2336         Web Replay: purge remaining PassRefPtr uses and minor cleanup
2337         https://bugs.webkit.org/show_bug.cgi?id=140456
2338
2339         Reviewed by Andreas Kling.
2340
2341         Get rid of PassRefPtr. Introduce default initializers where it makes sense. Change
2342         uses of ASSERT to ASSERT_ARG when the assert is a precondition on an argument.
2343
2344         Remove mistaken uses of AtomicString that were not removed as part of r174113.
2345
2346         No new tests, no behavior changed.
2347
2348         * inspector/InspectorReplayAgent.cpp:
2349         (WebCore::SerializeInputToJSONFunctor::operator()):
2350         (WebCore::SerializeInputToJSONFunctor::returnValue):
2351         (WebCore::InspectorReplayAgent::sessionCreated):
2352         (WebCore::InspectorReplayAgent::sessionModified):
2353         (WebCore::InspectorReplayAgent::sessionLoaded):
2354         (WebCore::InspectorReplayAgent::segmentCreated):
2355         (WebCore::InspectorReplayAgent::segmentCompleted):
2356         (WebCore::InspectorReplayAgent::segmentLoaded):
2357         (WebCore::InspectorReplayAgent::switchSession):
2358         (WebCore::InspectorReplayAgent::insertSessionSegment):
2359         (WebCore::InspectorReplayAgent::removeSessionSegment):
2360         (WebCore::InspectorReplayAgent::findSession):
2361         (WebCore::InspectorReplayAgent::findSegment):
2362         * inspector/InspectorReplayAgent.h:
2363         * replay/CapturingInputCursor.cpp:
2364         (WebCore::CapturingInputCursor::CapturingInputCursor):
2365         (WebCore::CapturingInputCursor::create):
2366         (WebCore::CapturingInputCursor::loadInput):
2367         * replay/CapturingInputCursor.h:
2368         * replay/EventLoopInputDispatcher.cpp:
2369         (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):
2370         * replay/EventLoopInputDispatcher.h:
2371         * replay/FunctorInputCursor.h:
2372         (WebCore::FunctorInputCursor::FunctorInputCursor):
2373         (WebCore::FunctorInputCursor::loadInput):
2374         * replay/ReplayController.cpp:
2375         (WebCore::ReplayController::ReplayController):
2376         (WebCore::ReplayController::setForceDeterministicSettings):
2377         (WebCore::ReplayController::setSessionState):
2378         (WebCore::ReplayController::setSegmentState):
2379         (WebCore::ReplayController::switchSession):
2380         (WebCore::ReplayController::createSegment):
2381         (WebCore::ReplayController::completeSegment):
2382         (WebCore::ReplayController::loadSegmentAtIndex):
2383         (WebCore::ReplayController::unloadSegment):
2384         (WebCore::ReplayController::frameNavigated):
2385         (WebCore::ReplayController::loadedSession):
2386         (WebCore::ReplayController::loadedSegment):
2387         (WebCore::ReplayController::activeInputCursor):
2388         (WebCore::ReplayController::dispatcher):
2389         * replay/ReplayController.h:
2390         * replay/ReplaySession.cpp:
2391         (WebCore::ReplaySession::create):
2392         (WebCore::ReplaySession::at):
2393         (WebCore::ReplaySession::appendSegment):
2394         (WebCore::ReplaySession::insertSegment):
2395         (WebCore::ReplaySession::removeSegment):
2396         * replay/ReplaySession.h:
2397         * replay/ReplaySessionSegment.cpp:
2398         (WebCore::ReplaySessionSegment::create):
2399         (WebCore::ReplaySessionSegment::ReplaySessionSegment):
2400         * replay/ReplaySessionSegment.h:
2401         * replay/ReplayingInputCursor.cpp:
2402         (WebCore::ReplayingInputCursor::ReplayingInputCursor):
2403         (WebCore::ReplayingInputCursor::create):
2404         (WebCore::ReplayingInputCursor::loadInput):
2405         * replay/ReplayingInputCursor.h:
2406         * replay/SegmentedInputStorage.cpp:
2407         (WebCore::SegmentedInputStorage::store):
2408         (WebCore::SegmentedInputStorage::queue):
2409         (WebCore::SegmentedInputStorage::SegmentedInputStorage): Deleted.
2410         * replay/SegmentedInputStorage.h:
2411
2412 2015-01-16  Andreas Kling  <akling@apple.com>
2413
2414         Remove assertion that Page::m_editorClient is non-null.
2415
2416         Unreviewed debug build fix. (It's a reference, it won't be null.)
2417
2418         * page/Page.cpp:
2419         (WebCore::Page::Page):
2420
2421 2015-01-16  Andreas Kling  <akling@apple.com>
2422
2423         Page::editorClient() should return a reference.
2424         <https://webkit.org/b/140552>
2425
2426         Reviewed by Chris Dumez.
2427
2428         Page always has an EditorClient, so make editorClient() return a reference.
2429
2430         * editing/AlternativeTextController.cpp:
2431         (WebCore::AlternativeTextController::editorClient):
2432         (WebCore::AlternativeTextController::textChecker):
2433         * editing/Editor.cpp:
2434         (WebCore::Editor::client):
2435         * editing/SpellChecker.cpp:
2436         (WebCore::SpellChecker::client):
2437         * page/FocusController.cpp:
2438         (WebCore::FocusController::setFocusedElement):
2439         * page/Page.cpp:
2440         (WebCore::Page::Page):
2441         (WebCore::Page::~Page):
2442         (WebCore::Page::clearUndoRedoOperations):
2443         * page/Page.h:
2444         (WebCore::Page::editorClient):
2445         * page/scrolling/AsyncScrollingCoordinator.cpp:
2446         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2447
2448 2015-01-16  Benjamin Poulain  <benjamin@webkit.org>
2449
2450         Make URL filters case-insensitive by default
2451         https://bugs.webkit.org/show_bug.cgi?id=140531
2452
2453         Reviewed by Andreas Kling.
2454
2455         Safari's filters were case-insensitive. Adopt that convention in the engine,
2456         and add a flag in case someone ever need a case-sensitive filter.
2457
2458         * contentextensions/ContentExtensionRule.h:
2459         * contentextensions/ContentExtensionsBackend.cpp:
2460         (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
2461         * contentextensions/ContentExtensionsManager.cpp:
2462         (WebCore::ContentExtensions::ExtensionsManager::loadTrigger):
2463         * contentextensions/URLFilterParser.cpp:
2464         (WebCore::ContentExtensions::trivialAtomFromASCIICharacter):
2465         (WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
2466         (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
2467         (WebCore::ContentExtensions::GraphBuilder::generateTransition):
2468         (WebCore::ContentExtensions::URLFilterParser::addPattern):
2469         * contentextensions/URLFilterParser.h:
2470
2471 2015-01-16  Benjamin Poulain  <bpoulain@apple.com>
2472
2473         Add the alternative syntax for CSS Selector's descendant combinator (">>")
2474         https://bugs.webkit.org/show_bug.cgi?id=140525
2475
2476         Reviewed by Antti Koivisto.
2477
2478         The latest Selector spec introduces the combinator ">>" as an alias for the descendant
2479         relation: http://dev.w3.org/csswg/selectors-4/#descendant-combinators
2480
2481         This patch implements that combinator as an alias of the existing one. For CSSOM's selector
2482         serialization, I use one bit of CSSSelector to store if that alternative syntax was used.
2483
2484         Tests: fast/css/descendant-combinator-doubled-child-syntax-styling.html
2485                fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html
2486                fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html
2487                fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html
2488                fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html
2489
2490         * css/CSSGrammar.y.in:
2491         * css/CSSParserValues.cpp:
2492         (WebCore::CSSParserSelector::appendTagHistory):
2493         * css/CSSParserValues.h:
2494         (WebCore::CSSParserSelector::setDescendantUseDoubleChildSyntax):
2495         * css/CSSSelector.cpp:
2496         (WebCore::CSSSelector::selectorText):
2497         * css/CSSSelector.h:
2498         (WebCore::CSSSelector::setDescendantUseDoubleChildSyntax):
2499         (WebCore::CSSSelector::CSSSelector):
2500
2501 2015-01-16  Chris Dumez  <cdumez@apple.com>
2502
2503         Generate StylePropertyShorthand.* from CSSPropertyNames.in
2504         https://bugs.webkit.org/show_bug.cgi?id=140501
2505
2506         Reviewed by Darin Adler.
2507
2508         Add initial support for having makeprop.pl generate most of
2509         StylePropertyShorthand.* from CSSPropertyNames.in.
2510
2511         This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a
2512         more descriptive [Longhands=property1|property2|...] parameter. With
2513         this information, makeprop.pl is now able to generate the
2514         StylePropertyShorthand factories for all CSS shorthand properties
2515         in a new StylePropertyShorthandFunctions.h header.
2516
2517         The switches in StylePropertyShorthand.cpp could also be generated
2518         but this will be taken care of in follow-up patches to reduce patch
2519         size.
2520
2521         * CMakeLists.txt:
2522         * DerivedSources.make:
2523         * WebCore.vcxproj/WebCore.vcxproj:
2524         * WebCore.vcxproj/WebCore.vcxproj.filters:
2525         * WebCore.xcodeproj/project.pbxproj:
2526         * css/CSSComputedStyleDeclaration.cpp:
2527         (WebCore::ComputedStyleExtractor::propertyValue):
2528         * css/CSSParser.cpp:
2529         (WebCore::CSSParser::parseValue):
2530         * css/CSSPropertyNames.in:
2531         * css/StyleProperties.cpp:
2532         (WebCore::StyleProperties::getPropertyValue):
2533         * css/StylePropertyShorthand.cpp:
2534         (WebCore::shorthandForProperty):
2535         (WebCore::matchingShorthandsForLonghand):
2536         (WebCore::backgroundShorthand): Deleted.
2537         (WebCore::backgroundPositionShorthand): Deleted.
2538         (WebCore::backgroundRepeatShorthand): Deleted.
2539         (WebCore::borderShorthand): Deleted.
2540         (WebCore::borderBottomShorthand): Deleted.
2541         (WebCore::borderColorShorthand): Deleted.
2542         (WebCore::borderImageShorthand): Deleted.
2543         (WebCore::borderLeftShorthand): Deleted.
2544         (WebCore::borderRadiusShorthand): Deleted.
2545         (WebCore::webkitBorderRadiusShorthand): Deleted.
2546         (WebCore::borderRightShorthand): Deleted.
2547         (WebCore::borderSpacingShorthand): Deleted.
2548         (WebCore::borderStyleShorthand): Deleted.
2549         (WebCore::borderTopShorthand): Deleted.
2550         (WebCore::borderWidthShorthand): Deleted.
2551         (WebCore::listStyleShorthand): Deleted.
2552         (WebCore::marginShorthand): Deleted.
2553         (WebCore::markerShorthand): Deleted.
2554         (WebCore::outlineShorthand): Deleted.
2555         (WebCore::overflowShorthand): Deleted.
2556         (WebCore::paddingShorthand): Deleted.
2557         (WebCore::transitionShorthand): Deleted.
2558         (WebCore::animationShorthand): Deleted.
2559         (WebCore::webkitAnimationShorthand): Deleted.
2560         (WebCore::webkitBorderAfterShorthand): Deleted.
2561         (WebCore::webkitBorderBeforeShorthand): Deleted.
2562         (WebCore::webkitBorderEndShorthand): Deleted.
2563         (WebCore::webkitBorderStartShorthand): Deleted.
2564         (WebCore::webkitColumnsShorthand): Deleted.
2565         (WebCore::webkitColumnRuleShorthand): Deleted.
2566         (WebCore::flexFlowShorthand): Deleted.
2567         (WebCore::flexShorthand): Deleted.
2568         (WebCore::webkitMarginCollapseShorthand): Deleted.
2569         (WebCore::webkitGridShorthand): Deleted.
2570         (WebCore::webkitGridTemplateShorthand): Deleted.
2571         (WebCore::webkitGridAreaShorthand): Deleted.
2572         (WebCore::webkitGridColumnShorthand): Deleted.
2573         (WebCore::webkitGridRowShorthand): Deleted.
2574         (WebCore::webkitMarqueeShorthand): Deleted.
2575         (WebCore::webkitMaskShorthand): Deleted.
2576         (WebCore::webkitMaskPositionShorthand): Deleted.
2577         (WebCore::webkitMaskRepeatShorthand): Deleted.
2578         (WebCore::webkitTextDecorationShorthand): Deleted.
2579         (WebCore::webkitTextEmphasisShorthand): Deleted.
2580         (WebCore::webkitTextStrokeShorthand): Deleted.
2581         (WebCore::webkitTransitionShorthand): Deleted.
2582         (WebCore::webkitPerspectiveOriginShorthand): Deleted.
2583         (WebCore::webkitTransformOriginShorthand): Deleted.
2584         * css/StylePropertyShorthand.h:
2585         * css/makeprop.pl:
2586
2587 2015-01-16  Commit Queue  <commit-queue@webkit.org>
2588
2589         Unreviewed, rolling out r178532.
2590         https://bugs.webkit.org/show_bug.cgi?id=140548
2591
2592         Broke fast/css/parsing-css-lang.html on some bots (Requested
2593         by ap on #webkit).
2594
2595         Reverted changeset:
2596
2597         "Canonicalization of :lang() should preserve the :lang()'s
2598         arguments representations"
2599         https://bugs.webkit.org/show_bug.cgi?id=139928
2600         http://trac.webkit.org/changeset/178532
2601
2602 2015-01-16  Commit Queue  <commit-queue@webkit.org>
2603
2604         Unreviewed, rolling out r178577.
2605         https://bugs.webkit.org/show_bug.cgi?id=140546
2606
2607         Broke fast/css-grid-layout/grid-content-sized-columns-
2608         resolution.html (Requested by ap on #webkit).
2609
2610         Reverted changeset:
2611
2612         "[CSS Grid Layout] Tracks shrink sometimes with indefinite
2613         remaining space"
2614         https://bugs.webkit.org/show_bug.cgi?id=139059
2615         http://trac.webkit.org/changeset/178577
2616
2617 2015-01-16  Andreas Kling  <akling@apple.com>
2618
2619         Some improvements to RuleSet shrinking.
2620         <https://webkit.org/b/140534>
2621
2622         Reviewed by Antti Koivisto.
2623
2624         Give an inline capacity (1) to the RuleData Vectors in RuleSet.
2625         The vast majority of Vectors have only a single entry, and this
2626         avoids having to allocate a separate Vector backing store for them.
2627
2628         Also make sure to shrink some Vectors that we weren't already,
2629         like those in RuleFeatureSet.
2630
2631         * css/ElementRuleCollector.cpp:
2632         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
2633         * css/ElementRuleCollector.h:
2634         * css/RuleFeature.cpp:
2635         (WebCore::RuleFeatureSet::shrinkToFit):
2636         * css/RuleFeature.h:
2637         * css/RuleSet.cpp:
2638         (WebCore::RuleSet::addToRuleSet):
2639         (WebCore::rulesCountForName):
2640         (WebCore::shrinkMapVectorsToFit):
2641         (WebCore::RuleSet::shrinkToFit):
2642         * css/RuleSet.h:
2643         (WebCore::RuleSet::idRules):
2644         (WebCore::RuleSet::classRules):
2645         (WebCore::RuleSet::tagRules):
2646         (WebCore::RuleSet::shadowPseudoElementRules):
2647         (WebCore::RuleSet::linkPseudoClassRules):
2648         (WebCore::RuleSet::cuePseudoRules):
2649         (WebCore::RuleSet::focusPseudoClassRules):
2650         (WebCore::RuleSet::universalRules):
2651
2652 2015-01-16  Antti Koivisto  <antti@apple.com>
2653
2654         Correct naming for FontCascade implementation files
2655         https://bugs.webkit.org/show_bug.cgi?id=140544
2656
2657         Reviewed by Zalan Bujtas.
2658
2659         Also reduce their number.
2660
2661         Merge FontFastPath.cpp into FontCascade.cpp
2662         Merge FontMac.mm and FontComplexTextMac.cpp into FontCascadeCocoa.mm
2663
2664         * CMakeLists.txt:
2665         * WebCore.vcxproj/WebCore.vcxproj:
2666         * WebCore.xcodeproj/project.pbxproj:
2667         * platform/graphics/FontCascade.cpp:
2668         (WebCore::FontCascade::getEmphasisMarkGlyphData):
2669         (WebCore::FontCascade::emphasisMarkAscent):
2670         (WebCore::FontCascade::emphasisMarkDescent):
2671         (WebCore::FontCascade::emphasisMarkHeight):
2672         (WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText):
2673         (WebCore::FontCascade::drawSimpleText):
2674         (WebCore::FontCascade::drawEmphasisMarksForSimpleText):
2675         (WebCore::FontCascade::drawGlyphBuffer):
2676         (WebCore::offsetToMiddleOfGlyph):
2677         (WebCore::offsetToMiddleOfGlyphAtIndex):
2678         (WebCore::FontCascade::drawEmphasisMarks):
2679         (WebCore::FontCascade::floatWidthForSimpleText):
2680         (WebCore::FontCascade::adjustSelectionRectForSimpleText):
2681         (WebCore::FontCascade::offsetForPositionForSimpleText):
2682         * platform/graphics/FontFastPath.cpp: Removed.
2683         * platform/graphics/cocoa/FontCascadeCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.
2684         (WebCore::FontCascade::drawGlyphs):
2685         (WebCore::FontCascade::adjustSelectionRectForComplexText):
2686         (WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
2687         (WebCore::FontCascade::drawComplexText):
2688         (WebCore::FontCascade::drawEmphasisMarksForComplexText):
2689         (WebCore::FontCascade::floatWidthForComplexText):
2690         (WebCore::FontCascade::offsetForPositionForComplexText):
2691         (WebCore::FontCascade::fontDataForCombiningCharacterSequence):
2692         * platform/graphics/mac/FontComplexTextMac.cpp: Removed.
2693         * platform/graphics/mac/FontMac.mm: Removed.
2694
2695 2014-11-26  Sergio Villar Senin  <svillar@igalia.com>
2696
2697         [CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
2698         https://bugs.webkit.org/show_bug.cgi?id=139059
2699
2700         Reviewed by David Hyatt.
2701
2702         Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html
2703
2704         * rendering/RenderGrid.cpp:
2705         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
2706
2707 2015-01-15  Csaba Osztrogonác  <ossy@webkit.org>
2708
2709         Remove ENABLE(SQL_DATABASE) guards
2710         https://bugs.webkit.org/show_bug.cgi?id=140434
2711
2712         Reviewed by Darin Adler.
2713
2714         * Configurations/FeatureDefines.xcconfig:
2715         * Modules/webdatabase/AbstractDatabaseServer.h:
2716         * Modules/webdatabase/ChangeVersionData.h:
2717         * Modules/webdatabase/ChangeVersionWrapper.cpp:
2718         * Modules/webdatabase/ChangeVersionWrapper.h:
2719         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
2720         * Modules/webdatabase/DOMWindowWebDatabase.h:
2721         * Modules/webdatabase/DOMWindowWebDatabase.idl:
2722         * Modules/webdatabase/Database.cpp:
2723         * Modules/webdatabase/Database.h:
2724         * Modules/webdatabase/Database.idl:
2725         * Modules/webdatabase/DatabaseBackend.cpp:
2726         * Modules/webdatabase/DatabaseBackend.h:
2727         * Modules/webdatabase/DatabaseBackendBase.cpp:
2728         * Modules/webdatabase/DatabaseBackendBase.h:
2729         * Modules/webdatabase/DatabaseBasicTypes.h:
2730         * Modules/webdatabase/DatabaseCallback.h:
2731         * Modules/webdatabase/DatabaseCallback.idl:
2732         * Modules/webdatabase/DatabaseContext.cpp:
2733         * Modules/webdatabase/DatabaseContext.h:
2734         * Modules/webdatabase/DatabaseDetails.h:
2735         * Modules/webdatabase/DatabaseError.h:
2736         * Modules/webdatabase/DatabaseManager.cpp:
2737         * Modules/webdatabase/DatabaseManager.h:
2738         * Modules/webdatabase/DatabaseManagerClient.h:
2739         * Modules/webdatabase/DatabaseServer.cpp:
2740         * Modules/webdatabase/DatabaseServer.h:
2741         * Modules/webdatabase/DatabaseTask.cpp:
2742         * Modules/webdatabase/DatabaseTask.h:
2743         * Modules/webdatabase/DatabaseThread.cpp:
2744         * Modules/webdatabase/DatabaseThread.h:
2745         * Modules/webdatabase/DatabaseTracker.cpp:
2746         * Modules/webdatabase/DatabaseTracker.h:
2747         * Modules/webdatabase/OriginLock.cpp:
2748         * Modules/webdatabase/OriginLock.h:
2749         * Modules/webdatabase/SQLCallbackWrapper.h:
2750         * Modules/webdatabase/SQLError.h:
2751         * Modules/webdatabase/SQLError.idl:
2752         * Modules/webdatabase/SQLException.cpp:
2753         * Modules/webdatabase/SQLException.h:
2754         * Modules/webdatabase/SQLException.idl:
2755         * Modules/webdatabase/SQLResultSet.cpp:
2756         * Modules/webdatabase/SQLResultSet.h:
2757         * Modules/webdatabase/SQLResultSet.idl:
2758         * Modules/webdatabase/SQLResultSetRowList.cpp:
2759         * Modules/webdatabase/SQLResultSetRowList.h:
2760         * Modules/webdatabase/SQLResultSetRowList.idl:
2761         * Modules/webdatabase/SQLStatement.cpp:
2762         * Modules/webdatabase/SQLStatement.h:
2763         * Modules/webdatabase/SQLStatementBackend.cpp:
2764         * Modules/webdatabase/SQLStatementBackend.h:
2765         * Modules/webdatabase/SQLStatementCallback.h:
2766         * Modules/webdatabase/SQLStatementCallback.idl:
2767         * Modules/webdatabase/SQLStatementErrorCallback.h:
2768         * Modules/webdatabase/SQLStatementErrorCallback.idl:
2769         * Modules/webdatabase/SQLTransaction.cpp:
2770         * Modules/webdatabase/SQLTransaction.h:
2771         * Modules/webdatabase/SQLTransaction.idl:
2772         * Modules/webdatabase/SQLTransactionBackend.cpp:
2773         * Modules/webdatabase/SQLTransactionBackend.h:
2774         * Modules/webdatabase/SQLTransactionCallback.h:
2775         * Modules/webdatabase/SQLTransactionCallback.idl:
2776         * Modules/webdatabase/SQLTransactionClient.cpp:
2777         * Modules/webdatabase/SQLTransactionClient.h:
2778         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2779         * Modules/webdatabase/SQLTransactionCoordinator.h:
2780         * Modules/webdatabase/SQLTransactionErrorCallback.h:
2781         * Modules/webdatabase/SQLTransactionErrorCallback.idl:
2782         * Modules/webdatabase/SQLTransactionState.h:
2783         * Modules/webdatabase/SQLTransactionStateMachine.cpp:
2784         * Modules/webdatabase/SQLTransactionStateMachine.h:
2785         * bindings/js/JSCommandLineAPIHostCustom.cpp:
2786         (WebCore::JSCommandLineAPIHost::databaseId):
2787         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2788         * bindings/js/JSExceptionBase.cpp:
2789         (WebCore::toExceptionBase):
2790         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2791         * bindings/js/JSSQLTransactionCustom.cpp:
2792         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2793         (webkit_dom_test_callback_finalize):
2794         (webkit_dom_test_callback_constructor):
2795         (webkit_dom_test_callback_callback_with_no_param):
2796         (webkit_dom_test_callback_callback_with_array_param):
2797         (webkit_dom_test_callback_callback_with_serialized_script_value_param):
2798         (webkit_dom_test_callback_callback_with_non_bool_return_type):
2799         (webkit_dom_test_callback_callback_with_string_list):
2800         (webkit_dom_test_callback_callback_with_boolean):
2801         (webkit_dom_test_callback_callback_requires_this_to_pass):
2802         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
2803         * bindings/scripts/test/JS/JSTestCallback.cpp:
2804         * bindings/scripts/test/JS/JSTestCallback.h:
2805         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2806         * bindings/scripts/test/TestCallback.idl:
2807         * dom/DOMExceptions.in:
2808         * dom/ScriptExecutionContext.cpp:
2809         (WebCore::ScriptExecutionContext::setDatabaseContext):
2810         * dom/ScriptExecutionContext.h:
2811         * history/PageCache.cpp:
2812         (WebCore::logCanCacheFrameDecision):
2813         (WebCore::PageCache::canCachePageContainingThisFrame):
2814         * inspector/CommandLineAPIHost.cpp:
2815         (WebCore::CommandLineAPIHost::CommandLineAPIHost):
2816         (WebCore::CommandLineAPIHost::disconnect):
2817         (WebCore::CommandLineAPIHost::databaseIdImpl):
2818         * inspector/CommandLineAPIHost.h:
2819         (WebCore::CommandLineAPIHost::init):
2820         * inspector/InspectorController.cpp:
2821         (WebCore::InspectorController::InspectorController):
2822         * inspector/InspectorDatabaseAgent.cpp:
2823         * inspector/InspectorDatabaseAgent.h:
2824         * inspector/InspectorDatabaseInstrumentation.h:
2825         (WebCore::InspectorInstrumentation::didOpenDatabase):
2826         * inspector/InspectorDatabaseResource.cpp:
2827         * inspector/InspectorDatabaseResource.h:
2828         * inspector/InspectorInstrumentation.cpp:
2829         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2830         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
2831         * inspector/InspectorInstrumentation.h:
2832         * inspector/InstrumentingAgents.cpp:
2833         (WebCore::InstrumentingAgents::InstrumentingAgents):
2834         (WebCore::InstrumentingAgents::reset):
2835         * inspector/InstrumentingAgents.h:
2836         * inspector/WorkerInspectorController.cpp:
2837         (WebCore::WorkerInspectorController::WorkerInspectorController):
2838         * loader/EmptyClients.h:
2839         * loader/FrameLoader.cpp:
2840         (WebCore::FrameLoader::stopLoading):
2841         * page/ChromeClient.h:
2842         * platform/FeatureCounterKeys.h:
2843
2844 2015-01-15  Zalan Bujtas  <zalan@apple.com>
2845
2846         Element appears correctly but does not receive event with a large translation.
2847         https://bugs.webkit.org/show_bug.cgi?id=139815
2848
2849         Reviewed by Simon Fraser.
2850
2851         When the hit point gets translated beyond the min/max value of LayoutRect (infiniteRect()),
2852         we fail to find the corresponding layer.
2853         When there's no clipping on a layer, we use min/max values to represent infiniteness.
2854         However it does not work well across types. With IntPoint(hittest) we can address a point that's outside
2855         of LayoutRect's boundary(clipping).
2856         This patch addresses the immediate issue of not being able to hittest transformed layers properly. 
2857         Fixing the representation of infiniteness is tracked here: webkit.org/b/140533
2858
2859         Test: transforms/hittest-translated-content-off-to-infinity-and-back.html
2860
2861         * rendering/ClipRect.cpp:
2862         (WebCore::ClipRect::intersects):
2863
2864 2015-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
2865
2866         tables/mozilla/bugs/bug10633.html is flakey on Yosemite
2867         https://bugs.webkit.org/show_bug.cgi?id=140487
2868
2869         Reviewed by Simon Fraser.
2870
2871         The workaround in https://bugs.webkit.org/show_bug.cgi?id=140253 works
2872         on both OSes.
2873
2874         * platform/graphics/mac/SimpleFontDataMac.mm:
2875         (WebCore::SimpleFontData::platformInit):
2876
2877 2015-01-15  Ryosuke Niwa  <rniwa@webkit.org>
2878
2879         Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged
2880         https://bugs.webkit.org/show_bug.cgi?id=140523
2881         <rdar://problem/19464329>
2882
2883         Reviewed by Chris Dumez.
2884
2885         The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to
2886         unset selfOrAncestorHasDirAutoAttribute flag while removing a child element.
2887
2888         Fixed the bug by removing this code. This code was no-op prior to being refactored in r154957 since
2889         we only entered a for loop with the invariant "counter < childCountDelta" when "childCountDelta < 0".
2890
2891         See http://trac.webkit.org/changeset/154957/trunk/Source/WebCore/html/HTMLElement.cpp.
2892
2893         * html/HTMLElement.cpp:
2894         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2895
2896 2015-01-15  Brent Fulgham  <bfulgham@apple.com>
2897
2898         RenderLayerCompositor: Strange comparison of opacity (float) to boolean.
2899         https://bugs.webkit.org/show_bug.cgi?id=140477.
2900
2901         Reviewed by Simon Fraser.
2902
2903         * rendering/RenderLayerCompositor.cpp:
2904         (WebCore::styleChangeRequiresLayerRebuild): Add a cast to make the meaning of this
2905         code clearer.
2906
2907 2015-01-15  Joseph Pecoraro  <pecoraro@apple.com>
2908
2909         Unreviewed, rolling out r178531.
2910
2911         Caused LayoutTest ASSERTs/CRASHs on Debug Yosemite build-bot.
2912
2913         Reverted changeset:
2914
2915         "Layers need to be already updated before we call adjustViewSize."
2916         https://bugs.webkit.org/show_bug.cgi?id=135514
2917         http://trac.webkit.org/changeset/178531
2918
2919         * page/FrameView.cpp:
2920         (WebCore::FrameView::layout):
2921         (WebCore::FrameView::updateCompositingLayersAfterScrolling):
2922         (WebCore::FrameView::paintContents):
2923         (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.
2924         * page/FrameView.h:
2925         * platform/ScrollView.cpp:
2926         (WebCore::ScrollView::scrollTo):
2927         (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Deleted.
2928         * platform/ScrollView.h:
2929         (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.
2930
2931 2015-01-15  Chris Dumez  <cdumez@apple.com>
2932
2933         [WK2] Wire diagnostic logging messages through the UIProcess
2934         https://bugs.webkit.org/show_bug.cgi?id=140486
2935
2936         Reviewed by Sam Weinig.
2937
2938         Wire diagnostic logging messages through the UIProcess.
2939         Eventually, the corresponding bundle API should go away.
2940
2941         * WebCore.vcxproj/WebCore.vcxproj:
2942         * WebCore.vcxproj/WebCore.vcxproj.filters:
2943         Add page/DiagnosticLoggingResultType.h to Windows project.
2944
2945         * WebCore.xcodeproj/project.pbxproj:
2946         Add page/DiagnosticLoggingResultType.h to XCode project.
2947
2948         * html/HTMLMediaElement.cpp:
2949         * loader/EmptyClients.h:
2950         * loader/FrameLoader.cpp:
2951         * page/DiagnosticLoggingClient.h:
2952         * page/DiagnosticLoggingResultType.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h.
2953         Use new DiagnosticLoggingResultType enum instead of old
2954         DiagnosticLoggingClient::LogType one.
2955
2956 2015-01-15  Zalan Bujtas  <zalan@apple.com>
2957
2958         Reduce LayoutRect::infiniteRect() usage.
2959         https://bugs.webkit.org/show_bug.cgi?id=140511
2960
2961         Reviewed by Simon Fraser.
2962
2963         This is in preparation to get rid of LayoutRect/FloatRect::infiniteRect().
2964
2965         No change in functionality.
2966
2967         * platform/graphics/LayoutRect.h:
2968         (WebCore::LayoutRect::isInfinite):
2969         * rendering/ClipRect.h:
2970         (WebCore::ClipRect::reset):
2971         (WebCore::ClipRect::isEmpty):
2972         (WebCore::ClipRect::isInfinite):
2973         (WebCore::ClipRect::setRect): Deleted.
2974         * rendering/PaintInfo.h:
2975         (WebCore::PaintInfo::applyTransform):
2976         * rendering/RenderLayer.cpp:
2977         (WebCore::RenderLayer::calculateClipRects):
2978         * rendering/RenderLayer.h:
2979         (WebCore::ClipRects::reset):
2980         * rendering/RenderLayerBacking.cpp:
2981         (WebCore::RenderLayerBacking::updateGeometry):
2982         * rendering/RenderLayerCompositor.cpp:
2983         (WebCore::RenderLayerCompositor::clippedByAncestor):
2984
2985 2015-01-15  Chris Dumez  <cdumez@apple.com>
2986
2987         Intermittent WebCore build failures - CSSPropertyNames.gperf: No keywords in input file! calling gperf failed: 256 at WebCore/css/makeprop.pl line 901
2988         https://bugs.webkit.org/show_bug.cgi?id=140521
2989
2990         Reviewed by Alexey Proskuryakov.
2991
2992         Close the CSSPropertyNames.gperf file before calling gperf on it
2993         to make sure the content we wrote was flushed. This was causing
2994         intermittent build failures.
2995
2996         * css/makeprop.pl:
2997
2998 2015-01-15  Zalan Bujtas  <zalan@apple.com>
2999
3000         LayerFragment should be able to intersect with ClipRect.
3001         https://bugs.webkit.org/show_bug.cgi?id=140498
3002
3003         Reviewed by Simon Fraser.
3004
3005         No change in functionality.
3006
3007         * rendering/LayerFragment.h:
3008         (WebCore::LayerFragment::intersect):
3009         * rendering/RenderLayer.cpp:
3010         (WebCore::RenderLayer::collectFragments):
3011
3012 2015-01-15  Zalan Bujtas  <zalan@apple.com>
3013
3014         Move ClipRects and ClipRectsCache classes to RenderLayer.cpp.
3015         https://bugs.webkit.org/show_bug.cgi?id=140461
3016
3017         Reviewed by Simon Fraser.
3018
3019         Move classes only used by RenderLayer to RenderLayer.cpp.
3020
3021         No change in functionality.
3022
3023         * rendering/RenderLayer.cpp:
3024         (WebCore::ClipRects::create):
3025         (WebCore::ClipRects::reset):
3026         (WebCore::ClipRects::overflowClipRect):
3027         (WebCore::ClipRects::setOverflowClipRect):
3028         (WebCore::ClipRects::fixedClipRect):
3029         (WebCore::ClipRects::setFixedClipRect):
3030         (WebCore::ClipRects::posClipRect):
3031         (WebCore::ClipRects::setPosClipRect):
3032         (WebCore::ClipRects::fixed):
3033         (WebCore::ClipRects::setFixed):
3034         (WebCore::ClipRects::ref):
3035         (WebCore::ClipRects::deref):
3036         (WebCore::ClipRects::operator==):
3037         (WebCore::ClipRects::operator=):
3038         (WebCore::ClipRects::ClipRects):
3039         (WebCore::ClipRectsCache::ClipRectsCache):
3040         (WebCore::ClipRectsCache::getClipRects):
3041         (WebCore::ClipRectsCache::setClipRects):
3042         (WebCore::ClipRectsCache::getIndex):
3043         (WebCore::RenderLayer::clipRects):
3044         (WebCore::RenderLayer::calculateClipRects):
3045         * rendering/RenderLayer.h:
3046         (WebCore::ClipRects::create): Deleted.
3047         (WebCore::ClipRects::ClipRects): Deleted.
3048         (WebCore::ClipRects::reset): Deleted.
3049         (WebCore::ClipRects::overflowClipRect): Deleted.
3050         (WebCore::ClipRects::setOverflowClipRect): Deleted.
3051         (WebCore::ClipRects::fixedClipRect): Deleted.
3052         (WebCore::ClipRects::setFixedClipRect): Deleted.
3053         (WebCore::ClipRects::posClipRect): Deleted.
3054         (WebCore::ClipRects::setPosClipRect): Deleted.
3055         (WebCore::ClipRects::fixed): Deleted.
3056         (WebCore::ClipRects::setFixed): Deleted.
3057         (WebCore::ClipRects::ref): Deleted.
3058         (WebCore::ClipRects::deref): Deleted.
3059         (WebCore::ClipRects::operator==): Deleted.
3060         (WebCore::ClipRects::operator=): Deleted.
3061         (WebCore::ClipRectsCache::ClipRectsCache): Deleted.
3062         (WebCore::ClipRectsCache::getClipRects): Deleted.
3063         (WebCore::ClipRectsCache::setClipRects): Deleted.
3064         (WebCore::ClipRectsCache::getIndex): Deleted.
3065
3066 2015-01-15  Dhi Aurrahman  <diorahman@rockybars.com>
3067
3068         Canonicalization of :lang() should preserve the :lang()'s arguments representations
3069         https://bugs.webkit.org/show_bug.cgi?id=139928
3070
3071         Reviewed by Benjamin Poulain.
3072
3073         Preserve the representation of IDENT and STRING when serializing the 
3074         :lang(). For example, :lang(foo,"bar"   ,baz) should be serialized as 
3075         :lang(foo, "bar", baz) instead of :lang(foo, bar, baz).
3076
3077         Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
3078         and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
3079         CSSSelector::setLangArgumentList and CSSSelector::langArgumentList 
3080         respectively, since those methods are being exclusively used in respect
3081         with :lang().
3082
3083         Update the test of serializing :lang() with IDENT and STRING arguments.
3084
3085         * css/CSSGrammar.y.in:
3086         * css/CSSParserValues.cpp:
3087         (WebCore::CSSParserSelector::setLangArgumentList):
3088         (WebCore::CSSParserSelector::setArgumentList): Deleted.
3089         * css/CSSParserValues.h:
3090         (WebCore::CSSParserString::init):
3091         (WebCore::CSSParserString::clear):
3092         (WebCore::CSSParserString::isParsedFromString):
3093         (WebCore::CSSParserString::setParsedFromString):
3094         * css/CSSSelector.cpp:
3095         (WebCore::appendLangArgumentList):
3096         (WebCore::CSSSelector::selectorText):
3097         (WebCore::CSSSelector::setLangArgumentList):
3098         (WebCore::appendArgumentList): Deleted.
3099         (WebCore::CSSSelector::setArgumentList): Deleted.
3100         * css/CSSSelector.h:
3101         (WebCore::CSSSelector::langArgumentList):
3102         (WebCore::CSSSelector::langArgumentParsedFromStringFlagList):
3103         (WebCore::CSSSelector::argumentList): Deleted.
3104         * css/SelectorChecker.cpp:
3105         (WebCore::SelectorChecker::checkOne):
3106
3107 2015-01-15  Brent Fulgham  <bfulgham@apple.com>
3108
3109         Layers need to be already updated before we call adjustViewSize
3110         https://bugs.webkit.org/show_bug.cgi?id=135514
3111
3112         Reviewed by Simon Fraser.
3113
3114         Tested by 'fast/dynamic/layer-no-longer-paginated.html'
3115
3116         Defer updating scrollbars until we have finished layout. This
3117         has a couple of benefits:
3118         (1) We do not attempt to modify render layers during layout.
3119         (2) In WK1 we do not attempt to paint during layout.
3120
3121         Add a new virtual predicate to ScrollView indicating when we are in
3122         layout so that calls to setContentsSize do not attempt
3123         to adjust scrollbars.
3124
3125         Modify FrameView to set its ScrollView state to block drawing
3126         scrollbar updates during layout. Also add a post-layout
3127         handler to complete the scrollbar updates after layout is
3128         finished.
3129
3130         * page/FrameView.cpp:
3131         (WebCore::FrameView::layout):
3132         (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
3133         * page/FrameView.h:
3134         * platform/ScrollView.cpp:
3135         (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
3136         (WebCore::ScrollView::scrollTo): If we should defer painting, cache the
3137         the scroll delta and apply it after the layout is complete.
3138         * platform/ScrollView.h:
3139         (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
3140
3141 2015-01-15  Benjamin Poulain  <benjamin@webkit.org>
3142
3143         When building the NFA of the global disjunction, share the prefix subgraph of existing subpatterns
3144         https://bugs.webkit.org/show_bug.cgi?id=140465
3145
3146         Reviewed by Andreas Kling.
3147
3148         This patch updates the parser to produce smaller graphs when multiple patterns
3149         of the rule list share a common prefix.
3150
3151         Previously, GraphBuilder would generate subgraph in place of each parsed
3152         atom. We now only create subgraph if an atom does not appear in the prefix tree.
3153
3154         We accumulate the parsing information into small uint16_t named TrivialAtom.
3155         When generating the subgraph for an new atom, we first check if the prefix tree already
3156         has a corresponding subgraph for that atom. If it does, we do not generate anything and we extend the existing
3157         graph. If there is no existing prefix, we create the subgraph and extend the prefix tree.
3158
3159         Sharing prefix subtrees slows down the subtree generation a bit but the resulting graph is much
3160         simpler for many kind of inputs.
3161
3162         * WebCore.xcodeproj/project.pbxproj:
3163         * contentextensions/ContentExtensionsBackend.cpp:
3164         (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
3165         The URLFilterParser now maintains states (the prefix tree) between patterns.
3166
3167         * contentextensions/DFA.cpp:
3168         (WebCore::ContentExtensions::DFA::debugPrintDot):
3169         * contentextensions/DFANode.h:
3170         Fix a typo :)
3171
3172         * contentextensions/NFA.cpp:
3173         (WebCore::ContentExtensions::NFA::createNode):
3174         (WebCore::ContentExtensions::NFA::setFinal):
3175         (WebCore::ContentExtensions::NFA::restoreToGraphSize):
3176         (WebCore::ContentExtensions::NFA::addRuleId):
3177         (WebCore::ContentExtensions::NFA::debugPrintDot):
3178         * contentextensions/NFA.h:
3179         (WebCore::ContentExtensions::NFA::addRuleId):
3180         * contentextensions/NFANode.cpp: Removed.
3181         * contentextensions/NFANode.h:
3182         NFA nodes from two patterns are now "merged" by construction, thus we need
3183         to keep track of multiple rules per node.
3184
3185         * contentextensions/NFAToDFA.cpp:
3186         (WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
3187         * contentextensions/URLFilterParser.cpp:
3188         (WebCore::ContentExtensions::trivialAtomFromAsciiCharacter):
3189         (WebCore::ContentExtensions::quantifyTrivialAtom):
3190         (WebCore::ContentExtensions::trivialAtomForNewlineClassIDBuiltin):
3191         (WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
3192         (WebCore::ContentExtensions::GraphBuilder::m_LastPrefixTreeEntry):
3193         (WebCore::ContentExtensions::GraphBuilder::finalize):
3194         (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
3195         (WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
3196         (WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
3197         (WebCore::ContentExtensions::GraphBuilder::fail):
3198         (WebCore::ContentExtensions::GraphBuilder::generateTransition):
3199         (WebCore::ContentExtensions::GraphBuilder::sinkTrivialAtom):
3200         (WebCore::ContentExtensions::GraphBuilder::sinkPendingAtomIfNecessary):
3201         (WebCore::ContentExtensions::URLFilterParser::URLFilterParser):
3202         (WebCore::ContentExtensions::URLFilterParser::addPattern):
3203         (WebCore::ContentExtensions::GraphBuilder::m_lastAtom): Deleted.
3204         (WebCore::ContentExtensions::URLFilterParser::parse): Deleted.
3205         * contentextensions/URLFilterParser.h:
3206         (WebCore::ContentExtensions::URLFilterParser::hasError): Deleted.
3207         (WebCore::ContentExtensions::URLFilterParser::errorMessage): Deleted.
3208
3209 2015-01-14  Alexey Proskuryakov  <ap@apple.com>
3210
3211         Web Inspector and regular console use different source code locations for messages
3212         https://bugs.webkit.org/show_bug.cgi?id=140478
3213
3214         Reviewed by Brian Burg.
3215
3216         We now create a ConsoleMessage object in a place where we can look at it and use
3217         the source location it computed in a client call.
3218
3219         * inspector/InspectorConsoleInstrumentation.h:
3220         (WebCore::InspectorInstrumentation::addMessageToConsole):
3221         * inspector/InspectorInstrumentation.cpp:
3222         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3223         * inspector/InspectorInstrumentation.h:
3224         * inspector/WebConsoleAgent.cpp:
3225         (WebCore::WebConsoleAgent::didFinishXHRLoading):
3226         (WebCore::WebConsoleAgent::didReceiveResponse):
3227         (WebCore::WebConsoleAgent::didFailLoading):
3228         * page/PageConsoleClient.cpp:
3229         (WebCore::PageConsoleClient::addMessage):
3230         (WebCore::PageConsoleClient::messageWithTypeAndLevel):
3231         * workers/WorkerGlobalScope.cpp:
3232         (WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
3233
3234 2015-01-15  Brent Fulgham  <bfulgham@apple.com>
3235
3236         [Win] Unreviewed Windows build fix.
3237
3238         More missing Font->FontCascade changes.
3239
3240         * platform/win/WebCoreTextRenderer.cpp:
3241         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
3242         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
3243
3244 2015-01-15  Antti Koivisto  <antti@apple.com>
3245
3246         REGRESSION(r178133): Membuster regressed ~4%
3247         https://bugs.webkit.org/show_bug.cgi?id=140495
3248
3249         Reviewed by Andreas Kling.
3250
3251         * platform/graphics/FontCache.cpp:
3252         (WebCore::FontCache::purgeInactiveFontData):
3253
3254             Fonts may ref other fonts. Keep clearing until there are no changes.
3255
3256 2015-01-15  Brent Fulgham  <bfulgham@apple.com>
3257
3258         [Win] Unreviewed build fix.
3259
3260         * platform/graphics/win/FontCacheWin.cpp:
3261         * platform/win/DragImageWin.cpp:
3262         * platform/win/WebCoreTextRenderer.h:
3263
3264 2015-01-15  Antti Koivisto  <antti@apple.com>
3265
3266         Try to fix windows build.
3267
3268         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3269         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3270         (PlatformCALayerWinInternal::displayCallback):
3271         * platform/win/DragImageWin.cpp:
3272         (WebCore::dragLabelFont):
3273         (WebCore::createDragImageForLink):
3274         * platform/win/PopupMenuWin.cpp:
3275         (WebCore::PopupMenuWin::calculatePositionAndSize):
3276         (WebCore::PopupMenuWin::paint):
3277         * platform/win/WebCoreTextRenderer.cpp:
3278         (WebCore::doDrawTextAtPoint):
3279         (WebCore::WebCoreDrawDoubledTextAtPoint):
3280         (WebCore::WebCoreTextFloatWidth):
3281         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
3282         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
3283         * rendering/RenderThemeSafari.cpp:
3284         (WebCore::RenderThemeSafari::setFontFromControlSize):
3285
3286 2015-01-15  Antti Koivisto  <antti@apple.com>
3287
3288         Unreviewed, rolling out r178518.
3289
3290         Didn't mean to commit some of this
3291
3292         Reverted changeset:
3293
3294         "Try to fix windows build."
3295         http://trac.webkit.org/changeset/178518
3296
3297 2015-01-15  Antti Koivisto  <antti@apple.com>
3298
3299         Try to fix windows build.
3300
3301         * platform/graphics/Font.cpp: Copied from Source/WebCore/platform/graphics/SimpleFontData.cpp.
3302         * platform/graphics/Font.h: Copied from Source/WebCore/platform/graphics/SimpleFontData.h.
3303         * platform/graphics/FontCascadeFastPath.cpp: Copied from Source/WebCore/platform/graphics/FontFastPath.cpp.
3304         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3305         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3306         (PlatformCALayerWinInternal::displayCallback):
3307         * platform/graphics/ios/FontIOS.mm: Copied from Source/WebCore/platform/graphics/ios/SimpleFontDataIOS.mm.
3308         * platform/graphics/mac/FontCascadeComplexTextMac.cpp: Copied from Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp.
3309         * platform/graphics/mac/FontCascadeMac.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.
3310         * platform/graphics/mac/FontCoreText.cpp: Copied from Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp.
3311         * platform/graphics/mac/FontMac.mm: Replaced with Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
3312         * platform/win/DragImageWin.cpp:
3313         (WebCore::dragLabelFont):
3314         (WebCore::createDragImageForLink):
3315         * platform/win/PopupMenuWin.cpp:
3316         (WebCore::PopupMenuWin::calculatePositionAndSize):
3317         (WebCore::PopupMenuWin::paint):
3318         * platform/win/WebCoreTextRenderer.cpp:
3319         (WebCore::doDrawTextAtPoint):
3320         (WebCore::WebCoreDrawDoubledTextAtPoint):
3321         (WebCore::WebCoreTextFloatWidth):
3322         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
3323         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
3324         * rendering/RenderThemeSafari.cpp:
3325         (WebCore::RenderThemeSafari::setFontFromControlSize):
3326
3327 2015-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
3328
3329         http/tests/misc/acid3.html is flakey on Mavericks
3330         https://bugs.webkit.org/show_bug.cgi?id=140253
3331
3332         Reviewed by Alexey Proskuryakov.
3333
3334         CoreText has a bug <rdar://problem/19433490> in which kerning is not applied for a font
3335         if a CTTypesetter is created using that font before a call to CTFontTransformGlyphs. We
3336         often create typesetters in the complex code path, so it's not obvious when this bug
3337         might present itself. This patch simply makes a dummy invocation of
3338         CTFontTransformGlyphs() when creating a SimpleFontData.
3339
3340         No new tests because this is covered by http/tests/misc/acid3.html.
3341
3342         * platform/graphics/mac/SimpleFontDataMac.mm:
3343         (WebCore::SimpleFontData::platformInit):
3344
3345 2015-01-15  Chris Dumez  <cdumez@apple.com>
3346
3347         Get rid of custom StyleBuilder code for 'line-height' CSS property
3348         https://bugs.webkit.org/show_bug.cgi?id=140462
3349
3350         Reviewed by Antti Koivisto.
3351
3352         Get rid of custom StyleBuilder code for 'line-height' CSS property by
3353         using a conditional converter.
3354
3355         * css/CSSPropertyNames.in:
3356         * css/StyleBuilderConverter.h:
3357         (WebCore::StyleBuilderConverter::convertLineHeight):
3358         * css/StyleBuilderCustom.h:
3359         (WebCore::StyleBuilderCustom::applyValueLineHeight):
3360         (WebCore::StyleBuilderCustom::convertLineHeight): Deleted.
3361
3362 2015-01-15  Antti Koivisto  <antti@apple.com>
3363
3364         Rename Font to FontCascade
3365         https://bugs.webkit.org/show_bug.cgi?id=140442
3366
3367         Reviewed by Darin Adler.
3368
3369         We can then rename SimpleFontData to Font. This will match the usual definition of a "font".
3370
3371 2015-01-15  Mihnea Ovidenie  <mihnea@adobe.com>
3372
3373         [CSSRegions] Assert failure in RenderBlock::locateFlowThreadContainingBlock when showing the render tree debug info
3374         https://bugs.webkit.org/show_bug.cgi?id=140441
3375
3376         Reviewed by Andrei Bucur.
3377
3378         When showing the render tree debug information for an element inside a flow thread,
3379         we will display the region range information for all the render boxes. To avoid
3380         computation of flow thread containing block in these situations, we will use
3381         only the cached flow thread containing block information.
3382
3383         No new tests as this code path is only touched when using showRenderTree* methods.
3384
3385         * rendering/RenderObject.cpp:
3386         (WebCore::flowThreadContainingBlockFromRenderer):
3387         (WebCore::RenderObject::showRegionsInformation):
3388
3389 2015-01-14  Simon Fraser  <simon.fraser@apple.com>
3390
3391         Graphics corruption after Find on some pages
3392         https://bugs.webkit.org/show_bug.cgi?id=140489
3393
3394         Reviewed by Zalan Bujtas.
3395         
3396         After doing a Find on http://shop.outlier.cc/shop/retail/chino.html,
3397         garbage could appear on some parts of the page. This is caused by creating
3398         a compositing layer which is marked as opaque, yet failing to paint the entire
3399         layer contents.
3400         
3401         This was caused by a bug in RenderBox::computeBackgroundIsKnownToBeObscured()
3402         logic. On the page in question, doing a Find could cause overflow:hidden sections
3403         to get scrolled (since Find can reveal the selection by scrolling overflow).
3404         However, the render tree walking under RenderBox::foregroundIsKnownToBeOpaqueInRect()
3405         fails to take overflow scrolling into account, so gives the wrong answer
3406         in some content configurations. As a result, we'd think that the background
3407         is obscured, and never paint it.
3408         
3409         Conservative fix is to have isCandidateForOpaquenessTest() return false
3410         when the content has any non-zero scroll offset.
3411
3412         Tests: compositing/contents-opaque/opaque-with-scrolled.html
3413                fast/backgrounds/opaque-scrolled-paint-background.html
3414
3415         * rendering/RenderBox.cpp:
3416         (WebCore::isCandidateForOpaquenessTest):
3417
3418 2015-01-14  Jer Noble  <jer.noble@apple.com>
3419
3420         [Mac][MSE] Stalled YouTube playback does not allow display to sleep.
3421         https://bugs.webkit.org/show_bug.cgi?id=140468
3422         rdar://problem/19171162
3423
3424         Reviewed by Eric Carlson.
3425
3426         Test: media/media-source/media-source-stalled-holds-sleep-assertion.html
3427
3428         The unstated convention of MediaPlayerPrivate::paused() is that implementations should 
3429         return 'true' if the playback rate is 0. However, MediaPlayerPrivateMediaSourceAVFObjC
3430         was returning 'false' if it was supposed to be playing, regardless of the actual rate.
3431         This caused a check in HTMLMediaElement of whether to release the sleep assertion token
3432         to fail, thinking the media engine was still playing.
3433
3434         Add some testing infrastructure to allow us to test whether the media element is disabling
3435         display sleep from within layout tests.
3436
3437         * html/HTMLMediaElement.h:
3438         (WebCore::HTMLMediaElement::isDisablingSleep):
3439         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3440         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
3441         * testing/Internals.cpp:
3442         (WebCore::Internals::elementIsBlockingDisplaySleep):
3443         * testing/Internals.h:
3444         * testing/Internals.idl:
3445
3446 2015-01-14  Zalan Bujtas  <zalan@apple.com>
3447
3448         Move LayoutFragment and ClipRect to their own files.
3449         https://bugs.webkit.org/show_bug.cgi?id=140457
3450
3451         Reviewed by Simon Fraser.
3452
3453         Move these classes to their own files to to make RenderLayer.h less heavy.
3454
3455         No change in functionality.
3456
3457         * WebCore.xcodeproj/project.pbxproj:
3458         * rendering/ClipRect.cpp: Added.
3459         (WebCore::ClipRect::intersects):
3460         * rendering/ClipRect.h: Added.
3461         (WebCore::ClipRect::ClipRect):