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