Fix iOS and Efl builds.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-10-12  Simon Fraser  <simon.fraser@apple.com>
2
3         Fix iOS and Efl builds.
4
5         * platform/graphics/NamedImageGeneratedImage.cpp:
6         (WebCore::NamedImageGeneratedImage::drawPattern):
7
8 2015-10-12  Simon Fraser  <simon.fraser@apple.com>
9
10         Remove Image::spaceSize() and ImageBuffer::spaceSize()
11         https://bugs.webkit.org/show_bug.cgi?id=150064
12
13         Reviewed by Tim Horton.
14
15         Image spacing when tiled should not be a property of the image; but a description
16         of how it's drawn, like tile size. So remove spacing from Image and ImageBuffer,
17         and pass it in as an argument.
18
19         * platform/graphics/BitmapImage.cpp:
20         (WebCore::BitmapImage::drawPattern):
21         * platform/graphics/BitmapImage.h:
22         * platform/graphics/CrossfadeGeneratedImage.cpp:
23         (WebCore::CrossfadeGeneratedImage::drawPattern):
24         * platform/graphics/CrossfadeGeneratedImage.h:
25         * platform/graphics/GeneratedImage.h:
26         * platform/graphics/GradientImage.cpp:
27         (WebCore::GradientImage::drawPattern):
28         * platform/graphics/GradientImage.h:
29         * platform/graphics/GraphicsContext.cpp:
30         (WebCore::GraphicsContext::drawTiledImage):
31         * platform/graphics/GraphicsContext.h:
32         * platform/graphics/Image.cpp:
33         (WebCore::Image::drawTiled):
34         * platform/graphics/Image.h:
35         (WebCore::Image::spaceSize): Deleted.
36         (WebCore::Image::setSpaceSize): Deleted.
37         * platform/graphics/ImageBuffer.h:
38         (WebCore::ImageBuffer::spaceSize): Deleted.
39         (WebCore::ImageBuffer::setSpaceSize): Deleted.
40         * platform/graphics/NamedImageGeneratedImage.cpp:
41         (WebCore::NamedImageGeneratedImage::drawPattern):
42         * platform/graphics/NamedImageGeneratedImage.h:
43         * platform/graphics/cg/ImageBufferCG.cpp:
44         (WebCore::ImageBuffer::copyImage):
45         (WebCore::ImageBuffer::drawPattern):
46         * platform/graphics/cg/ImageCG.cpp:
47         (WebCore::Image::drawPattern):
48         * rendering/RenderBoxModelObject.cpp:
49         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
50         * svg/graphics/SVGImage.cpp:
51         (WebCore::SVGImage::drawPatternForContainer):
52         * svg/graphics/SVGImage.h:
53         * svg/graphics/SVGImageForContainer.cpp:
54         (WebCore::SVGImageForContainer::drawPattern):
55         * svg/graphics/SVGImageForContainer.h:
56
57 2015-10-12  Andreas Kling  <akling@apple.com>
58
59         Have TransformState::mappedSecondaryQuad() return an Optional<FloatQuad>.
60         <https://webkit.org/b/150057>
61
62         Reviewed by Simon Fraser.
63
64         Using Optional instead of std::unique_ptr allows us to signal the absence of a
65         secondary quad without incurring a heap allocation in cases where one is present.
66
67         This dodges ~132000 malloc/free pairs on loading thelocal.se
68
69         * platform/graphics/ca/GraphicsLayerCA.cpp:
70         (WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect):
71         * platform/graphics/transforms/TransformState.cpp:
72         (WebCore::TransformState::mappedSecondaryQuad):
73         * platform/graphics/transforms/TransformState.h:
74
75 2015-10-12  Brady Eidson  <beidson@apple.com>
76
77         Followup to:
78         Modern IDB: Start version change transaction for connections to new database.
79         https://bugs.webkit.org/show_bug.cgi?id=150033
80
81         Reviewed by NOBODY (Fixing existing test flakiness)
82
83         No new tests (Covered by existing tests)
84
85         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
86         (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): Early return if a version change transaction
87           is already in progress.
88
89 2015-10-12  Myles C. Maxfield  <mmaxfield@apple.com>
90
91         [Font Features] Tiny cleanup regarding FontCascade::typesettingFeatures()
92         https://bugs.webkit.org/show_bug.cgi?id=150051
93
94         Reviewed by Simon Fraser.
95
96         There are no typesetting features which aren't kerning nor ligatures.
97
98         No new tests because there is no behavior difference.
99
100         * platform/graphics/FontCascade.cpp:
101         (WebCore::FontCascade::codePath):
102         * platform/graphics/WidthIterator.h:
103         (WebCore::WidthIterator::supportsTypesettingFeatures): Deleted.
104
105 2015-10-12  Simon Fraser  <simon.fraser@apple.com>
106
107         Add a CGContextStateSaver and use it
108         https://bugs.webkit.org/show_bug.cgi?id=150049
109
110         Reviewed by Tim Horton.
111
112         Add a stack-based graphics state save/restore class for CGContext,
113         like the one we have for GraphicsContext, and use it in GraphicsContextCG.
114         
115         * platform/graphics/cg/GraphicsContextCG.cpp:
116         (WebCore::GraphicsContext::drawNativeImage):
117         (WebCore::GraphicsContext::drawLine):
118         (WebCore::GraphicsContext::drawJoinedLines):
119         (WebCore::GraphicsContext::fillPath):
120         (WebCore::GraphicsContext::strokePath):
121         (WebCore::GraphicsContext::fillRect):
122         (WebCore::GraphicsContext::platformFillRoundedRect):
123         (WebCore::GraphicsContext::fillRectWithRoundedHole):
124         (WebCore::GraphicsContext::strokeRect):
125         * platform/graphics/cg/GraphicsContextCG.h:
126         (WebCore::CGContextStateSaver::CGContextStateSaver):
127         (WebCore::CGContextStateSaver::~CGContextStateSaver):
128         (WebCore::CGContextStateSaver::save):
129         (WebCore::CGContextStateSaver::restore):
130
131 2015-10-12  Zalan Bujtas  <zalan@apple.com>
132
133         display: table-cell; bug when resizing window
134         https://bugs.webkit.org/show_bug.cgi?id=138167
135
136         Reviewed by David Hyatt.
137
138         Clean up anonymous table wrappers all the way up to RenderTable.
139         This patch ensures that we don't keep the generated RenderTable/RenderSection/RenderCaption/RenderRow
140         objects around in the tree anymore when the last child is destroyed.
141
142         Import W3C CSS2.1 anonymous table tests.
143
144         * rendering/RenderObject.cpp:
145         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
146
147 2015-10-12  Myles C. Maxfield  <mmaxfield@apple.com>
148
149         REGRESSION(r182192): Ligatures do not interact correctly with SHY in some fonts
150         https://bugs.webkit.org/show_bug.cgi?id=150006
151
152         Reviewed by Simon Fraser.
153
154         When performing font transforms and we encounter kCGFontIndexInvalid, we filter it out of the
155         GlyphBuffer. However, this filter was only interacting with part of the GlyphBuffer instead
156         of the whole thing. This causes glyph IDs from one font to be rendered with other fonts,
157         thereby showing garbage glyphs.
158
159         However, now that <rdar://problem/20230073> is fixed, we don't need to perform this filter in
160         the first place.
161
162         Test: fast/text/undefined-glyph-with-ligature.html
163
164         * platform/graphics/GlyphBuffer.h:
165         (WebCore::GlyphBuffer::copyItem):
166         (WebCore::GlyphBuffer::swap):
167         * platform/graphics/WidthIterator.cpp:
168         (WebCore::WidthIterator::applyFontTransforms):
169
170 2015-10-12  Antoine Quint  <graouts@apple.com>
171
172         [SVG] Handle endEvent for svg animations
173         https://bugs.webkit.org/show_bug.cgi?id=121587
174
175         Reviewed by Dean Jackson.
176
177         Add support for the "endEvent" SVG event triggered when an animation completes, as
178         specified in http://www.w3.org/TR/SMIL3/smil-timing.html#q135. This event doesn't
179         bubble and can't be canceled. Added test coverage for the event through the DOM
180         Events API as well as the declarative SMIL Animation syntax.
181
182         Adapted from a Chromium patch by pavan.e@samsung.com
183         https://chromium.googlesource.com/chromium/blink/+/4d415ca0268231aa80e3552fe21bf3480a6978f8
184
185         Tests: svg/animations/end-event-declarative-expected.svg
186                svg/animations/end-event-declarative.svg
187                svg/animations/end-event-script-expected.svg
188                svg/animations/end-event-script.svg
189
190         * svg/animation/SMILTimeContainer.cpp:
191         (WebCore::SMILTimeContainer::updateAnimations):
192         * svg/animation/SVGSMILElement.cpp:
193         (WebCore::smilEndEventSender):
194         (WebCore::SVGSMILElement::~SVGSMILElement):
195         (WebCore::SVGSMILElement::progress):
196         (WebCore::SVGSMILElement::dispatchPendingEvent):
197         * svg/animation/SVGSMILElement.h:
198         (WebCore::SVGSMILElement::hasConditionsConnected):
199
200 2015-10-12  Per Arne Vollan  <peavo@outlook.com>
201
202         [Curl] Increase limit of parallel network requests.
203         https://bugs.webkit.org/show_bug.cgi?id=150035
204
205         Reviewed by Alex Christensen.
206
207         If the limit is too low, other network requests will often be blocked until
208         active requests finishes. This can affect performance in a negative way.
209
210         * platform/network/curl/ResourceHandleManager.cpp:
211
212 2015-10-12  Brady Eidson  <beidson@apple.com>
213
214         Modern IDB: Start version change transaction for connections to new database.
215         https://bugs.webkit.org/show_bug.cgi?id=150033
216
217         Reviewed by Alex Christensen.
218
219         No new tests (Covered by changes to existing tests).
220
221         * CMakeLists.txt:
222         * Modules/indexeddb/IDBDatabase.h:
223         
224         * Modules/indexeddb/client/IDBAnyImpl.cpp:
225         (WebCore::IDBClient::IDBAny::IDBAny):
226         (WebCore::IDBClient::IDBAny::~IDBAny):
227         (WebCore::IDBClient::IDBAny::idbDatabase):
228         (WebCore::IDBClient::IDBAny::domStringList):
229         (WebCore::IDBClient::IDBAny::idbCursor):
230         (WebCore::IDBClient::IDBAny::idbCursorWithValue):
231         (WebCore::IDBClient::IDBAny::idbFactory):
232         (WebCore::IDBClient::IDBAny::idbIndex):
233         (WebCore::IDBClient::IDBAny::idbObjectStore):
234         (WebCore::IDBClient::IDBAny::idbTransaction):
235         (WebCore::IDBClient::IDBAny::scriptValue):
236         (WebCore::IDBClient::IDBAny::integer):
237         (WebCore::IDBClient::IDBAny::string):
238         (WebCore::IDBClient::IDBAny::keyPath):
239         * Modules/indexeddb/client/IDBAnyImpl.h:
240         (WebCore::IDBClient::IDBAny::create):
241         
242         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
243         (WebCore::IDBClient::IDBConnectionToServer::fireVersionChangeEvent):
244         (WebCore::IDBClient::IDBConnectionToServer::registerDatabaseConnection):
245         (WebCore::IDBClient::IDBConnectionToServer::unregisterDatabaseConnection):
246         * Modules/indexeddb/client/IDBConnectionToServer.h:
247         
248         * Modules/indexeddb/client/IDBDatabaseImpl.cpp: Added.
249         (WebCore::IDBClient::IDBDatabase::create):
250         (WebCore::IDBClient::IDBDatabase::IDBDatabase):
251         (WebCore::IDBClient::IDBDatabase::~IDBDatabase):
252         (WebCore::IDBClient::IDBDatabase::name):
253         (WebCore::IDBClient::IDBDatabase::version):
254         (WebCore::IDBClient::IDBDatabase::objectStoreNames):
255         (WebCore::IDBClient::IDBDatabase::createObjectStore):
256         (WebCore::IDBClient::IDBDatabase::transaction):
257         (WebCore::IDBClient::IDBDatabase::deleteObjectStore):
258         (WebCore::IDBClient::IDBDatabase::close):
259         (WebCore::IDBClient::IDBDatabase::activeDOMObjectName):
260         (WebCore::IDBClient::IDBDatabase::canSuspendForPageCache):
261         (WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction):
262         * Modules/indexeddb/client/IDBDatabaseImpl.h: Added.
263         (WebCore::IDBClient::IDBDatabase::info):
264         
265         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
266         (WebCore::IDBClient::IDBOpenDBRequest::onError):
267         (WebCore::IDBClient::IDBOpenDBRequest::onSuccess):
268         (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
269         (WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
270         * Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
271         
272         * Modules/indexeddb/client/IDBRequestImpl.cpp:
273         (WebCore::IDBClient::IDBRequest::IDBRequest):
274         (WebCore::IDBClient::IDBRequest::result):
275         (WebCore::IDBClient::IDBRequest::source):
276         (WebCore::IDBClient::IDBRequest::transaction):
277         * Modules/indexeddb/client/IDBRequestImpl.h:
278         (WebCore::IDBClient::IDBRequest::connection):
279         
280         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
281         (WebCore::IDBClient::IDBTransaction::create):
282         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
283         (WebCore::IDBClient::IDBTransaction::~IDBTransaction):
284         (WebCore::IDBClient::IDBTransaction::mode):
285         (WebCore::IDBClient::IDBTransaction::db):
286         (WebCore::IDBClient::IDBTransaction::error):
287         (WebCore::IDBClient::IDBTransaction::objectStore):
288         (WebCore::IDBClient::IDBTransaction::abort):
289         (WebCore::IDBClient::IDBTransaction::activeDOMObjectName):
290         (WebCore::IDBClient::IDBTransaction::canSuspendForPageCache):
291         * Modules/indexeddb/client/IDBTransactionImpl.h:
292         (WebCore::IDBClient::IDBTransaction::info):
293         
294         * Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp:
295         (WebCore::IDBClient::IDBVersionChangeEvent::IDBVersionChangeEvent):
296         (WebCore::IDBClient::IDBVersionChangeEvent::eventInterface):
297         * Modules/indexeddb/client/IDBVersionChangeEventImpl.h:
298         (WebCore::IDBClient::IDBVersionChangeEvent::create):
299         
300         * Modules/indexeddb/legacy/LegacyDatabase.h:
301         
302         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
303         (WebCore::IDBServer::IDBConnectionToClient::fireVersionChangeEvent):
304         * Modules/indexeddb/server/IDBConnectionToClient.h:
305         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
306         
307         * Modules/indexeddb/server/IDBServer.cpp:
308         (WebCore::IDBServer::IDBServer::registerDatabaseConnection):
309         (WebCore::IDBServer::IDBServer::unregisterDatabaseConnection):
310         (WebCore::IDBServer::IDBServer::deleteDatabase):
311         * Modules/indexeddb/server/IDBServer.h:
312         
313         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
314         (WebCore::IDBServer::UniqueIDBDatabase::info):
315         (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations):
316         (WebCore::IDBServer::UniqueIDBDatabase::hasAnyOpenConnections):
317         (WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
318         (WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChange):
319         (WebCore::IDBServer::UniqueIDBDatabase::addOpenDatabaseConnection):
320         * Modules/indexeddb/server/UniqueIDBDatabase.h:
321         
322         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp: 
323         (WebCore::IDBServer::nextDatabaseConnectionIdentifier):
324         (WebCore::IDBServer::UniqueIDBDatabaseConnection::create):
325         (WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
326         (WebCore::IDBServer::UniqueIDBDatabaseConnection::fireVersionChangeEvent):
327         (WebCore::IDBServer::UniqueIDBDatabaseConnection::createVersionChangeTransaction):
328
329         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
330         (WebCore::IDBServer::UniqueIDBDatabaseConnection::identifier):
331         (WebCore::IDBServer::UniqueIDBDatabaseConnection::database):
332         (WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionToClient):
333         (WebCore::IDBServer::UniqueIDBDatabaseConnection::closePending):
334         
335         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
336         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::create):
337         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
338         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
339         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection):
340         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::info):
341         
342         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
343         (WebCore::IDBDatabaseInfo::IDBDatabaseInfo):
344         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
345         (WebCore::IDBDatabaseInfo::name):
346         (WebCore::IDBDatabaseInfo::version):
347         (WebCore::IDBDatabaseInfo::IDBDatabaseInfo): Deleted.
348         
349         * Modules/indexeddb/shared/IDBError.h:
350         
351         * Modules/indexeddb/shared/IDBRequestData.cpp:
352         (WebCore::IDBRequestData::IDBRequestData):
353         (WebCore::IDBRequestData::requestedVersion):
354         * Modules/indexeddb/shared/IDBRequestData.h:
355         
356         * Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
357         (WebCore::nextClientResourceNumber):
358         (WebCore::nextServerResourceNumber):
359         (WebCore::IDBResourceIdentifier::IDBResourceIdentifier):
360         (WebCore::IDBResourceIdentifier::emptyValue):
361         (WebCore::IDBResourceIdentifier::deletedValue):
362         (WebCore::nextResourceNumber): Deleted.
363         * Modules/indexeddb/shared/IDBResourceIdentifier.h:
364         
365         * Modules/indexeddb/shared/IDBResultData.cpp:
366         (WebCore::IDBResultData::IDBResultData):
367         (WebCore::IDBResultData::error):
368         (WebCore::IDBResultData::openDatabaseSuccess):
369         (WebCore::IDBResultData::openDatabaseUpgradeNeeded):
370         (WebCore::IDBResultData::databaseInfo):
371         (WebCore::IDBResultData::transactionInfo):
372         * Modules/indexeddb/shared/IDBResultData.h:
373         (WebCore::IDBResultData::type):
374         (WebCore::IDBResultData::databaseConnectionIdentifier):
375         
376         * Modules/indexeddb/shared/IDBTransactionInfo.cpp:
377         (WebCore::IDBTransactionInfo::IDBTransactionInfo):
378         (WebCore::IDBTransactionInfo::versionChange):
379         (WebCore::IDBTransactionInfo::isolatedCopy):
380         * Modules/indexeddb/shared/IDBTransactionInfo.h:
381         (WebCore::IDBTransactionInfo::identifier):
382         (WebCore::IDBTransactionInfo::mode):
383         (WebCore::IDBTransactionInfo::newVersion):
384         
385         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
386         (WebCore::InProcessIDBServer::fireVersionChangeEvent):
387         * Modules/indexeddb/shared/InProcessIDBServer.h:
388         
389         * WebCore.xcodeproj/project.pbxproj:
390         
391         * platform/CrossThreadCopier.cpp:
392         (WebCore::IDBTransactionInfo>::copy):
393         * platform/CrossThreadCopier.h:
394
395 2015-10-12  Said Abou-Hallawa  <sabouhallawa@apple.com>
396
397         REGRESSION(r184895): border-image should always slice the SVG image to nine pieces when drawing it in the container element
398         https://bugs.webkit.org/show_bug.cgi?id=149901
399         <rdar://problem/21995596>
400
401         Reviewed by Darin Adler.
402
403         The nine-pieces algorithm should be applied to the border-image regardless
404         whether the image has an intrinsic size or not. It is not guaranteed to have
405         a meaningful border-image in all the cases of non-intrinsic size images. But
406         it should work as expected in most of the cases. 
407
408         * rendering/RenderBoxModelObject.cpp:
409         * rendering/RenderBoxModelObject.h:
410         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
411         Revert the changes which were added to return whether the image has
412         intrinsic size or not.
413         
414         (WebCore::RenderBoxModelObject::calculateFillTileSize):
415         (WebCore::RenderBoxModelObject::paintNinePieceImage):
416         Size of the image is now the return value of calculateImageIntrinsicDimensions().
417         
418         * rendering/RenderListMarker.cpp:
419         (WebCore::RenderListMarker::updateContent):
420         * rendering/shapes/ShapeOutsideInfo.cpp:
421         (WebCore::ShapeOutsideInfo::createShapeForImage):
422         Size of the image is now the return value of calculateImageIntrinsicDimensions().
423         
424         * rendering/style/NinePieceImage.cpp:
425         * rendering/style/NinePieceImage.h:
426         (WebCore::NinePieceImage::paint):
427         Delete the logic for the non-intrinsic case. Both intrinsic and non-intrinsic
428         cases will be treated the same.
429
430         (WebCore::NinePieceImage::computeNineRects):
431         (WebCore::NinePieceImage::computeSideTileScale):
432         (WebCore::NinePieceImage::computeMiddleTileScale):
433         (WebCore::NinePieceImage::computeTileScales):
434         (WebCore::NinePieceImage::computeIntrinsicRects): Deleted.
435         (WebCore::NinePieceImage::computeIntrinsicSideTileScale): Deleted.
436         (WebCore::NinePieceImage::computeIntrinsicMiddleTileScale): Deleted.
437         (WebCore::NinePieceImage::computeIntrinsicTileScales): Deleted.
438         Remove *Intrinsic* from the name of the functions.
439
440         (WebCore::NinePieceImage::computeNonIntrinsicRects): Deleted.
441         (WebCore::NinePieceImage::computeNonIntrinsicTileScales): Deleted.
442         Delete the *NonIntrinsic* functions.
443
444 2015-10-12  Simon Fraser  <simon.fraser@apple.com>
445
446         Clip-path transitions sometimes trigger endless animation timers
447         https://bugs.webkit.org/show_bug.cgi?id=150018
448
449         Reviewed by Tim Horton.
450         
451         Transitioning -webkit-clip-path could trigger endless animation
452         timers, because when CompositeAnimation::updateTransitions() calls
453         isTargetPropertyEqual(), a false negative answer triggers canceling the
454         current transition and starting a new one over and over.
455         
456         This happened because StyleRareNonInheritedData simply tested pointer
457         equality for m_clipPath and m_shapeOutside. Both of these need to do deep
458         equality testing, requiring the implementation of operator== in BasicShapes
459         classes.
460         
461         In addition, the PropertyWrappers in CSSPropertyAnimation need equals()
462         implementations that also do more than pointer equality testing.
463
464         Tests: transitions/clip-path-transitions.html
465                transitions/shape-outside-transitions.html
466
467         * page/animation/CSSPropertyAnimation.cpp:
468         (WebCore::PropertyWrapperClipPath::equals):
469         (WebCore::PropertyWrapperShape::equals):
470         * rendering/ClipPathOperation.h:
471         * rendering/style/BasicShapes.cpp:
472         (WebCore::BasicShapeCircle::operator==):
473         (WebCore::BasicShapeEllipse::operator==):
474         (WebCore::BasicShapePolygon::operator==):
475         (WebCore::BasicShapeInset::operator==):
476         * rendering/style/BasicShapes.h:
477         (WebCore::BasicShapeCenterCoordinate::operator==):
478         (WebCore::BasicShapeRadius::operator==):
479         * rendering/style/ShapeValue.cpp:
480         (WebCore::pointersOrValuesEqual):
481         (WebCore::ShapeValue::operator==):
482         * rendering/style/ShapeValue.h:
483         (WebCore::ShapeValue::operator!=):
484         (WebCore::ShapeValue::operator==): Deleted.
485         (WebCore::ShapeValue::ShapeValue): Deleted.
486         * rendering/style/StyleRareNonInheritedData.cpp:
487         (WebCore::StyleRareNonInheritedData::operator==):
488         (WebCore::StyleRareNonInheritedData::clipPathOperationsEquivalent):
489         (WebCore::StyleRareNonInheritedData::shapeOutsideDataEquivalent):
490         * rendering/style/StyleRareNonInheritedData.h:
491
492 2015-10-12  Myles C. Maxfield  <mmaxfield@apple.com>
493
494         Test font-variant-* and font-feature-settings on Yosemite and Mavericks
495         https://bugs.webkit.org/show_bug.cgi?id=149778
496
497         Reviewed by Simon Fraser.
498
499         We can simply call the function which enables features on Yosemite and Mavericks.
500
501         * platform/graphics/cocoa/FontCacheCoreText.cpp:
502         (WebCore::platformFontLookupWithFamily):
503         (WebCore::fontWithFamily):
504
505 2015-10-09  Anders Carlsson  <andersca@apple.com>
506
507         Don't allow plug-ins to override image types for <embed> elements
508         https://bugs.webkit.org/show_bug.cgi?id=149979
509
510         Reviewed by Tim Horton.
511
512         Stop allowing plug-ins to take over image types for <embed> elements. We already do this
513         for <object> elements, but had to make <embed> elements exempt because of webkit.org/b/49016.
514         The QuickTime plug-in hasn't supported image types since Lion, so there's no point in keeping this code around.
515
516         * html/HTMLAppletElement.cpp:
517         (WebCore::HTMLAppletElement::HTMLAppletElement):
518         * html/HTMLEmbedElement.cpp:
519         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
520         * html/HTMLObjectElement.cpp:
521         (WebCore::HTMLObjectElement::HTMLObjectElement):
522         (WebCore::HTMLObjectElement::parametersForPlugin):
523         * html/HTMLPlugInImageElement.cpp:
524         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
525         (WebCore::HTMLPlugInImageElement::isImageType):
526         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
527         * html/HTMLPlugInImageElement.h:
528         (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages): Deleted.
529         * loader/EmptyClients.h:
530         * loader/FrameLoaderClient.h:
531         * loader/SubframeLoader.cpp:
532         (WebCore::SubframeLoader::resourceWillUsePlugin):
533         (WebCore::SubframeLoader::requestObject):
534         (WebCore::SubframeLoader::shouldUsePlugin):
535         * loader/SubframeLoader.h:
536
537 2015-10-12  Zan Dobersek  <zdobersek@igalia.com>
538
539         Unreviewed, fixing debug builds with Clang on Linux
540         by including the stdio.h header where it's required
541         under a debug configuration.
542
543         * page/scrolling/ScrollingStateTree.cpp:
544         (WebCore::ScrollingStateTree::ScrollingStateTree):
545         * rendering/SimpleLineLayoutFunctions.cpp:
546
547 2015-10-12  Zan Dobersek  <zdobersek@igalia.com>
548
549         Unreviewed, followup to r190643.
550
551         Inline the std::function<> constructor wrappings around lambdas
552         into a single line, instead of spanning it across four lines.
553
554         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
555         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
556         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
557         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
558         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
559         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
560         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
561         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
562         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
563         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
564         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
565         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
566         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
567         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
568         (WebCore::MediaPlayerPrivateGStreamerBase::networkState):
569         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
570         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
571         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
572         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
573         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):
574         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
575         (webkitVideoSinkRender):
576         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
577         (webKitWebSrcChangeState):
578         (webKitWebSrcNeedDataCb):
579         (webKitWebSrcEnoughDataMainCb):
580         (webKitWebSrcEnoughDataCb):
581         (webKitWebSrcSeekMainCb):
582         (webKitWebSrcSeekDataCb):
583
584 2015-10-11  Brian Burg  <bburg@apple.com>
585
586         Add missing builtins files to the Xcode projects
587         https://bugs.webkit.org/show_bug.cgi?id=150015
588
589         Reviewed by Yusuke Suzuki.
590
591         * WebCore.xcodeproj/project.pbxproj:
592
593 2015-10-11  Simon Fraser  <simon.fraser@apple.com>
594
595         Cleanup and simplification of SVG path-related classes
596         https://bugs.webkit.org/show_bug.cgi?id=150011
597
598         Reviewed by Zalan Bujtas.
599
600         Many SVG path-related subclasses were stateful, but only because code in
601         SVGPathUtilities kept global copies around for no reason. A microbenchmark
602         showed that there was no benefit to keeping global singletons of SVGPathBuilder,
603         SVGPathSegListBuilder, SVGPathByteStreamBuilder, SVGPathStringBuilder,
604         SVGPathTraversalStateBuilder, SVGPathParser and SVGPathBlender.
605         
606         Making these classes not be re-usable makes the code much simpler, allowing
607         their SVGPathSources, SVGPathConsumers, SVGPathByteStream etc. to be stored
608         by reference, and eliminating the cleanup() function which created annoying
609         ordering issues.
610         
611         Code that uses SVGPathParser and SVGPathBlender is further simplified by having
612         these classes expose only static functions, hiding any internal statefulness.
613
614         * svg/SVGPathBlender.cpp: Remove the m_progress member variable and instead
615         pass progress to the various blend functions, as we do for other blend functions.
616         Expose two only static functions. Pointers to references.
617         (WebCore::SVGPathBlender::addAnimatedPath):
618         (WebCore::SVGPathBlender::blendAnimatedPath):
619         (WebCore::SVGPathBlender::SVGPathBlender):
620         (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
621         (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
622         (WebCore::SVGPathBlender::blendMoveToSegment):
623         (WebCore::SVGPathBlender::blendLineToSegment):
624         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
625         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
626         (WebCore::SVGPathBlender::blendCurveToCubicSegment):
627         (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
628         (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
629         (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
630         (WebCore::SVGPathBlender::blendArcToSegment):
631         (WebCore::SVGPathBlender::cleanup): Deleted.
632         * svg/SVGPathBlender.h: Make the constructor take a ref to the destination Path,
633         which is stored by reference.
634         * svg/SVGPathBuilder.cpp:
635         (WebCore::SVGPathBuilder::SVGPathBuilder):
636         (WebCore::SVGPathBuilder::moveTo):
637         (WebCore::SVGPathBuilder::lineTo):
638         (WebCore::SVGPathBuilder::curveToCubic):
639         (WebCore::SVGPathBuilder::closePath):
640         * svg/SVGPathBuilder.h:
641         (WebCore::SVGPathBuilder::setCurrentPath): Deleted.
642         * svg/SVGPathByteStreamBuilder.cpp: References, assertions removed.
643         (WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):
644         * svg/SVGPathByteStreamBuilder.h:
645         (WebCore::SVGPathByteStreamBuilder::writeType):
646         (WebCore::SVGPathByteStreamBuilder::setCurrentByteStream): Deleted.
647         * svg/SVGPathConsumer.h:
648         * svg/SVGPathElement.cpp:
649         * svg/SVGPathParser.cpp: Expose some static helper functions for parsing
650         to byte streams and strings. References.
651         (WebCore::SVGPathParser::parse):
652         (WebCore::SVGPathParser::parseToByteStream):
653         (WebCore::SVGPathParser::parseToString):
654         (WebCore::SVGPathParser::SVGPathParser):
655         (WebCore::SVGPathParser::parseClosePathSegment):
656         (WebCore::SVGPathParser::parseMoveToSegment):
657         (WebCore::SVGPathParser::parseLineToSegment):
658         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
659         (WebCore::SVGPathParser::parseLineToVerticalSegment):
660         (WebCore::SVGPathParser::parseCurveToCubicSegment):
661         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
662         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
663         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
664         (WebCore::SVGPathParser::parseArcToSegment):
665         (WebCore::SVGPathParser::parsePathData):
666         (WebCore::SVGPathParser::decomposeArcToCubic):
667         (WebCore::SVGPathParser::parsePathDataFromSource): Deleted.
668         (WebCore::SVGPathParser::cleanup): Deleted.
669         * svg/SVGPathParser.h:
670         (WebCore::SVGPathParser::setCurrentConsumer): Deleted.
671         (WebCore::SVGPathParser::setCurrentSource): Deleted.
672         * svg/SVGPathSegListBuilder.cpp:
673         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
674         (WebCore::SVGPathSegListBuilder::moveTo):
675         (WebCore::SVGPathSegListBuilder::lineTo):
676         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
677         (WebCore::SVGPathSegListBuilder::lineToVertical):
678         (WebCore::SVGPathSegListBuilder::curveToCubic):
679         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
680         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
681         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
682         (WebCore::SVGPathSegListBuilder::arcTo):
683         (WebCore::SVGPathSegListBuilder::closePath):
684         * svg/SVGPathSegListBuilder.h:
685         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement): Deleted.
686         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList): Deleted.
687         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole): Deleted.
688         * svg/SVGPathStringBuilder.cpp:
689         (WebCore::SVGPathStringBuilder::cleanup): Deleted.
690         * svg/SVGPathStringBuilder.h:
691         * svg/SVGPathTraversalStateBuilder.cpp:
692         (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
693         (WebCore::SVGPathTraversalStateBuilder::moveTo):
694         (WebCore::SVGPathTraversalStateBuilder::lineTo):
695         (WebCore::SVGPathTraversalStateBuilder::curveToCubic):
696         (WebCore::SVGPathTraversalStateBuilder::closePath):
697         (WebCore::SVGPathTraversalStateBuilder::continueConsuming):
698         (WebCore::SVGPathTraversalStateBuilder::totalLength):
699         (WebCore::SVGPathTraversalStateBuilder::currentPoint):
700         (WebCore::SVGPathTraversalStateBuilder::setDesiredLength): Deleted.
701         * svg/SVGPathTraversalStateBuilder.h:
702         (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
703         (WebCore::SVGPathTraversalStateBuilder::setCurrentTraversalState): Deleted.
704         * svg/SVGPathUtilities.cpp: Remove globals accessors, making things on the stack
705         instead. Use SVGPathParser helper functions where possible.
706         (WebCore::buildPathFromString):
707         (WebCore::buildSVGPathByteStreamFromSVGPathSegList):
708         (WebCore::appendSVGPathByteStreamFromSVGPathSeg):
709         (WebCore::buildPathFromByteStream):
710         (WebCore::buildSVGPathSegListFromByteStream):
711         (WebCore::buildStringFromByteStream):
712         (WebCore::buildStringFromSVGPathSegList):
713         (WebCore::buildSVGPathByteStreamFromString):
714         (WebCore::buildAnimatedSVGPathByteStream):
715         (WebCore::addToSVGPathByteStream):
716         (WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
717         (WebCore::getTotalLengthOfSVGPathByteStream):
718         (WebCore::getPointAtLengthOfSVGPathByteStream):
719         (WebCore::buildStringFromPath):
720         (WebCore::globalSVGPathBuilder): Deleted.
721         (WebCore::globalSVGPathSegListBuilder): Deleted.
722         (WebCore::globalSVGPathByteStreamBuilder): Deleted.
723         (WebCore::globalSVGPathStringBuilder): Deleted.
724         (WebCore::globalSVGPathTraversalStateBuilder): Deleted.
725         (WebCore::globalSVGPathParser): Deleted.
726         (WebCore::globalSVGPathBlender): Deleted.
727         * svg/SVGPathUtilities.h:
728         * svg/SVGToOTFFontConversion.cpp: CFFBuilder no longer inherits from SVGPathBuilder.
729         It did nothing with the Path, re-implemented all the functions, and only made use of
730         the m_current member var, so just make it inherit from SVGPathConsumer, and have
731         its own m_current.
732         (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
733
734 2015-10-10  Antti Koivisto  <antti@apple.com>
735
736         Remove InsertionPoint and ContentDistributor
737         https://bugs.webkit.org/show_bug.cgi?id=150004
738
739         Rubber-stamped by Sam Weinig.
740
741         Now that <details> is on top of the modern Shadow DOM remove the last vestiges of the V0 Shadow DOM API.
742
743         * CMakeLists.txt:
744         * WebCore.vcxproj/WebCore.vcxproj:
745         * WebCore.xcodeproj/project.pbxproj:
746         * css/SelectorChecker.cpp:
747         * css/StyleResolver.cpp:
748         * dom/ContainerNode.cpp:
749         * dom/Element.cpp:
750         (WebCore::shouldUseNodeRenderingTraversalSlowPath):
751         (WebCore::Element::resetNeedsNodeRenderingTraversalSlowPath):
752         * dom/Node.cpp:
753         (WebCore::Node::parentOrShadowHostElement):
754         (WebCore::Node::insertedInto):
755         (WebCore::Node::insertionParentForBinding): Deleted.
756         * dom/Node.h:
757         (WebCore::Node::isCharacterDataNode):
758         (WebCore::Node::isFrameOwnerElement):
759         (WebCore::Node::isPluginElement):
760         (WebCore::Node::isImageControlsRootElement):
761         (WebCore::Node::isImageControlsButtonElement):
762         (WebCore::Node::isDocumentFragment):
763         (WebCore::Node::isShadowRoot):
764         (WebCore::Node::isInsertionPointNode): Deleted.
765         (WebCore::Node::isInsertionPoint): Deleted.
766         * dom/NodeRenderingTraversal.cpp:
767         (WebCore::NodeRenderingTraversal::traverseParent):
768         (WebCore::NodeRenderingTraversal::traverseFirstChild):
769         (WebCore::NodeRenderingTraversal::traverseLastChild):
770         (WebCore::NodeRenderingTraversal::traverseNextSibling):
771         (WebCore::NodeRenderingTraversal::traversePreviousSibling):
772         (WebCore::NodeRenderingTraversal::parentSlow):
773         (WebCore::NodeRenderingTraversal::nextInScope):
774         (WebCore::NodeRenderingTraversal::previousInScope):
775         (WebCore::NodeRenderingTraversal::parentInScope):
776         (WebCore::NodeRenderingTraversal::lastChildInScope):
777         (WebCore::NodeRenderingTraversal::nodeCanBeDistributed): Deleted.
778         (WebCore::NodeRenderingTraversal::findFirstSiblingEnteringInsertionPoints): Deleted.
779         (WebCore::NodeRenderingTraversal::findFirstEnteringInsertionPoints): Deleted.
780         (WebCore::NodeRenderingTraversal::findFirstFromDistributedNode): Deleted.
781         (WebCore::NodeRenderingTraversal::findLastSiblingEnteringInsertionPoints): Deleted.
782         (WebCore::NodeRenderingTraversal::findLastEnteringInsertionPoints): Deleted.
783         (WebCore::NodeRenderingTraversal::findLastFromDistributedNode): Deleted.
784         * dom/ShadowRoot.h:
785         (WebCore::ShadowRoot::distributor): Deleted.
786         * html/HTMLInputElement.cpp:
787         * html/HTMLSlotElement.cpp:
788         * html/HTMLSlotElement.h:
789         * html/shadow/ContentDistributor.cpp: Removed.
790         * html/shadow/ContentDistributor.h: Removed.
791         * html/shadow/InsertionPoint.cpp: Removed.
792         * html/shadow/InsertionPoint.h: Removed.
793         * page/FocusController.cpp:
794         (WebCore::FocusController::previousFocusableElement):
795         * testing/Internals.cpp:
796
797 2015-10-10  Simon Fraser  <simon.fraser@apple.com>
798
799         Use references and more const in SVGPathUtilities
800         https://bugs.webkit.org/show_bug.cgi?id=150007
801
802         Reviewed by Zalan Bujtas.
803         
804         SVGPathUtilities had lots of pointers whose non-nullness was asserted,
805         little const, and was very trigger-happy with stack allocations. Clean
806         that all up.
807
808         * svg/SVGAnimatedPath.cpp:
809         (WebCore::SVGAnimatedPathAnimator::constructFromString):
810         (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
811         (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
812         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
813         * svg/SVGPathByteStream.h:
814         (WebCore::SVGPathByteStream::begin):
815         (WebCore::SVGPathByteStream::end):
816         (WebCore::SVGPathByteStream::append):
817         * svg/SVGPathByteStreamSource.cpp:
818         (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
819         * svg/SVGPathByteStreamSource.h:
820         * svg/SVGPathElement.cpp:
821         (WebCore::SVGPathElement::getTotalLength):
822         (WebCore::SVGPathElement::getPointAtLength):
823         (WebCore::SVGPathElement::getPathSegAtLength):
824         (WebCore::SVGPathElement::parseAttribute):
825         (WebCore::SVGPathElement::svgAttributeChanged):
826         (WebCore::SVGPathElement::pathByteStream):
827         (WebCore::SVGPathElement::lookupOrCreateDWrapper):
828         (WebCore::SVGPathElement::pathSegListChanged):
829         (WebCore::SVGPathElement::SVGPathElement): Deleted.
830         * svg/SVGPathElement.h:
831         * svg/SVGPathUtilities.cpp:
832         (WebCore::globalSVGPathBuilder):
833         (WebCore::globalSVGPathSegListBuilder):
834         (WebCore::globalSVGPathByteStreamBuilder):
835         (WebCore::globalSVGPathStringBuilder):
836         (WebCore::globalSVGPathTraversalStateBuilder):
837         (WebCore::globalSVGPathParser):
838         (WebCore::globalSVGPathBlender):
839         (WebCore::buildPathFromString):
840         (WebCore::buildSVGPathByteStreamFromSVGPathSegList):
841         (WebCore::appendSVGPathByteStreamFromSVGPathSeg):
842         (WebCore::buildPathFromByteStream):
843         (WebCore::buildSVGPathSegListFromByteStream):
844         (WebCore::buildStringFromByteStream):
845         (WebCore::buildStringFromSVGPathSegList):
846         (WebCore::buildSVGPathByteStreamFromString):
847         (WebCore::buildAnimatedSVGPathByteStream):
848         (WebCore::addToSVGPathByteStream):
849         (WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
850         (WebCore::getTotalLengthOfSVGPathByteStream):
851         (WebCore::getPointAtLengthOfSVGPathByteStream):
852         (WebCore::buildStringFromPath):
853         * svg/SVGPathUtilities.h:
854         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
855         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
856
857 2015-10-10  Andreas Kling  <akling@apple.com>
858
859         Reduce pointless malloc traffic in ElementRuleCollector.
860         <https://webkit.org/b/150003>
861
862         Reviewed by Antti Koivisto.
863
864         Don't use a unique_ptr for the m_matchedRules vector in ElementRuleCollector.
865         This is one of our heaviest sources of transient allocations, with ~88000
866         malloc/free pairs on loading theverge.com.
867
868         * css/ElementRuleCollector.cpp:
869         (WebCore::ElementRuleCollector::addMatchedRule):
870         (WebCore::ElementRuleCollector::clearMatchedRules):
871         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
872         (WebCore::ElementRuleCollector::sortMatchedRules):
873         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
874         * css/ElementRuleCollector.h:
875         (WebCore::ElementRuleCollector::hasMatchedRules):
876
877 2015-10-10  Dan Bernstein  <mitz@apple.com>
878
879         [iOS] Remove unnecessary iOS version checks
880         https://bugs.webkit.org/show_bug.cgi?id=150002
881
882         Reviewed by Alexey Proskuryakov.
883
884         * loader/cache/CachedFont.cpp:
885         (WebCore::CachedFont::ensureCustomFontData):
886         * loader/cocoa/DiskCacheMonitorCocoa.h:
887         (WebCore::DiskCacheMonitor::monitorFileBackingStoreCreation):
888         * page/mac/SettingsMac.mm:
889         (WebCore::sansSerifTraditionalHanFontFamily):
890         (WebCore::sansSerifSimplifiedHanFontFamily):
891         * platform/graphics/cocoa/FontCacheCoreText.cpp:
892         (WebCore::appendOpenTypeFeature):
893         * platform/graphics/ios/FontCacheIOS.mm:
894         (WebCore::getSystemFontFallbackForCharacters):
895         (WebCore::platformLookupFallbackFont):
896         * platform/ios/PlatformSpeechSynthesizerIOS.mm:
897         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
898         * platform/ios/WebCoreSystemInterfaceIOS.h:
899         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
900         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
901         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
902         * platform/ios/wak/WAKWindow.mm:
903         (+[WAKWindow hasLandscapeOrientation]):
904         (-[WAKWindow hostLayer]):
905         * platform/network/cf/CookieJarCFNet.cpp:
906         (WebCore::copyCookiesForURLWithFirstPartyURL):
907         (WebCore::createCookies):
908         * platform/network/mac/CertificateInfoMac.mm:
909         (WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate):
910         * platform/spi/cf/CFNetworkSPI.h:
911         * platform/spi/cocoa/AVKitSPI.h:
912         * platform/spi/cocoa/CoreTextSPI.h:
913         * platform/spi/cocoa/NEFilterSourceSPI.h:
914         * platform/spi/cocoa/QuartzCoreSPI.h:
915         * platform/spi/cocoa/SecuritySPI.h:
916         * platform/spi/ios/LaunchServicesSPI.h:
917         * platform/spi/mac/AVFoundationSPI.h:
918         * platform/text/TextBreakIterator.cpp:
919         * platform/text/TextFlags.h:
920         * platform/text/ios/LocalizedDateCache.mm:
921         (WebCore::LocalizedDateCache::calculateMaximumWidth):
922         * platform/text/mac/LocaleMac.mm:
923         (WebCore::LocaleMac::LocaleMac):
924         * rendering/RenderThemeIOS.mm:
925         (WebCore::RenderThemeIOS::cachedSystemFontDescription):
926         (WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
927         * svg/SVGToOTFFontConversion.cpp:
928         (WebCore::SVGToOTFFontConverter::appendKERNTable):
929         (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):
930
931 2015-10-10  Antti Koivisto  <antti@apple.com>
932
933         Rewrite HTMLDetailsElement using HTMLSlotElement
934         https://bugs.webkit.org/show_bug.cgi?id=149698
935
936         Reviewed by Andreas Kling.
937
938         Use the modern Shadow DOM to implement <details> element. After this the legacy InsertionPoint and
939         related code can be removed.
940
941         Based on a patch by Ryosuke.
942
943         * dom/Element.cpp:
944         (WebCore::Element::childrenChanged):
945         * dom/EventDispatcher.cpp:
946         (WebCore::EventPath::EventPath):
947         * dom/ShadowRoot.cpp:
948         (WebCore::ShadowRoot::ShadowRoot):
949         (WebCore::ShadowRoot::~ShadowRoot):
950         (WebCore::ShadowRoot::removeAllEventListeners):
951         (WebCore::ShadowRoot::findAssignedSlot):
952         (WebCore::ShadowRoot::addSlotElementByName):
953         (WebCore::ShadowRoot::removeSlotElementByName):
954         (WebCore::ShadowRoot::invalidateSlotAssignments):
955         (WebCore::ShadowRoot::invalidateDefaultSlotAssignments):
956         (WebCore::ShadowRoot::assignedNodesForSlot):
957         * dom/ShadowRoot.h:
958         (WebCore::ShadowRoot::create):
959         (WebCore::ShadowRoot::distributor):
960         (WebCore::ShadowRoot::isOrphan):
961         * dom/SlotAssignment.cpp:
962         (WebCore::slotNameFromAttributeValue):
963
964             Rename for clarity.
965
966         (WebCore::slotNameFromSlotAttribute):
967
968             SlotAssignment can now be specialized by providing function that maps from node to slot name.
969             This is the default function that gets the name from the slot attribute.
970
971         (WebCore::SlotAssignment::SlotAssignment):
972         (WebCore::SlotAssignment::findAssignedSlot):
973
974             Use the name mapping function.
975             Ensure that the slots are assigned.
976
977         (WebCore::SlotAssignment::addSlotElementByName):
978         (WebCore::SlotAssignment::removeSlotElementByName):
979         (WebCore::SlotAssignment::assignedNodesForSlot):
980         (WebCore::SlotAssignment::invalidate):
981         (WebCore::SlotAssignment::invalidateDefaultSlot):
982         (WebCore::SlotAssignment::resolveAllSlotElements):
983         (WebCore::SlotAssignment::assignSlots):
984
985             Use the name mapping function.
986
987         (WebCore::SlotAssignment::assignToSlot):
988
989             Factor into function.
990
991         (WebCore::treatNullAsEmpty): Deleted.
992         * dom/SlotAssignment.h:
993         (WebCore::SlotAssignment::~SlotAssignment):
994         (WebCore::SlotAssignment::defaultSlotName):
995
996             Add static getter for emptyAtom for clarity.
997
998         (WebCore::SlotAssignment::SlotAssignment): Deleted.
999         * html/HTMLDetailsElement.cpp:
1000         (WebCore::summarySlotName):
1001         (WebCore::slotNameFunction):
1002
1003             Slot name function for <details>. It assigns the first <summary> child to the summary slot and others
1004             to the default content slot if the element is open.
1005
1006         (WebCore::HTMLDetailsElement::create):
1007         (WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
1008         (WebCore::HTMLDetailsElement::isActiveSummary):
1009         (WebCore::HTMLDetailsElement::parseAttribute):
1010         (WebCore::HTMLDetailsElement::toggleOpen):
1011         (WebCore::summaryQuerySelector): Deleted.
1012         (WebCore::DetailsContentElement::create): Deleted.
1013         (WebCore::DetailsSummaryElement::create): Deleted.
1014         (WebCore::HTMLDetailsElement::findMainSummary): Deleted.
1015         (WebCore::HTMLDetailsElement::childShouldCreateRenderer): Deleted.
1016         * html/HTMLDetailsElement.h:
1017         * html/HTMLSummaryElement.cpp:
1018         (WebCore::HTMLSummaryElement::create):
1019         (WebCore::HTMLSummaryElement::createElementRenderer):
1020         (WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
1021         (WebCore::HTMLSummaryElement::detailsElement):
1022         (WebCore::HTMLSummaryElement::isActiveSummary):
1023         (WebCore::isClickableControl):
1024         (WebCore::HTMLSummaryElement::supportsFocus):
1025         (WebCore::HTMLSummaryElement::defaultEventHandler):
1026         (WebCore::HTMLSummaryElement::willRespondToMouseClickEvents):
1027         (WebCore::SummaryContentElement::create): Deleted.
1028         (WebCore::HTMLSummaryElement::childShouldCreateRenderer): Deleted.
1029         (WebCore::HTMLSummaryElement::isMainSummary): Deleted.
1030         * html/HTMLSummaryElement.h:
1031         * html/shadow/DetailsMarkerControl.cpp:
1032         (WebCore::DetailsMarkerControl::rendererIsNeeded):
1033         * style/RenderTreePosition.cpp:
1034         (WebCore::RenderTreePosition::computeNextSibling):
1035
1036             Skip the verification assert for shadow host children. Getting this right requires
1037             better shadow-aware traversal code.
1038
1039         * style/StyleResolveTree.cpp:
1040         (WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
1041         (WebCore::Style::attachChildren):
1042         (WebCore::Style::attachShadowRoot):
1043         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
1044         (WebCore::Style::attachSlotAssignees):
1045         (WebCore::Style::attachRenderTree):
1046         (WebCore::Style::detachChildren):
1047         (WebCore::Style::detachShadowRoot):
1048         (WebCore::Style::detachSlotAssignees):
1049         (WebCore::Style::detachRenderTree):
1050         (WebCore::Style::resolveChildren):
1051         (WebCore::Style::resolveSlotAssignees):
1052         (WebCore::Style::resolveTree):
1053         (WebCore::Style::attachDistributedChildren): Deleted.
1054         (WebCore::Style::detachDistributedChildren): Deleted.
1055
1056             Remove InsertionPoint related code paths.
1057
1058 2015-10-10  Andreas Kling  <akling@apple.com>
1059
1060         SerializedScriptValue should use a compact encoding for 8-bit strings.
1061         <https://webkit.org/b/149934>
1062
1063         Reviewed by Antti Koivisto.
1064
1065         We were encoding known 8-bit strings in a 16-bit format when serializing script values.
1066
1067         Extend the format to support 8-bit strings. The 8-bittiness is encoded in the highest bit
1068         of the string length. This is possible while supporting all older formats due to string
1069         lengths >= 0x7FFFFFFF being disallowed.
1070
1071         This patch knocks ~1 MB off of theverge.com, where some ad or tracker or whatever likes to
1072         do a ton of postMessage() business.
1073
1074         * bindings/js/SerializedScriptValue.cpp:
1075         (WebCore::CurrentVersion): Bump the serialization format version. Also updated the grammar
1076         comment to describe the new format. Artistic license applied in description of bitfield.
1077
1078         (WebCore::writeLittleEndianUInt16): Deleted.
1079
1080         (WebCore::CloneSerializer::serialize):
1081         (WebCore::CloneSerializer::write):
1082         (WebCore::CloneDeserializer::deserializeString):
1083         (WebCore::CloneDeserializer::readString):
1084         (WebCore::CloneDeserializer::readStringData): Support 8-bit strings. I kept the string
1085         length limit at UINT_MAX/sizeof(UChar) since the highest bit of the length is no longer
1086         available. Besides, it seems flimsy to support longer strings if they happen to have all
1087         8-bit characters.
1088
1089 2015-10-10  Dan Bernstein  <mitz@apple.com>
1090
1091         [iOS] Remove project support for iOS 8
1092         https://bugs.webkit.org/show_bug.cgi?id=149993
1093
1094         Reviewed by Alexey Proskuryakov.
1095
1096         * Configurations/WebCore.xcconfig:
1097         * Configurations/WebCoreTestSupport.xcconfig:
1098
1099 2015-10-09  Zalan Bujtas  <zalan@apple.com>
1100
1101         Check if start and end positions are still valid after updating them through VisibleSelection.
1102         https://bugs.webkit.org/show_bug.cgi?id=149982
1103
1104         Reviewed by Ryosuke Niwa.
1105
1106         This patch is required to be able to clean up anonymous tables structure.
1107         In certain edge cases, start/end positions could become nullptr after various text splitting
1108         operations. 
1109
1110         Covered by editing/execCommand/crash-137961.html
1111
1112         * editing/ApplyStyleCommand.cpp:
1113         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1114         (WebCore::ApplyStyleCommand::applyInlineStyle):
1115
1116 2015-10-09  Simon Fraser  <simon.fraser@apple.com>
1117
1118         Rename RenderObject::isRoot() to isDocumentElementRenderer()
1119         https://bugs.webkit.org/show_bug.cgi?id=149976
1120
1121         Reviewed by Zalan Bujtas.
1122
1123         RenderObject::isRoot() was confusingly named, because it returns true for
1124         the document element's renderer, not for the actual root (the RenderView).
1125         In this way it mismatched RenderLayer::isRootLayer(), which returned true
1126         for the RenderView's layer.
1127         
1128         Rename it to the more accurate isDocumentElementRenderer().
1129
1130         * dom/Node.cpp:
1131         (WebCore::Node::renderRect):
1132         * page/ios/FrameIOS.mm:
1133         (WebCore::Frame::renderRectForPoint):
1134         * rendering/RenderBlock.cpp:
1135         (WebCore::RenderBlock::paint):
1136         (WebCore::RenderBlock::isSelectionRoot):
1137         (WebCore::RenderBlock::selectionGaps):
1138         * rendering/RenderBlockFlow.cpp:
1139         (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
1140         (WebCore::RenderBlockFlow::layoutBlock):
1141         (WebCore::RenderBlockFlow::requiresColumns):
1142         * rendering/RenderBox.cpp:
1143         (WebCore::RenderBox::styleWillChange):
1144         (WebCore::RenderBox::styleDidChange):
1145         (WebCore::RenderBox::updateFromStyle):
1146         (WebCore::RenderBox::paintBackground):
1147         (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
1148         (WebCore::RenderBox::repaintLayerRectsForImage):
1149         (WebCore::RenderBox::computeLogicalHeight):
1150         (WebCore::RenderBox::computePercentageLogicalHeight):
1151         (WebCore::RenderBox::createsNewFormattingContext):
1152         (WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
1153         * rendering/RenderBox.h:
1154         (WebCore::RenderBox::stretchesToViewport):
1155         * rendering/RenderBoxModelObject.cpp:
1156         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1157         (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
1158         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1159         * rendering/RenderBoxModelObject.h:
1160         * rendering/RenderDeprecatedFlexibleBox.cpp:
1161         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1162         * rendering/RenderElement.cpp:
1163         (WebCore::RenderElement::styleWillChange):
1164         (WebCore::RenderElement::rendererForRootBackground):
1165         (WebCore::shouldRepaintForImageAnimation):
1166         * rendering/RenderElement.h:
1167         * rendering/RenderFlexibleBox.cpp:
1168         (WebCore::RenderFlexibleBox::layoutBlock):
1169         * rendering/RenderGrid.cpp:
1170         (WebCore::RenderGrid::layoutBlock):
1171         * rendering/RenderLayer.cpp:
1172         (WebCore::shouldSuppressPaintingLayer):
1173         (WebCore::paintForFixedRootBackground):
1174         (WebCore::RenderLayer::paintLayerContents):
1175         (WebCore::RenderLayer::calculateClipRects):
1176         * rendering/RenderLayer.h:
1177         * rendering/RenderLayerBacking.cpp:
1178         (WebCore::RenderLayerBacking::rendererBackgroundColor):
1179         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
1180         * rendering/RenderLayerModelObject.cpp:
1181         (WebCore::RenderLayerModelObject::styleDidChange):
1182         * rendering/RenderObject.cpp:
1183         (WebCore::RenderObject::repaintSlowRepaintObject):
1184         (WebCore::RenderObject::offsetParent):
1185         * rendering/RenderObject.h:
1186         (WebCore::RenderObject::isDocumentElementRenderer):
1187         (WebCore::RenderObject::isRoot): Deleted.
1188         * rendering/RenderTable.cpp:
1189         (WebCore::RenderTable::paint):
1190         * rendering/svg/RenderSVGRoot.cpp:
1191         (WebCore::RenderSVGRoot::layout):
1192         (WebCore::RenderSVGRoot::shouldApplyViewportClip):
1193         * rendering/svg/SVGRenderSupport.cpp:
1194         (WebCore::SVGRenderSupport::isOverflowHidden):
1195
1196 2015-10-09  Nan Wang  <n_wang@apple.com>
1197
1198         AX: ARIA 1.1 implement aria-colcount, aria-colindex, aria-colspan, aria-rowcount, aria-rowindex and aria-rowspan
1199         https://bugs.webkit.org/show_bug.cgi?id=148967
1200
1201         Reviewed by Chris Fleizach.
1202
1203         Added support for ARIA 1.1 table/grid related attributes. Created new attributes for mac, so
1204         VoiceOver can pick up the information and speak accordingly.
1205
1206         Test: accessibility/mac/aria-table-attributes.html
1207
1208         * accessibility/AccessibilityARIAGridCell.cpp:
1209         (WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell):
1210         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
1211         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
1212         (WebCore::AccessibilityARIAGridCell::parentRowGroup):
1213         * accessibility/AccessibilityARIAGridCell.h:
1214         * accessibility/AccessibilityObject.cpp:
1215         (WebCore::initializeRoleMap):
1216         * accessibility/AccessibilityObject.h:
1217         * accessibility/AccessibilityTable.cpp:
1218         (WebCore::AccessibilityTable::title):
1219         (WebCore::AccessibilityTable::ariaColumnCount):
1220         (WebCore::AccessibilityTable::ariaRowCount):
1221         * accessibility/AccessibilityTable.h:
1222         * accessibility/AccessibilityTableCell.cpp:
1223         (WebCore::AccessibilityTableCell::AccessibilityTableCell):
1224         (WebCore::AccessibilityTableCell::titleUIElement):
1225         (WebCore::AccessibilityTableCell::ariaColumnIndex):
1226         (WebCore::AccessibilityTableCell::ariaRowIndex):
1227         (WebCore::AccessibilityTableCell::ariaColumnSpan):
1228         (WebCore::AccessibilityTableCell::ariaRowSpan):
1229         * accessibility/AccessibilityTableCell.h:
1230         (WebCore::AccessibilityTableCell::setARIAColIndexFromRow):
1231         * accessibility/AccessibilityTableRow.cpp:
1232         (WebCore::AccessibilityTableRow::headerObject):
1233         (WebCore::AccessibilityTableRow::addChildren):
1234         (WebCore::AccessibilityTableRow::ariaColumnIndex):
1235         (WebCore::AccessibilityTableRow::ariaRowIndex):
1236         * accessibility/AccessibilityTableRow.h:
1237         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1238         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1239         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1240         * html/HTMLAttributeNames.in:
1241
1242 2015-10-09  Anders Carlsson  <andersca@apple.com>
1243
1244         Remove hack that allowed plug-ins to always take over certain image formats
1245         https://bugs.webkit.org/show_bug.cgi?id=149972
1246
1247         Reviewed by Tim Horton.
1248
1249         This hack was added 8 years ago to allow a certain plug-in to show multi-page TIFF images on uspto.gov. 
1250         We now support said TIFFs natively, and the plug-in has been discontinued so it's safe to get rid of this.
1251
1252         * loader/SubframeLoader.cpp:
1253         (WebCore::SubframeLoader::shouldUsePlugin): Deleted.
1254
1255 2015-10-09  Simon Fraser  <simon.fraser@apple.com>
1256
1257         Garbage texture data with composited table row
1258         https://bugs.webkit.org/show_bug.cgi?id=148984
1259
1260         Reviewed by Zalan Bujtas.
1261         
1262         Don't pretend to know if the layer for a table header, section or cell is
1263         opaque, since table painting is special.
1264
1265         Test: compositing/contents-opaque/table-parts.html
1266
1267         * rendering/RenderLayer.cpp:
1268         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
1269
1270 2015-10-09  Simon Fraser  <simon.fraser@apple.com>
1271
1272         Garbage pixels on enphaseenergy.com site
1273         https://bugs.webkit.org/show_bug.cgi?id=149915
1274         rdar://problem/22976184
1275
1276         Reviewed by Darin Adler.
1277         
1278         When the <html> gets a composited RenderLayer, and we ask whether its background
1279         is opaque, return false, since the document element's background propagates
1280         to the root, and is painted by the RenderView.
1281         
1282         Also improve the compositing logging to indicate when fore- and background layers
1283         are present.
1284
1285         Test: compositing/contents-opaque/negative-z-before-html.html
1286
1287         * rendering/RenderLayerBacking.cpp:
1288         (WebCore::RenderLayerBacking::updateGeometry):
1289         * rendering/RenderLayerCompositor.cpp:
1290         (WebCore::RenderLayerCompositor::logLayerInfo):
1291
1292 2015-10-09  Antoine Quint  <graouts@apple.com>
1293
1294         Dynamic background color changes do not update until a layout is forced
1295         https://bugs.webkit.org/show_bug.cgi?id=131623
1296
1297         Compute correct repaint rect for decorated RenderSVGRoots.
1298
1299         The current implementation of clippedOverflowRectForRepaint() uses the
1300         generic repaint-rect calculations in SVGRenderSupport. Those in turn make
1301         use of repaintRectInLocalCoordinates(), which for RenderSVGRoot is the
1302         union of the painted children (w/ some expansion). If there're no children,
1303         or they do not fill the entire content box, then a repaint would not
1304         repaint the correct parts.
1305         Fix by calculating the union of the border-box and the SVG content
1306         when the SVG root is decorated (has background/border/etc.)
1307
1308         Adapted from a Chromium patch by fs@opera.com
1309         https://src.chromium.org/viewvc/blink?revision=170890&view=revision
1310
1311         Reviewed by Darin Adler.
1312
1313         Tests: svg/repaint/add-background-property-on-root.html
1314                svg/repaint/add-border-property-on-root.html
1315                svg/repaint/add-outline-property-on-root.html
1316                svg/repaint/change-background-color.html
1317                svg/repaint/remove-background-property-on-root.html
1318                svg/repaint/remove-border-property-on-root.html
1319                svg/repaint/remove-outline-property-on-root.html
1320
1321         * rendering/svg/RenderSVGRoot.cpp:
1322         (WebCore::RenderSVGRoot::layout):
1323         (WebCore::RenderSVGRoot::styleDidChange):
1324         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
1325
1326 2015-10-09  Simon Fraser  <simon.fraser@apple.com>
1327
1328         [iOS WK2] Fix assertion in ViewportConfiguration::setDefaultConfiguration seen in testing
1329         https://bugs.webkit.org/show_bug.cgi?id=149959
1330
1331         Reviewed by Tim Horton.
1332
1333         When loading tests which set a flexible viewport, ViewportConfiguration::setDefaultConfiguration()
1334         is called first with testingParameters() and then with webpageParameters(). This
1335         would trigger the assertion that m_defaultConfiguration.initialScaleIsSet but
1336         the new initial scale is zero.
1337         
1338         The assertion seems wrong anyway; it's consulting m_defaultConfiguration.initialScaleIsSet
1339         but defaultConfiguration.initialScale, so fix it to test defaultConfiguration.initialScaleIsSet.
1340
1341         * page/ViewportConfiguration.cpp:
1342         (WebCore::ViewportConfiguration::setDefaultConfiguration):
1343
1344 2015-10-09  Csaba Osztrogonác  <ossy@webkit.org>
1345
1346         Fix the !ENABLE(STREAM_API) build after r190794
1347         https://bugs.webkit.org/show_bug.cgi?id=149955
1348
1349         Reviewed by Darin Adler.
1350
1351         * bindings/js/WebCoreJSBuiltinInternals.h:
1352         (WebCore::JSBuiltinInternalFunctions::visit):
1353         (WebCore::JSBuiltinInternalFunctions::init):
1354
1355 2015-10-09  Csaba Osztrogonác  <ossy@webkit.org>
1356
1357         Fix the binding generator after r190785
1358         https://bugs.webkit.org/show_bug.cgi?id=149956
1359
1360         Reviewed by Darin Adler.
1361
1362         * bindings/scripts/CodeGeneratorJS.pm:
1363         (GenerateConstructorHelperMethods):
1364         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
1365         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
1366         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1367         (WebCore::JSTestEventConstructorConstructor::getConstructData):
1368         * bindings/scripts/test/JS/JSTestInterface.cpp:
1369         (WebCore::JSTestInterfaceConstructor::getConstructData):
1370         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
1371         (WebCore::JSTestJSBuiltinConstructorConstructor::getConstructData):
1372         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1373         (WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
1374         * bindings/scripts/test/JS/JSTestNode.cpp:
1375         (WebCore::JSTestNodeConstructor::getConstructData):
1376         * bindings/scripts/test/JS/JSTestObj.cpp:
1377         (WebCore::JSTestObjConstructor::getConstructData):
1378         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1379         (WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
1380         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1381         (WebCore::JSTestTypedefsConstructor::getConstructData):
1382
1383 2015-10-08  Wenson Hsieh  <wenson_hsieh@apple.com>
1384
1385         Backgrounds bleed out of natively rendered text fields
1386         https://bugs.webkit.org/show_bug.cgi?id=149843
1387         <rdar://problem/22896977>
1388
1389         Reviewed by Darin Adler.
1390
1391         When natively rendering a text field with a background on Mac, the background bleeds out
1392         of the text field's border when the graphics context is scaled (as a result of a retina
1393         display or zoom/scale effects). This is because when we render the text field in bezeled
1394         style within a certain frame, AppKit adds 1 device pixel insets on all sides of the frame,
1395         which renders a text field that is slightly smaller than the frame. To adjust for this, we
1396         inflate the paint rect.
1397
1398         Test: fast/forms/hidpi-textfield-background-bleeding.html
1399
1400         * rendering/RenderThemeMac.mm:
1401         (WebCore::RenderThemeMac::paintTextField):
1402
1403 2015-10-09  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
1404
1405         Refactor WebCore JS builtins to prepare for automatic generation
1406         https://bugs.webkit.org/show_bug.cgi?id=149751
1407
1408         Reviewed by Darin Adler.
1409
1410         Adding annotations to JS files to know whether they should be under a compilation flag and
1411         whether they are JS internals or JS tied to WebIDL.
1412         If a file is said as JS internals, all function names should be exported automatically.
1413         Added WebCoreJSBuiltins.h to simplify handling of builtins in JSVMClientData.
1414         Added WebCoreJSInternals.h to simplify handling of builtin private function in JSDOMWindowBase.
1415         Renamed WebCoreJSClientData to JSVMClientData.
1416
1417         Covered by existing tests.
1418
1419         * CMakeLists.txt:
1420         * Modules/streams/ByteLengthQueuingStrategy.js:
1421         * Modules/streams/CountQueuingStrategy.js:
1422         * Modules/streams/ReadableStream.js:
1423         * Modules/streams/ReadableStreamController.js:
1424         * Modules/streams/ReadableStreamInternals.js:
1425         * Modules/streams/ReadableStreamReader.js:
1426         * WebCore.order:
1427         * WebCore.xcodeproj/project.pbxproj:
1428         * bindings/js/DOMWrapperWorld.cpp:
1429         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1430         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1431         (WebCore::normalWorld):
1432         * bindings/js/JSDOMWindowBase.cpp:
1433         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1434         (WebCore::JSDOMWindowBase::finishCreation):
1435         (WebCore::JSDOMWindowBase::visitChildren):
1436         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
1437         (WebCore::JSDOMWindowBase::destroy): Deleted.
1438         * bindings/js/JSDOMWindowBase.h:
1439         * bindings/js/ScriptController.cpp:
1440         (WebCore::ScriptController::getAllWorlds):
1441         * bindings/js/SerializedScriptValue.cpp:
1442         (WebCore::SerializedScriptValue::transferArrayBuffers):
1443         * bindings/js/WebCoreJSBuiltinInternals.h: Added.
1444         (WebCore::JSBuiltinInternalFunctions::JSBuiltinInternalFunctions):
1445         (WebCore::JSBuiltinInternalFunctions::readableStreamInternals):
1446         (WebCore::JSBuiltinInternalFunctions::visit):
1447         (WebCore::JSBuiltinInternalFunctions::init):
1448         * bindings/js/WebCoreJSBuiltins.cpp:
1449         * bindings/js/WebCoreJSBuiltins.h: Added.
1450         (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
1451         (WebCore::JSBuiltinFunctions::byteLengthQueuingStrategyBuiltins):
1452         (WebCore::JSBuiltinFunctions::countQueuingStrategyBuiltins):
1453         (WebCore::JSBuiltinFunctions::readableStreamBuiltins):
1454         (WebCore::JSBuiltinFunctions::readableStreamControllerBuiltins):
1455         (WebCore::JSBuiltinFunctions::readableStreamInternalsBuiltins):
1456         (WebCore::JSBuiltinFunctions::readableStreamReaderBuiltins):
1457         * bindings/js/WebCoreJSClientData.h:
1458         (WebCore::JSVMClientData::JSVMClientData):
1459         (WebCore::JSVMClientData::~JSVMClientData):
1460         (WebCore::JSVMClientData::builtinFunctions):
1461         (WebCore::initNormalWorldClientData):
1462         (WebCore::JSVMClientData::normalWorld): Deleted.
1463         (WebCore::JSVMClientData::getAllWorlds): Deleted.
1464
1465 2015-10-09  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1466
1467         Rationalize JSXXConstructor class definition
1468         https://bugs.webkit.org/show_bug.cgi?id=149923
1469
1470         Reviewed by Darin Adler.
1471
1472         Declaration of JSXXConstructor::construct and JSXXConstructor::getConstructData
1473         as long as JSXX is constructable from JavaScript.
1474
1475         Previously, JSXXConstructor::construct was not generated in case of CustomConstructor.
1476         It is now generated and directly calls the custom constructor function.
1477
1478         getConstructData was declared conditionally with #if in case of ConstructorConditional.
1479         The #if are now within getConstructData body.
1480
1481         Covered by binding tests.
1482
1483         * bindings/scripts/CodeGeneratorJS.pm:
1484         (GenerateConstructorDeclaration):
1485         (GenerateOverloadedConstructorDefinition):
1486         (GenerateConstructorDefinition):
1487         (GenerateConstructorHelperMethods):
1488         (GenerateConstructorDefinitions):.
1489         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
1490         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::construct):
1491         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
1492         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):.
1493         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1494         (WebCore::JSTestEventConstructorConstructor::construct):
1495         (WebCore::JSTestEventConstructorConstructor::getConstructData):
1496         * bindings/scripts/test/JS/JSTestInterface.cpp:
1497         (WebCore::JSTestInterfaceConstructor::construct):
1498         (WebCore::JSTestInterfaceConstructor::getConstructData):
1499         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
1500         (WebCore::JSTestJSBuiltinConstructorConstructor::construct):
1501         (WebCore::JSTestJSBuiltinConstructorConstructor::getConstructData):
1502         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1503         (WebCore::JSTestNamedConstructorNamedConstructor::construct):
1504         (WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
1505         * bindings/scripts/test/JS/JSTestNode.cpp:
1506         (WebCore::JSTestNodeConstructor::construct):
1507         (WebCore::JSTestNodeConstructor::getConstructData):
1508         * bindings/scripts/test/JS/JSTestObj.cpp:
1509         (WebCore::JSTestObjConstructor::construct):
1510         (WebCore::JSTestObjConstructor::getConstructData):
1511         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1512         (WebCore::constructJSTestOverloadedConstructors1):
1513         (WebCore::constructJSTestOverloadedConstructors2):
1514         (WebCore::constructJSTestOverloadedConstructors3):
1515         (WebCore::constructJSTestOverloadedConstructors4):
1516         (WebCore::constructJSTestOverloadedConstructors5):
1517         (WebCore::JSTestOverloadedConstructorsConstructor::construct):
1518         (WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
1519         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1520         (WebCore::JSTestTypedefsConstructor::construct):
1521         (WebCore::JSTestTypedefsConstructor::getConstructData):
1522
1523 2015-10-07  Sergio Villar Senin  <svillar@igalia.com>
1524
1525         [css-grid] Include freeSpace in GridSizingData struct
1526         https://bugs.webkit.org/show_bug.cgi?id=149876
1527
1528         Reviewed by Darin Adler.
1529
1530         During the layout process we keep the free space for rows and
1531         columns in two variables that are passed to a few methods
1532         along with the GridSizingData struct. Those two variables
1533         should clearly be part of GridSizingData as they're temporary
1534         values used just for the sake of the layout.
1535
1536         No new tests required as this is just a refactoring.
1537
1538         * rendering/RenderGrid.cpp:
1539         (WebCore::RenderGrid::GridSizingData::GridSizingData):
1540         (WebCore::RenderGrid::GridSizingData::freeSpaceForDirection):
1541         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
1542         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1543         (WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded):
1544         (WebCore::RenderGrid::layoutGridItems):
1545         (WebCore::RenderGrid::populateGridPositions):
1546         (WebCore::contentDistributionOffset):
1547         (WebCore::RenderGrid::computeContentPositionAndDistributionOffset):
1548         * rendering/RenderGrid.h:
1549
1550 2015-10-08  Sergio Villar Senin  <svillar@igalia.com>
1551
1552         [css-grid] Remove unneeded calls to compute(Content)LogicalWidth(Height)
1553         https://bugs.webkit.org/show_bug.cgi?id=149926
1554
1555         Reviewed by Darin Adler.
1556
1557         In order to resolve a Length to a LayoutUnit we need to
1558         provide a maximum value so that i.e. percentages are correctly
1559         computed. That maximum value was computeLogicalWidth() for
1560         columns and computeContentLogicalHeight() for rows. We were
1561         calling it for every single track with a definite size instead
1562         of computing it once and reusing it multiple times.
1563
1564         This brings some nice performance improvements:
1565         - 2.9%  in /Layout/fixed-grid-lots-of-data
1566         - 2.95% in /Layout/fixed-grid-lots-of-stretched-data
1567
1568         No new tests required as there is no change in functionality.
1569
1570         * rendering/RenderGrid.cpp:
1571         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1572         (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
1573         (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
1574         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
1575         * rendering/RenderGrid.h:
1576
1577 2015-10-08  Chris Dumez  <cdumez@apple.com>
1578
1579         Unreviewed, build fix for ENABLE(MEDIA_SESSION) after r190030.
1580
1581         * dom/Document.cpp:
1582         (WebCore::Document::updateIsPlayingMedia):
1583
1584 2015-10-08  Chris Dumez  <cdumez@apple.com>
1585
1586         Unreviewed, build fixes for ENABLE(MEDIA_SESSION) after r190030.
1587
1588         * Modules/mediasession/HTMLMediaElementMediaSession.cpp:
1589         (WebCore::HTMLMediaElementMediaSession::session):
1590         * Modules/mediasession/HTMLMediaElementMediaSession.h:
1591         * Modules/mediasession/MediaSession.cpp:
1592         (WebCore::MediaSession::controls):
1593         * Modules/mediasession/MediaSession.h:
1594
1595 2015-10-08  Jiewen Tan  <jiewen_tan@apple.com>
1596
1597         Gracefully handle XMLDocumentParser being detached by mutation events.
1598         https://bugs.webkit.org/show_bug.cgi?id=149485
1599         <rdar://problem/22811489>
1600
1601         This is a merge of Blink change 200026,
1602         https://codereview.chromium.org/1267283002
1603
1604         Reviewed by Darin Adler.
1605
1606         Test: fast/parser/xhtml-dom-character-data-modified-crash.html
1607
1608         * xml/parser/XMLDocumentParser.cpp:
1609         (WebCore::XMLDocumentParser::createLeafTextNode):
1610         Renamed from enterText() to make it more descriptive. 
1611
1612         (WebCore::XMLDocumentParser::updateLeafTextNode):
1613         Renamed from exitText to firm up this stage.
1614
1615         (WebCore::XMLDocumentParser::end):
1616         Gracefully handle stopped states.
1617
1618         (WebCore::XMLDocumentParser::enterText): Deleted.
1619         (WebCore::XMLDocumentParser::exitText): Deleted.
1620
1621         * xml/parser/XMLDocumentParser.h:
1622         Rename enterText to createLeafTextNode.
1623         Rename exitText to updateLeafTextNode.
1624
1625         * xml/parser/XMLDocumentParserLibxml2.cpp:
1626         (WebCore::XMLDocumentParser::startElementNs):
1627         (WebCore::XMLDocumentParser::endElementNs):
1628         (WebCore::XMLDocumentParser::characters):
1629         (WebCore::XMLDocumentParser::processingInstruction):
1630         (WebCore::XMLDocumentParser::cdataBlock):
1631         (WebCore::XMLDocumentParser::comment):
1632         (WebCore::XMLDocumentParser::endDocument):
1633         Rename function calls and firm up updateLeafTextNode stage accordingly.
1634
1635 2015-10-08  Chris Dumez  <cdumez@apple.com>
1636
1637         data: URLs should not be preloaded
1638         https://bugs.webkit.org/show_bug.cgi?id=149829
1639
1640         Reviewed by Darin Adler.
1641
1642         Fix review comments after r190605:
1643         Use protocolIs() instead of String::startsWith().
1644
1645         * html/parser/HTMLPreloadScanner.cpp:
1646         (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
1647
1648 2015-10-08  Chris Dumez  <cdumez@apple.com>
1649
1650         Revert r187626 (and r188025) as it caused a PLT regression
1651         https://bugs.webkit.org/show_bug.cgi?id=149898
1652         <rdar://problem/22657123>
1653
1654         Reviewed by Myles Maxfield.
1655
1656         * css/CSSPropertyNames.in:
1657         * css/StyleBuilderCustom.h:
1658         (WebCore::StyleBuilderCustom::applyValueWebkitLocale):
1659         * platform/graphics/Font.cpp:
1660         (WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
1661         (WebCore::CharacterFallbackMapKey::operator==):
1662         (WebCore::CharacterFallbackMapKeyHash::hash):
1663         (WebCore::Font::systemFallbackFontForCharacter):
1664         * platform/graphics/FontCache.h:
1665         (WebCore::FontDescriptionKey::operator==):
1666         (WebCore::FontDescriptionKey::FontDescriptionKey): Deleted.
1667         (WebCore::FontDescriptionKey::computeHash): Deleted.
1668         * platform/graphics/FontDescription.cpp:
1669         (WebCore::FontDescription::FontDescription):
1670         (WebCore::FontDescription::traitsMask): Deleted.
1671         (WebCore::FontCascadeDescription::FontCascadeDescription): Deleted.
1672         * platform/graphics/FontDescription.h:
1673         (WebCore::FontDescription::setScript):
1674         (WebCore::FontDescription::operator==):
1675         (WebCore::FontDescription::setFeatureSettings): Deleted.
1676         (WebCore::FontCascadeDescription::initialVariantAlternates): Deleted.
1677         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1678         (WebCore::FontCache::systemFallbackForCharacters):
1679         * rendering/style/RenderStyle.cpp:
1680         (WebCore::RenderStyle::changeRequiresLayout):
1681         * rendering/style/RenderStyle.h:
1682         * rendering/style/StyleRareInheritedData.cpp:
1683         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1684         (WebCore::StyleRareInheritedData::operator==):
1685         * rendering/style/StyleRareInheritedData.h:
1686         * style/StyleResolveForDocument.cpp:
1687         (WebCore::Style::resolveForDocument):
1688
1689 2015-10-08  Andreas Kling  <akling@apple.com>
1690
1691         Generated frame tree names should be kept reasonably long.
1692         <https://webkit.org/b/149874>
1693
1694         Reviewed by Darin Adler.
1695
1696         Some clumsy advertising script is going around assigning JavaScript source code
1697         to the "name" attribute of iframes. This is causing WebKit to generate way too huge
1698         names for anonymous descendants of such iframes.
1699
1700         Previously, the generated name of an anonymous subframe would be its slash-separated
1701         path from the root frame, with the "name" attribute of each ancestor between the
1702         slashes, or "<!--frame${index in parent}-->" for anonymous ancestors.
1703
1704         These ad scripts are often over 100kB in size, with multiple subframes, so we'd end
1705         up with frame names looking like this:
1706
1707         "<!--framePath //<MONSTER BLOB OF JAVASCRIPT FROM HELL>/<!--frame0--><!--frame0-->-->"
1708
1709         While this is worth fixing for the memory usage alone, we've been making it way
1710         worse by also using these paths when recording the back/forward history parts of
1711         WebKit session state.
1712
1713         This patch makes generated paths always use index-in-parent as the "directory name"
1714         for ancestors of anonymous subframes. The above example path will now instead be:
1715
1716         "<!--framePath //<!--frame0-->/<!--frame0-->/<!--frame0-->-->"
1717
1718         Test: fast/frames/long-names-in-nested-subframes.html
1719
1720         * page/FrameTree.cpp:
1721         (WebCore::FrameTree::indexInParent):
1722         (WebCore::FrameTree::uniqueChildName):
1723         * page/FrameTree.h:
1724
1725 2015-10-08  Commit Queue  <commit-queue@webkit.org>
1726
1727         Unreviewed, rolling out r190701.
1728         https://bugs.webkit.org/show_bug.cgi?id=149937
1729
1730         "It did not help, will try a full roll out instead" (Requested
1731         by cdumez on #webkit).
1732
1733         Reverted changeset:
1734
1735         "Partial revert of r187626 as it caused a PLT regression"
1736         https://bugs.webkit.org/show_bug.cgi?id=149898
1737         http://trac.webkit.org/changeset/190701
1738
1739 2015-10-08  Zalan Bujtas  <zalan@apple.com>
1740
1741         Fallback to the RenderView when repaint container is null.
1742         https://bugs.webkit.org/show_bug.cgi?id=149903
1743
1744         Reviewed by Simon Fraser.
1745
1746         Reduces code complexity at the calling sites.
1747
1748         No change in functionality.
1749
1750         * rendering/RenderObject.cpp:
1751         (WebCore::RenderObject::repaintUsingContainer):
1752         (WebCore::RenderObject::repaint):
1753         (WebCore::RenderObject::repaintRectangle):
1754
1755 2015-10-08  Jiewen Tan  <jiewen_tan@apple.com>
1756
1757         Add NULL check for renderBox::layer() on applying zoom level change
1758         https://bugs.webkit.org/show_bug.cgi?id=149302
1759         <rdar://problem/22747292>
1760
1761         Reviewed by Darin Adler.
1762
1763         Test: fast/css/zoom-on-nested-scroll-crash.html
1764
1765         This is a merge of Blink r158238:
1766         https://chromiumcodereview.appspot.com/23526081
1767
1768         * rendering/RenderBox.cpp:
1769         (WebCore::RenderBox::styleDidChange):
1770
1771 2015-10-08  Brady Eidson  <beidson@apple.com>
1772
1773         Update Inspector to only work with Legacy IDB (for now).
1774         https://bugs.webkit.org/show_bug.cgi?id=149928.
1775
1776         Reviewed by Tim Horton.
1777
1778         * Modules/indexeddb/IDBAny.h:
1779         (WebCore::IDBAny::isLegacy):
1780         
1781         * Modules/indexeddb/legacy/LegacyAny.h:
1782         * inspector/InspectorIndexedDBAgent.cpp:
1783
1784 2015-10-08  Antti Koivisto  <antti@apple.com>
1785
1786         CrashTracer: [USER] com.apple.WebKit.WebContent at …Core::SelectorChecker::checkScrollbarPseudoClass const + 217
1787         https://bugs.webkit.org/show_bug.cgi?id=149921
1788         rdar://problem/22731359
1789
1790         Reviewed by Andreas Kling.
1791
1792         Test: svg/css/use-window-inactive-crash.html
1793
1794         * css/SelectorCheckerTestFunctions.h:
1795         (WebCore::isWindowInactive):
1796
1797             Null check page.
1798
1799 2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>
1800
1801         Format string issues in LegacyRequest.cpp
1802         https://bugs.webkit.org/show_bug.cgi?id=149866
1803
1804         Reviewed by Csaba Osztrogonác.
1805
1806         Cast enums to ints before printing them to placate GCC's -Wformat.
1807
1808         * Modules/indexeddb/legacy/LegacyRequest.cpp:
1809         (WebCore::LegacyRequest::dispatchEvent):
1810         (WebCore::LegacyRequest::enqueueEvent):
1811
1812 2015-10-08  Commit Queue  <commit-queue@webkit.org>
1813
1814         Unreviewed, rolling out r190716.
1815         https://bugs.webkit.org/show_bug.cgi?id=149924
1816
1817         broke mac build from time to time (Requested by youenn on
1818         #webkit).
1819
1820         Reverted changeset:
1821
1822         "Automate WebCore JS builtins generation and build system"
1823         https://bugs.webkit.org/show_bug.cgi?id=149751
1824         http://trac.webkit.org/changeset/190716
1825
1826 2015-10-08  Sergio Villar Senin  <svillar@igalia.com>
1827
1828         [css-grid] Percentages of indefinite sizes to be resolved as auto
1829         https://bugs.webkit.org/show_bug.cgi?id=149810
1830
1831         Reviewed by Darin Adler.
1832
1833         Specs mention that percentages in grid track sizes must be
1834         resolved as 'auto' if the grid container has an indefinite
1835         size in the corresponding axis.
1836
1837         The 'auto' keyword used to be resolved as
1838         minmax(min-content,max-content) but since r189911 it's
1839         resolved as minmax(auto,auto). Updated the implementation so
1840         we properly resolve those percentages.
1841
1842         No new tests as the behavior does not change at all. That's
1843         because 'auto' as min-track sizing function is the same as
1844         min-content (unless we have a specified value for
1845         min-{width|height}, but those cases were already handled in the
1846         code), and as a max sizing function is works as max-content.
1847
1848         * rendering/RenderGrid.cpp:
1849         (WebCore::RenderGrid::gridTrackSize):
1850
1851 2015-10-08  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
1852
1853         Automate WebCore JS builtins generation and build system
1854         https://bugs.webkit.org/show_bug.cgi?id=149751
1855
1856         Reviewed by Darin Adler.
1857
1858         Adding annotations to JS files to know whether they should be under a compilation flag and
1859         whether they are JS internals or JS tied to WebIDL.
1860         If a file is said as JS internals, all function names are exported automatically.
1861         Added auto generation of WebCoreJSBuiltins.cpp
1862         Added auto generation of JSBuiltinFunctions class inside WebCoreJSBuiltins that takes the role of
1863         WebCoreJSClientData as wrapper for builtins.
1864         Added auto generation of WebCoreJSBuiltinInternals.h which contain a wrapper around all private functions, used by
1865         JSDOMWindowBase. The class is named JSBuiltinInternalFunctions.
1866         Renamed WebCoreJSClientData to JSVMClientData.
1867
1868         The remaining manual part for private functions is the pairing between private identifiers and
1869         the private JS functions within JSDOMWindowBase::finishCreation.
1870
1871         Covered by existing tests.
1872
1873         * CMakeLists.txt:
1874         * DerivedSources.make:
1875         * Modules/streams/ByteLengthQueuingStrategy.js:
1876         * Modules/streams/CountQueuingStrategy.js:
1877         * Modules/streams/ReadableStream.js:
1878         * Modules/streams/ReadableStreamInternals.js:
1879         * WebCore.order:
1880         * WebCore.vcxproj/WebCore.vcxproj:
1881         * WebCore.xcodeproj/project.pbxproj:
1882         * bindings/js/DOMWrapperWorld.cpp:
1883         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1884         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1885         (WebCore::normalWorld):
1886         * bindings/js/JSDOMWindowBase.cpp:
1887         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1888         (WebCore::JSDOMWindowBase::finishCreation):
1889         (WebCore::JSDOMWindowBase::visitChildren):
1890         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
1891         * bindings/js/JSDOMWindowBase.h:
1892         * bindings/js/ScriptController.cpp:
1893         (WebCore::ScriptController::getAllWorlds):
1894         * bindings/js/SerializedScriptValue.cpp:
1895         (WebCore::SerializedScriptValue::transferArrayBuffers):
1896         * bindings/js/WebCoreJSClientData.h:
1897         (WebCore::JSClientData::JSClientData):
1898         (WebCore::JSClientData::~JSClientData):
1899         (WebCore::JSClientData::builtinFunctions):
1900         (WebCore::initNormalWorldClientData):
1901         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Deleted.
1902         (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Deleted.
1903         (WebCore::WebCoreJSClientData::readableStreamBuiltins): Deleted.
1904         (WebCore::WebCoreJSClientData::readableStreamControllerBuiltins): Deleted.
1905         (WebCore::WebCoreJSClientData::readableStreamInternalsBuiltins): Deleted.
1906         (WebCore::WebCoreJSClientData::readableStreamReaderBuiltins): Deleted.
1907         (WebCore::WebCoreJSClientData::byteLengthQueuingStrategyBuiltins): Deleted.
1908         (WebCore::WebCoreJSClientData::countQueuingStrategyBuiltins): Deleted.
1909         * generate-js-builtins-allinone: Added.
1910         (retrieveGenerationParameters):
1911         (retrieveFilesWithParameters):
1912         (retrieveFilesWithParameters.FileInput):
1913         (writeConditional):
1914         (JSBuiltinFunctions):
1915         (Private):
1916         (JSBuiltinInternalFunctions):
1917         (copytempfile):
1918
1919 2015-10-08  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1920
1921         Binding generated JS constructors should use GlobalObject references
1922         https://bugs.webkit.org/show_bug.cgi?id=149872
1923
1924         Reviewed by Darin Adler.
1925
1926         Updated binding generator to generate JS DOM constructors code with JSDOMGlobalOBject references.
1927         Updated WebCore JS binding layer accordingly.
1928
1929         Covered by updated binding tests.
1930
1931         * bindings/js/DOMConstructorWithDocument.h:
1932         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
1933         (WebCore::DOMConstructorWithDocument::finishCreation):
1934         * bindings/js/JSDOMBinding.cpp:
1935         (WebCore::getCachedDOMStructure):
1936         (WebCore::cacheDOMStructure):
1937         * bindings/js/JSDOMBinding.h:
1938         (WebCore::DOMConstructorObject::DOMConstructorObject):
1939         (WebCore::DOMConstructorJSBuiltinObject::DOMConstructorJSBuiltinObject):
1940         (WebCore::getDOMStructure):
1941         (WebCore::deprecatedGetDOMStructure):
1942         (WebCore::getDOMPrototype):
1943         (WebCore::createJSBuiltin):
1944         (WebCore::createWrapper):
1945         * bindings/js/JSDOMConstructor.h:
1946         (WebCore::JSBuiltinConstructor::JSBuiltinConstructor):
1947         * bindings/js/JSDOMGlobalObject.h:
1948         (WebCore::getDOMConstructor):
1949         * bindings/js/JSDOMWindowCustom.cpp:
1950         (WebCore::JSDOMWindow::image):
1951         (WebCore::JSDOMWindow::touch):
1952         (WebCore::JSDOMWindow::touchList):
1953         * bindings/js/JSDOMWrapper.h:
1954         (WebCore::JSDOMWrapper::JSDOMWrapper):
1955         (WebCore::JSDOMWrapperWithImplementation::JSDOMWrapperWithImplementation):
1956         * bindings/js/JSImageConstructor.cpp:
1957         (WebCore::JSImageConstructor::JSImageConstructor):
1958         (WebCore::JSImageConstructor::finishCreation):
1959         * bindings/js/JSImageConstructor.h:
1960         (WebCore::JSImageConstructor::create):
1961         (WebCore::JSImageConstructor::createStructure):
1962         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
1963         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject):
1964         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject):
1965         * bindings/scripts/CodeGeneratorJS.pm:
1966         (GenerateHeader):
1967         (GenerateImplementation):
1968         (GenerateCallbackImplementation):
1969         (GenerateConstructorDeclaration):
1970         (GenerateConstructorHelperMethods):
1971         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1972         (WebCore::JSTestActiveDOMObjectConstructor::create):
1973         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
1974         (WebCore::JSTestActiveDOMObjectConstructor::JSTestActiveDOMObjectConstructor):
1975         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
1976         (WebCore::JSTestActiveDOMObject::JSTestActiveDOMObject):
1977         (WebCore::JSTestActiveDOMObject::getConstructor):
1978         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1979         (WebCore::JSTestActiveDOMObject::create):
1980         * bindings/scripts/test/JS/JSTestCallback.cpp:
1981         (WebCore::JSTestCallbackConstructor::create):
1982         (WebCore::JSTestCallbackConstructor::createStructure):
1983         (WebCore::JSTestCallbackConstructor::JSTestCallbackConstructor):
1984         (WebCore::JSTestCallback::getConstructor):
1985         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
1986         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
1987         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::createStructure):
1988         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::JSTestCustomConstructorWithNoInterfaceObjectConstructor):
1989         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
1990         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject):
1991         (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
1992         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
1993         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::create):
1994         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1995         (WebCore::JSTestCustomNamedGetterConstructor::create):
1996         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
1997         (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
1998         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
1999         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
2000         (WebCore::JSTestCustomNamedGetter::getConstructor):
2001         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2002         (WebCore::JSTestCustomNamedGetter::create):
2003         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2004         (WebCore::JSTestEventConstructorConstructor::create):
2005         (WebCore::JSTestEventConstructorConstructor::createStructure):
2006         (WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
2007         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2008         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
2009         (WebCore::JSTestEventConstructor::getConstructor):
2010         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2011         (WebCore::JSTestEventConstructor::create):
2012         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2013         (WebCore::JSTestEventTargetConstructor::create):
2014         (WebCore::JSTestEventTargetConstructor::createStructure):
2015         (WebCore::JSTestEventTargetConstructor::JSTestEventTargetConstructor):
2016         (WebCore::JSTestEventTargetConstructor::finishCreation):
2017         (WebCore::JSTestEventTarget::JSTestEventTarget):
2018         (WebCore::JSTestEventTarget::getConstructor):
2019         * bindings/scripts/test/JS/JSTestEventTarget.h:
2020         (WebCore::JSTestEventTarget::create):
2021         * bindings/scripts/test/JS/JSTestException.cpp:
2022         (WebCore::JSTestExceptionConstructor::create):
2023         (WebCore::JSTestExceptionConstructor::createStructure):
2024         (WebCore::JSTestExceptionConstructor::JSTestExceptionConstructor):
2025         (WebCore::JSTestExceptionConstructor::finishCreation):
2026         (WebCore::JSTestException::JSTestException):
2027         (WebCore::JSTestException::getConstructor):
2028         * bindings/scripts/test/JS/JSTestException.h:
2029         (WebCore::JSTestException::create):
2030         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2031         (WebCore::JSTestGenerateIsReachableConstructor::create):
2032         (WebCore::JSTestGenerateIsReachableConstructor::createStructure):
2033         (WebCore::JSTestGenerateIsReachableConstructor::JSTestGenerateIsReachableConstructor):
2034         (WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
2035         (WebCore::JSTestGenerateIsReachable::JSTestGenerateIsReachable):
2036         (WebCore::JSTestGenerateIsReachable::getConstructor):
2037         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
2038         (WebCore::JSTestGenerateIsReachable::create):
2039         * bindings/scripts/test/JS/JSTestInterface.cpp:
2040         (WebCore::JSTestInterfaceConstructor::create):
2041         (WebCore::JSTestInterfaceConstructor::createStructure):
2042         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
2043         (WebCore::JSTestInterfaceConstructor::finishCreation):
2044         (WebCore::JSTestInterface::JSTestInterface):
2045         (WebCore::JSTestInterface::getConstructor):
2046         * bindings/scripts/test/JS/JSTestInterface.h:
2047         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
2048         (WebCore::JSTestJSBuiltinConstructorConstructor::create):
2049         (WebCore::JSTestJSBuiltinConstructorConstructor::createStructure):
2050         (WebCore::JSTestJSBuiltinConstructorConstructor::JSTestJSBuiltinConstructorConstructor):
2051         (WebCore::JSTestJSBuiltinConstructorConstructor::finishCreation):
2052         (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
2053         (WebCore::JSTestJSBuiltinConstructor::getConstructor):
2054         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
2055         (WebCore::JSTestJSBuiltinConstructor::create):
2056         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2057         (WebCore::JSTestMediaQueryListListenerConstructor::create):
2058         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
2059         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
2060         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
2061         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
2062         (WebCore::JSTestMediaQueryListListener::getConstructor):
2063         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2064         (WebCore::JSTestMediaQueryListListener::create):
2065         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2066         (WebCore::JSTestNamedConstructorConstructor::create):
2067         (WebCore::JSTestNamedConstructorConstructor::createStructure):
2068         (WebCore::JSTestNamedConstructorNamedConstructor::create):
2069         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
2070         (WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
2071         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
2072         (WebCore::JSTestNamedConstructorNamedConstructor::JSTestNamedConstructorNamedConstructor):
2073         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
2074         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
2075         (WebCore::JSTestNamedConstructor::getConstructor):
2076         (WebCore::JSTestNamedConstructor::getNamedConstructor):
2077         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2078         (WebCore::JSTestNamedConstructor::create):
2079         * bindings/scripts/test/JS/JSTestNode.cpp:
2080         (WebCore::JSTestNodeConstructor::create):
2081         (WebCore::JSTestNodeConstructor::createStructure):
2082         (WebCore::JSTestNodeConstructor::JSTestNodeConstructor):
2083         (WebCore::JSTestNodeConstructor::finishCreation):
2084         (WebCore::JSTestNode::JSTestNode):
2085         (WebCore::JSTestNode::getConstructor):
2086         * bindings/scripts/test/JS/JSTestNode.h:
2087         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
2088         (WebCore::JSTestNondeterministicConstructor::create):
2089         (WebCore::JSTestNondeterministicConstructor::createStructure):
2090         (WebCore::JSTestNondeterministicConstructor::JSTestNondeterministicConstructor):
2091         (WebCore::JSTestNondeterministicConstructor::finishCreation):
2092         (WebCore::JSTestNondeterministic::JSTestNondeterministic):
2093         (WebCore::JSTestNondeterministic::getConstructor):
2094         * bindings/scripts/test/JS/JSTestNondeterministic.h:
2095         (WebCore::JSTestNondeterministic::create):
2096         * bindings/scripts/test/JS/JSTestObj.cpp:
2097         (WebCore::JSTestObjConstructor::create):
2098         (WebCore::JSTestObjConstructor::createStructure):
2099         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
2100         (WebCore::JSTestObjConstructor::finishCreation):
2101         (WebCore::JSTestObj::JSTestObj):
2102         (WebCore::JSTestObj::getConstructor):
2103         * bindings/scripts/test/JS/JSTestObj.h:
2104         (WebCore::JSTestObj::create):
2105         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2106         (WebCore::JSTestOverloadedConstructorsConstructor::create):
2107         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
2108         (WebCore::JSTestOverloadedConstructorsConstructor::JSTestOverloadedConstructorsConstructor):
2109         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
2110         (WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors):
2111         (WebCore::JSTestOverloadedConstructors::getConstructor):
2112         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2113         (WebCore::JSTestOverloadedConstructors::create):
2114         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
2115         (WebCore::JSTestOverrideBuiltinsConstructor::create):
2116         (WebCore::JSTestOverrideBuiltinsConstructor::createStructure):
2117         (WebCore::JSTestOverrideBuiltinsConstructor::JSTestOverrideBuiltinsConstructor):
2118         (WebCore::JSTestOverrideBuiltinsConstructor::finishCreation):
2119         (WebCore::JSTestOverrideBuiltins::JSTestOverrideBuiltins):
2120         (WebCore::JSTestOverrideBuiltins::getConstructor):
2121         * bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
2122         (WebCore::JSTestOverrideBuiltins::create):
2123         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2124         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
2125         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2126         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
2127         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
2128         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
2129         (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
2130         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2131         (WebCore::JSTestSerializedScriptValueInterface::create):
2132         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2133         (WebCore::JSTestTypedefsConstructor::create):
2134         (WebCore::JSTestTypedefsConstructor::createStructure):
2135         (WebCore::JSTestTypedefsConstructor::JSTestTypedefsConstructor):
2136         (WebCore::JSTestTypedefsConstructor::finishCreation):
2137         (WebCore::JSTestTypedefs::JSTestTypedefs):
2138         (WebCore::JSTestTypedefs::getConstructor):
2139         * bindings/scripts/test/JS/JSTestTypedefs.h:
2140         (WebCore::JSTestTypedefs::create):
2141         * bindings/scripts/test/JS/JSattribute.cpp:
2142         (WebCore::JSattributeConstructor::create):
2143         (WebCore::JSattributeConstructor::createStructure):
2144         (WebCore::JSattributeConstructor::JSattributeConstructor):
2145         (WebCore::JSattributeConstructor::finishCreation):
2146         (WebCore::JSattribute::JSattribute):
2147         (WebCore::JSattribute::getConstructor):
2148         * bindings/scripts/test/JS/JSattribute.h:
2149         (WebCore::JSattribute::create):
2150         * bindings/scripts/test/JS/JSreadonly.cpp:
2151         (WebCore::JSreadonlyConstructor::create):
2152         (WebCore::JSreadonlyConstructor::createStructure):
2153         (WebCore::JSreadonlyConstructor::JSreadonlyConstructor):
2154         (WebCore::JSreadonlyConstructor::finishCreation):
2155         (WebCore::JSreadonly::JSreadonly):
2156         (WebCore::JSreadonly::getConstructor):
2157         * bindings/scripts/test/JS/JSreadonly.h:
2158         (WebCore::JSreadonly::create):
2159
2160 2015-10-08  Philippe Normand  <pnormand@igalia.com>
2161
2162         WebRTC: Add event names needed by updated RTCPeerConnection
2163         https://bugs.webkit.org/show_bug.cgi?id=149875
2164
2165         Reviewed by Eric Carlson.
2166
2167         The track event name was recently added in the WebRTC spec. The
2168         icegatheringstatechange event has been part of the spec for a while but
2169         was not registered in our DOM events.
2170
2171         * dom/EventNames.h: Add track and icegatheringstatechange even names.
2172
2173 2015-10-07  Keith Rollin  <krollin@apple.com>
2174
2175         script.text shouldn't include text from non-direct children of the script element
2176         https://bugs.webkit.org/show_bug.cgi?id=148851
2177         <rdar://problem/22587759>
2178
2179         Reviewed by Chris Dumez.
2180
2181         Don't include text from non-direct children in script.text. Per:
2182         https://html.spec.whatwg.org/multipage/scripting.html#dom-script-text
2183         Chrome and Firefox behavior match the spec.
2184
2185         Test: fast/dom/script-subtext-in-script-elements.html
2186
2187         * dom/ScriptElement.cpp:
2188         (WebCore::ScriptElement::scriptContent):
2189
2190 2015-10-07  Chris Dumez  <cdumez@apple.com>
2191
2192         Partial revert of r187626 as it caused a PLT regression
2193         https://bugs.webkit.org/show_bug.cgi?id=149898
2194
2195         Reviewed by Myles C. Maxfield.
2196
2197         Do a partial revert of r187626 as it caused a regression on PLT.
2198
2199         * platform/graphics/FontCache.h:
2200         (WebCore::FontDescriptionKey::operator==):
2201         (WebCore::FontDescriptionKey::FontDescriptionKey): Deleted.
2202         (WebCore::FontDescriptionKey::computeHash): Deleted.
2203
2204 2015-10-07  Zalan Bujtas  <zalan@apple.com>
2205
2206         RenderObject::computeRectForRepaint/computeFloatRectForRepaint should return the computed rectangle.
2207         https://bugs.webkit.org/show_bug.cgi?id=149883
2208
2209         Reviewed by Simon Fraser.
2210
2211         Reduces code complexity at the calling sites.
2212  
2213         No change in functionality.
2214
2215         * rendering/RenderBox.cpp:
2216         (WebCore::RenderBox::clippedOverflowRectForRepaint):
2217         (WebCore::RenderBox::computeRectForRepaint):
2218         * rendering/RenderBox.h:
2219         * rendering/RenderInline.cpp:
2220         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2221         (WebCore::RenderInline::computeRectForRepaint):
2222         * rendering/RenderInline.h:
2223         * rendering/RenderListMarker.cpp:
2224         (WebCore::RenderListMarker::selectionRectForRepaint):
2225         * rendering/RenderObject.cpp:
2226         (WebCore::RenderObject::repaintRectangle):
2227         (WebCore::RenderObject::computeRectForRepaint):
2228         (WebCore::RenderObject::computeFloatRectForRepaint):
2229         * rendering/RenderObject.h:
2230         (WebCore::RenderObject::computeAbsoluteRepaintRect):
2231         * rendering/RenderReplaced.cpp:
2232         (WebCore::RenderReplaced::selectionRectForRepaint):
2233         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2234         * rendering/RenderTableCell.cpp:
2235         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2236         (WebCore::RenderTableCell::computeRectForRepaint):
2237         * rendering/RenderTableCell.h:
2238         * rendering/RenderText.cpp:
2239         (WebCore::RenderText::collectSelectionRectsForLineBoxes):
2240         * rendering/RenderView.cpp:
2241         (WebCore::RenderView::computeRectForRepaint):
2242         * rendering/RenderView.h:
2243         * rendering/svg/RenderSVGForeignObject.cpp:
2244         (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
2245         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
2246         * rendering/svg/RenderSVGForeignObject.h:
2247         * rendering/svg/RenderSVGInline.cpp:
2248         (WebCore::RenderSVGInline::computeFloatRectForRepaint):
2249         * rendering/svg/RenderSVGInline.h:
2250         * rendering/svg/RenderSVGModelObject.cpp:
2251         (WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
2252         * rendering/svg/RenderSVGModelObject.h:
2253         * rendering/svg/RenderSVGRoot.cpp:
2254         (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
2255         * rendering/svg/RenderSVGRoot.h:
2256         * rendering/svg/RenderSVGText.cpp:
2257         (WebCore::RenderSVGText::computeRectForRepaint):
2258         (WebCore::RenderSVGText::computeFloatRectForRepaint):
2259         * rendering/svg/RenderSVGText.h:
2260         * rendering/svg/SVGRenderSupport.cpp:
2261         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
2262         (WebCore::SVGRenderSupport::computeFloatRectForRepaint):
2263         * rendering/svg/SVGRenderSupport.h:
2264
2265 2015-10-07  Antti Koivisto  <antti@apple.com>
2266
2267         Implement :host pseudo class
2268         https://bugs.webkit.org/show_bug.cgi?id=149440
2269         rdar://problem/22731953
2270
2271         Reviewed by Ryosuke Niwa.
2272
2273         This implements the basic non-function :host syntax.
2274
2275         * css/CSSSelector.cpp:
2276         (WebCore::CSSSelector::selectorText):
2277         * css/CSSSelector.h:
2278         * css/ElementRuleCollector.cpp:
2279         (WebCore::ElementRuleCollector::matchAuthorRules):
2280         (WebCore::ElementRuleCollector::matchHostPseudoClassRules):
2281         (WebCore::ElementRuleCollector::matchUserRules):
2282         * css/ElementRuleCollector.h:
2283         * css/RuleSet.cpp:
2284         (WebCore::computeMatchBasedOnRuleHash):
2285         (WebCore::RuleSet::addRule):
2286         * css/RuleSet.h:
2287         (WebCore::RuleSet::cuePseudoRules):
2288         (WebCore::RuleSet::hostPseudoClassRules):
2289         (WebCore::RuleSet::focusPseudoClassRules):
2290         (WebCore::RuleSet::universalRules):
2291         * css/SelectorChecker.cpp:
2292         (WebCore::SelectorChecker::checkOne):
2293         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
2294         * cssjit/SelectorCompiler.cpp:
2295         (WebCore::SelectorCompiler::addPseudoClassType):
2296
2297 2015-10-07  Nan Wang  <n_wang@apple.com>
2298
2299         AX: ARIA 1.1 @aria-placeholder
2300         https://bugs.webkit.org/show_bug.cgi?id=148970
2301
2302         Reviewed by Chris Fleizach.
2303
2304         Added support for aria-placeholder attribute.
2305
2306         Modified accessibility/placeholder.html test.
2307
2308         * accessibility/AccessibilityObject.cpp:
2309         (WebCore::AccessibilityObject::placeholderValue):
2310         * html/HTMLAttributeNames.in:
2311
2312 2015-10-07  Commit Queue  <commit-queue@webkit.org>
2313
2314         Unreviewed, rolling out r190664.
2315         https://bugs.webkit.org/show_bug.cgi?id=149877
2316
2317         mac build is sometimes borken due to missing generated header
2318         file (Requested by youenn on #webkit).
2319
2320         Reverted changeset:
2321
2322         "Automate WebCore JS builtins generation and build system"
2323         https://bugs.webkit.org/show_bug.cgi?id=149751
2324         http://trac.webkit.org/changeset/190664
2325
2326 2015-10-06  Simon Fraser  <simon.fraser@apple.com>
2327
2328         will-change should trigger stacking context based purely on properties
2329         https://bugs.webkit.org/show_bug.cgi?id=148068
2330
2331         Reviewed by Zalan Bujtas.
2332
2333         Previously, our will-change implementation didn't trigger stacking context
2334         on an inline if the will-change property didn't apply to inlines (like 'transform').
2335         However, this doesn't agree with the CSS-WG consensus (https://lists.w3.org/Archives/Public/www-style/2015Sep/0112.html).
2336         
2337         Change behavior to have stacking context creation behavior for will-change be
2338         identical for inlines and blocks.
2339
2340         Test: fast/css/will-change/will-change-creates-stacking-context-inline.html
2341
2342         * rendering/RenderInline.cpp:
2343         (WebCore::inFlowPositionedInlineAncestor):
2344         * rendering/RenderInline.h:
2345         (WebCore::RenderInline::willChangeCreatesStackingContext):
2346         * rendering/style/WillChangeData.cpp:
2347         (WebCore::propertyCreatesStackingContext):
2348         (WebCore::WillChangeData::addFeature):
2349         (WebCore::propertyCreatesStackingContextOnBoxesOnly): Deleted.
2350         * rendering/style/WillChangeData.h:
2351         (WebCore::WillChangeData::canCreateStackingContextOnInline): Deleted.
2352
2353 2015-10-07  Javier Fernandez  <jfernandez@igalia.com>
2354
2355         [CSS Grid Layout] Modify grid item height doesn't work
2356         https://bugs.webkit.org/show_bug.cgi?id=149840
2357
2358         Reviewed by Sergio Villar Senin.
2359
2360         When computing the logical height of content-sized grid tracks we
2361         need to clear grid item's override height if it needs to be laid
2362         out again.
2363
2364         Currently we are doing so only in the case of percentage heights
2365         or when the grid track's width has changed; these situations would
2366         obviously mark grid items as needing layout.
2367
2368         However, there are other situations, like the one defined in this
2369         bug, which would imply a new layout of the grid items; hence we
2370         need to clear its override value if we want the layout logic to be
2371         computed correctly.
2372
2373         * rendering/RenderGrid.cpp:
2374         (WebCore::RenderGrid::logicalContentHeightForChild):
2375
2376 2015-10-07  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
2377
2378         Automate WebCore JS builtins generation and build system
2379         https://bugs.webkit.org/show_bug.cgi?id=149751
2380
2381         Reviewed by Darin Adler.
2382
2383         Adding annotations to JS files to know whether they should be under a compilation flag and
2384         whether they are JS internals or JS tied to WebIDL.
2385         If a file is said as JS internals, all function names are exported automatically.
2386         Added auto generation of WebCoreJSBuiltins.cpp
2387         Added auto generation of JSBuiltinFunctions class inside WebCoreJSBuiltins that takes the role of
2388         WebCoreJSClientData as wrapper for builtins. Renamed WebCoreJSClientData to JSClientData.
2389         Added auto generation of PrivateWebCoreJSBuiltins that is a wrapper around all private functions, used by
2390         JSDOMWindowBase. The class is named JSBuiltinInternalFunctions.
2391
2392         The remaining manual part for private functions is the pairing between private identifiers and
2393         the private JS functions within JSDOMWindowBase::finishCreation.
2394
2395         Covered by existing tests.
2396
2397         * CMakeLists.txt:
2398         * DerivedSources.make:
2399         * Modules/streams/ByteLengthQueuingStrategy.js:
2400         * Modules/streams/CountQueuingStrategy.js:
2401         * Modules/streams/ReadableStream.js:
2402         * Modules/streams/ReadableStreamInternals.js:
2403         * WebCore.order:
2404         * WebCore.vcxproj/WebCore.vcxproj:
2405         * WebCore.xcodeproj/project.pbxproj:
2406         * bindings/js/DOMWrapperWorld.cpp:
2407         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2408         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2409         (WebCore::normalWorld):
2410         * bindings/js/JSDOMWindowBase.cpp:
2411         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2412         (WebCore::JSDOMWindowBase::finishCreation):
2413         (WebCore::JSDOMWindowBase::visitChildren):
2414         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
2415         * bindings/js/JSDOMWindowBase.h:
2416         * bindings/js/ScriptController.cpp:
2417         (WebCore::ScriptController::getAllWorlds):
2418         * bindings/js/SerializedScriptValue.cpp:
2419         (WebCore::SerializedScriptValue::transferArrayBuffers):
2420         * bindings/js/WebCoreJSClientData.h:
2421         (WebCore::JSClientData::JSClientData):
2422         (WebCore::JSClientData::~JSClientData):
2423         (WebCore::JSClientData::builtinFunctions):
2424         (WebCore::initNormalWorldClientData):
2425         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Deleted.
2426         (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Deleted.
2427         (WebCore::WebCoreJSClientData::readableStreamBuiltins): Deleted.
2428         (WebCore::WebCoreJSClientData::readableStreamControllerBuiltins): Deleted.
2429         (WebCore::WebCoreJSClientData::readableStreamInternalsBuiltins): Deleted.
2430         (WebCore::WebCoreJSClientData::readableStreamReaderBuiltins): Deleted.
2431         (WebCore::WebCoreJSClientData::byteLengthQueuingStrategyBuiltins): Deleted.
2432         (WebCore::WebCoreJSClientData::countQueuingStrategyBuiltins): Deleted.
2433         * generate-js-builtins-allinone: Added.
2434         (retrieveGenerationParameters):
2435         (retrieveFilesWithParameters):
2436         (retrieveFilesWithParameters.FileInput):
2437         (writeConditional):
2438         (JSBuiltinFunctions):
2439         (Private):
2440         (JSBuiltinInternalFunctions):
2441         (copytempfile):
2442
2443 2015-10-05  Sergio Villar Senin  <svillar@igalia.com>
2444
2445         [css-grid] Implement grid gutters
2446         https://bugs.webkit.org/show_bug.cgi?id=149800
2447
2448         Reviewed by Darin Adler.
2449
2450         Authors can now specify the gutters between grid lines, i.e.,
2451         the space between two consecutive grid lines. This can be done
2452         using the new '-webkit-grid-column-gap 'and
2453         '-webkit-grid-row-gap' properties (or the '-webkit-grid-gap'
2454         shorthand).
2455
2456         From the track sizing algorithm POV, gutters are treated as
2457         fixed size columns. The primary consequence is that grids are
2458         enlarged (depending on the number of tracks). Gutters also
2459         affect the sizing of content-sized tracks and fr tracks as
2460         long as the grid have spanning items. Those tracks will become
2461         smaller as gutters will consume part of the item's size, so
2462         the tracks won't need to grow as much as they used to.
2463
2464         Tests: fast/css-grid-layout/grid-gutters-and-alignment.html
2465                fast/css-grid-layout/grid-gutters-and-flex-content.html
2466                fast/css-grid-layout/grid-gutters-and-tracks.html
2467                fast/css-grid-layout/grid-gutters-get-set.html
2468
2469         * css/CSSComputedStyleDeclaration.cpp:
2470         (WebCore::valueForGridTrackList):
2471         (WebCore::ComputedStyleExtractor::propertyValue):
2472         * css/CSSParser.cpp:
2473         (WebCore::isSimpleLengthPropertyID):
2474         (WebCore::CSSParser::parseValue):
2475         (WebCore::CSSParser::parseGridGapShorthand):
2476         * css/CSSParser.h:
2477         * css/CSSPropertyNames.in:
2478         * rendering/RenderGrid.cpp:
2479         (WebCore::RenderGrid::guttersSize):
2480         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
2481         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
2482         (WebCore::RenderGrid::layoutGridItems):
2483         (WebCore::RenderGrid::gridAreaBreadthForChild):
2484         (WebCore::RenderGrid::populateGridPositions):
2485         (WebCore::RenderGrid::columnAxisOffsetForChild):
2486         (WebCore::RenderGrid::rowAxisOffsetForChild):
2487         * rendering/RenderGrid.h:
2488         * rendering/style/RenderStyle.h:
2489         * rendering/style/StyleGridData.cpp:
2490         (WebCore::StyleGridData::StyleGridData):
2491         * rendering/style/StyleGridData.h:
2492         (WebCore::StyleGridData::operator==):
2493
2494 2015-10-07  ChangSeok Oh  <changseok.oh@collabora.com>
2495
2496         [GTK] Progress bar is broken on recent GTK+
2497         https://bugs.webkit.org/show_bug.cgi?id=149831
2498
2499         Reviewed by Carlos Garcia Campos.
2500
2501         The gtk progress bar has been broken after bumping up to Gtk+-3.16. This is because
2502         the way of rendering progress bar changed after gtk+-3.13.7. See more
2503         https://mail.gnome.org/archives/commits-list/2014-August/msg03865.html
2504         gtk_render_activity is no longer valid to paint a progress bar on a newer gtk+.
2505         It should be done with gtk_render_background and gtk_render_frame.
2506
2507         Test: fast/dom/HTMLProgressElement/native-progress-bar.html
2508
2509         * rendering/RenderThemeGtk.cpp:
2510         (WebCore::RenderThemeGtk::paintProgressBar):
2511
2512 2015-10-06  Michael Catanzaro  <mcatanzaro@igalia.com>
2513
2514         [GTK] Add autocleanups
2515         https://bugs.webkit.org/show_bug.cgi?id=149588
2516
2517         Reviewed by Darin Adler.
2518
2519         * PlatformGTK.cmake:
2520         * bindings/scripts/gobject-generate-headers.pl:
2521
2522 2015-10-06  Zalan Bujtas  <zalan@apple.com>
2523
2524         Paint artifacts when hovering on http://jsfiddle.net/Sherbrow/T87Mn/
2525         https://bugs.webkit.org/show_bug.cgi?id=149535
2526         rdar://problem/22874920
2527
2528         Reviewed by Simon Fraser.
2529
2530         When due to some style change, a renderer's self-painting layer is getting destroyed 
2531         and the parent's overflow is no longer set to visible, we don't clean up the overflow part.
2532
2533         When a renderer has a self-painting layer, the parent stops tracking the child's 
2534         visual overflow rect. All overflow painting is delegated to the self-painting layer.
2535         However when this layer gets destroyed, no-one issues repaint to clean up
2536         the overflow bits.
2537         This patch ensures that we issue a repaint when the self-painting layer is destroyed
2538         and the triggering style change requires full repaint.
2539
2540         Test: fast/repaint/overflow-hidden-with-self-painting-child-layer.html
2541
2542         * rendering/RenderLayer.h:
2543         * rendering/RenderLayerModelObject.cpp:
2544         (WebCore::RenderLayerModelObject::styleDidChange):
2545
2546 2015-10-06  Jer Noble  <jer.noble@apple.com>
2547
2548         [Mac] REGRESSION(r173318): Seeks never complete for media loaded with QTKit.
2549         https://bugs.webkit.org/show_bug.cgi?id=149845
2550
2551         Reviewed by Darin Adler.
2552
2553         When converting from time-as-double to MediaTime, a regression was introduced
2554         when checking whether m_seekTo was set to a valid value or not. The clause
2555         `time != -1` should be translated to `time.isValid()`, not `!time.isValid()`.
2556
2557         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2558         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
2559
2560 2015-10-06  Brady Eidson  <beidson@apple.com>
2561
2562         Rename IDBRequestIdentifier to IDBResourceIdentifier.
2563         https://bugs.webkit.org/show_bug.cgi?id=149861
2564
2565         Reviewed by Alex Christensen.
2566
2567         No new tests (No change in behavior).
2568
2569         Turns out having an object representing a (connection ID + unique ID pair) is useful for more than just IDBRequests.
2570
2571         * CMakeLists.txt:
2572         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2573         (WebCore::IDBClient::IDBConnectionToServer::deleteDatabase):
2574         (WebCore::IDBClient::IDBConnectionToServer::openDatabase):
2575         * Modules/indexeddb/client/IDBConnectionToServer.h:
2576         * Modules/indexeddb/client/IDBRequestImpl.cpp:
2577         (WebCore::IDBClient::IDBRequest::IDBRequest):
2578         * Modules/indexeddb/client/IDBRequestImpl.h:
2579         (WebCore::IDBClient::IDBRequest::resourceIdentifier):
2580         (WebCore::IDBClient::IDBRequest::requestIdentifier): Deleted.
2581         * Modules/indexeddb/shared/IDBRequestData.h:
2582         (WebCore::IDBRequestData::requestIdentifier):
2583         * Modules/indexeddb/shared/IDBResourceIdentifier.cpp: Renamed from Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.cpp.
2584         (WebCore::nextResourceNumber):
2585         (WebCore::IDBResourceIdentifier::IDBResourceIdentifier):
2586         (WebCore::IDBResourceIdentifier::emptyValue):
2587         (WebCore::IDBResourceIdentifier::deletedValue):
2588         (WebCore::IDBResourceIdentifier::isHashTableDeletedValue):
2589         * Modules/indexeddb/shared/IDBResourceIdentifier.h: Renamed from Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h.
2590         (WebCore::IDBResourceIdentifier::isEmpty):
2591         (WebCore::IDBResourceIdentifier::hash):
2592         (WebCore::IDBResourceIdentifier::operator==):
2593         (WebCore::IDBResourceIdentifier::connectionIdentifier):
2594         (WebCore::IDBResourceIdentifierHash::hash):
2595         (WebCore::IDBResourceIdentifierHash::equal):
2596         (WebCore::IDBResourceIdentifierHashTraits::emptyValue):
2597         (WebCore::IDBResourceIdentifierHashTraits::isEmptyValue):
2598         (WebCore::IDBResourceIdentifierHashTraits::constructDeletedValue):
2599         (WebCore::IDBResourceIdentifierHashTraits::isDeletedValue):
2600         * Modules/indexeddb/shared/IDBResultData.cpp:
2601         (WebCore::IDBResultData::IDBResultData):
2602         * Modules/indexeddb/shared/IDBResultData.h:
2603         (WebCore::IDBResultData::requestIdentifier):
2604         * WebCore.xcodeproj/project.pbxproj:
2605
2606 2015-10-06  Nan Wang  <n_wang@apple.com>
2607
2608         AX: ARIA 1.1: aria-orientation now defaults to undefined, supported on more elements, and role-specific defaults are defined.
2609         https://bugs.webkit.org/show_bug.cgi?id=132177
2610
2611         Reviewed by Chris Fleizach.
2612
2613         Added role-specific defaults and changed general default to undefined.
2614         Also added more elements to support aria-orientation on Mac.
2615
2616         Test: accessibility/mac/aria-orientation.html
2617
2618         * accessibility/AccessibilityObject.cpp:
2619         (WebCore::AccessibilityObject::orientation):
2620         (WebCore::AccessibilityObject::isDescendantOfObject):
2621         * accessibility/AccessibilityObject.h:
2622         (WebCore::AccessibilityObject::isColorWell):
2623         (WebCore::AccessibilityObject::isSplitter):
2624         (WebCore::AccessibilityObject::isToolbar):
2625         (WebCore::AccessibilityObject::isChecked):
2626         (WebCore::AccessibilityObject::isEnabled):
2627         * accessibility/AccessibilityRenderObject.cpp:
2628         (WebCore::AccessibilityRenderObject::orientation):
2629         * accessibility/AccessibilityScrollView.cpp:
2630         (WebCore::AccessibilityScrollView::scrollBar):
2631         * accessibility/AccessibilityScrollbar.cpp:
2632         (WebCore::AccessibilityScrollbar::orientation):
2633         (WebCore::AccessibilityScrollbar::isEnabled):
2634         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2635         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2636         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2637
2638 2015-10-06  Per Arne Vollan  <peavo@outlook.com>
2639
2640         [WinCairo] GStreamer compile errors.
2641         https://bugs.webkit.org/show_bug.cgi?id=149839
2642
2643         Reviewed by Alex Christensen.
2644
2645         Help MSVC to resolve ambiguous calls.
2646
2647         * platform/graphics/MediaPlayer.h:
2648         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2649         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
2650         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
2651         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
2652         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2653         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
2654         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
2655         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
2656         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
2657         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
2658         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
2659         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
2660         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2661         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
2662         (WebCore::MediaPlayerPrivateGStreamerBase::networkState):
2663         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
2664         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2665         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
2666         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
2667         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):
2668         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2669         (webkitVideoSinkRender):
2670         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2671         (webKitWebSrcChangeState):
2672         (webKitWebSrcNeedDataCb):
2673         (webKitWebSrcEnoughDataMainCb):
2674         (webKitWebSrcEnoughDataCb):
2675         (webKitWebSrcSeekMainCb):
2676         (webKitWebSrcSeekDataCb):
2677
2678 2015-10-06  Chris Dumez  <cdumez@apple.com>
2679
2680         Refactor TokenPreloadScanner::StartTagScanner::processAttribute()
2681         https://bugs.webkit.org/show_bug.cgi?id=149847
2682
2683         Reviewed by Antti Koivisto.
2684
2685         Refactor TokenPreloadScanner::StartTagScanner::processAttribute() to only
2686         process attributes that make sense given the current tagId. In particular,
2687         - We only process the charset parameter if the tag is a link or a script.
2688         - We only process the sizes / srcset attributes if the tag is an img.
2689
2690         * html/parser/HTMLPreloadScanner.cpp:
2691         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
2692         (WebCore::TokenPreloadScanner::StartTagScanner::setUrlToLoad): Deleted.
2693
2694 2015-10-06  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2695
2696         Binding generator XXConstructor::finishCreation should take references as parameters
2697         https://bugs.webkit.org/show_bug.cgi?id=149838
2698
2699         Reviewed by Darin Adler.
2700
2701         Updated the binding generator so that XXConstructor::finishCreation
2702         takes a JSDOMGlobalObject& in lieu of a JSDOMGlobalObject*.
2703
2704         Covered by rebased binding tests.
2705
2706         * bindings/scripts/CodeGeneratorJS.pm:
2707         (GenerateConstructorDeclaration):
2708         (GenerateConstructorHelperMethods):
2709         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2710         (WebCore::JSTestActiveDOMObjectConstructor::create):
2711         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
2712         * bindings/scripts/test/JS/JSTestCallback.cpp:
2713         (WebCore::JSTestCallbackConstructor::create):
2714         (WebCore::JSTestCallbackConstructor::finishCreation):
2715         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
2716         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
2717         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
2718         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2719         (WebCore::JSTestCustomNamedGetterConstructor::create):
2720         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
2721         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2722         (WebCore::JSTestEventConstructorConstructor::create):
2723         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2724         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2725         (WebCore::JSTestEventTargetConstructor::create):
2726         (WebCore::JSTestEventTargetConstructor::finishCreation):
2727         * bindings/scripts/test/JS/JSTestException.cpp:
2728         (WebCore::JSTestExceptionConstructor::create):
2729         (WebCore::JSTestExceptionConstructor::finishCreation):
2730         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2731         (WebCore::JSTestGenerateIsReachableConstructor::create):
2732         (WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
2733         * bindings/scripts/test/JS/JSTestInterface.cpp:
2734         (WebCore::JSTestInterfaceConstructor::create):
2735         (WebCore::JSTestInterfaceConstructor::finishCreation):
2736         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
2737         (WebCore::JSTestJSBuiltinConstructorConstructor::create):
2738         (WebCore::JSTestJSBuiltinConstructorConstructor::finishCreation):
2739         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2740         (WebCore::JSTestMediaQueryListListenerConstructor::create):
2741         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
2742         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2743         (WebCore::JSTestNamedConstructorConstructor::create):
2744         (WebCore::JSTestNamedConstructorNamedConstructor::create):
2745         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
2746         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
2747         * bindings/scripts/test/JS/JSTestNode.cpp:
2748         (WebCore::JSTestNodeConstructor::create):
2749         (WebCore::JSTestNodeConstructor::finishCreation):
2750         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
2751         (WebCore::JSTestNondeterministicConstructor::create):
2752         (WebCore::JSTestNondeterministicConstructor::finishCreation):
2753         * bindings/scripts/test/JS/JSTestObj.cpp:
2754         (WebCore::JSTestObjConstructor::create):
2755         (WebCore::JSTestObjConstructor::finishCreation):
2756         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2757         (WebCore::JSTestOverloadedConstructorsConstructor::create):
2758         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
2759         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
2760         (WebCore::JSTestOverrideBuiltinsConstructor::create):
2761         (WebCore::JSTestOverrideBuiltinsConstructor::finishCreation):
2762         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2763         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
2764         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
2765         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2766         (WebCore::JSTestTypedefsConstructor::create):
2767         (WebCore::JSTestTypedefsConstructor::finishCreation):
2768         * bindings/scripts/test/JS/JSattribute.cpp:
2769         (WebCore::JSattributeConstructor::create):
2770         (WebCore::JSattributeConstructor::finishCreation):
2771         * bindings/scripts/test/JS/JSreadonly.cpp:
2772         (WebCore::JSreadonlyConstructor::create):
2773         (WebCore::JSreadonlyConstructor::finishCreation):
2774
2775 2015-10-06  Jiewen Tan  <jiewen_tan@apple.com>
2776
2777         Fix crash in ApplyStyleCommand::applyRelativeFontStyleChange()
2778         https://bugs.webkit.org/show_bug.cgi?id=149300
2779         <rdar://problem/22747046>
2780
2781         Reviewed by Chris Dumez.
2782
2783         This is a merge of Blink r167845 and r194944:
2784         https://codereview.chromium.org/177093016
2785         https://codereview.chromium.org/1124863003
2786
2787         Test: editing/style/apply-style-crash2.html
2788               editing/style/apply-style-crash3.html
2789
2790         * editing/ApplyStyleCommand.cpp:
2791         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2792         The issue was that we would traverse the DOM tree past the beyondEnd 
2793         under some circumstances and thus NodeTraversal::next() would return 
2794         null unexpectedly. This CL adds a check to make sure startNode != beyondEnd 
2795         before traversing to avoid the problem.
2796
2797         Besides that, this CL hardens changing font style over unknown elements.
2798         When adjusting the start node position of where to apply a font style
2799         command, check that we haven't stepped off the end.
2800
2801         This CL also adds a few more assertions to catch similar issues 
2802         more easily in the future.
2803
2804 2015-10-06  Javier Fernandez  <jfernandez@igalia.com>
2805
2806         [CSS Grid Layout] Don't need to reset auto-margins during grid items layout
2807         https://bugs.webkit.org/show_bug.cgi?id=149764
2808
2809         Reviewed by Darin Adler.
2810
2811         This patch implements a refactoring of the auto-margin alignment code for grid
2812         items so it uses start/end and before/after margin logic terms.
2813
2814         I addition, it avoids resetting the auto-margin values, which requires an extra
2815         layout, before applying the alignment logic.
2816
2817         No new tests because there is no behavior change.
2818
2819         * rendering/RenderGrid.cpp:
2820         (WebCore::RenderGrid::computeMarginLogicalHeightForChild): Computing margins if child needs layout.
2821         (WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching):
2822         (WebCore::RenderGrid::updateAutoMarginsInRowAxisIfNeeded): Using start/end logical margins.
2823         (WebCore::RenderGrid::updateAutoMarginsInColumnAxisIfNeeded): Using before/after logical margins.
2824         (WebCore::RenderGrid::columnAxisOffsetForChild): Just added comment.
2825         (WebCore::RenderGrid::rowAxisOffsetForChild): Just added comment.
2826
2827 2015-10-06  Tim Horton  <timothy_horton@apple.com>
2828
2829         Tile map shows a green rect when threaded scrolling is disabled
2830         https://bugs.webkit.org/show_bug.cgi?id=149716
2831
2832         Reviewed by Darin Adler.
2833
2834         Green is supposed to indicate that we're using the fast path; if threaded
2835         scrolling is disabled, we're definitely not doing that.
2836
2837         * platform/graphics/TiledBacking.h:
2838         * platform/graphics/ca/TileController.cpp:
2839         (WebCore::TileController::TileController):
2840         * platform/graphics/ca/TileCoverageMap.cpp:
2841         (WebCore::TileCoverageMap::update):
2842         Default to the "we have no ScrollingCoordinator" purple indication;
2843         if a ScrollingCoordinator comes along it will setScrollingModeIndication
2844         and change it from this default.
2845
2846 2015-10-06  Zalan Bujtas  <zalan@apple.com>
2847
2848         Remove redundant isComposited() function and replace
2849         hasLayer() && layer()->isComposited() with RenderObject::isComposited().
2850         https://bugs.webkit.org/show_bug.cgi?id=149846
2851
2852         Reviewed by Simon Fraser.
2853
2854         No change in functionality.
2855
2856         * rendering/RenderLayerCompositor.cpp:
2857         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
2858         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
2859         * rendering/RenderObject.cpp:
2860         (WebCore::RenderObject::repaintUsingContainer):
2861         * rendering/RenderThemeMac.mm:
2862         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
2863         * rendering/RenderView.cpp:
2864         (WebCore::rendererObscuresBackground):
2865         (WebCore::isComposited): Deleted.
2866         * rendering/RenderWidget.cpp:
2867         (WebCore::RenderWidget::setWidgetGeometry):
2868
2869 2015-10-06  Commit Queue  <commit-queue@webkit.org>
2870
2871         Unreviewed, rolling out r190619.
2872         https://bugs.webkit.org/show_bug.cgi?id=149849
2873
2874         borke the binding tests on iOS at least (Requested by youenn
2875         on #webkit).
2876
2877         Reverted changeset:
2878
2879         "Binding generator XXConstructor::finishCreation should take
2880         references as parameters"
2881         https://bugs.webkit.org/show_bug.cgi?id=149838
2882         http://trac.webkit.org/changeset/190619
2883
2884 2015-10-05  Wenson Hsieh  <wenson_hsieh@apple.com>
2885
2886         Slider knobs should scale when rendering while zoomed
2887         https://bugs.webkit.org/show_bug.cgi?id=149835
2888         <rdar://problem/22897080>
2889
2890         Reviewed by Darin Adler.
2891
2892         Make slider knobs follow suit with the rest of the unscaled form controls
2893         by rendering to an offscreen buffer when the page is zoomed or scaled and
2894         then rendering a scaled version of the offscreen buffer onto the page.
2895
2896         * platform/mac/ThemeMac.mm:
2897         (WebCore::drawCellOrFocusRingIntoRectWithView): Helper function for drawing
2898             cells and/or focus rings.
2899         (WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext): Refactored to
2900             handle drawing slider knobs as well.
2901         * rendering/RenderThemeMac.mm:
2902         (WebCore::RenderThemeMac::paintSliderThumb): Use scaled rendering when necessary.
2903
2904 2015-10-06  Chris Dumez  <cdumez@apple.com>
2905
2906         [Web IDL] 'length' property is wrong for variadic operations
2907         https://bugs.webkit.org/show_bug.cgi?id=149714
2908
2909         Reviewed by Darin Adler.
2910
2911         The value of the 'length' property was wrong for variadic operations:
2912         - https://heycam.github.io/webidl/#dfn-optional-argument
2913
2914         The final argument of a variadic operation is considered to be an
2915         optional argument. Therefore, we should not account for it when
2916         computing the value of the 'length' property. This patch fixes WebKit's
2917         behavior to match the specification.
2918
2919         Test: fast/dom/variadic-operations-length.html
2920
2921         * bindings/scripts/CodeGeneratorJS.pm:
2922         (GetFunctionLength):
2923         * bindings/scripts/test/JS/JSTestObj.cpp:
2924         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2925         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
2926
2927 2015-10-06  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2928
2929         Binding generator should add builtin header for JSBuiltin attributes
2930         https://bugs.webkit.org/show_bug.cgi?id=149837
2931
2932         Reviewed by Darin Adler.
2933
2934         Ensured XXBuiltins.h header is included for builtin attributes.
2935         Renamed AddIncludesForJSBuiltinMethods as AddJSBuiltinIncludesIfNeeded.
2936         Test loop is done through all functions and attributes to handle conditional correctly.
2937
2938         Covered by existing and added binding tests.
2939
2940         * bindings/scripts/CodeGeneratorJS.pm:
2941         (GenerateImplementation):
2942         (AddJSBuiltinIncludesIfNeeded):
2943         * bindings/scripts/test/JS/JSTestObj.cpp:
2944         * bindings/scripts/test/ObjC/DOMTestObj.h:
2945         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2946         * bindings/scripts/test/TestObj.idl:
2947
2948 2015-10-06  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2949
2950         Binding generator XXConstructor::finishCreation should take references as parameters
2951         https://bugs.webkit.org/show_bug.cgi?id=149838
2952
2953         Reviewed by Darin Adler.
2954
2955         Updated the binding generator so that XXConstructor::finishCreation
2956         takes a JSDOMGlobalObject& in lieu of a JSDOMGlobalObject*.
2957
2958         Covered by rebased binding tests.
2959
2960         * bindings/scripts/CodeGeneratorJS.pm:
2961         (GenerateConstructorDeclaration):
2962         (GenerateConstructorHelperMethods):
2963         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2964         (WebCore::JSTestActiveDOMObjectConstructor::create):
2965         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
2966         * bindings/scripts/test/JS/JSTestCallback.cpp:
2967         (WebCore::JSTestCallbackConstructor::create):
2968         (WebCore::JSTestCallbackConstructor::finishCreation):
2969         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
2970         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
2971         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
2972         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2973         (WebCore::JSTestCustomNamedGetterConstructor::create):
2974         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
2975         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2976         (WebCore::JSTestEventConstructorConstructor::create):
2977         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2978         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2979         (WebCore::JSTestEventTargetConstructor::create):
2980         (WebCore::JSTestEventTargetConstructor::finishCreation):
2981         * bindings/scripts/test/JS/JSTestException.cpp:
2982         (WebCore::JSTestExceptionConstructor::create):
2983         (WebCore::JSTestExceptionConstructor::finishCreation):
2984         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2985         (WebCore::JSTestGenerateIsReachableConstructor::create):
2986         (WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
2987         * bindings/scripts/test/JS/JSTestInterface.cpp:
2988         (WebCore::JSTestInterfaceConstructor::create):
2989         (WebCore::JSTestInterfaceConstructor::finishCreation):
2990         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
2991         (WebCore::JSTestJSBuiltinConstructorConstructor::create):
2992         (WebCore::JSTestJSBuiltinConstructorConstructor::finishCreation):
2993         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2994         (WebCore::JSTestMediaQueryListListenerConstructor::create):
2995         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
2996         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2997         (WebCore::JSTestNamedConstructorConstructor::create):
2998         (WebCore::JSTestNamedConstructorNamedConstructor::create):
2999         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
3000         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
3001         * bindings/scripts/test/JS/JSTestNode.cpp:
3002         (WebCore::JSTestNodeConstructor::create):
3003         (WebCore::JSTestNodeConstructor::finishCreation):
3004         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
3005         (WebCore::JSTestNondeterministicConstructor::create):
3006         (WebCore::JSTestNondeterministicConstructor::finishCreation):
3007         * bindings/scripts/test/JS/JSTestObj.cpp:
3008         (WebCore::JSTestObjConstructor::create):
3009         (WebCore::JSTestObjConstructor::finishCreation):
3010         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3011         (WebCore::JSTestOverloadedConstructorsConstructor::create):
3012         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
3013         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
3014         (WebCore::JSTestOverrideBuiltinsConstructor::create):
3015         (WebCore::JSTestOverrideBuiltinsConstructor::finishCreation):
3016         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3017         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
3018         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
3019         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3020         (WebCore::JSTestTypedefsConstructor::create):
3021         (WebCore::JSTestTypedefsConstructor::finishCreation):
3022         * bindings/scripts/test/JS/JSattribute.cpp:
3023         (WebCore::JSattributeConstructor::create):
3024         (WebCore::JSattributeConstructor::finishCreation):
3025         * bindings/scripts/test/JS/JSreadonly.cpp:
3026         (WebCore::JSreadonlyConstructor::create):
3027         (WebCore::JSreadonlyConstructor::finishCreation):
3028
3029 2015-10-06  Hunseop Jeong  <hs85.jeong@samsung.com>
3030
3031         [Cairo] fast/canvas/canvas-imageSmoothingFoo tests failed after r190383.
3032         https://bugs.webkit.org/show_bug.cgi?id=149752
3033
3034         Reviewed by Carlos Garcia Campos.
3035
3036         CG's low interpolation quality setting is equivalent to most other browsers default or high settings.
3037
3038         * html/canvas/CanvasRenderingContext2D.cpp:
3039         (WebCore::CanvasRenderingContext2D::State::State):
3040
3041 2015-10-06  Daniel Bates  <dbates@webkit.org>
3042
3043         Enable XSLT when building WebKit for iOS using the public iOS SDK
3044         https://bugs.webkit.org/show_bug.cgi?id=149827
3045
3046         Reviewed by Alexey Proskuryakov.
3047
3048         * Configurations/FeatureDefines.xcconfig:
3049
3050 2015-10-06  Brent Fulgham  <bfulgham@apple.com>
3051
3052         [Win] Correct positioning error introduced in r190235
3053         https://bugs.webkit.org/show_bug.cgi?id=149631
3054         <rdar://problem/22635080>
3055
3056         Reviewed by Simon Fraser.
3057
3058         Covered by existing compositing tests:
3059           css3/filters/clipping-overflow-scroll-with-pixel-moving-effect-on.html
3060           fast/layers/no-clipping-overflow-hidden-added-after-transform.html
3061           fast/layers/no-clipping-overflow-hidden-added-after-transition.html
3062           fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html
3063           transforms/2d/preserve3d-not-fixed-container.html
3064
3065         * platform/graphics/ca/TileGrid.cpp:
3066         (TileGrid::platformCALayerPaintContents): No need to do this extra flipping step
3067         on Windows.
3068         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3069         (PlatformCALayerWinInternal::displayCallback): We should always flip the
3070         coordinate system when drawing these layers on Windows.
3071         (shouldInvertBeforeDrawingContent): Deleted.
3072         * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp:
3073         (WebTiledBackingLayerWin::displayCallback): We do not need to flip coordinates
3074         for these tiled layers; that's already accounted for in common tile drawing code.
3075
3076 2015-10-06  Emanuele Aina  <emanuele.aina@collabora.com>
3077
3078         Fix ENABLE_OPENGL=OFF builds
3079         https://bugs.webkit.org/show_bug.cgi?id=146511
3080
3081         Reviewed by Darin Adler.
3082
3083         * platform/graphics/texmap/BitmapTextureGL.h:
3084         * platform/graphics/texmap/BitmapTextureGL.cpp:
3085         * platform/graphics/texmap/TextureMapperGL.h:
3086         * platform/graphics/texmap/TextureMapperGL.cpp:
3087         * platform/graphics/texmap/TextureMapperShaderProgram.h:
3088         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
3089         Fix TEXTURE_MAPPER_GL vs. TEXTURE_MAPPER guards to make sure that
3090         ENABLE_OPENGL=OFF only disables the GL-related parts.
3091
3092 2015-10-06  Alex Christensen  <achristensen@webkit.org>
3093
3094         Fix Windows build after r190611.
3095
3096         * PlatformWin.cmake:
3097         Forward headers from contentextensions.
3098
3099 2015-10-06  Hunseop Jeong  <hs85.jeong@samsung.com>
3100
3101         Use modern for-loops in WebCore/html.
3102         https://bugs.webkit.org/show_bug.cgi?id=149662
3103
3104         Reviewed by Darin Adler.
3105
3106         No new tests because there is no behavior change.
3107
3108         * html/DOMFormData.cpp:
3109         (WebCore::DOMFormData::DOMFormData):
3110         * html/EmailInputType.cpp:
3111         (WebCore::EmailInputType::typeMismatchFor):
3112         * html/FileInputType.cpp:
3113         (WebCore::FileInputType::receiveDroppedFiles):
3114         * html/FormController.cpp:
3115         (WebCore::FormControlState::serializeTo):
3116         (WebCore::FormControlState::deserialize):
3117         (WebCore::SavedFormState::serializeTo):
3118         (WebCore::SavedFormState::getReferencedFilePaths):
3119         (WebCore::FormController::createSavedFormStateMap):
3120         (WebCore::FormController::formElementsState):
3121         (WebCore::FormController::restoreControlStateIn):
3122         (WebCore::FormController::getReferencedFilePaths):
3123         * html/HTMLAnchorElement.cpp:
3124         (WebCore::hasNonEmptyBox):
3125         * html/HTMLCanvasElement.cpp:
3126         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
3127         (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
3128         (WebCore::HTMLCanvasElement::reset):
3129         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
3130         * html/HTMLFieldSetElement.cpp:
3131         (WebCore::HTMLFieldSetElement::length):
3132         * html/HTMLFormControlsCollection.cpp:
3133         (WebCore::firstNamedItem):
3134         * html/HTMLFormElement.cpp:
3135         (WebCore::HTMLFormElement::~HTMLFormElement):
3136         (WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
3137         (WebCore::HTMLFormElement::removedFrom):
3138         (WebCore::HTMLFormElement::length):
3139         (WebCore::HTMLFormElement::submitImplicitly):
3140         (WebCore::HTMLFormElement::validateInteractively):
3141         (WebCore::HTMLFormElement::getTextFieldValues):
3142         (WebCore::HTMLFormElement::submit):
3143         (WebCore::HTMLFormElement::reset):
3144         (WebCore::HTMLFormElement::defaultButton):
3145         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
3146         (WebCore::HTMLFormElement::removeFromPastNamesMap):
3147         (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
3148         * html/HTMLInputElement.cpp:
3149         (WebCore::parseAcceptAttribute):
3150         * html/HTMLKeygenElement.cpp:
3151         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3152         * html/HTMLMediaElement.cpp:
3153         (WebCore::HTMLMediaElement::setMediaGroup):
3154         * html/HTMLOptionElement.cpp:
3155         (WebCore::HTMLOptionElement::index):
3156         * html/HTMLSelectElement.cpp:
3157         (WebCore::HTMLSelectElement::saveLastSelection):
3158         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
3159         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
3160         (WebCore::HTMLSelectElement::selectedIndex):
3161         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
3162         (WebCore::HTMLSelectElement::saveFormControlState):
3163         (WebCore::HTMLSelectElement::restoreFormControlState):
3164         (WebCore::HTMLSelectElement::appendFormData):
3165         (WebCore::HTMLSelectElement::reset):
3166         * html/HTMLTextAreaElement.cpp:
3167         (WebCore::HTMLTextAreaElement::setDefaultValue):
3168         * html/InputType.cpp:
3169         (WebCore::populateInputTypeFactoryMap):
3170         * html/MediaController.cpp:
3171         (MediaController::duration):
3172         (MediaController::setCurrentTime):
3173         (MediaController::play):
3174         (MediaController::setPlaybackRate):
3175         (MediaController::setVolume):
3176         (MediaController::setMuted):
3177         (playbackStateWaiting):
3178         (MediaController::updateMediaElements):
3179         (MediaController::bringElementUpToSpeed):
3180         (MediaController::isBlocked):
3181         (MediaController::hasEnded):
3182         (MediaController::asyncEventTimerFired):
3183         (MediaController::clearPositionTimerFired):
3184         (MediaController::hasAudio):
3185         (MediaController::hasVideo):
3186         (MediaController::hasClosedCaptions):
3187         (MediaController::setClosedCaptionsVisible):
3188         (MediaController::supportsScanning):
3189         (MediaController::beginScrubbing):
3190         (MediaController::endScrubbing):
3191         (MediaController::canPlay):
3192         (MediaController::isLiveStream):
3193         (MediaController::hasCurrentSrc):
3194         (MediaController::returnToRealtime):
3195         * html/MediaFragmentURIParser.cpp:
3196         (WebCore::MediaFragmentURIParser::parseTimeFragment):
3197         * html/PublicURLManager.cpp:
3198         (WebCore::PublicURLManager::revoke):
3199         (WebCore::PublicURLManager::stop):
3200         * html/canvas/WebGLBuffer.cpp:
3201         (WebCore::WebGLBuffer::getCachedMaxIndex):
3202         (WebCore::WebGLBuffer::setCachedMaxIndex):
3203         (WebCore::WebGLBuffer::setTarget):
3204         * html/canvas/WebGLContextGroup.cpp:
3205         (WebCore::WebGLContextGroup::loseContextGroup):
3206         * html/canvas/WebGLDrawBuffers.cpp:
3207         (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
3208         * html/canvas/WebGLFramebuffer.cpp:
3209         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
3210         (WebCore::WebGLFramebuffer::checkStatus):
3211         (WebCore::WebGLFramebuffer::deleteObjectImpl):
3212         (WebCore::WebGLFramebuffer::initializeAttachments):
3213         (WebCore::WebGLFramebuffer::drawBuffers):
3214         * html/canvas/WebGLRenderingContextBase.cpp:
3215         (WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):
3216         (WebCore::WebGLRenderingContextBase::deleteTexture):
3217         * html/canvas/WebGLVertexArrayObject.cpp:
3218         (WebCore::WebGLVertexArrayObject::deleteObjectImpl):
3219         * html/canvas/WebGLVertexArrayObjectOES.cpp:
3220         (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
3221         * html/parser/AtomicHTMLToken.h:
3222         (WebCore::AtomicHTMLToken::initializeAttributes):
3223         * html/parser/HTMLConstructionSite.cpp:
3224         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3225         * html/parser/HTMLFormattingElementList.cpp:
3226         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
3227         * html/parser/HTMLPreloadScanner.cpp:
3228         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
3229         * html/parser/XSSAuditor.cpp:
3230         (WebCore::semicolonSeparatedValueContainsJavaScriptURL):
3231         * html/shadow/ContentDistributor.cpp:
3232         (WebCore::ContentDistributor::distribute):
3233         (WebCore::ContentDistributor::invalidate):
3234         * html/shadow/MediaControlElements.cpp:
3235         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
3236         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
3237         (WebCore::MediaControlTextTrackContainerElement::updateActiveCuesFontSize):
3238         * html/track/AudioTrackList.cpp:
3239         (AudioTrackList::getTrackById):
3240         * html/track/LoadableTextTrack.cpp:
3241         (WebCore::LoadableTextTrack::newCuesAvailable):
3242         (WebCore::LoadableTextTrack::newRegionsAvailable):
3243         * html/track/TextTrackCueList.cpp:
3244         (WebCore::TextTrackCueList::getCueById):
3245         (WebCore::TextTrackCueList::activeCues):
3246         * html/track/TextTrackList.cpp:
3247         (TextTrackList::getTrackIndexRelativeToRenderedTracks):
3248         (TextTrackList::invalidateTrackIndexesAfterTrack):
3249         * html/track/TrackListBase.cpp:
3250         (TrackListBase::isAnyTrackEnabled):
3251         * html/track/VideoTrackList.cpp:
3252         (VideoTrackList::getTrackById):
3253
3254 2015-10-06  Alex Christensen  <achristensen@webkit.org>
3255
3256         Report error when main resource is blocked by content blocker
3257         https://bugs.webkit.org/show_bug.cgi?id=149719
3258         rdar://problem/21970595
3259
3260         Reviewed by Brady Eidson.
3261
3262         Test: http/tests/contentextensions/main-resource.html
3263
3264         * English.lproj/Localizable.strings:
3265         * contentextensions/ContentExtensionActions.h:
3266         * contentextensions/ContentExtensionError.h:
3267         (WebCore::ContentExtensions::make_error_code):
3268         * contentextensions/ContentExtensionsBackend.cpp:
3269         (WebCore::ContentExtensions::ContentExtensionsBackend::globalDisplayNoneStyleSheet):
3270         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
3271         Instead of nulling out the ResourceRequest, processContentExtensionRulesForLoad 
3272         now returns a status indicating whether the request should be blocked.
3273         This is needed because the DocumentLoader needs a CachedResource with an error representing the blocking
3274         (WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
3275         * contentextensions/ContentExtensionsBackend.h:
3276         * html/HTMLMediaElement.cpp:
3277         (WebCore::HTMLMediaElement::loadResource):
3278         * loader/DocumentLoader.cpp:
3279         (WebCore::DocumentLoader::startLoadingMainResource):
3280         Dispatch an error if the resource is blocked by a content blocker.
3281         * loader/EmptyClients.h:
3282         * loader/FrameLoader.cpp:
3283         (WebCore::FrameLoader::loadResourceSynchronously):
3284         (WebCore::FrameLoader::cancelledError):
3285         (WebCore::FrameLoader::blockedByContentBlockerError):
3286         (WebCore::FrameLoader::connectionProperties):
3287         * loader/FrameLoader.h:
3288         * loader/FrameLoaderClient.h:
3289         * loader/ResourceLoader.cpp:
3290         (WebCore::ResourceLoader::willSendRequestInternal):
3291         * loader/cache/CachedResourceLoader.cpp:
3292         (WebCore::CachedResourceLoader::requestResource):
3293         * page/UserContentController.cpp:
3294         (WebCore::UserContentController::removeAllUserContentExtensions):
3295         (WebCore::UserContentController::processContentExtensionRulesForLoad):
3296         (WebCore::UserContentController::actionsForResourceLoad):
3297         * page/UserContentController.h:
3298         * platform/efl/ErrorsEfl.cpp:
3299         (WebCore::blockedError):
3300         (WebCore::blockedByContentBlockerError):
3301         (WebCore::cannotShowURLError):
3302         * platform/efl/ErrorsEfl.h:
3303         * platform/gtk/ErrorsGtk.cpp:
3304         (WebCore::blockedError):
3305         (WebCore::blockedByContentBlockerError):
3306         (WebCore::cannotShowURLError):
3307         * platform/gtk/ErrorsGtk.h:
3308
3309 2015-10-06  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3310
3311         JSBuiltinConstructor must always add builtin header
3312         https://bugs.webkit.org/show_bug.cgi?id=149759
3313
3314         Reviewed by Darin Adler.
3315
3316         Covered by TestJSBuiltinConstructor.idl.
3317
3318         * bindings/scripts/CodeGeneratorJS.pm:
3319         (AddIncludesForJSBuiltinMethods): Forces adding the builtin header when the JSBuiltinConstructor is present.
3320         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: Expectation.
3321
3322 2015-10-05  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3323
3324         Migrate streams API to JS Builtins
3325         https://bugs.webkit.org/show_bug.cgi?id=147092
3326
3327         Reviewed by Darin Adler.
3328
3329         Moved ReadableStream implementation from C++ to JS Builtins.
3330         Created specific private constructors for ReadableStreamReader and ReadableStreamController.
3331         Added these constructors to  JSDOMWindowBase.
3332         Constructors are based on a template found in JSDOMConstructor which might serve to webidl-generated classes as well.
3333
3334         Covered by existing tests.
3335
3336         * CMakeLists.txt:
3337         * DerivedSources.make:
3338         * Modules/streams/ReadableStream.cpp: Removed.
3339         * Modules/streams/ReadableStream.h: Removed.
3340         * Modules/streams/ReadableStream.idl:
3341         * Modules/streams/ReadableStream.js:
3342         (strategy.size):
3343         (initializeReadableStream):
3344         (cancel):
3345         (getReader):
3346         (pipeTo):
3347         (tee):
3348         (locked):
3349         * Modules/streams/ReadableStreamController.h:
3350         * Modules/streams/ReadableStreamController.idl:
3351         * Modules/streams/ReadableStreamController.js: Added.
3352         (enqueue):
3353         (error):
3354         (close):
3355         (desiredSize):
3356         * Modules/streams/ReadableStreamInternals.js:
3357         (privateInitializeReadableStreamReader):
3358         (privateInitializeReadableStreamController):
3359         (isReadableStream):
3360         (isReadableStreamReader):
3361         (isReadableStreamController):
3362         (errorReadableStream):
3363         (requestReadableStreamPull):
3364         (getReadableStreamDesiredSize):
3365         (releaseReadableStreamReader):
3366         (cancelReadableStream):
3367         (finishClosingReadableStream):
3368         (closeReadableStream):
3369         (closeReadableStreamReader):
3370         (enqueueInReadableStream):
3371         (readFromReadableStreamReader):
3372         (invokeOrNoop):
3373         (promiseInvokeOrNoop):
3374         * Modules/streams/ReadableStreamReader.cpp: Removed.
3375         * Modules/streams/ReadableStreamReader.h:
3376         * Modules/streams/ReadableStreamReader.idl:
3377         * Modules/streams/ReadableStreamReader.js: Copied from Source/WebCore/Modules/streams/ReadableStream.js.
3378         (cancel):
3379         (read):
3380         (releaseLock):
3381         (closed):
3382         * WebCore.vcxproj/WebCore.vcxproj:
3383         * WebCore.vcxproj/WebCore.vcxproj.filters:
3384         * WebCore.xcodeproj/project.pbxproj:
3385         * bindings/js/JSBindingsAllInOne.cpp:
3386         * bindings/js/JSDOMConstructor.h: Added.
3387         (WebCore::JSBuiltinConstructor::create):
3388         (WebCore::JSBuiltinConstructor::createStructure):
3389         (WebCore::JSBuiltinConstructor::JSBuiltinConstructor):
3390         (WebCore::JSBuiltinConstructor::initializeProperties):
3391         (WebCore::JSBuiltinConstructor<JSClass>::finishCreation):
3392         (WebCore::JSBuiltinConstructor<JSClass>::construct):
3393         (WebCore::JSBuiltinConstructor<JSClass>::getConstructData):
3394         * bindings/js/JSDOMWindowBase.cpp:
3395         (WebCore::JSDOMWindowBase::finishCreation):
3396         * bindings/js/JSReadableStreamControllerCustom.cpp: Removed.
3397         * bindings/js/JSReadableStreamCustom.cpp: Removed.
3398         * bindings/js/JSReadableStreamPrivateConstructors.cpp: Added.
3399         (WebCore::constructJSReadableStreamController):
3400         (WebCore::constructJSReadableStreamReader):
3401         (WebCore::JSBuiltinConstructor<JSReadableStreamReader>::createJSObject):
3402         (WebCore::JSBuiltinConstructor<JSReadableStreamController>::createJSObject):
3403         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createInitializeFunction):
3404         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createInitializeFunction):
3405         (WebCore::createReadableStreamReaderPrivateConstructor):
3406         (WebCore::createReadableStreamControllerPrivateConstructor):
3407         * bindings/js/JSReadableStreamPrivateConstructors.h: Added.
3408         * bindings/js/JSReadableStreamReaderCustom.cpp: Removed.
3409         * bindings/js/ReadableJSStream.cpp: Removed.
3410         * bindings/js/ReadableJSStream.h: Removed.
3411         * bindings/js/WebCoreBuiltinNames.h: Added.
3412         (WebCore::WebCoreBuiltinNames::WebCoreBuiltinNames):
3413         * bindings/js/WebCoreJSBuiltins.cpp:
3414         * bindings/js/WebCoreJSClientData.h:
3415         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
3416         (WebCore::WebCoreJSClientData::builtinNames):
3417         (WebCore::WebCoreJSClientData::readableStreamControllerBuiltins):
3418         (WebCore::WebCoreJSClientData::readableStreamReaderBuiltins):
3419
3420 2015-10-05  Chris Dumez  <cdumez@apple.com>
3421
3422         data: URLs should not be preloaded
3423         https://bugs.webkit.org/show_bug.cgi?id=149829
3424
3425         Reviewed by Ryosuke Niwa.
3426
3427         Update the HTMLPreloadScanner so that data: URLs do not get preloaded.
3428         There is no need as the data is already available.
3429
3430         Test: fast/preloader/image-data-url.html
3431
3432         * html/parser/HTMLPreloadScanner.cpp:
3433         (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
3434
3435 2015-10-05  Jer Noble  <jer.noble@apple.com>
3436
3437         [iOS] REGRESSION(r190434): Media continues to play when locking screen
3438         https://bugs.webkit.org/show_bug.cgi?id=149822