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