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