Progress towards CMake on Mac
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-10-23  Alex Christensen  <achristensen@webkit.org>
2
3         Progress towards CMake on Mac
4         https://bugs.webkit.org/show_bug.cgi?id=150517
5
6         Reviewed by Tim Horton.
7
8         * PlatformMac.cmake:
9
10 2015-10-23  Per Arne Vollan  <peavo@outlook.com>
11
12         [WinCairo] Improve test results for fast layouttests.
13         https://bugs.webkit.org/show_bug.cgi?id=150464
14
15         Reviewed by Alex Christensen.
16
17         Disable the Mac ascent hack for WinCairo.
18
19         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
20         (WebCore::Font::platformInit):
21
22 2015-10-23  Simon Fraser  <simon.fraser@apple.com>
23
24         REGRESSION (r187121): Multiple-keyframe animations not honouring ' forwards' fill-mode
25         https://bugs.webkit.org/show_bug.cgi?id=150328
26
27         Reviewed by Dean Jackson.
28         
29         AnimationBase::getElapsedTime() for a finished animation would return 1 (a progress),
30         rather than a time value as the caller expects. Fix it to return the total duration
31         if the animation has finished. This fixes the bug.
32         
33         Change CompositeAnimation::pauseAnimationAtTime() to be more permissive, allowing
34         testing of filling-forwards animations with the pause API.
35
36         Test: animations/fill-forwards-end-state.html
37
38         * page/animation/AnimationBase.cpp:
39         (WebCore::AnimationBase::getElapsedTime):
40         * page/animation/CompositeAnimation.cpp:
41         (WebCore::CompositeAnimation::pauseAnimationAtTime):
42
43 2015-10-23  Chris Dumez  <cdumez@apple.com>
44
45         A label element not in a document should not label an element in a document
46         https://bugs.webkit.org/show_bug.cgi?id=148863
47         <rdar://problem/22589300>
48
49         Reviewed by Ryosuke Niwa.
50
51         As per the HTML specification, a label element's 'for' attribute may be
52         specified to indicate a form control with which the caption is to be
53         associated. If the attribute is specified, the attribute's value must
54         be the ID of a labelable element in the same Document as the label
55         element:
56         https://html.spec.whatwg.org/multipage/forms.html#attr-label-for
57
58         However, our code was failing to check if the label element was actually
59         in the document before calling document.getElementById(). In such case,
60         we would potentially return a labelable Element that is not in the same
61         document as the label Element. This patch fixes the problem.
62
63         The new behavior is consistent with Firefox.
64
65         No new tests, already covered by existing test.
66
67         * html/HTMLLabelElement.cpp:
68         (WebCore::HTMLLabelElement::control):
69
70 2015-10-23  Antoine Quint  <graouts@apple.com>
71
72         Support for SVG `beginEvent` event and `onbegin` attribute
73         https://bugs.webkit.org/show_bug.cgi?id=150442
74
75         Reviewed by Dean Jackson.
76
77         Add support for the SVG `beginEvent` event, which is fired as an SVG timing element enters its active interval.
78         Also add support for the SVG `onbegin` attribute which allows the definition of a JS event listener declaratively
79         for the SVG `beginEvent` event.
80
81         Tests: svg/animations/begin-event-attribute.svg
82                svg/animations/begin-event-script.svg
83                svg/animations/begin-event-syncbase.svg
84
85         * dom/EventNames.h:
86         * svg/animation/SVGSMILElement.cpp:
87         (WebCore::smilBeginEventSender):
88         (WebCore::smilEndEventSender):
89         (WebCore::SVGSMILElement::~SVGSMILElement):
90         (WebCore::SVGSMILElement::parseAttribute):
91         (WebCore::SVGSMILElement::progress):
92         (WebCore::SVGSMILElement::dispatchPendingEvent):
93         * svg/svgattrs.in:
94
95 2015-10-23  Hyemi Shin  <hyemi.sin@samsung.com>
96
97         ConvolverNode.buffer must have same sample-rate as the AudioContext 
98         https://bugs.webkit.org/show_bug.cgi?id=150385 
99
100         Reviewed by Chris Dumez.
101
102         ConvolverNode.buffer must be of the same sample-rate as the AudioContext
103         or an NOT_SUPPORTED_ERR exception MUST be thrown.
104
105         Test : webaudio/convolver-setBuffer-different-samplerate.html
106
107         * Modules/webaudio/ConvolverNode.cpp:
108         (WebCore::ConvolverNode::setBuffer):
109         * Modules/webaudio/ConvolverNode.h:
110         * Modules/webaudio/ConvolverNode.idl:
111
112 2015-10-22  Myles C. Maxfield  <mmaxfield@apple.com>
113
114         [OS X] Migrate GraphicsContext::drawLineForDocumentMarker() away from LocalCurrentGraphicsContext
115         https://bugs.webkit.org/show_bug.cgi?id=150483
116
117         Reviewed by Simon Fraser.
118
119         LocalCurrentGraphicsContext is an ugly hack to work around the problem that many NS* functions
120         operate on the current context rather than a context passed as an argument. This patch
121         migrates from NSRectFillUsingOperation() which has this behavior to CGContextDrawTiledImage()
122         which performs the same operation but with a passed-in CGContextRef. An added benefit is that
123         we don't have to mess around with pattern-based NSColors. 
124
125         No new tests because there is no behavior change.
126
127         * platform/graphics/mac/GraphicsContextMac.mm:
128         (WebCore::findImage):
129         (WebCore::GraphicsContext::updateDocumentMarkerResources):
130         (WebCore::GraphicsContext::drawLineForDocumentMarker):
131         (WebCore::makePatternColor): Deleted.
132
133 2015-10-22  Sam Weinig  <sam@webkit.org>
134
135         Navigations on the same host (but with different schemes and ports) should not trigger universal links
136         <rdar://problem/22811325>
137         https://bugs.webkit.org/show_bug.cgi?id=150481
138
139         Reviewed by Dan Bernstein.
140
141         Add new helper which efficiently compares the hosts of two URLs.
142
143         * platform/URL.cpp:
144         (WebCore::hostsAreEqual):
145         * platform/URL.h:
146
147 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
148
149         Web Inspector: Remove unused Timeline GCEvent Record type
150         https://bugs.webkit.org/show_bug.cgi?id=150477
151
152         Reviewed by Timothy Hatcher.
153
154         This event is dispatched through the Heap domain, not Timelines.
155
156         * inspector/TimelineRecordFactory.cpp:
157         (WebCore::TimelineRecordFactory::createGCEventData): Deleted.
158         * inspector/TimelineRecordFactory.h:
159
160 2015-10-22  Gordon Sheridan  <gordon_sheridan@apple.com>
161
162         Fix build for clang-700.0.59.5 by replacing deprecated calls to convert points between screen and window coordinates for Mac.
163         https://bugs.webkit.org/show_bug.cgi?id=150379
164
165         Reviewed by Andy Estes.
166
167         Provide WAKWindow versions of the non-deprecated methods for converting an NSRect between
168         window and screen coordinates, which replace the deprecated methods that operated on an NSPoint.
169
170         * platform/ios/wak/WAKWindow.h:
171         * platform/ios/wak/WAKWindow.mm:
172         (-[WAKWindow convertRectToScreen:]): Added.
173         (-[WAKWindow convertRectFromScreen:]): Added.
174
175 2015-10-22  Alex Christensen  <achristensen@webkit.org>
176
177         Fix Mac CMake build after r191433.
178
179         * PlatformMac.cmake:
180         Use CMakeLists.txt to generate UserAgentScripts.h and cpp.
181
182 2015-10-22  Daniel Bates  <dabates@apple.com>
183
184         Unreviewed, rolling out r191113.
185
186         Rollout r144451 since it regressed the visibility of the
187         search cancel button when a search field is empty or showing
188         placeholder text. Further investigation is needed.
189
190         Reverted changeset:
191
192         "[iOS] DOM click event may not be dispatched when page has
193         :active style and <input type="search">"
194         https://bugs.webkit.org/show_bug.cgi?id=144451
195         http://trac.webkit.org/changeset/191113
196
197 2015-10-22  Simon Fraser  <simon.fraser@apple.com>
198
199         Add ways to log to log channels via a functional syntax, and via a TextStream
200         https://bugs.webkit.org/show_bug.cgi?id=150472
201  
202         Reviewed by Tim Horton.
203  
204         Make it possible to write to a WTFLogChannel with a std::function that returns
205         a const char*, and with stream syntax.
206  
207         Enhance TextStream to allow it to generate single-line output.
208
209         * platform/Logging.cpp:
210         (WebCore::logFunctionResult):
211         * platform/Logging.h:
212         * platform/text/TextStream.cpp:
213         (WebCore::TextStream::startGroup):
214         (WebCore::TextStream::endGroup):
215         (WebCore::TextStream::nextLine):
216         (WebCore::TextStream::writeIndent):
217         * platform/text/TextStream.h:
218         (WebCore::TextStream::TextStream):
219
220 2015-10-22  Alex Christensen  <achristensen@webkit.org>
221
222         Progress towards CMake on Mac
223         https://bugs.webkit.org/show_bug.cgi?id=150466
224
225         Reviewed by Chris Dumez.
226
227         * PlatformMac.cmake:
228         * crypto/mac/SerializedCryptoKeyWrapMac.mm:
229         (WebCore::createAndStoreMasterKey):
230         * page/mac/WheelEventDeltaFilterMac.mm:
231         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
232
233 2015-10-22  Myles C. Maxfield  <mmaxfield@apple.com>
234
235         [Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
236         https://bugs.webkit.org/show_bug.cgi?id=150460
237
238         Reviewed by Tim Horton.
239
240         No reason to use WKSI for these calls.
241
242         No new tests because there is no behavior change.
243
244         * platform/graphics/cg/GraphicsContextCG.cpp:
245         (WebCore::GraphicsContext::applyStrokePattern):
246         (WebCore::GraphicsContext::applyFillPattern):
247         (WebCore::GraphicsContext::setPlatformShadow):
248         * platform/graphics/cg/GraphicsContextCG.h:
249         (WebCore::getUserToBaseCTM):
250         * platform/graphics/cg/ImageBufferCG.cpp:
251         (WebCore::ImageBuffer::putByteArray):
252         * platform/graphics/mac/GraphicsContextMac.mm:
253         (WebCore::setPatternPhaseInUserSpace):
254         (WebCore::GraphicsContext::drawLineForDocumentMarker):
255         * platform/ios/WebCoreSystemInterfaceIOS.mm:
256         * platform/mac/WebCoreSystemInterface.h:
257         * platform/mac/WebCoreSystemInterface.mm:
258
259 2015-10-22  Brady Eidson  <beidson@apple.com>
260
261         Modern IDB: Basic createObjectStore implementation.
262         https://bugs.webkit.org/show_bug.cgi?id=150455
263
264         Reviewed by Alex Christensen.
265
266         Tests: storage/indexeddb/modern/createobjectstore-basic.html
267                storage/indexeddb/modern/createobjectstore-failures.html
268
269         * CMakeLists.txt:
270         * WebCore.xcodeproj/project.pbxproj:
271
272         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
273         (WebCore::IDBClient::IDBConnectionToServer::createObjectStore):
274         (WebCore::IDBClient::IDBConnectionToServer::didCreateObjectStore):
275         * Modules/indexeddb/client/IDBConnectionToServer.h:
276         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
277         
278         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
279         (WebCore::IDBClient::IDBDatabase::objectStoreNames):
280         (WebCore::IDBClient::IDBDatabase::createObjectStore):
281         (WebCore::IDBClient::IDBDatabase::didAbortTransaction):
282         * Modules/indexeddb/client/IDBDatabaseImpl.h:
283         (WebCore::IDBClient::IDBDatabase::serverConnection):
284         
285         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: Added.
286         (WebCore::IDBClient::IDBObjectStore::create):
287         (WebCore::IDBClient::IDBObjectStore::IDBObjectStore):
288         (WebCore::IDBClient::IDBObjectStore::~IDBObjectStore):
289         (WebCore::IDBClient::IDBObjectStore::id):
290         (WebCore::IDBClient::IDBObjectStore::name):
291         (WebCore::IDBClient::IDBObjectStore::keyPathAny):
292         (WebCore::IDBClient::IDBObjectStore::keyPath):
293         (WebCore::IDBClient::IDBObjectStore::indexNames):
294         (WebCore::IDBClient::IDBObjectStore::transaction):
295         (WebCore::IDBClient::IDBObjectStore::autoIncrement):
296         (WebCore::IDBClient::IDBObjectStore::add):
297         (WebCore::IDBClient::IDBObjectStore::put):
298         (WebCore::IDBClient::IDBObjectStore::openCursor):
299         (WebCore::IDBClient::IDBObjectStore::get):
300         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
301         (WebCore::IDBClient::IDBObjectStore::clear):
302         (WebCore::IDBClient::IDBObjectStore::createIndex):
303         (WebCore::IDBClient::IDBObjectStore::index):
304         (WebCore::IDBClient::IDBObjectStore::deleteIndex):
305         (WebCore::IDBClient::IDBObjectStore::count):
306         * Modules/indexeddb/client/IDBObjectStoreImpl.h: Added.
307
308         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
309         (WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
310
311         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
312         (WebCore::IDBClient::IDBTransaction::serverConnection):
313         (WebCore::IDBClient::IDBTransaction::objectStore):
314         (WebCore::IDBClient::IDBTransaction::scheduleOperation):
315         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
316         (WebCore::IDBClient::IDBTransaction::finishAbortOrCommit):
317         (WebCore::IDBClient::IDBTransaction::didAbort):
318         (WebCore::IDBClient::IDBTransaction::didCommit):
319         (WebCore::IDBClient::IDBTransaction::createObjectStore):
320         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
321         (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer):
322         * Modules/indexeddb/client/IDBTransactionImpl.h:
323         (WebCore::IDBClient::IDBTransaction::originalDatabaseInfo):
324         (WebCore::IDBClient::IDBTransaction::isVersionChange):
325         
326         * Modules/indexeddb/client/TransactionOperation.h: Added.
327         (WebCore::IDBClient::TransactionOperation::perform):
328         (WebCore::IDBClient::TransactionOperation::completed):
329         (WebCore::IDBClient::TransactionOperation::identifier):
330         (WebCore::IDBClient::TransactionOperation::transactionIdentifier):
331         (WebCore::IDBClient::TransactionOperation::TransactionOperation):
332         (WebCore::IDBClient::createTransactionOperation):
333         
334         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
335         (WebCore::IDBServer::IDBConnectionToClient::didCreateObjectStore):
336         * Modules/indexeddb/server/IDBConnectionToClient.h:
337         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
338         
339         * Modules/indexeddb/server/IDBServer.cpp:
340         (WebCore::IDBServer::IDBServer::createObjectStore):
341         * Modules/indexeddb/server/IDBServer.h:
342         
343         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
344         (WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
345         (WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
346         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateObjectStore):
347         (WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
348         (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
349         (WebCore::IDBServer::UniqueIDBDatabase::abortTransaction): Deleted.
350         * Modules/indexeddb/server/UniqueIDBDatabase.h:
351         
352         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
353         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateObjectStore):
354         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
355         
356         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
357         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::isVersionChange):
358         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
359         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
360         
361         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
362         (WebCore::IDBDatabaseInfo::hasObjectStore):
363         (WebCore::IDBDatabaseInfo::createNewObjectStore):
364         (WebCore::IDBDatabaseInfo::addExistingObjectStore):
365         (WebCore::IDBDatabaseInfo::objectStoreNames):
366         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
367         
368         * Modules/indexeddb/shared/IDBObjectStoreInfo.cpp: Copied from Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.cpp.
369         (WebCore::IDBObjectStoreInfo::IDBObjectStoreInfo):
370         (WebCore::IDBObjectStoreInfo::isolatedCopy):
371         * Modules/indexeddb/shared/IDBObjectStoreInfo.h: Copied from Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.h.
372         (WebCore::IDBObjectStoreInfo::identifier):
373         (WebCore::IDBObjectStoreInfo::name):
374         (WebCore::IDBObjectStoreInfo::keyPath):
375         (WebCore::IDBObjectStoreInfo::autoIncrement):
376
377         * Modules/indexeddb/shared/IDBRequestData.cpp:
378         (WebCore::IDBRequestData::IDBRequestData):
379         (WebCore::IDBRequestData::requestIdentifier):
380         (WebCore::IDBRequestData::transactionIdentifier):
381         * Modules/indexeddb/shared/IDBRequestData.h:
382         (WebCore::IDBRequestData::databaseIdentifier):
383         (WebCore::IDBRequestData::requestIdentifier): Deleted.
384
385         * Modules/indexeddb/shared/IDBResultData.cpp:
386         (WebCore::IDBResultData::IDBResultData):
387         (WebCore::IDBResultData::createObjectStoreSuccess):
388         * Modules/indexeddb/shared/IDBResultData.h:
389
390         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
391         (WebCore::InProcessIDBServer::didCreateObjectStore):
392         (WebCore::InProcessIDBServer::createObjectStore):
393         * Modules/indexeddb/shared/InProcessIDBServer.h:
394
395         * platform/CrossThreadCopier.cpp:
396         (WebCore::IDBObjectStoreInfo>::copy):
397         * platform/CrossThreadCopier.h:
398
399 2015-10-22  Alex Christensen  <achristensen@webkit.org>
400
401         Initial NSURLSession WebResourceLoader implementation
402         https://bugs.webkit.org/show_bug.cgi?id=150355
403
404         Reviewed by Antti Koivisto.
405
406         * platform/network/cf/AuthenticationChallenge.h:
407         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Export constructor for use in WebKit2.
408
409 2015-10-22  Frederic Wang  <fred.wang@free.fr>
410
411         [Mac] Add support for the USE_TYPO_METRICS flag
412         https://bugs.webkit.org/show_bug.cgi?id=150394
413
414         Reviewed by Myles C. Maxfield.
415
416         Make the Cocoa backend use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
417
418         No new tests because this is already tested by fonts/use-typo-metrics-1.html
419
420         * platform/graphics/cocoa/FontCocoa.mm:
421         (WebCore::fontHasMathTable): Add a function to verify whether a font has a MATH table.
422         (WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that is the case.
423
424 2015-10-22  Wenson Hsieh  <wenson_hsieh@apple.com>
425
426         Implement touch-action: manipulation; for iOS
427         https://bugs.webkit.org/show_bug.cgi?id=149854
428         <rdar://problem/23017145>
429
430         Reviewed by Benjamin Poulain.
431
432         Implements the manipulation value for the CSS property touch-action. Adds support for
433         parsing the touch-action property and two of its values: auto and manipulation.
434
435         Tests: css3/touch-action/touch-action-computed-style.html
436                css3/touch-action/touch-action-manipulation-fast-clicks.html
437                css3/touch-action/touch-action-parsing.html
438
439         * css/CSSComputedStyleDeclaration.cpp:
440         (WebCore::ComputedStyleExtractor::propertyValue):
441         * css/CSSParser.cpp:
442         (WebCore::isValidKeywordPropertyAndValue):
443         (WebCore::isKeywordPropertyID):
444         (WebCore::CSSParser::parseValue):
445         * css/CSSPrimitiveValueMappings.h:
446         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
447         (WebCore::CSSPrimitiveValue::operator TouchAction):
448         * css/CSSPropertyNames.in:
449         * css/CSSValueKeywords.in:
450         * dom/Element.cpp:
451         (WebCore::Element::allowsDoubleTapGesture): Here, we determine whether an element that resulted from
452             hit-testing a touch should allow double-tap gestures. To do this, we walk up the element's parents,
453             stopping when we detect an element that disallows double tap gestures by having a touch-action other
454             than auto or by hitting the root node.
455         * dom/Element.h:
456         * dom/Node.h:
457         (WebCore::Node::allowsDoubleTapGesture):
458         * rendering/style/RenderStyle.h:
459         * rendering/style/RenderStyleConstants.h:
460         * rendering/style/StyleRareNonInheritedData.cpp:
461         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
462         (WebCore::StyleRareNonInheritedData::operator==):
463         * rendering/style/StyleRareNonInheritedData.h:
464
465 2015-10-22  Ryosuke Niwa  <rniwa@webkit.org>
466
467         REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
468         https://bugs.webkit.org/show_bug.cgi?id=150428
469
470         Reviewed by Antti Koivisto.
471
472         The bug was caused by updateFocusAppearance in WebPage::restoreSelectionInFocusedEditableElement
473         revealing the focused element which was added in r181972. Fixed the bug by adding an option to
474         suppress this behavior here.
475
476         * dom/Document.cpp:
477         (WebCore::Document::Document):
478         (WebCore::Document::updateFocusAppearanceSoon):
479         * dom/Document.h:
480         * dom/Element.cpp:
481         (WebCore::Element::focus):
482         (WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
483         (WebCore::Element::updateFocusAppearance):
484         * dom/Element.h:
485         * history/CachedPage.cpp:
486         (WebCore::CachedPage::restore):
487         * html/HTMLAreaElement.cpp:
488         (WebCore::HTMLAreaElement::updateFocusAppearance):
489         * html/HTMLAreaElement.h:
490         * html/HTMLInputElement.cpp:
491         (WebCore::HTMLInputElement::updateFocusAppearance):
492         (WebCore::HTMLInputElement::runPostTypeUpdateTasks):
493         (WebCore::HTMLInputElement::didAttachRenderers):
494         * html/HTMLInputElement.h:
495         * html/HTMLTextAreaElement.cpp:
496         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
497         * html/HTMLTextAreaElement.h:
498
499 2015-10-22  Joonghun Park  <jh718.park@samsung.com>
500
501         [EFL] Fix build break since r191439
502         https://bugs.webkit.org/show_bug.cgi?id=150441
503
504         Reviewed by Csaba Osztrogonác.
505
506         No new tests, no new behaviours.
507
508         * platform/Logging.cpp:
509         (WebCore::registerNotifyCallback):
510
511 2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
512
513         Unreviewed. Fix GTK+ build after r191423.
514
515         Deprecate removed class WebKitDOMHTMLBaseFontElement.
516
517         * PlatformGTK.cmake:
518         * bindings/gobject/WebKitDOMDeprecated.cpp:
519         (webkit_dom_html_base_font_element_init):
520         (webkit_dom_html_base_font_element_class_init):
521         (webkit_dom_html_base_font_element_get_color):
522         (webkit_dom_html_base_font_element_set_color):
523         (webkit_dom_html_base_font_element_get_face):
524         (webkit_dom_html_base_font_element_set_face):
525         (webkit_dom_html_base_font_element_get_size):
526         (webkit_dom_html_base_font_element_set_size):
527         * bindings/gobject/WebKitDOMDeprecated.h:
528         * bindings/gobject/WebKitDOMDeprecated.symbols:
529         * bindings/gobject/WebKitDOMHTMLPrivate.cpp:
530         * html/HTMLBaseFontElement.h:
531         * html/HTMLBaseFontElement.idl:
532
533 2015-10-22  Xabier Rodriguez Calvar  <calvaris@igalia.com>
534
535         [Streams API] Add writable stream attributes
536         https://bugs.webkit.org/show_bug.cgi?id=150389
537
538         Reviewed by Darin Adler.
539
540         This patch adds the three writable stream attributes, which are closed, ready and state. They are implemented
541         according to the spec.
542
543         Current test set suffices, expectations were adjusted accordingly.
544
545         * Modules/streams/WritableStream.js:
546         (initializeWritableStream): Style fix.
547         (closed):
548         (ready):
549         (state): Implemented according to the spec.
550         * Modules/streams/WritableStreamInternals.js:
551         (isWritableStream): Implemented according to the spec.
552
553 2015-10-22  Frederic Wang  <fred.wang@free.fr>
554
555         Rollout r190440 for the moment. It broke the build.
556
557         * platform/graphics/cocoa/FontCocoa.mm:
558         (WebCore::Font::platformInit): Deleted.
559
560 2015-10-22  Frederic Wang  <fred.wang@free.fr>
561
562         Unreviewed compilation fix on Mac.
563
564         * platform/graphics/cocoa/FontCocoa.mm:
565         (WebCore::Font::platformInit): Use a pointer for the third argument of CFArrayContainsValue.
566
567 2015-10-21  Frederic Wang  <fred.wang@free.fr>
568
569         Unreviewed compilation fix on Mac.
570
571         * platform/graphics/cocoa/FontCocoa.mm:
572         (WebCore::Font::platformInit): Add missing font argument.
573
574 2015-10-21  Frederic Wang  <fred.wang@free.fr>
575
576         [Mac] Add support for the USE_TYPO_METRICS flag
577         https://bugs.webkit.org/show_bug.cgi?id=150394
578
579         Reviewed by Myles C. Maxfield.
580
581         Make the Cocoa backend use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
582
583         No new tests because this is already tested by fonts/use-typo-metrics-1.html
584
585         * platform/graphics/cocoa/FontCocoa.mm:
586         (WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that is the case.
587
588 2015-10-21  Zalan Bujtas  <zalan@apple.com>
589
590         Print out the render tree from command line.
591         https://bugs.webkit.org/show_bug.cgi?id=150416
592
593         Use system-wide notification server (https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/notify_register_dispatch.3.html)
594         to print out the render tree for the live documents.
595
596         Usage: notifyutil -p com.apple.WebKit.showRenderTree
597
598         Reviewed by Simon Fraser.
599
600         No change in functionality.
601
602         * platform/Logging.cpp:
603         (WebCore::registerNotifyCallback):
604         * platform/Logging.h:
605         * rendering/RenderObject.cpp:
606         (WebCore::RenderObject::RenderObject):
607         (WebCore::printRenderTreeForLiveDocuments):
608
609 2015-10-21  Alex Christensen  <achristensen@webkit.org>
610
611         Fix CMake clean build after r191423.
612
613         * CMakeLists.txt:
614         HTMLBaseFontElement.idl no longer generates any JavaScript bindings.
615
616 2015-10-21  Brian Burg  <bburg@apple.com>
617
618         Unreviewed, CMake build fix after r191433.
619
620         * CMakeLists.txt: add WritableStreamInternals.js to WebCore_BUILTINS_SOURCES.
621
622 2015-10-21  Brian Burg  <bburg@apple.com>
623
624         Restructure generate-js-bindings script to be modular and testable
625         https://bugs.webkit.org/show_bug.cgi?id=149929
626
627         Reviewed by Alex Christensen.
628
629         * CMakeLists.txt:
630
631             Define JavaScriptCore_SCRIPTS_DIR explicitly so the add_custom_command and
632             shared file lists are identical between JavaScriptCore and WebCore.
633
634             The output files additionally depend on all builtin generator script files.
635
636         * DerivedSources.make:
637
638             Use JavaScriptCore_SCRIPTS_DIR so that the rule for code generation and
639             shared file lists are identical between JavaScriptCore and WebCore.
640
641             The output files additionally depend on all builtin generator script files.
642
643         * WebCore.xcodeproj/project.pbxproj:
644
645             Define JavaScriptCore_SCRIPTS_DIR before calling DerivedSources.make.
646             This will eventually be merged with the other similar script paths.
647
648         * bindings/js/JSDOMWindowBase.cpp:
649         (WebCore::JSDOMWindowBase::finishCreation):
650
651             Update the generated builtin macro names.
652
653         * generate-js-builtins: Removed.
654
655 2015-10-21  Alex Christensen  <achristensen@webkit.org>
656
657         Recommit r191428.
658
659         I don't think it was supposed to be reverted in r191429, and it really does fix the build.
660
661         * loader/EmptyClients.h:
662         (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
663         Remove customizeMenu again.
664
665 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
666
667         [EFL][GTK][WK2] Fix build break since r191402, r191401
668         https://bugs.webkit.org/show_bug.cgi?id=150432
669
670         Unreviewed EFL and GTK build fix.
671
672         * loader/EmptyClients.h:
673
674 2015-10-21  Alex Christensen  <achristensen@webkit.org>
675
676         Build fix after r191422.
677
678         * page/ContextMenuClient.h:
679         (WebCore::ContextMenuClient::~ContextMenuClient):
680         Completely remove customizeMenu.
681
682 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
683
684         Remove unnecessary default quota setting in DatabaseContext::databaseExceededQuota
685         https://bugs.webkit.org/show_bug.cgi?id=150356
686
687         Reviewed by Darin Adler.
688
689         All ports have supported DatabaseContext::databaseExceededQuota(). Thus we don't need to
690         keep a test code to extend database quota anymore.
691
692         * Modules/webdatabase/DatabaseContext.cpp:
693         (WebCore::DatabaseContext::databaseExceededQuota): Deleted.
694
695 2015-10-21  Chris Dumez  <cdumez@apple.com>
696
697         Un-expose obsolete HTMLBaseFontElement
698         https://bugs.webkit.org/show_bug.cgi?id=150397
699
700         Reviewed by Anders Carlsson.
701
702         Un-expose obsolete HTMLBaseFontElement:
703         - https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features
704
705         This means that we no longer expose HTMLBaseFontElement on the global
706         Window object. Firefox and Chrome do not expose it either.
707
708         Also, document.createElement("basefont") now returns an HTMLUnknownElement
709         as per the specification. Firefox and Chrome return a generic HTMLElement
710         instead but I don't think this is a big compatibility risk.
711
712         No new tests, already covered by existing tests.
713
714         * html/HTMLBaseFontElement.cpp:
715         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
716         * html/HTMLBaseFontElement.h:
717         * html/HTMLBaseFontElement.idl:
718         * html/HTMLTagNames.in:
719
720 2015-10-21  Anders Carlsson  <andersca@apple.com>
721
722         Get rid of WebContextMenuClient::customizeMenu, it's no longer used
723         https://bugs.webkit.org/show_bug.cgi?id=150427
724
725         Reviewed by Tim Horton.
726         * loader/EmptyClients.cpp:
727         (WebCore::EmptyContextMenuClient::customizeMenu): Deleted.
728         * loader/EmptyClients.h:
729         * page/ContextMenuController.cpp:
730         (WebCore::ContextMenuController::showContextMenu):
731
732 2015-10-21  Anders Carlsson  <andersca@apple.com>
733
734         Remove dead MHTML code
735         https://bugs.webkit.org/show_bug.cgi?id=150426
736
737         Reviewed by Tim Horton.
738
739         * loader/archive/mhtml/MHTMLArchive.cpp:
740         (WebCore::MHTMLArchive::generateMHTMLData):
741         (WebCore::MHTMLArchive::generateMHTMLDataUsingBinaryEncoding): Deleted.
742         * loader/archive/mhtml/MHTMLArchive.h:
743
744 2015-10-21  Dean Jackson  <dino@apple.com>
745
746         Null dereference loading Blink layout test svg/filters/display-none-filter-primitive.html
747         https://bugs.webkit.org/show_bug.cgi?id=150212
748         <rdar://problem/23137376>
749
750         Reviewed by Brent Fulgham.
751
752         Handle the case where a filter element doesn't have a renderer. Inspired by the Blink
753         commit:
754         https://chromium.googlesource.com/chromium/src.git/+/fb79f7fc46552d45127acd2959a23662ad8f271e
755
756         Test: svg/filters/display-none-filter-primitive.html
757
758         * rendering/svg/RenderSVGResourceFilter.cpp:
759         (WebCore::RenderSVGResourceFilter::buildPrimitives):
760         * svg/graphics/filters/SVGFilterBuilder.cpp:
761         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
762
763 2015-10-21  Brady Eidson  <beidson@apple.com>
764
765         Modern IDB: Add basic transaction aborting.
766         https://bugs.webkit.org/show_bug.cgi?id=150148
767
768         Reviewed by Alex Christensen.
769
770         Tests: storage/indexeddb/modern/double-abort.html
771                storage/indexeddb/modern/versionchange-abort-then-reopen.html
772
773         * CMakeLists.txt:
774         * WebCore.xcodeproj/project.pbxproj:
775         
776         * Modules/indexeddb/IndexedDB.h:
777         
778         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
779         (WebCore::IDBClient::IDBConnectionToServer::abortTransaction):
780         (WebCore::IDBClient::IDBConnectionToServer::didAbortTransaction):
781         * Modules/indexeddb/client/IDBConnectionToServer.h:
782         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
783         
784         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
785         (WebCore::IDBClient::IDBDatabase::abortTransaction):
786         (WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction):
787         * Modules/indexeddb/client/IDBDatabaseImpl.h:
788         
789         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
790         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
791         (WebCore::IDBClient::IDBTransaction::abort):
792         (WebCore::IDBClient::IDBTransaction::isFinishedOrFinishing):
793         (WebCore::IDBClient::IDBTransaction::activationTimerFired):
794         (WebCore::IDBClient::IDBTransaction::didAbort):
795         * Modules/indexeddb/client/IDBTransactionImpl.h:
796         
797         * Modules/indexeddb/server/IDBBackingStore.h:
798         
799         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
800         (WebCore::IDBServer::IDBConnectionToClient::didAbortTransaction):
801         * Modules/indexeddb/server/IDBConnectionToClient.h:
802         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
803         
804         * Modules/indexeddb/server/IDBServer.cpp:
805         (WebCore::IDBServer::IDBServer::abortTransaction):
806         * Modules/indexeddb/server/IDBServer.h:
807         
808         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
809         (WebCore::IDBServer::MemoryBackingStoreTransaction::create):
810         (WebCore::IDBServer::MemoryBackingStoreTransaction::MemoryBackingStoreTransaction):
811         (WebCore::IDBServer::MemoryBackingStoreTransaction::~MemoryBackingStoreTransaction):
812         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
813         (WebCore::IDBServer::MemoryBackingStoreTransaction::commit):
814         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
815         (WebCore::IDBServer::MemoryBackingStoreTransaction::isVersionChange):
816         
817         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
818         (WebCore::IDBServer::MemoryIDBBackingStore::setDatabaseInfo):
819         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
820         (WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction):
821         (WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction):
822         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
823
824         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
825         (WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
826         (WebCore::IDBServer::UniqueIDBDatabase::beginTransactionInBackingStore):
827         (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
828         (WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
829         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction):
830         (WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
831         (WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
832         (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
833         * Modules/indexeddb/server/UniqueIDBDatabase.h:
834         
835         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
836         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):
837         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
838         
839         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
840         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
841         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::originalDatabaseInfo):
842         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort):
843         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
844         
845         * Modules/indexeddb/shared/IDBError.cpp:
846         (WebCore::idbErrorName):
847         (WebCore::idbErrorDescription):
848         * Modules/indexeddb/shared/IDBError.h:
849
850         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
851         (WebCore::InProcessIDBServer::didAbortTransaction):
852         (WebCore::InProcessIDBServer::abortTransaction):
853         * Modules/indexeddb/shared/InProcessIDBServer.h:
854
855 2015-10-21  Chris Dumez  <cdumez@apple.com>
856
857         bgsound should use HTMLUnknownElement interface
858         https://bugs.webkit.org/show_bug.cgi?id=148857
859         <rdar://problem/22589036>
860
861         Reviewed by Sam Weinig.
862
863         The blink, bgsound, isindex, multicol, nextid, and spacer elements must
864         use the HTMLUnknownElement interface, as per the HTML specification:
865         https://html.spec.whatwg.org/multipage/obsolete.html#other-elements,-attributes-and-apis
866
867         WebKit was using HTMLUnknownElement for all of them except bgsound.
868         This patch fixes the issue and aligns our behavior with Chrome and
869         Firefox.
870
871         No new tests, already covered by existing tests.
872
873         * html/HTMLTagNames.in:
874
875 2015-10-21  Antoine Quint  <graouts@apple.com>
876
877         Support for the SVG `onend` attribute
878         https://bugs.webkit.org/show_bug.cgi?id=150393
879
880         Reviewed by Dean Jackson.
881
882         Add support for the SVG `onend` attribute to SVG timing and animation elements, which allow the definition
883         of a JS event listener declaratively for the SVG `endEvent` event.
884
885         Tests: svg/animations/end-event-attribute-expected.svg
886                svg/animations/end-event-attribute.svg
887                svg/animations/end-event-syncbase-expected.svg
888                svg/animations/end-event-syncbase.svg
889
890         * dom/EventNames.h:
891         * svg/animation/SVGSMILElement.cpp:
892         (WebCore::SVGSMILElement::parseAttribute):
893         * svg/svgattrs.in:
894
895 2015-10-21  Nan Wang  <n_wang@apple.com>
896
897         AX: Expose table size and cell indexes on iOS
898         https://bugs.webkit.org/show_bug.cgi?id=150366
899
900         Add support to expose table row/column count and cell indexes on iOS.
901
902         Reviewed by Chris Fleizach.
903
904         Test: accessibility/aria-table-attributes.html
905
906         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
907         (-[WebAccessibilityObjectWrapper tableParent]):
908         (-[WebAccessibilityObjectWrapper accessibilityElementForRow:andColumn:]):
909         (-[WebAccessibilityObjectWrapper accessibilityRowCount]):
910         (-[WebAccessibilityObjectWrapper accessibilityColumnCount]):
911         (-[WebAccessibilityObjectWrapper accessibilityARIARowCount]):
912         (-[WebAccessibilityObjectWrapper accessibilityARIAColumnCount]):
913         (-[WebAccessibilityObjectWrapper accessibilityARIARowIndex]):
914         (-[WebAccessibilityObjectWrapper accessibilityARIAColumnIndex]):
915         (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
916
917 2015-10-21  Chris Dumez  <cdumez@apple.com>
918
919         HTMLIFrameElement.sandbox should be a DOMSettableTokenList
920         https://bugs.webkit.org/show_bug.cgi?id=150377
921
922         Reviewed by Ryosuke Niwa.
923
924         HTMLIFrameElement.sandbox should be a DOMSettableTokenList as per the
925         HTML specification:
926         - https://html.spec.whatwg.org/multipage/embedded-content.html#htmliframeelement
927
928         Chrome and Firefox match the specification but Safari/WebKit was uding
929         a DOMString.
930
931         Test: fast/frames/sandbox-attribute.html
932
933         * html/HTMLIFrameElement.cpp:
934         (WebCore::HTMLIFrameElement::sandbox):
935         (WebCore::HTMLIFrameElement::parseAttribute):
936         * html/HTMLIFrameElement.h:
937         * html/HTMLIFrameElement.idl:
938
939 2015-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
940
941         ASSERTION FAILED: markFontData in FontCascade::emphasisMarkHeight
942         https://bugs.webkit.org/show_bug.cgi?id=150171
943
944         Reviewed by Myles C. Maxfield.
945
946         It happens with several tests like fast/ruby/text-emphasis.html in
947         the GTK Debug bot. The tests seem to pass in Release and the rendering
948         looks correct as well removing the assert. The thing is that
949         for some reason we can get an empty GlyphData from
950         FontCascade::getEmphasisMarkGlyphData() when it ends up falling
951         back to system (FontCascadeFonts::glyphDataForSystemFallback).
952
953         * platform/graphics/FontCascade.cpp:
954         (WebCore::FontCascade::getEmphasisMarkGlyphData): Return
955         Optional<GlyphData> instead of returning a boolean and an out
956         parameter. If we get an invalid GlyphData, Nullopt is
957         returned. Also use a SurrogatePairAwareTextIterator to handle
958         surrogate pairs.
959         (WebCore::FontCascade::emphasisMarkAscent):
960         (WebCore::FontCascade::emphasisMarkDescent):
961         (WebCore::FontCascade::emphasisMarkHeight):
962         (WebCore::FontCascade::drawEmphasisMarks):
963         * platform/graphics/FontCascade.h:
964         * platform/graphics/GlyphPage.h:
965         (WebCore::GlyphData::isValid): Return whether the GlyphData is valid.
966
967 2015-10-20  Sergio Villar Senin  <svillar@igalia.com>
968
969         [css-grid] Fix availableLogicalSpace computation with non-zero baseSize flex tracks
970         https://bugs.webkit.org/show_bug.cgi?id=150359
971
972         Reviewed by Zalan Bujtas.
973
974         The availableLogicalSpace computation was incorrect whenever
975         the flex tracks had a non-zero baseSize before the 1fr unit
976         size resolution. That happened because when assigning the new
977         baseSize to the flex track, we were unconditionally
978         subtracting the whole baseSize to the
979         availableLogicalSpace. That's correct if the track is a "pure"
980         flex track, i.e. 2fr, but if the track had a non-zero baseSize
981         (like minmax(10px, 1fr)) then both the new and the old base
982         sizes were incorrectly used to compute the
983         availableLogicalSpace.
984
985         We can test the amount of remaining freeSpace by using content
986         distribution to align and item place on a non-zero baseSize
987         flex track. The content distribution will be accurate if and
988         only if the availableLogicalSpace computation is correct.
989
990         Test: fast/css-grid-layout/flex-content-distribution.html
991
992         * rendering/RenderGrid.cpp:
993         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
994
995 2015-10-21  Xabier Rodriguez Calvar  <calvaris@igalia.com>
996
997         [Streams API] Construct a writable stream
998         https://bugs.webkit.org/show_bug.cgi?id=150360
999
1000         Reviewed by Darin Adler.
1001
1002         This patch initializes a writable stream according to the spec. To do it we need two internal functions, which
1003         are syncWritableStreamStateWithQueue and errorWritableStream, which are also implemented as a quite direct
1004         translation from the spec.
1005
1006         Current test set suffices, expectations are updated accordingly.
1007
1008         * CMakeLists.txt:
1009         * DerivedSources.make:
1010         * WebCore.xcodeproj/project.pbxproj:
1011         * bindings/js/JSDOMWindowBase.cpp:
1012         * bindings/js/WebCoreBuiltinNames.h:
1013         * bindings/js/WebCoreJSBuiltinInternals.h:
1014         * bindings/js/WebCoreJSBuiltins.cpp:
1015         * bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
1016         * Modules/streams/WritableStream.js:
1017         (initializeWritableStream): Function that acts as constructor of WritableStream.
1018         * Modules/streams/WritableStreamInternals.js:
1019         (syncWritableStreamStateWithQueue):
1020         (errorWritableStream): As per spec.
1021
1022 2015-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1023
1024         NetworkProcess: DNS prefetch happens in the Web Process
1025         https://bugs.webkit.org/show_bug.cgi?id=147824
1026
1027         Reviewed by Chris Dumez.
1028
1029         Use FrameLoaderClient to do the DNS prefetch.
1030
1031         * html/HTMLAnchorElement.cpp:
1032         (WebCore::HTMLAnchorElement::parseAttribute):
1033         * loader/EmptyClients.h:
1034         * loader/FrameLoaderClient.h:
1035         * loader/LinkLoader.cpp:
1036         (WebCore::LinkLoader::loadLink):
1037         * page/Chrome.cpp:
1038         (WebCore::Chrome::mouseDidMoveOverElement):
1039
1040 2015-10-21  Frederic Wang  <fred.wang@free.fr>
1041
1042         [FreeType] Add support for the USE_TYPO_METRICS flag
1043         https://bugs.webkit.org/show_bug.cgi?id=150340
1044
1045         Reviewed by Martin Robinson.
1046
1047         Test: fonts/use-typo-metrics-1.html
1048
1049         Make the FreeType backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.
1050         Similar work should be done for other backends, see bug 131839.
1051
1052         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
1053         (WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that's the case.
1054
1055 2015-10-20  Hunseop Jeong  <hs85.jeong@samsung.com>
1056
1057         Replace 0 and NULL with nullptr in WebCore/loader.
1058         https://bugs.webkit.org/show_bug.cgi?id=149657
1059
1060         Reviewed by Darin Adler.
1061
1062         No new tests because there is no behavior change.
1063
1064         * loader/CookieJar.cpp:
1065         (WebCore::networkingContext):
1066         * loader/DocumentLoader.cpp:
1067         (WebCore::DocumentLoader::DocumentLoader):
1068         (WebCore::DocumentLoader::frameLoader):
1069         (WebCore::DocumentLoader::popArchiveForSubframe):
1070         (WebCore::DocumentLoader::clearArchiveResources):
1071         (WebCore::DocumentLoader::clearMainResource):
1072         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
1073         * loader/DocumentThreadableLoader.cpp:
1074         (WebCore::DocumentThreadableLoader::cancel):
1075         (WebCore::DocumentThreadableLoader::setDefersLoading):
1076         (WebCore::DocumentThreadableLoader::clearResource):
1077         * loader/EmptyClients.cpp:
1078         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
1079         (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
1080         * loader/EmptyClients.h:
1081         * loader/FTPDirectoryParser.cpp:
1082         (WebCore::parseOneFTPLine):
1083         * loader/FTPDirectoryParser.h:
1084         (WebCore::ListResult::clear):
1085         * loader/FormSubmission.cpp:
1086         (WebCore::FormSubmission::create):
1087         * loader/FrameLoader.cpp:
1088         (WebCore::FrameLoader::clear):
1089         (WebCore::FrameLoader::stopAllLoaders):
1090         (WebCore::FrameLoader::clearProvisionalLoad):
1091         (WebCore::FrameLoader::transitionToCommitted):
1092         (WebCore::FrameLoader::closeAndRemoveChild):
1093         (WebCore::FrameLoader::detachFromParent):
1094         (WebCore::FrameLoader::detachViewsAndDocumentLoader):
1095         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1096         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1097         * loader/FrameLoader.h:
1098         (WebCore::FrameLoader::stateMachine):
1099         * loader/FrameNetworkingContext.h:
1100         (WebCore::FrameNetworkingContext::invalidate):
1101         * loader/HistoryController.cpp:
1102         (WebCore::HistoryController::replaceState):
1103         * loader/ImageLoader.cpp:
1104         (WebCore::ImageLoader::ImageLoader):
1105         (WebCore::ImageLoader::updateFromElement):
1106         * loader/NetscapePlugInStreamLoader.cpp:
1107         (WebCore::NetscapePlugInStreamLoader::releaseResources):
1108         * loader/ResourceLoadNotifier.h:
1109         * loader/ResourceLoadScheduler.cpp:
1110         (WebCore::resourceLoadScheduler):
1111         * loader/SubresourceLoader.cpp:
1112         (WebCore::SubresourceLoader::releaseResources):
1113         * loader/TextResourceDecoder.cpp:
1114         (WebCore::TextResourceDecoder::TextResourceDecoder):
1115         * loader/ThreadableLoaderClientWrapper.h:
1116         (WebCore::ThreadableLoaderClientWrapper::clearClient):
1117         (WebCore::ThreadableLoaderClientWrapper::done):
1118         * loader/appcache/ApplicationCache.cpp:
1119         (WebCore::fallbackURLLongerThan):
1120         (WebCore::ApplicationCache::ApplicationCache):
1121         (WebCore::ApplicationCache::resourceForRequest):
1122         * loader/appcache/ApplicationCache.h:
1123         (WebCore::ApplicationCache::fallbackURLs):
1124         * loader/appcache/ApplicationCacheGroup.cpp:
1125         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1126         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
1127         (WebCore::ApplicationCacheGroup::selectCache):
1128         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
1129         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
1130         (WebCore::ApplicationCacheGroup::manifestNotFound):
1131         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1132         * loader/appcache/ApplicationCacheHost.cpp:
1133         (WebCore::ApplicationCacheHost::ApplicationCacheHost):
1134         (WebCore::ApplicationCacheHost::setApplicationCache):
1135         * loader/appcache/ApplicationCacheHost.h:
1136         (WebCore::ApplicationCacheHost::candidateApplicationCacheGroup):
1137         * loader/appcache/ApplicationCacheStorage.cpp:
1138         (WebCore::StorageIDJournal::Record::Record):
1139         (WebCore::StorageIDJournal::Record::restore):
1140         (WebCore::ApplicationCacheStorage::loadCacheGroup):
1141         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1142         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
1143         (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
1144         (WebCore::ApplicationCacheStorage::loadCache):
1145         * loader/appcache/DOMApplicationCache.cpp:
1146         (WebCore::DOMApplicationCache::disconnectFrameForPageCache):
1147         (WebCore::DOMApplicationCache::willDestroyGlobalObjectInFrame):
1148         (WebCore::DOMApplicationCache::applicationCacheHost):
1149         (WebCore::DOMApplicationCache::scriptExecutionContext):
1150         (WebCore::DOMApplicationCache::toEventType):
1151         * loader/archive/ArchiveFactory.cpp:
1152         (WebCore::ArchiveFactory::create):
1153         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
1154         * loader/archive/ArchiveResourceCollection.cpp:
1155         (WebCore::ArchiveResourceCollection::archiveResourceForURL):
1156         * loader/archive/cf/LegacyWebArchive.cpp:
1157         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
1158         (WebCore::LegacyWebArchive::createResource):
1159         (WebCore::LegacyWebArchive::create):
1160         (WebCore::LegacyWebArchive::rawDataRepresentation):
1161         * loader/archive/cf/LegacyWebArchiveMac.mm:
1162         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
1163         * loader/archive/mhtml/MHTMLArchive.cpp:
1164         (WebCore::MHTMLArchive::create):
1165         (WebCore::MHTMLArchive::generateMHTMLData):
1166         * loader/archive/mhtml/MHTMLParser.cpp:
1167         (WebCore::MHTMLParser::parseArchiveWithHeader):
1168         (WebCore::MHTMLParser::parseNextPart):
1169         * loader/cache/CachedImage.cpp:
1170         (WebCore::CachedImage::CachedImage):
1171         * loader/cache/CachedImageClient.h:
1172         (WebCore::CachedImageClient::imageChanged):
1173         (WebCore::CachedImageClient::newImageAnimationFrameAvailable):
1174         * loader/cache/CachedRawResource.cpp:
1175         (WebCore::CachedRawResource::calculateIncrementalDataChunk):
1176         * loader/cache/CachedRawResourceClient.h:
1177         (WebCore::CachedRawResourceClient::dataReceived):
1178         (WebCore::CachedRawResourceClient::redirectReceived):
1179         (WebCore::CachedRawResourceClient::getOrCreateReadBuffer):
1180         * loader/cache/CachedResource.cpp:
1181         (WebCore::CachedResource::CachedResource):
1182         (WebCore::CachedResource::clearResourceToRevalidate):
1183         * loader/cache/CachedResourceClientWalker.h:
1184         (WebCore::CachedResourceClientWalker::next):
1185         * loader/cache/CachedResourceHandle.cpp:
1186         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
1187         * loader/cache/CachedResourceLoader.cpp:
1188         (WebCore::createResource):
1189         (WebCore::CachedResourceLoader::CachedResourceLoader):
1190         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1191         (WebCore::CachedResourceLoader::canRequest): Return value is bool.
1192         (WebCore::CachedResourceLoader::requestResource):
1193         * loader/cache/CachedResourceLoader.h:
1194         (WebCore::CachedResourceLoader::document):
1195         (WebCore::CachedResourceLoader::setDocument):
1196         (WebCore::CachedResourceLoader::clearDocumentLoader):
1197         * loader/cache/CachedSVGDocumentReference.cpp:
1198         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1199         * loader/cf/ResourceLoaderCFNet.cpp:
1200         (WebCore::ResourceLoader::shouldCacheResponse): Return value is bool.
1201         * loader/icon/IconDatabase.cpp:
1202         (WebCore::IconDatabase::synchronousIconForPageURL):
1203         (WebCore::IconDatabase::synchronousNativeIconForPageURL):
1204         (WebCore::IconDatabase::setIconDataForIconURL):
1205         (WebCore::IconDatabase::getOrCreatePageURLRecord):
1206         (WebCore::IconDatabase::cleanupSyncThread):
1207         * loader/icon/IconDatabaseBase.cpp:
1208         (WebCore::IconDatabaseBase::open):
1209         (WebCore::iconDatabase):
1210         * loader/icon/IconDatabaseBase.h:
1211         (WebCore::EnumCallback::performCallback):
1212         (WebCore::EnumCallback::invalidate):
1213         (WebCore::ObjectCallback::performCallback):
1214         (WebCore::ObjectCallback::invalidate):
1215         * loader/icon/PageURLRecord.cpp:
1216         (WebCore::PageURLRecord::~PageURLRecord):
1217         (WebCore::PageURLRecord::setIconRecord):
1218         * loader/mac/ResourceLoaderMac.mm:
1219         (WebCore::ResourceLoader::willCacheResponse):
1220         * loader/soup/CachedRawResourceSoup.cpp:
1221         (WebCore::CachedRawResource::getOrCreateReadBuffer):
1222
1223 2015-10-20  Chris Dumez  <cdumez@apple.com>
1224
1225         Unreviewed, GTK API test fix after r191351.
1226
1227         Reverted API change for GTK bindings.
1228
1229         * html/HTMLOptionsCollection.idl:
1230         * html/HTMLSelectElement.idl:
1231
1232 2015-10-20  Chris Dumez  <cdumez@apple.com>
1233
1234         Unreviewed, Another GTK build fix after r191351.
1235
1236         * html/HTMLCollection.idl:
1237
1238 2015-10-20  Chris Dumez  <cdumez@apple.com>
1239
1240         Unreviewed, Another GTK build fix after r191351.
1241
1242         * html/HTMLFieldSetElement.cpp:
1243         (WebCore::HTMLFieldSetElement::elementsForNativeBindings):
1244         (WebCore::HTMLFieldSetElement::elementsForObjC): Deleted.
1245         * html/HTMLFieldSetElement.h:
1246         * html/HTMLFieldSetElement.idl:
1247
1248 2015-10-20  Chris Fleizach  <cfleizach@apple.com>
1249
1250         AX: CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AccessibilityTable::tableElement const + 116
1251         https://bugs.webkit.org/show_bug.cgi?id=150349
1252
1253         Reviewed by Brent Fulgham.
1254
1255         The crash point for this bug says that the parentElement of the firstBody is garbage when it's accessed. 
1256         Unfortunately, I could not reproduce this in-situ or with a test. 
1257         So my speculative solution is to recalculate those body elements to ensure that they're valid before we access.
1258
1259         * accessibility/AccessibilityTable.cpp:
1260         (WebCore::AccessibilityTable::tableElement):
1261         (WebCore::AccessibilityTable::isDataTable):
1262
1263 2015-10-20  Chris Dumez  <cdumez@apple.com>
1264
1265         Unreviewed, GTK build fix after r191351.
1266
1267         * html/HTMLFormElement.cpp:
1268         (WebCore::HTMLFormElement::elementsForNativeBindings):
1269         (WebCore::HTMLFormElement::elementsForObjC): Deleted.
1270         * html/HTMLFormElement.h:
1271         * html/HTMLFormElement.idl:
1272
1273 2015-10-20  Simon Fraser  <simon.fraser@apple.com>
1274
1275         Add basic TextStream output for Images
1276         https://bugs.webkit.org/show_bug.cgi?id=150350
1277
1278         Reviewed by Darin Adler.
1279
1280         Add a TextStream output operator for Image, and virtual dump() member functions
1281         that the various image types override to dump their own data.
1282         
1283         Add isFoo() functions for each image type (surprising that these didn't already
1284         exist) so we can print the image type.
1285         
1286         Make isAnimated() const, and isBitmapImage() private.
1287
1288         * platform/graphics/BitmapImage.cpp:
1289         (WebCore::BitmapImage::dump):
1290         * platform/graphics/BitmapImage.h:
1291         * platform/graphics/CrossfadeGeneratedImage.cpp:
1292         (WebCore::CrossfadeGeneratedImage::dump):
1293         * platform/graphics/CrossfadeGeneratedImage.h:
1294         * platform/graphics/GeneratedImage.cpp:
1295         * platform/graphics/GeneratedImage.h:
1296         * platform/graphics/GradientImage.cpp:
1297         (WebCore::GradientImage::dump):
1298         * platform/graphics/GradientImage.h:
1299         * platform/graphics/Image.cpp:
1300         (WebCore::Image::dump):
1301         (WebCore::operator<<):
1302         * platform/graphics/Image.h:
1303         (WebCore::Image::isGeneratedImage):
1304         (WebCore::Image::isCrossfadeGeneratedImage):
1305         (WebCore::Image::isNamedImageGeneratedImage):
1306         (WebCore::Image::isGradientImage):
1307         (WebCore::Image::isSVGImage):
1308         (WebCore::Image::isAnimated):
1309         * platform/graphics/NamedImageGeneratedImage.cpp:
1310         (WebCore::NamedImageGeneratedImage::dump):
1311         * platform/graphics/NamedImageGeneratedImage.h:
1312         * platform/graphics/cg/PDFDocumentImage.cpp:
1313         (WebCore::PDFDocumentImage::dump):
1314         * platform/graphics/cg/PDFDocumentImage.h:
1315         * svg/graphics/SVGImage.cpp:
1316         (WebCore::SVGImage::dump):
1317         * svg/graphics/SVGImage.h:
1318
1319 2015-10-20  Chris Dumez  <cdumez@apple.com>
1320
1321         Use tighter typing for collections / node lists' item() / namedItem() methods
1322         https://bugs.webkit.org/show_bug.cgi?id=150347
1323
1324         Reviewed by Darin Adler.
1325
1326         Use tighter typing for collections / node lists' item() / namedItem() methods.
1327
1328         * accessibility/AccessibilityRenderObject.cpp:
1329         (WebCore::AccessibilityRenderObject::getDocumentLinks):
1330         * dom/LiveNodeList.h:
1331         * dom/StaticNodeList.cpp:
1332         (WebCore::StaticElementList::item):
1333         * dom/StaticNodeList.h:
1334         * html/CachedHTMLCollection.h:
1335         * html/HTMLAllCollection.idl:
1336         * html/HTMLCollection.idl:
1337         * html/HTMLFieldSetElement.cpp:
1338         (WebCore::HTMLFieldSetElement::elements):
1339         (WebCore::HTMLFieldSetElement::elementsForObjC):
1340         * html/HTMLFieldSetElement.h:
1341         * html/HTMLFieldSetElement.idl:
1342         * html/HTMLFormControlsCollection.cpp:
1343         (WebCore::HTMLFormControlsCollection::customElementAfter):
1344         * html/HTMLFormControlsCollection.h:
1345         * html/HTMLFormControlsCollection.idl:
1346         * html/HTMLFormElement.cpp:
1347         (WebCore::HTMLFormElement::item):
1348         (WebCore::HTMLFormElement::elements):
1349         (WebCore::HTMLFormElement::elementsForObjC):
1350         * html/HTMLFormElement.h:
1351         * html/HTMLFormElement.idl:
1352         * html/HTMLOptionsCollection.cpp:
1353         (WebCore::HTMLOptionsCollection::add):
1354         * html/HTMLOptionsCollection.h:
1355         * html/HTMLOptionsCollection.idl:
1356         * html/HTMLSelectElement.cpp:
1357         (WebCore::HTMLSelectElement::namedItem):
1358         (WebCore::HTMLSelectElement::item):
1359         (WebCore::HTMLSelectElement::setOption):
1360         * html/HTMLSelectElement.idl:
1361         * html/HTMLTableRowElement.cpp:
1362         (WebCore::HTMLTableRowElement::deleteCell):
1363         * html/HTMLTableSectionElement.cpp:
1364         (WebCore::HTMLTableSectionElement::deleteRow):
1365         * html/RadioNodeList.cpp:
1366         (WebCore::toRadioButtonInputElement):
1367         (WebCore::RadioNodeList::value):
1368         (WebCore::RadioNodeList::setValue):
1369         * html/RadioNodeList.h:
1370         * html/RadioNodeList.idl:
1371
1372 2015-10-20  Chris Dumez  <cdumez@apple.com>
1373
1374         Only HTML spaces should be stripped from a <script>'s 'for' / 'event' attributes
1375         https://bugs.webkit.org/show_bug.cgi?id=150335
1376
1377         Reviewed by Darin Adler.
1378
1379         Only HTML spaces should be stripped from a <script>'s 'for' / 'event' attributes:
1380         https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script (step 12.3)
1381         https://html.spec.whatwg.org/multipage/infrastructure.html#space-character
1382
1383         Previously, we were uding the wrong stripping function and we were stripping
1384         some non-HTML spaces.
1385
1386         Test: fast/dom/script-for-event-spaces.html
1387
1388         * dom/ScriptElement.cpp:
1389         (WebCore::ScriptElement::isScriptForEventSupported):
1390
1391 2015-10-20  Csaba Osztrogonác  <ossy@webkit.org>
1392
1393         Fix the !ENABLE(CSS_GRID_LAYOUT) build after r191128
1394         https://bugs.webkit.org/show_bug.cgi?id=150321
1395
1396         Reviewed by Darin Adler.
1397
1398         * css/CSSGrammar.y.in: Typo fix.
1399
1400 2015-10-20  Tim Horton  <timothy_horton@apple.com>
1401
1402         Try to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10
1403
1404         * Configurations/FeatureDefines.xcconfig:
1405
1406 2015-10-13  Sergio Villar Senin  <svillar@igalia.com>
1407
1408         ASSERTION FAILED: computeMainAxisExtentForChild(child, MainOrPreferredSize, mainSize) in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax
1409         https://bugs.webkit.org/show_bug.cgi?id=149459
1410
1411         Reviewed by Darin Adler.
1412
1413         This was regressed after 189567 where min-height|width:auto
1414         support was added to flex items. The merge from Blink changes
1415         was not correctly done for assertions. In particular we were
1416         asserting if the resolved main size was not strictly greater
1417         than 0, but 0 is actually a valid value.
1418
1419         Test: fast/flexbox/crash-resolved-main-size-zero.html
1420
1421         * rendering/RenderFlexibleBox.cpp:
1422         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
1423
1424 2015-10-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1425
1426         [Streams API] Rework some readable stream internals that can be common to writable streams
1427         https://bugs.webkit.org/show_bug.cgi?id=150133
1428
1429         Reviewed by Darin Adler.
1430
1431         There are some things in ReadableStream internals that be be used also for Writable Streams so it was necessary
1432         to move some functions and refactor some code that can be shared by both implementations.
1433
1434         Queue was written with the functions declared at the implementation and keeping the improvement of having the
1435         total size calculated instead of having to transverse the whole array.
1436
1437         The strategy is kept as an object and a common method is used to validate it as per spec.
1438
1439         Promises are reworked to keep in an internal slot inside the promise object the resolve and reject
1440         functions. For convinience three functions were written, one to create the promise (and keep internally the
1441         resolve and reject functions), one to resolve and another to reject. Promises can still be created with
1442         Promise.resolve or reject as the resolve and rejectStreamsPromise functions operate under the assumption that
1443         the internal slots might not exist.
1444
1445         invokeOrNoop and promiseInvokeOrNoop were moved to the common code as they will be also used by WritableStream.
1446
1447         Current test set suffices.
1448
1449         * CMakeLists.txt:
1450         * DerivedSources.make:
1451         * WebCore.xcodeproj/project.pbxproj:
1452         * bindings/js/JSDOMWindowBase.cpp:
1453         * bindings/js/WebCoreJSBuiltinInternals.h:
1454         * bindings/js/WebCoreJSBuiltins.cpp:
1455         * bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
1456         * Modules/streams/ReadableStream.js:
1457         (initializeReadableStream): Reworked queue and strategy.
1458         * Modules/streams/ReadableStreamInternals.js:
1459         (privateInitializeReadableStreamReader):
1460         (errorReadableStream):
1461         (getReadableStreamDesiredSize):
1462         (cancelReadableStream):
1463         (closeReadableStream):
1464         (closeReadableStreamReader):
1465         (enqueueInReadableStream):
1466         (readFromReadableStreamReader): Reworked queue, strategy and promises.
1467         (invokeOrNoop): Deleted.
1468         (promiseInvokeOrNoop): Deleted.
1469         * Modules/streams/StreamInternals.js: Added.
1470         (invokeOrNoop):
1471         (promiseInvokeOrNoop): Moved from ReadableStreamInternals.js.
1472         (validateAndNormalizeQueuingStrategy):
1473         (createNewStreamsPromise):
1474         (resolveStreamsPromise):
1475         (rejectStreamsPromise):
1476         (newQueue):
1477         (dequeueValue):
1478         (enqueueValueWithSize): Added according to the spec.
1479         * bindings/js/WebCoreBuiltinNames.h: Updated private names according to the new slots.
1480
1481 2015-10-20  Yoav Weiss  <yoav@yoav.ws>
1482
1483         Rename the PICTURE_SIZES flag to CURRENTSRC
1484         https://bugs.webkit.org/show_bug.cgi?id=150275
1485
1486         Reviewed by Dean Jackson.
1487
1488         No new tests, since there is no functional change.
1489
1490         * Configurations/FeatureDefines.xcconfig:
1491         * html/HTMLImageElement.cpp:
1492         * html/HTMLImageElement.h:
1493         * html/HTMLImageElement.idl:
1494
1495 2015-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1496
1497         ASSERTION FAILED: m_state == Initialized in SubresourceLoader::didReceiveResponse()
1498         https://bugs.webkit.org/show_bug.cgi?id=150327
1499
1500         Reviewed by Antti Koivisto.
1501
1502         This is how it happens:
1503
1504         1. print() is called while the document is still loading, so
1505            m_shouldPrintWhenFinishedLoading is set to true
1506         2. DataURLDecoder::decode() finishes in the work queue thread,
1507            the completion handler is scheduled in the main thread
1508         3. The load is cancelled
1509           3.1. SubresourceLoader::willCancel sets m_state = Finishing
1510           3.2. DOMWindow::finishedLoading() is called, and since
1511                m_shouldPrintWhenFinishedLoading is true, it does the print.
1512           3.3. Cancellation finishes and ResourceLoader::releaseResources()
1513                is called that sets m_reachedTerminalState = true
1514
1515         So, between 3.1 and 3.3, the state is Finishing, but
1516         m_reachedTerminalState is false. What happens, in the GTK+ port at
1517         least, is that the nested main loop used to make print()
1518         synchronous, processes the DataURLDecoder::decode() completion
1519         handler that was pending. The completion handler returns early if
1520         m_reachedTerminalState is true, but it's not yet in this
1521         particular case. So, it ends up calling didReceiveResponse,
1522         because the decode didn't fail, when the subresource loader state
1523         is Finishing.
1524
1525         I think there are two things here. One is that we shouldn't start
1526         a print that was waiting for the load to finish when it
1527         failed. That would fix the problem. But it's probably a good idea
1528         to also check for cancellation in the DataURLDecoder::decode()
1529         completion handler.
1530
1531         Fixes printing/print-close-crash.html in GTK+ Debug.
1532
1533         * loader/ResourceLoader.cpp:
1534         (WebCore::ResourceLoader::loadDataURL): Return early from
1535         DataURLDecoder::decode() completion handler if the load was cancelled.
1536         * page/DOMWindow.cpp:
1537         (WebCore::DOMWindow::finishedLoading): Do not start a print that
1538         was witing for the load to finish when it failed.
1539
1540 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
1541
1542         FontCascade::typesettingFeatures() is not privy to font-variant-* nor font-feature-settings
1543         https://bugs.webkit.org/show_bug.cgi?id=149775
1544
1545         Reviewed by Darin Adler.
1546
1547         This patch has two pieces:
1548
1549         We used to have a boolean, enableLigatures, which affected how we perform shaping in both our
1550         simple and complex text codepaths. However, in this brave new world of font-feature-settings
1551         and font-variant-*, there are many properties which may affect shaping (and multiple kinds
1552         of ligatures). This patch renames this boolean to requiresShaping, and teaches it about all
1553         the various properties which affect text shaping.
1554
1555         Similarly, one of the places which used this enableLigatures boolean was to tell CoreText
1556         if it should disable ligatures. However, we now have much finer-grained control over
1557         ligatures during font creation. This patch moves the responsibility of dictating which
1558         font features should be enabled entirely to the Font. Therefore, getCFStringAttributes()
1559         doesn't know anything about ligatures anymore; the logic inside font creation is used
1560         instead.
1561
1562         An added benefit of moving all the font feature logic to one place is that we can implement
1563         the feature resolution algorithm described in the CSS3 fonts spec. This patch adds a test to
1564         makes sure that text-rendering, font-feature-settings, and font-variant-* play together
1565         nicely.
1566
1567         Test: fast/text/multiple-feature-properties.html
1568
1569         * platform/graphics/Font.cpp:
1570         (WebCore::Font::applyTransforms):
1571         * platform/graphics/Font.h:
1572         * platform/graphics/FontCascade.cpp:
1573         (WebCore::FontCascade::FontCascade):
1574         (WebCore::FontCascade::operator=):
1575         (WebCore::FontCascade::update):
1576         (WebCore::FontCascade::drawText):
1577         (WebCore::FontCascade::drawEmphasisMarks):
1578         (WebCore::FontCascade::width):
1579         (WebCore::FontCascade::adjustSelectionRectForText):
1580         (WebCore::FontCascade::offsetForPosition):
1581         (WebCore::FontCascade::codePath):
1582         (WebCore::FontCascade::floatWidthForSimpleText):
1583         * platform/graphics/FontCascade.h:
1584         (WebCore::FontCascade::requiresShaping):
1585         (WebCore::FontCascade::computeRequiresShaping):
1586         (WebCore::FontCascade::enableLigatures): Deleted.
1587         (WebCore::FontCascade::computeEnableLigatures): Deleted.
1588         * platform/graphics/WidthIterator.cpp:
1589         (WebCore::WidthIterator::WidthIterator):
1590         (WebCore::WidthIterator::applyFontTransforms):
1591         * platform/graphics/WidthIterator.h:
1592         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1593         (WebCore::preparePlatformFont):
1594         * platform/graphics/cocoa/FontCocoa.mm:
1595         (WebCore::Font::canRenderCombiningCharacterSequence):
1596         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1597         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
1598         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
1599         (WebCore::Font::getCFStringAttributes):
1600         * svg/SVGFontData.h:
1601
1602 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
1603
1604         Shadow GraphicsContext's ImageInterpolationQuality inside GraphicsContextState
1605         https://bugs.webkit.org/show_bug.cgi?id=150306
1606
1607         Reviewed by Simon Fraser.
1608
1609         When getting the ImageInterpolationQuality, there is no need to round-trip through
1610         the platform's graphics context. This patch migrates this piece of state to the
1611         existing idiom of having a setter in GraphicsContext.cpp which sets the relevent
1612         state in GraphicsContextState and then calls into a platform-specific setter.
1613
1614         No new tests because there is no behavior change.
1615
1616         * platform/graphics/GraphicsContext.cpp:
1617         (WebCore::GraphicsContext::setImageInterpolationQuality):
1618         * platform/graphics/GraphicsContext.h:
1619         (WebCore::GraphicsContext::imageInterpolationQuality):
1620         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1621         (WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
1622         (WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
1623         (WebCore::GraphicsContext::imageInterpolationQuality): Deleted.
1624         * platform/graphics/cg/GraphicsContextCG.cpp:
1625         (WebCore::convertInterpolationQuality):
1626         (WebCore::GraphicsContext::platformInit):
1627         (WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
1628         (WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
1629         (WebCore::GraphicsContext::imageInterpolationQuality): Deleted.
1630
1631 2015-10-19  Chris Dumez  <cdumez@apple.com>
1632
1633         Drop unnecessary Node::toInputElement() virtual function
1634         https://bugs.webkit.org/show_bug.cgi?id=150341
1635
1636         Reviewed by Darin Adler.
1637
1638         Drop unnecessary Node::toInputElement() virtual function and use the
1639         usual is<HTMLInputElement>() / downcast< HTMLInputElement >() instead.
1640
1641 2015-10-19  Commit Queue  <commit-queue@webkit.org>
1642
1643         Unreviewed, rolling out r191324.
1644         https://bugs.webkit.org/show_bug.cgi?id=150352
1645
1646         Shadowing CTM's state is not necessary (Requested by litherum
1647         on #webkit).
1648
1649         Reverted changeset:
1650
1651         "Host GraphicsContext's CTM inside GraphicsContextState"
1652         https://bugs.webkit.org/show_bug.cgi?id=150146
1653         http://trac.webkit.org/changeset/191324
1654
1655 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
1656
1657         Host GraphicsContext's CTM inside GraphicsContextState
1658         https://bugs.webkit.org/show_bug.cgi?id=150146
1659
1660         There are 6 operations which interact with CTMs:
1661         - Get
1662         - Set
1663         - Concatenate
1664         - Scale
1665         - Rotate
1666         - Translate
1667
1668         This patch modifies all these operations so that these operations shadow the
1669         platform's CTM inside GraphicsContextState. This way, we don't have to consult
1670         with the underlying graphics context in order to know the current CTM.
1671
1672         There are currently many places in the Core Graphics ports where we will change
1673         the platform's CTM out from under the GraphicsContext. This patch migrates
1674         those users to going through GraphicsContext, thereby preserving the integrity
1675         of the shadowed state.
1676
1677         No new tests because there is no behavior change.
1678
1679         * platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.
1680         The getter can just consult with the shadowed state.
1681         (WebCore::GraphicsContext::concatCTM):
1682         (WebCore::GraphicsContext::scale):
1683         (WebCore::GraphicsContext::rotate):
1684         (WebCore::GraphicsContext::translate):
1685         (WebCore::GraphicsContext::setCTM):
1686         (WebCore::GraphicsContext::getCTM):
1687         (WebCore::GraphicsContext::beginTransparencyLayer):
1688         (WebCore::GraphicsContext::applyDeviceScaleFactor):
1689         * platform/graphics/GraphicsContext.h:
1690         (WebCore::GraphicsContext::scale):
1691         (WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
1692         matches the platform graphics context's state.
1693         * platform/graphics/Image.h:
1694         (WebCore::Image::nativeImageForCurrentFrame):
1695         * platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.
1696         (WebCore::GraphicsContext::resetPlatformCTM):
1697         (WebCore::GraphicsContext::getPlatformCTM):
1698         (WebCore::GraphicsContext::translatePlatformCTM):
1699         (WebCore::GraphicsContext::concatPlatformCTM):
1700         (WebCore::GraphicsContext::setPlatformCTM):
1701         (WebCore::GraphicsContext::rotatePlatformCTM):
1702         (WebCore::GraphicsContext::scalePlatformCTM):
1703         (WebCore::GraphicsContext::getCTM): Deleted.
1704         (WebCore::GraphicsContext::translate): Deleted.
1705         (WebCore::GraphicsContext::concatCTM): Deleted.
1706         (WebCore::GraphicsContext::setCTM): Deleted.
1707         (WebCore::GraphicsContext::rotate): Deleted.
1708         (WebCore::GraphicsContext::scale): Deleted.
1709         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1710         Renaming functions.
1711         (WebCore::GraphicsContextPlatformPrivate::save):
1712         (WebCore::GraphicsContextPlatformPrivate::restore):
1713         (WebCore::GraphicsContextPlatformPrivate::flush):
1714         (WebCore::GraphicsContextPlatformPrivate::clip):
1715         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
1716         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
1717         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
1718         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
1719         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
1720         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
1721         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
1722         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
1723         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
1724         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
1725         * platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,
1726         migrate CTM setters to go through GraphicsContext.
1727         (WebCore::GraphicsContext::resetPlatformCTM):
1728         (WebCore::GraphicsContext::platformInit):
1729         (WebCore::GraphicsContext::drawNativeImage):
1730         (WebCore::GraphicsContext::drawPattern):
1731         (WebCore::GraphicsContext::fillPath):
1732         (WebCore::GraphicsContext::scalePlatformCTM):
1733         (WebCore::GraphicsContext::rotatePlatformCTM):
1734         (WebCore::GraphicsContext::translatePlatformCTM):
1735         (WebCore::GraphicsContext::concatPlatformCTM):
1736         (WebCore::GraphicsContext::setPlatformCTM):
1737         (WebCore::GraphicsContext::getPlatformCTM):
1738         (WebCore::GraphicsContext::scale): Deleted.
1739         (WebCore::GraphicsContext::rotate): Deleted.
1740         (WebCore::GraphicsContext::translate): Deleted.
1741         (WebCore::GraphicsContext::concatCTM): Deleted.
1742         (WebCore::GraphicsContext::setCTM): Deleted.
1743         (WebCore::GraphicsContext::getCTM): Deleted.
1744         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1745         (WebCore::GraphicsContextPlatformPrivate::save):
1746         (WebCore::GraphicsContextPlatformPrivate::restore):
1747         (WebCore::GraphicsContextPlatformPrivate::flush):
1748         (WebCore::GraphicsContextPlatformPrivate::clip):
1749         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
1750         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
1751         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
1752         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
1753         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
1754         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
1755         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
1756         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
1757         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
1758         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
1759         * platform/graphics/transforms/AffineTransform.h:
1760         (WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
1761         is not a good idea. Instead, this function is more valuable. (However, note that
1762         it is expected for values in a CTM to hold values close to 0, which means that
1763         this function might erroneously return false (similar to operator=()).
1764         * platform/graphics/win/GraphicsContextWin.cpp:
1765         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
1766         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
1767         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
1768         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
1769         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
1770         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
1771         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
1772         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
1773         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
1774         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
1775         * platform/mac/DragImageMac.mm:
1776         (WebCore::drawAtPoint):
1777         * platform/spi/cg/CoreGraphicsSPI.h:
1778
1779 2015-10-19  Tim Horton  <timothy_horton@apple.com>
1780
1781         Remove unused support for long presses from WebKit
1782         https://bugs.webkit.org/show_bug.cgi?id=150345
1783
1784         Reviewed by Beth Dakin.
1785
1786         * page/Chrome.cpp:
1787         (WebCore::Chrome::didBeginTrackingPotentialLongMousePress): Deleted.
1788         (WebCore::Chrome::didRecognizeLongMousePress): Deleted.
1789         (WebCore::Chrome::didCancelTrackingPotentialLongMousePress): Deleted.
1790         * page/Chrome.h:
1791         * page/ChromeClient.h:
1792         * page/EventHandler.cpp:
1793         (WebCore::EventHandler::EventHandler): Deleted.
1794         (WebCore::EventHandler::clear): Deleted.
1795         (WebCore::EventHandler::handleMousePressEvent): Deleted.
1796         (WebCore::EventHandler::eventMayStartDrag): Deleted.
1797         (WebCore::EventHandler::handleMouseReleaseEvent): Deleted.
1798         (WebCore::EventHandler::beginTrackingPotentialLongMousePress): Deleted.
1799         (WebCore::EventHandler::recognizeLongMousePress): Deleted.
1800         (WebCore::EventHandler::cancelTrackingPotentialLongMousePress): Deleted.
1801         (WebCore::EventHandler::clearLongMousePressState): Deleted.
1802         (WebCore::EventHandler::handleLongMousePressMouseMovedEvent): Deleted.
1803         (WebCore::EventHandler::handleMouseMoveEvent): Deleted.
1804         (WebCore::EventHandler::handleDrag): Deleted.
1805         * page/EventHandler.h:
1806         * page/Settings.in:
1807
1808 2015-10-19  Tim Horton  <timothy_horton@apple.com>
1809
1810         WKView being inside WKWebView leads to weird API issues
1811         https://bugs.webkit.org/show_bug.cgi?id=150174
1812
1813         Reviewed by Darin Adler.
1814
1815         No new tests, just moving code around.
1816
1817         * WebCore.xcodeproj/project.pbxproj:
1818         * platform/spi/mac/NSWindowSPI.h: Added.
1819
1820 2015-10-19  Simon Fraser  <simon.fraser@apple.com>
1821
1822         Restore an assertion to the way it was before r191310, which was correct.
1823
1824         * platform/graphics/GraphicsTypes.cpp:
1825         (WebCore::compositeOperatorName):
1826
1827 2015-10-19  Beth Dakin  <bdakin@apple.com>
1828
1829         Build fix.
1830
1831         * dom/EventNames.in:
1832         * dom/make_event_factory.pl:
1833         (generateImplementation):
1834
1835 2015-10-19  Csaba Osztrogonác  <ossy@webkit.org>
1836
1837         Fix the binding generator after r191176
1838         https://bugs.webkit.org/show_bug.cgi?id=150320
1839
1840         Reviewed by Darin Adler.
1841
1842         * bindings/scripts/CodeGeneratorJS.pm:
1843         (GenerateConstructorHelperMethods):
1844         * bindings/scripts/test/JS/JSTestInterface.cpp:
1845         (WebCore::JSTestInterfaceConstructor::getConstructData):
1846
1847 2015-10-19  Commit Queue  <commit-queue@webkit.org>
1848
1849         Unreviewed, rolling out r191307.
1850         https://bugs.webkit.org/show_bug.cgi?id=150338
1851
1852         broke lots of API tests, need time to figure out whats up
1853         (Requested by thorton on #webkit).
1854
1855         Reverted changeset:
1856
1857         "WKView being inside WKWebView leads to weird API issues"
1858         https://bugs.webkit.org/show_bug.cgi?id=150174
1859         http://trac.webkit.org/changeset/191307
1860
1861 2015-10-19  Commit Queue  <commit-queue@webkit.org>
1862
1863         Unreviewed, rolling out r191295, r191297, and r191301.
1864         https://bugs.webkit.org/show_bug.cgi?id=150337
1865
1866         ASSERTs in 5 tests (Requested by litherum on #webkit).
1867
1868         Reverted changesets:
1869
1870         "Host GraphicsContext's CTM inside GraphicsContextState"
1871         https://bugs.webkit.org/show_bug.cgi?id=150146
1872         http://trac.webkit.org/changeset/191295
1873
1874         "[iOS] Build fix after r191295"
1875         http://trac.webkit.org/changeset/191297
1876
1877         "Unreviewed build fix after r191295."
1878         http://trac.webkit.org/changeset/191301
1879
1880 2015-10-16  Brian Burg  <bburg@apple.com>
1881
1882         Unify handling of JavaScriptCore scripts that are used in WebCore
1883         https://bugs.webkit.org/show_bug.cgi?id=150245
1884
1885         Reviewed by Alex Christensen.
1886
1887         Use the new JavaScriptCore_SCRIPTS_DIR variable.
1888
1889         * CMakeLists.txt:
1890         * DerivedSources.make:
1891         * WebCore.xcodeproj/project.pbxproj:
1892
1893             No need to export other variables like InspectorScripts anymore.
1894
1895 2015-10-19  Simon Fraser  <simon.fraser@apple.com>
1896
1897         Add TextStream formatters for FillLayer and all it entails
1898         https://bugs.webkit.org/show_bug.cgi?id=150312
1899
1900         Reviewed by Tim Horton.
1901
1902         Add TextStream output formatters for FillLayer, and all the enum
1903         types used by it.
1904         
1905         Drive-by fixes for CompositeOperator and BlendMode string conversions.
1906         compositeOperatorNames was missing the "difference" string, and compositeOperatorName()
1907         would do an OOB memory access if blendOp was zero.
1908
1909         * CMakeLists.txt:
1910         * WebCore.xcodeproj/project.pbxproj:
1911         * platform/Length.cpp:
1912         (WebCore::operator<<):
1913         * platform/Length.h:
1914         * platform/LengthSize.cpp: Added.
1915         (WebCore::operator<<):
1916         * platform/LengthSize.h:
1917         * platform/text/TextStream.h:
1918         * rendering/style/FillLayer.cpp:
1919         (WebCore::operator<<):
1920         * rendering/style/FillLayer.h:
1921         * rendering/style/RenderStyleConstants.cpp: Added.
1922         (WebCore::operator<<):
1923         * rendering/style/RenderStyleConstants.h:
1924
1925 2015-10-19  Tim Horton  <timothy_horton@apple.com>
1926
1927         WKView being inside WKWebView leads to weird API issues
1928         https://bugs.webkit.org/show_bug.cgi?id=150174
1929
1930         Reviewed by Darin Adler.
1931
1932         No new tests, just moving code around.
1933
1934         * WebCore.xcodeproj/project.pbxproj:
1935         * platform/spi/mac/NSWindowSPI.h: Added.
1936
1937 2015-10-19  Tim Horton  <timothy_horton@apple.com>
1938
1939         Try to fix the iOS build
1940
1941         * Configurations/FeatureDefines.xcconfig:
1942
1943 2015-10-19  Alex Christensen  <achristensen@webkit.org>
1944
1945         Unreviewed build fix after r191295.
1946
1947         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1948         (WebCore::GraphicsContext::translatePlatformCTM):
1949         (WebCore::GraphicsContext::setPlatformFillColor):
1950         (WebCore::GraphicsContext::concatPlatformCTM):
1951         (WebCore::GraphicsContext::setPlatformCTM):
1952         (WebCore::GraphicsContext::setPlatformShadow):
1953         (WebCore::GraphicsContext::rotatePlatformCTM):
1954         (WebCore::GraphicsContext::scalePlatformCTM):
1955         (WebCore::GraphicsContext::clipOut):
1956         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1957         (WebCore::GraphicsContextPlatformPrivate::save):
1958         (WebCore::GraphicsContextPlatformPrivate::restore):
1959         (WebCore::GraphicsContextPlatformPrivate::flush):
1960         (WebCore::GraphicsContextPlatformPrivate::clip):
1961         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
1962         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
1963         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
1964         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
1965         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
1966         (WebCore::GraphicsContextPlatformPrivate::syncContext):
1967         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
1968         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
1969         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
1970         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
1971         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
1972
1973 2015-10-19  Tim Horton  <timothy_horton@apple.com>
1974
1975         Add magnify and rotate gesture event support for Mac
1976         https://bugs.webkit.org/show_bug.cgi?id=150179
1977         <rdar://problem/8036240>
1978
1979         Reviewed by Darin Adler.
1980
1981         No new tests.
1982
1983         * Configurations/FeatureDefines.xcconfig:
1984         New feature flag.
1985
1986         * Configurations/WebCore.xcconfig:
1987         Don't exclude generated gesture sources; they are already #ifdef-guarded.
1988
1989         * DerivedSources.make:
1990         Add GestureEvent.idl for ENABLE_MAC_GESTURE_EVENTS too.
1991
1992         * WebCore.xcodeproj/project.pbxproj:
1993         Add GestureEvents.cpp.
1994
1995         * bindings/objc/DOMEvents.mm:
1996         (kitClass):
1997         Support DOMGestureEvent on Mac if the new flag is enabled.
1998
1999         * dom/mac/GestureEvents.cpp: Added.
2000         * page/mac/EventHandlerMac.mm:
2001
2002         * page/EventHandler.cpp:
2003         (WebCore::EventHandler::clear):
2004         * page/EventHandler.h:
2005         Enable some gesture-related code on Mac if the new flag is enabled.
2006
2007         * platform/PlatformEvent.h:
2008
2009 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
2010
2011         [iOS] Build fix after r191295
2012
2013         Unreviewed.
2014
2015         * platform/graphics/cg/GraphicsContextCG.cpp:
2016         (WebCore::GraphicsContext::resetPlatformCTM):
2017
2018 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
2019
2020         Host GraphicsContext's CTM inside GraphicsContextState
2021         https://bugs.webkit.org/show_bug.cgi?id=150146
2022
2023         Reviewed by Simon Fraser.
2024
2025         There are 6 operations which interact with CTMs:
2026         - Get
2027         - Set
2028         - Concatenate
2029         - Scale
2030         - Rotate
2031         - Translate
2032
2033         This patch modifies all these operations so that these operations shadow the
2034         platform's CTM inside GraphicsContextState. This way, we don't have to consult
2035         with the underlying graphics context in order to know the current CTM.
2036
2037         There are currently many places in the Core Graphics ports where we will change
2038         the platform's CTM out from under the GraphicsContext. This patch migrates
2039         those users to going through GraphicsContext, thereby preserving the integrity
2040         of the shadowed state.
2041
2042         No new tests because there is no behavior change.
2043
2044         * platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.
2045         The getter can just consult with the shadowed state.
2046         (WebCore::GraphicsContext::concatCTM):
2047         (WebCore::GraphicsContext::scale):
2048         (WebCore::GraphicsContext::rotate):
2049         (WebCore::GraphicsContext::translate):
2050         (WebCore::GraphicsContext::setCTM):
2051         (WebCore::GraphicsContext::getCTM):
2052         (WebCore::GraphicsContext::beginTransparencyLayer):
2053         (WebCore::GraphicsContext::applyDeviceScaleFactor):
2054         * platform/graphics/GraphicsContext.h:
2055         (WebCore::GraphicsContext::scale):
2056         (WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
2057         matches the platform graphics context's state.
2058         * platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.
2059         (WebCore::GraphicsContext::resetPlatformCTM):
2060         (WebCore::GraphicsContext::getPlatformCTM):
2061         (WebCore::GraphicsContext::translatePlatformCTM):
2062         (WebCore::GraphicsContext::concatPlatformCTM):
2063         (WebCore::GraphicsContext::setPlatformCTM):
2064         (WebCore::GraphicsContext::rotatePlatformCTM):
2065         (WebCore::GraphicsContext::scalePlatformCTM):
2066         (WebCore::GraphicsContext::getCTM): Deleted.
2067         (WebCore::GraphicsContext::translate): Deleted.
2068         (WebCore::GraphicsContext::concatCTM): Deleted.
2069         (WebCore::GraphicsContext::setCTM): Deleted.
2070         (WebCore::GraphicsContext::rotate): Deleted.
2071         (WebCore::GraphicsContext::scale): Deleted.
2072         * platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,
2073         migrate CTM setters to go through GraphicsContext.
2074         (WebCore::GraphicsContext::resetPlatformCTM):
2075         (WebCore::GraphicsContext::platformInit):
2076         (WebCore::GraphicsContext::drawNativeImage):
2077         (WebCore::drawPatternCallback):
2078         (WebCore::GraphicsContext::drawPattern):
2079         (WebCore::GraphicsContext::fillPath):
2080         (WebCore::GraphicsContext::strokePath):
2081         (WebCore::GraphicsContext::fillRect):
2082         (WebCore::GraphicsContext::strokeRect):
2083         (WebCore::GraphicsContext::scalePlatformCTM):
2084         (WebCore::GraphicsContext::rotatePlatformCTM):
2085         (WebCore::GraphicsContext::translatePlatformCTM):
2086         (WebCore::GraphicsContext::concatPlatformCTM):
2087         (WebCore::GraphicsContext::setPlatformCTM):
2088         (WebCore::GraphicsContext::getPlatformCTM):
2089         (WebCore::GraphicsContext::scale): Deleted.
2090         (WebCore::GraphicsContext::rotate): Deleted.
2091         (WebCore::GraphicsContext::translate): Deleted.
2092         (WebCore::GraphicsContext::concatCTM): Deleted.
2093         (WebCore::GraphicsContext::setCTM): Deleted.
2094         (WebCore::GraphicsContext::getCTM): Deleted.
2095         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2096         (WebCore::GraphicsContextPlatformPrivate::save):
2097         (WebCore::GraphicsContextPlatformPrivate::restore):
2098         (WebCore::GraphicsContextPlatformPrivate::flush):
2099         (WebCore::GraphicsContextPlatformPrivate::clip):
2100         (WebCore::GraphicsContextPlatformPrivate::scale):
2101         (WebCore::GraphicsContextPlatformPrivate::rotate):
2102         (WebCore::GraphicsContextPlatformPrivate::translate):
2103         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
2104         (WebCore::GraphicsContextPlatformPrivate::setCTM):
2105         * platform/graphics/transforms/AffineTransform.h:
2106         (WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
2107         is not a good idea. Instead, this function is more valuable. (However, note that
2108         it is expected for values in a CTM to hold values close to 0, which means that
2109         this function might erroneously return false (similar to operator=()).
2110         * platform/graphics/win/GraphicsContextWin.cpp:
2111         (WebCore::GraphicsContextPlatformPrivate::scale):
2112         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
2113         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
2114         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
2115         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
2116         * platform/mac/DragImageMac.mm:
2117         (WebCore::drawAtPoint):
2118
2119 2015-10-19  Chris Dumez  <cdumez@apple.com>
2120
2121         Null dereference loading Blink layout test fast/forms/color/input-color-onchange-event.html
2122         https://bugs.webkit.org/show_bug.cgi?id=150192
2123         <rdar://problem/23135050>
2124
2125         Reviewed by Darin Adler.
2126
2127         Calling internals.selectColorInColorChooser() with a non-Element would
2128         cause a null dereference. This is because in such case, the implementation
2129         method is passed a null pointer and we would fail to null-check it. This
2130         patch now does the null-check.
2131
2132         No new tests, existing test was updated.
2133
2134         * testing/Internals.cpp:
2135         (WebCore::Internals::selectColorInColorChooser):
2136
2137 2015-10-19  Csaba Osztrogonác  <ossy@webkit.org>
2138
2139         Fix the !ENABLE(CSS_GRID_LAYOUT) build after r190840
2140         https://bugs.webkit.org/show_bug.cgi?id=150322
2141
2142         Reviewed by Ryosuke Niwa.
2143
2144         * html/HTMLDetailsElement.cpp:
2145
2146 2015-10-19  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2147
2148         Binding generator should generate names for JSBuiltins partial interface methods using ImplementedBy value
2149         https://bugs.webkit.org/show_bug.cgi?id=150163
2150
2151         Reviewed by Darin Adler.
2152
2153         Covered by updated binding tests.
2154
2155         Updating generation of JS built-in function/attribute name to use the ImplementedBy value of the interface if any.
2156         This allows splitting JS built-ins just like is done for IDLs.
2157         Updated accordingly the JS Builtin header include.
2158
2159         * bindings/scripts/CodeGeneratorJS.pm:
2160         (GetAttributeGetterName): Updated to pass function object and not only function name.
2161         (GetAttributeSetterName): Ditto.
2162         (GetFunctionName): Removed unneeded code plus updated to pass function object and not only function name.
2163         (GenerateConstructorHelperMethods): Making direct use of GetJSBuiltinFunctionNameFromString since there is no function object for the constructor.
2164         (GetJSBuiltinFunctionName): Updated to take into accound ImplementedBy value if any.
2165         (GetJSBuiltinFunctionNameFromString):
2166         (GetJSBuiltinScopeName): Returns either the interface name or its ImplementedBy value.
2167         (AddJSBuiltinIncludesIfNeeded): Updating name of the header in case of partial interface.
2168         * bindings/scripts/test/JS/JSTestInterface.cpp:
2169         * bindings/scripts/test/ObjC/DOMTestInterface.h:
2170         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2171         (-[DOMTestInterface builtinAttribute]):
2172         (-[DOMTestInterface setBuiltinAttribute:]):
2173         (-[DOMTestInterface builtinFunction]):
2174         * bindings/scripts/test/TestSupplemental.idl: Added JSBuiltin attribute and function.
2175
2176 2015-10-19  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2177
2178         Binding generator should allow generating private JS functions
2179         https://bugs.webkit.org/show_bug.cgi?id=150167
2180
2181         Reviewed by Darin Adler.
2182
2183         Introducing the "Private" keyword for that purpose.
2184         Applying it to MediaDevices.getUserMedia which can be used directly or through navigator.webkitGetUserMedia
2185         which could be implemented as JS builtin based on it.
2186
2187         "Private" functions are added to the prototype with a corresponding private symbol.
2188         This symbol must be defined in bindings/js/WebCoreBuiltinNames.h.
2189
2190         Adding a getUserMediaFromJS function visible from builtins script.
2191         Implementing MediaDevices.getUserMedia as a JS builtin based on it.
2192
2193         Adding binding generator test.
2194
2195         * CMakeLists.txt: Adding MediaDevices.js.
2196         * DerivedSources.make: Ditto.
2197         * Modules/mediastream/MediaDevices.h:
2198         (WebCore::MediaDevices::getUserMediaFromJS):
2199         * Modules/mediastream/MediaDevices.idl: Marking getUserMediaFromJS private and getUserMedia JSBuiltin.
2200         * Modules/mediastream/MediaDevices.js: Added.
2201         (getUserMedia):
2202         * bindings/js/WebCoreBuiltinNames.h:
2203         * bindings/js/WebCoreJSBuiltins.cpp:
2204         * bindings/js/WebCoreJSBuiltins.h:
2205         (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
2206         (WebCore::JSBuiltinFunctions::mediaDevicesBuiltins):
2207         * bindings/scripts/CodeGeneratorGObject.pm: Skipping generation of Private functions.
2208         (SkipFunction):
2209         * bindings/scripts/CodeGeneratorJS.pm:
2210         (GenerateImplementation): Disabling addition of private function in table and adding private member field to the prototype.
2211         * bindings/scripts/CodeGeneratorObjC.pm: Skipping generation of Private functions.
2212         (SkipFunction):
2213         * bindings/scripts/IDLAttributes.txt: Adding Private keyword.
2214         * bindings/scripts/test/JS/JSTestObj.cpp: Adding Private keyword test.
2215         (WebCore::JSTestObjPrototype::finishCreation):
2216         (WebCore::jsTestObjPrototypeFunctionPrivateMethod):
2217         * bindings/scripts/test/TestObj.idl:
2218
2219 2015-10-19  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2220
2221         [Streams API] Implement ReadableStream tee
2222         https://bugs.webkit.org/show_bug.cgi?id=146315
2223
2224         Reviewed by Darin Adler.
2225
2226         Covered by rebased test.
2227
2228         * Modules/streams/ReadableStream.js:
2229         (tee): Removing not implemented exception throwing.
2230         * Modules/streams/ReadableStreamInternals.js:
2231         (teeReadableStream): Implementing as per spec.
2232         (teeReadableStreamPullFunction): Ditto.
2233         (teeReadableStreamBranch2CancelFunction): Ditto.
2234
2235 2015-10-19  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2236
2237         [Streams API] Add skeleton for initial WritableStream support
2238         https://bugs.webkit.org/show_bug.cgi?id=149951
2239
2240         Reviewed by Darin Adler.
2241
2242         This basically adds an empty WritableStream object without initializing the object. It also adds all empty
2243         methods by raising an exception.
2244
2245         The reason why the object is not fully initialized is that it requires some other support and some refactorings
2246         to share more code with ReadableStream and we will make in following patches.
2247
2248         Tests are covered by current set and their expectations are properly updated.
2249
2250         * CMakeLists.txt:
2251         * DerivedSources.cpp:
2252         * DerivedSources.make:
2253         * WebCore.vcxproj/WebCore.vcxproj:
2254         * WebCore.vcxproj/WebCore.vcxproj.filters:
2255         * WebCore.xcodeproj/project.pbxproj:
2256         * bindings/js/WebCoreJSBuiltins.cpp:
2257         * bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
2258         * Modules/streams/WritableStream.idl: Added all methods and attributes.
2259         * Modules/streams/WritableStream.js:
2260         (initializeWritableStream):
2261         (abort):
2262         (close):
2263         (write):
2264         (closed):
2265         (ready):
2266         (state): Added all by throwing an EvalError.
2267
2268 2015-10-18  Chris Dumez  <cdumez@apple.com>
2269
2270         Script element with an empty for or event attributes should not execute
2271         https://bugs.webkit.org/show_bug.cgi?id=148855
2272         <rdar://problem/22588156>
2273
2274         Reviewed by Darin Adler.
2275
2276         A script element with an empty for or event attributes should not execute
2277         as per:
2278         https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script (step 12)
2279
2280         Our implementation had a bug where it would not correctly differentiate
2281         an empty attribute from a missing one. This patch fixes this.
2282
2283         No new tests, already covered by existing test.
2284
2285         * dom/ScriptElement.cpp:
2286         (WebCore::ScriptElement::isScriptForEventSupported):
2287
2288 2015-10-18  Chris Dumez  <cdumez@apple.com>
2289
2290         WebKit must support all JavaScript MIME types in HTML5 spec
2291         https://bugs.webkit.org/show_bug.cgi?id=148854
2292         <rdar://problem/22588195>
2293
2294         Reviewed by Darin Adler.
2295
2296         WebKit did not execute certain EcmaScript MIME types although the HTML
2297         specification says all user agents should support those:
2298         https://html.spec.whatwg.org/multipage/scripting.html#javascript-mime-type
2299
2300         In particular, the following MIME types are now recognized as valid and
2301         executed: "application/x-ecmascript", "text/javascript1.0",
2302         "text/javascript1.4", "text/javascript1.5", "text/x-javascript",
2303         "text/x-ecmascript".
2304
2305         The new behavior is consistent with Firefox.
2306
2307         No new tests, already covered by existing test.
2308
2309         * platform/MIMETypeRegistry.cpp:
2310         (WebCore::initializeSupportedJavaScriptMIMETypes):
2311
2312 2015-10-18  Sungmann Cho  <sungmann.cho@navercorp.com>
2313
2314         [Win] Fix the Windows builds.
2315         https://bugs.webkit.org/show_bug.cgi?id=150300
2316
2317         Reviewed by Darin Adler.
2318
2319         Add missing files to WebCore.vcxproj.
2320         Add missing #includes to CSSAllInOne.cpp and HTMLElementsAllInOne.cpp.
2321
2322         No new tests, no behavior change.
2323
2324         * WebCore.vcxproj/WebCore.vcxproj:
2325         * WebCore.vcxproj/WebCore.vcxproj.filters:
2326         * css/CSSAllInOne.cpp:
2327         * html/HTMLElementsAllInOne.cpp:
2328
2329 2015-10-18  Sungmann Cho  <sungmann.cho@navercorp.com>
2330
2331         Fix the builds with ENABLE_CONTENT_EXTENSIONS=OFF.
2332         https://bugs.webkit.org/show_bug.cgi?id=150302
2333
2334         Reviewed by Darin Adler.
2335
2336         Add missing #if ENABLE(CONTENT_EXTENSIONS).
2337
2338         No new tests, no behavior change.
2339
2340         * page/UserContentController.h:
2341
2342 2015-10-18  Joonghun Park  <jh718.park@samsung.com>
2343
2344         [EFL] Fix debug build break since r191198
2345         https://bugs.webkit.org/show_bug.cgi?id=150277
2346
2347         Reviewed by Darin Adler.
2348
2349         No new tests, no new behaviours.
2350
2351         Use the correct %"PRIu64" for uint64_t,
2352         instead of %llu.
2353
2354         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
2355         (WebCore::IDBClient::IDBDatabase::fireVersionChangeEvent):
2356         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
2357         (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
2358         * Modules/indexeddb/legacy/IDBDatabaseBackend.cpp:
2359         (WebCore::IDBDatabaseBackend::processPendingOpenCalls):
2360         (WebCore::IDBDatabaseBackend::openConnectionInternal):
2361         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2362         (WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChange):
2363
2364 2015-10-18  Sungmann Cho  <sungmann.cho@navercorp.com>
2365
2366         Fix the builds with ENABLE_INDEX_DATABASE=OFF.
2367         https://bugs.webkit.org/show_bug.cgi?id=150301
2368
2369         Reviewed by Darin Adler.
2370
2371         Add missing #if ENABLE(INDEXED_DATABASE).
2372
2373         No new tests, no behavior change.
2374
2375         * page/Page.cpp:
2376
2377 2015-10-18  Myles C. Maxfield  <mmaxfield@apple.com>
2378
2379         [Cocoa] [Win] Remove unused code from GraphicsContext
2380         https://bugs.webkit.org/show_bug.cgi?id=150304
2381
2382         Reviewed by Darin Adler.
2383
2384         No new tests because there is no behavior change.
2385
2386         * platform/graphics/GraphicsContext.h:
2387         * platform/graphics/cg/GraphicsContextCG.cpp:
2388         (WebCore::GraphicsContext::setAllowsFontSmoothing): Deleted.
2389
2390 2015-10-18  Antti Koivisto  <antti@apple.com>
2391
2392         Computed style should work correctly with slotted elements that have display:none
2393         https://bugs.webkit.org/show_bug.cgi?id=150237
2394
2395         Reviewed by Andreas Kling..
2396
2397         If an element has display:none we don't normally retain or even compute its style (as it is not rendered).
2398         If getComputedStyle is invoked for such element we resolve the style (along with any ancestors) and cache
2399         it separately to rare data. This path needs to work with slotted elements in shadow trees.
2400
2401         This patch also make computedStyle() iterative rather than recursive.
2402
2403         Test: fast/shadow-dom/computed-style-display-none.html
2404
2405         * dom/Document.cpp:
2406         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
2407
2408             Pass in the parent style instead of invoking computedStyle() recursively.
2409
2410         * dom/Document.h:
2411         * dom/Element.cpp:
2412         (WebCore::beforeOrAfterPseudoElement):
2413         (WebCore::Element::existingComputedStyle):
2414         (WebCore::Element::resolveComputedStyle):
2415
2416             Iterative resolve function that uses composed tree iterator.
2417
2418         (WebCore::Element::computedStyle):
2419
2420             Factor into helpers.
2421
2422         * dom/Element.h:
2423         * dom/Node.cpp:
2424         (WebCore::Node::computedStyle):
2425
2426             Use the composed tree iterator.
2427
2428         * html/HTMLSelectElement.cpp:
2429         (WebCore::HTMLSelectElement::selectOption):
2430
2431             Call updateValidity() before calling renderer->updateFromElement(). Calling updateFromElement()
2432             may end up in Element::computedStyle() which can asserts if validity is not up to date.
2433
2434 2015-10-18  Myles C. Maxfield  <mmaxfield@apple.com>
2435
2436         Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
2437         https://bugs.webkit.org/show_bug.cgi?id=150287
2438
2439         Reviewed by Simon Fraser.
2440
2441         This user default is currently on by default. Therefore, by setting the user default,
2442         users can only disable kerning / ligatures (rather than enable it).
2443
2444         There are a few reasons why we should stop honoring it:
2445
2446         1. In the brave new world of font-feature-settings and font-variant-ligatures, there
2447         are many different kinds of ligatures which may be enabled at will. The simplistic
2448         statement of "turn on ligatures" no longer has any meaning.
2449
2450         2. If a user wants to disable kerning / ligatures, he/she can do it with a user
2451         stylesheet.
2452
2453         3. The default isn't able to be tested with DumpRenderTree or WebKitTestRunner.
2454
2455         4. I have never heard of anyone actually using this user default.
2456
2457         * platform/graphics/FontCascade.cpp:
2458         (WebCore::FontCascade::setDefaultKerning): Deleted.
2459         (WebCore::FontCascade::setDefaultLigatures): Deleted.
2460         * platform/graphics/FontCascade.h:
2461         (WebCore::FontCascade::advancedTextRenderingMode):
2462
2463 2015-10-18  Commit Queue  <commit-queue@webkit.org>
2464
2465         Unreviewed, rolling out r191250 and r191253.
2466         https://bugs.webkit.org/show_bug.cgi?id=150296
2467
2468         Broke all the tests on Windows (Requested by ap on #webkit).
2469
2470         Reverted changesets:
2471
2472         "Stop honoring the user default
2473         "WebKitKerningAndLigaturesEnabledByDefault""
2474         https://bugs.webkit.org/show_bug.cgi?id=150287
2475         http://trac.webkit.org/changeset/191250
2476
2477         "Build fix after r191250"
2478         http://trac.webkit.org/changeset/191253
2479
2480 2015-10-17  David Hyatt  <hyatt@apple.com>
2481
2482         Implement the CSS4 'revert' keyword.
2483         https://bugs.webkit.org/show_bug.cgi?id=149702
2484
2485         Reviewed by Simon Fraser.
2486
2487         Added new tests in fast/css and fast/css/variables.
2488
2489         * CMakeLists.txt:
2490         * WebCore.xcodeproj/project.pbxproj:
2491         Add CSSRevertValue to the project and makefiles.
2492
2493         * css/CSSParser.cpp:
2494         (WebCore::parseKeywordValue):
2495         Make sure to handle "revert" in the keyword parsing path (along with inherit/initial/unset).
2496
2497         (WebCore::CSSParser::parseValue):
2498         (WebCore::CSSParser::parseCustomPropertyDeclaration):
2499         At the parser level, "revert" is just like inherit/initial/unset and gets its own special
2500         singleton value, CSSRevertValue.
2501
2502         * css/CSSRevertValue.cpp: Added.
2503         (WebCore::CSSRevertValue::customCSSText):
2504         * css/CSSRevertValue.h: Added.
2505         (WebCore::CSSRevertValue::create):
2506         (WebCore::CSSRevertValue::equals):
2507         (WebCore::CSSRevertValue::CSSRevertValue):
2508         This value is identical to the inherit/initial/unset values, i.e., its own special value
2509         that can be used to indicate a revert when doing style resolution.
2510
2511         * css/CSSValue.cpp:
2512         (WebCore::CSSValue::cssValueType):
2513         (WebCore::CSSValue::equals):
2514         (WebCore::CSSValue::cssText):
2515         (WebCore::CSSValue::destroy):
2516         * css/CSSValue.h:
2517         (WebCore::CSSValue::isInheritedValue):
2518         (WebCore::CSSValue::isInitialValue):
2519         (WebCore::CSSValue::isUnsetValue):
2520         (WebCore::CSSValue::isRevertValue):
2521         Add the RevertClass to CSSValue and make sure it is handled in all the appropriate methods.
2522
2523         * css/CSSValueKeywords.in:
2524         Add the "revert" keyword to the list of allowed CSS keywords.
2525
2526         * css/CSSValuePool.cpp:
2527         (WebCore::CSSValuePool::CSSValuePool):
2528         * css/CSSValuePool.h:
2529         (WebCore::CSSValuePool::createRevertValue):
2530         Add support for a CSSRevertValue singleton, just like inherit/unset/initial.
2531
2532         * css/FontLoader.cpp:
2533         (WebCore::FontLoader::resolveFontStyle):
2534         Add "unset" and "revert" as special keywords to be ignored. This code seems to be turned off,
2535         but patching it anyway.
2536
2537         * css/SelectorChecker.h:
2538         Add a MatchDefault value of 0 to the LinkMatchMask. This enables it to be used as an index
2539         to the correct value in Property (in the style resolution code).
2540
2541         * css/StyleResolver.cpp:
2542         (WebCore::StyleResolver::State::initForStyleResolve):
2543         Delete any lingering old CascadedProperty rollbacks for UA/user rules.
2544
2545         (WebCore::StyleResolver::styleForKeyframe):
2546         (WebCore::StyleResolver::styleForPage):
2547         (WebCore::StyleResolver::applyMatchedProperties):
2548         Pass along the MatchResult as an additional parameter, since we need it to lazily compute
2549         the cascade rollbacks if the "revert" keyword is encountered.
2550
2551         (WebCore::StyleResolver::cascadedPropertiesForRollback):
2552         This method will lazily create and return a new CascadedProperties pointer that is cached
2553         in the StyleResolver's state. This will contain only UA rules (for user reverts) and UA/user
2554         rules (for author reverts). These will only be computed at most once for a given element
2555         when doing a reversion, and they will be computed lazily, i.e., only if a revert is
2556         requested.
2557
2558         (WebCore::StyleResolver::applyProperty):
2559         Pass along the LinkMatchMask and the MatchResult to applyProperty. This way we know specifically
2560         which link type we were computing if we have to revert (so that we roll back and look at the
2561         same index in the reverted version). The MatchResult is passed along because it is needed
2562         to build the CascadedProperties rollbacks.
2563
2564         The basic idea is that if a revert is encountered, the level that the rule came from is
2565         checked. If it is UA level, just treat as "unset." If it is author or user level, get
2566         the correct CascadedProperties rollback and repeat the applyProperty using the property
2567         found in the rollback. If the property is not present in the cascade rollback, then the
2568         revert becomes an unset.
2569
2570         (WebCore::StyleResolver::CascadedProperties::hasCustomProperty):
2571         (WebCore::StyleResolver::CascadedProperties::customProperty):
2572         Helpers used by applyProperty to check on custom properties, since they can revert too
2573         just like a regular property can.
2574
2575         (WebCore::StyleResolver::CascadedProperties::setPropertyInternal):
2576         (WebCore::StyleResolver::CascadedProperties::set):
2577         (WebCore::StyleResolver::CascadedProperties::setDeferred):
2578         Passing along the CascadeLevel (UA, User, Author) so that it can be stored in the Property.
2579         This way when we do property application, we always know where the rule came from so
2580         that the reversion can be handled properly.
2581
2582         (WebCore::StyleResolver::CascadedProperties::addStyleProperties):
2583         (WebCore::cascadeLevelForIndex):
2584         (WebCore::StyleResolver::CascadedProperties::addMatches):
2585         When style properties are added, also figure out the CascadeLevel and pass it along to be
2586         stored in the Property. We use the MatchResult's ranges to know where a property comes from.
2587
2588         (WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
2589         (WebCore::StyleResolver::CascadedProperties::Property::apply):
2590         (WebCore::StyleResolver::applyCascadedProperties):
2591         Pass along the MatchResult so we know how to build the rollback.
2592
2593         * css/StyleResolver.h:
2594         (WebCore::StyleResolver::State::cascadeLevel):
2595         (WebCore::StyleResolver::State::setCascadeLevel):
2596         (WebCore::StyleResolver::State::authorRollback):
2597         (WebCore::StyleResolver::State::userRollback):
2598         (WebCore::StyleResolver::State::setAuthorRollback):
2599         (WebCore::StyleResolver::State::setUserRollback):
2600         (WebCore::StyleResolver::state):
2601         (WebCore::StyleResolver::cascadeLevel):
2602         (WebCore::StyleResolver::setCascadeLevel):
2603         Move CascadedProperties into the header. Add CascadeLevel to Property. Add the level and
2604         rollbacks to the resolver's state.
2605
2606 2015-10-17  Myles C. Maxfield  <mmaxfield@apple.com>
2607
2608         Delete FontPlatformData::allowsLigatures()
2609         https://bugs.webkit.org/show_bug.cgi?id=150286
2610
2611         Reviewed by Dan Bernstein.
2612
2613         This function is only used to force ligatures on for complex fonts (where "complex"
2614         means "does not support the letter 'a'"). However, ligatures are turned on for all
2615         fonts by default, which means that this function is unnecessary.
2616
2617         Required ligatures, such as those which make these complex scripts legible, are always
2618         enabled, no matter what.
2619
2620         Test: fast/text/required-ligatures.html
2621
2622         * platform/graphics/FontPlatformData.h:
2623         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2624         (WebCore::FontPlatformData::allowsLigatures): Deleted.
2625         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2626         (WebCore::Font::getCFStringAttributes):
2627
2628 2015-10-17  Myles C. Maxfield  <mmaxfield@apple.com>
2629
2630         Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
2631         https://bugs.webkit.org/show_bug.cgi?id=150287
2632
2633         Reviewed by Simon Fraser.
2634
2635         This user default is currently on by default. Therefore, by setting the user default,
2636         users can only disable kerning / ligatures (rather than enable it).
2637
2638         There are a few reasons why we should stop honoring it:
2639
2640         1. In the brave new world of font-feature-settings and font-variant-ligatures, there
2641         are many different kinds of ligatures which may be enabled at will. The simplistic
2642         statement of "turn on ligatures" no longer has any meaning.
2643
2644         2. If a user wants to disable kerning / ligatures, he/she can do it with a user
2645         stylesheet.
2646
2647         3. The default isn't able to be tested with DumpRenderTree or WebKitTestRunner.
2648
2649         4. I have never heard of anyone actually using this user default.
2650
2651         * platform/graphics/FontCascade.cpp:
2652         (WebCore::FontCascade::setDefaultKerning): Deleted.
2653         (WebCore::FontCascade::setDefaultLigatures): Deleted.
2654         * platform/graphics/FontCascade.h:
2655         (WebCore::FontCascade::advancedTextRenderingMode):
2656
2657 2015-10-17  Dan Bernstein  <mitz@apple.com>
2658
2659         [Cocoa] Stop using WKAXRegisterRemoteApp
2660         https://bugs.webkit.org/show_bug.cgi?id=150283
2661
2662         Reviewed by Alexey Proskuryakov.
2663
2664         * platform/spi/ios/GraphicsServicesSPI.h: Added declaration of GSSystemRootDirectory.
2665
2666 2015-10-17  Chris Dumez  <cdumez@apple.com>
2667
2668         td and th should use HTMLTableDataCellElement and HTMLTableHeaderCellElement interfaces
2669         https://bugs.webkit.org/show_bug.cgi?id=148859
2670         <rdar://problem/22588664>
2671
2672         Reviewed by Ryosuke Niwa.
2673
2674         td and th should use HTMLTableDataCellElement and HTMLTableHeaderCellElement interfaces
2675         as per the latest HTML specification:
2676         https://html.spec.whatwg.org/multipage/tables.html#htmltabledatacellelement
2677         https://html.spec.whatwg.org/multipage/tables.html#htmltableheadercellelement
2678
2679         This patch aligns our behavior with the specification and IE. Firefox and Chrome do not
2680         seem to expose HTMLTableDataCellElement / HTMLTableHeaderCellElement at this time.
2681
2682         The compatibility risk is low, given that the API stays the same and those new
2683         interfaces inherit the pre-existing HTMLTableCellElement interface.
2684
2685         No new tests, already covered by existing tests.
2686
2687         * CMakeLists.txt:
2688         * DerivedSources.cpp:
2689         * DerivedSources.make:
2690         * WebCore.vcxproj/WebCore.vcxproj:
2691         * WebCore.vcxproj/WebCore.vcxproj.filters:
2692         * WebCore.xcodeproj/project.pbxproj:
2693         * html/HTMLTableCellElement.cpp:
2694         (WebCore::HTMLTableCellElement::HTMLTableCellElement):
2695         (WebCore::HTMLTableCellElement::colSpan): Deleted.
2696         * html/HTMLTableCellElement.h:
2697         * html/HTMLTableCellElement.idl:
2698         * html/HTMLTableDataCellElement.h: Added.
2699         * html/HTMLTableDataCellElement.idl: Added.
2700         * html/HTMLTableHeaderCellElement.h: Added.
2701         * html/HTMLTableHeaderCellElement.idl: Added.
2702         * html/HTMLTableRowElement.cpp:
2703         (WebCore::HTMLTableRowElement::insertCell):
2704         * html/HTMLTagNames.in:
2705
2706 2015-10-17  Zalan Bujtas  <zalan@apple.com>
2707
2708         RenderBlockFlow::xPositionForFloatIncludingMargin/yPositionForFloatIncludingMargin/flipFloatForWritingModeForChild
2709         should all take FloatingObject reference.
2710         https://bugs.webkit.org/show_bug.cgi?id=150267
2711
2712         Reviewed by Simon Fraser.
2713
2714         No change in behaviour.
2715
2716         * rendering/RenderBlockFlow.cpp:
2717         (WebCore::RenderBlockFlow::addOverflowFromFloats):
2718         (WebCore::RenderBlockFlow::paintFloats):
2719         (WebCore::RenderBlockFlow::clipOutFloatingObjects):
2720         (WebCore::RenderBlockFlow::addOverhangingFloats):
2721         (WebCore::RenderBlockFlow::flipFloatForWritingModeForChild):
2722         (WebCore::RenderBlockFlow::hitTestFloats):
2723         (WebCore::RenderBlockFlow::adjustForBorderFit):
2724         * rendering/RenderBlockFlow.h:
2725         (WebCore::RenderBlockFlow::xPositionForFloatIncludingMargin):
2726         (WebCore::RenderBlockFlow::yPositionForFloatIncludingMargin):
2727
2728 2015-10-17  Simon Fraser  <simon.fraser@apple.com>
2729
2730         Sort the project file.
2731
2732         * WebCore.xcodeproj/project.pbxproj:
2733
2734 2015-10-16  Simon Fraser  <simon.fraser@apple.com>
2735
2736         Enhance TextStream for logging, remove subclasses, log more things
2737         https://bugs.webkit.org/show_bug.cgi?id=150269
2738
2739         Reviewed by Zalan Bujtas.
2740
2741         Remove the various TextStream subclasses that only existed to support indenting,
2742         and output additional types. Add output for more WebCore and WebKit2 types, and
2743         just use TextStream everywhere.
2744         
2745         TextStream is enhance to support grouping (open paren and intent), with a 
2746         stack-based class to open/end a group.
2747         
2748         Remove some SVG-specific duplicate output functions.
2749         
2750         Outdent namespace contents of GraphicsTypes.h.
2751         
2752         * CMakeLists.txt:
2753         * WebCore.xcodeproj/project.pbxproj:
2754         * dom/ViewportArguments.cpp:
2755         (WebCore::operator<<):
2756         * dom/ViewportArguments.h:
2757         * page/ViewportConfiguration.cpp:
2758         (WebCore::operator<<):
2759         (WebCore::ViewportConfiguration::description):
2760         (WebCore::ViewportConfigurationTextStream::ViewportConfigurationTextStream): Deleted.
2761         (WebCore::ViewportConfigurationTextStream::increaseIndent): Deleted.
2762         (WebCore::ViewportConfigurationTextStream::decreaseIndent): Deleted.
2763         (WebCore::dumpProperty): Deleted.
2764         (WebCore::ViewportConfigurationTextStream::writeIndent): Deleted.
2765         (WebCore::ViewportConfigurationTextStream::operator<<): Deleted.
2766         * page/ViewportConfiguration.h:
2767         * page/scrolling/ScrollingConstraints.cpp:
2768         (WebCore::operator<<):
2769         * page/scrolling/ScrollingConstraints.h:
2770         * page/scrolling/ScrollingCoordinator.cpp:
2771         (WebCore::operator<<):
2772         * page/scrolling/ScrollingCoordinator.h:
2773         * platform/animation/TimingFunction.cpp: Added.
2774         (WebCore::operator<<):
2775         * platform/animation/TimingFunction.h:
2776         * platform/graphics/Color.cpp:
2777         (WebCore::operator<<):
2778         * platform/graphics/Color.h:
2779         * platform/graphics/FloatPoint3D.cpp:
2780         (WebCore::operator<<):
2781         * platform/graphics/FloatPoint3D.h:
2782         * platform/graphics/FloatRoundedRect.cpp:
2783         (WebCore::operator<<):
2784         * platform/graphics/FloatRoundedRect.h:
2785         * platform/graphics/GraphicsLayer.cpp:
2786         (WebCore::operator<<):
2787         * platform/graphics/GraphicsLayer.h:
2788         * platform/graphics/GraphicsTypes.cpp:
2789         (WebCore::operator<<):
2790         * platform/graphics/GraphicsTypes.h:
2791         * platform/graphics/ca/PlatformCAAnimation.cpp: Added.
2792         (WebCore::operator<<):
2793         * platform/graphics/ca/PlatformCAAnimation.h:
2794         * platform/graphics/ca/PlatformCALayer.cpp:
2795         (WebCore::operator<<):
2796         * platform/graphics/ca/PlatformCALayer.h:
2797         * platform/graphics/filters/FilterOperation.cpp:
2798         (WebCore::operator<<):
2799         * platform/graphics/filters/FilterOperation.h:
2800         * platform/graphics/filters/FilterOperations.cpp:
2801         (WebCore::operator<<):
2802         * platform/graphics/filters/FilterOperations.h:
2803         * platform/graphics/filters/PointLightSource.cpp:
2804         (WebCore::operator<<): Deleted.
2805         * platform/graphics/filters/SpotLightSource.cpp:
2806         (WebCore::operator<<): Deleted.
2807         * platform/graphics/transforms/AffineTransform.cpp:
2808         (WebCore::operator<<):
2809         * platform/graphics/transforms/AffineTransform.h:
2810         * platform/graphics/transforms/TransformationMatrix.cpp:
2811         (WebCore::operator<<):
2812         * platform/graphics/transforms/TransformationMatrix.h:
2813         * platform/text/TextStream.cpp:
2814         (WebCore::TextStream::startGroup):
2815         (WebCore::TextStream::endGroup):
2816         (WebCore::TextStream::nextLine):
2817         (WebCore::TextStream::writeIndent):
2818         * platform/text/TextStream.h:
2819         (WebCore::TextStream::operator<<):
2820         (WebCore::TextStream::dumpProperty):
2821         (WebCore::TextStream::increaseIndent):
2822         (WebCore::TextStream::decreaseIndent):
2823         (WebCore::TextStream::GroupScope::GroupScope):
2824         (WebCore::TextStream::GroupScope::~GroupScope):
2825         * rendering/svg/SVGRenderTreeAsText.cpp:
2826         (WebCore::operator<<): Deleted.
2827         * rendering/svg/SVGRenderTreeAsText.h:
2828
2829 2015-10-17  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2830
2831         Finalize bug 149952 patch
2832         https://bugs.webkit.org/show_bug.cgi?id=150238
2833
2834         Reviewed by Darin Adler.
2835
2836         No change in behavior.
2837
2838         * bindings/js/JSDOMConstructor.h:
2839         (WebCore::JSDOMConstructor<JSClass>::finishCreation): Marked as inline.
2840         (WebCore::JSDOMConstructor<JSClass>::getConstructData): Marked as inline.
2841
2842 2015-10-16  Zalan Bujtas  <zalan@apple.com>
2843
2844         RenderBlockFlow::*logical*ForFloat should take FloatingObject reference.
2845         https://bugs.webkit.org/show_bug.cgi?id=150266
2846
2847         Reviewed by Simon Fraser.
2848
2849         No change in behaviour.
2850
2851         * rendering/FloatingObjects.cpp:
2852         (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
2853         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
2854         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
2855         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
2856         (WebCore::ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded):
2857         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
2858         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
2859         * rendering/RenderBlockFlow.cpp:
2860         (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
2861         (WebCore::RenderBlockFlow::repaintOverhangingFloats):
2862         (WebCore::RenderBlockFlow::insertFloatingObject):
2863         (WebCore::RenderBlockFlow::removeFloatingObject):
2864         (WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
2865         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
2866         (WebCore::RenderBlockFlow::positionNewFloats):
2867         (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
2868         (WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
2869         (WebCore::RenderBlockFlow::addOverhangingFloats):
2870         (WebCore::RenderBlockFlow::hasOverhangingFloat):
2871         (WebCore::RenderBlockFlow::addIntrudingFloats):
2872         * rendering/RenderBlockFlow.h:
2873         (WebCore::RenderBlockFlow::logicalTopForFloat):
2874         (WebCore::RenderBlockFlow::logicalBottomForFloat):
2875         (WebCore::RenderBlockFlow::logicalLeftForFloat):
2876         (WebCore::RenderBlockFlow::logicalRightForFloat):
2877         (WebCore::RenderBlockFlow::logicalWidthForFloat):
2878         (WebCore::RenderBlockFlow::logicalHeightForFloat):
2879         (WebCore::RenderBlockFlow::setLogicalTopForFloat):
2880         (WebCore::RenderBlockFlow::setLogicalLeftForFloat):
2881         (WebCore::RenderBlockFlow::setLogicalHeightForFloat):
2882         (WebCore::RenderBlockFlow::setLogicalWidthForFloat):
2883         (WebCore::RenderBlockFlow::logicalSizeForFloat): Deleted.
2884         * rendering/RenderBlockLineLayout.cpp:
2885         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
2886         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
2887         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
2888         * rendering/RenderBox.cpp:
2889         (WebCore::RenderBox::addOverflowFromChild):
2890         * rendering/RenderBox.h:
2891         (WebCore::RenderBox::addOverflowFromChild):
2892         * rendering/line/BreakingContext.h:
2893         (WebCore::BreakingContext::handleFloat):
2894         * rendering/line/LineWidth.cpp:
2895         (WebCore::newFloatShrinksLine):
2896         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2897         * rendering/shapes/ShapeOutsideInfo.cpp:
2898         (WebCore::ShapeOutsideInfo::computeDeltasForContainingBlockLine):
2899
2900 2015-10-16  Jiewen Tan  <jiewen_tan@apple.com>
2901
2902         Avoid to insert TAB before HTML element.
2903         https://bugs.webkit.org/show_bug.cgi?id=149295
2904         <rdar://problem/22746706>
2905
2906         Reviewed by Ryosuke Niwa.
2907
2908         This is a merge of Blink r175047:
2909         https://codereview.chromium.org/306583005
2910
2911         This patch avoids InsertTextCommand::insertTab before HTML element because
2912         we can't set Text node as document element.
2913
2914         Test: editing/execCommand/insert-tab-to-html-element-crash.html
2915
2916         * editing/InsertTextCommand.cpp:
2917         (WebCore::InsertTextCommand::insertTab):
2918
2919 2015-10-16  Commit Queue  <commit-queue@webkit.org>
2920
2921         Unreviewed, rolling out r191204.
2922         https://bugs.webkit.org/show_bug.cgi?id=150263
2923
2924         This change is causing existing tests to fail (Requested by
2925         ryanhaddad on #webkit).
2926
2927         Reverted changeset:
2928
2929         "Computed style should work correctly with slotted elements
2930         that have display:none"
2931         https://bugs.webkit.org/show_bug.cgi?id=150237
2932         http://trac.webkit.org/changeset/191204
2933
2934 2015-10-16  Alex Christensen  <achristensen@webkit.org>
2935
2936         Disabled content blockers should not block any loads
2937         https://bugs.webkit.org/show_bug.cgi?id=150261
2938
2939         Reviewed by Brady Eidson.
2940
2941         This fix was tested manually by reloading without content blockers
2942         on websites with iframes and content blockers that block the contents of the iframes.
2943
2944         * page/UserContentController.cpp:
2945         (WebCore::UserContentController::removeAllUserContentExtensions):
2946         (WebCore::contentExtensionsEnabled):
2947         (WebCore::UserContentController::processContentExtensionRulesForLoad):
2948         (WebCore::UserContentController::actionsForResourceLoad):
2949         Check the DocumentLoader of the main frame when checking if content extensions are disabled,
2950         because that is the DocumentLoader that has the flag from reloading without content blockers.
2951
2952 2015-10-16  Simon Fraser  <simon.fraser@apple.com>
2953
2954         Make TextStream the canonical way to log classes in WebCore
2955         https://bugs.webkit.org/show_bug.cgi?id=150256
2956
2957         Reviewed by Sam Weinig.
2958
2959         We vacillated between PrintStream and TextStream as being the canonical way
2960         to stringify WebCore data structures. This patch solidifies TextStream
2961         as the solution, since it has convenient stream syntax, and is what we
2962         use for render tree dumps.
2963
2964         Remove TextStream member functions that output non-simple structs
2965         (sizes, points and rects), replacing them with free operator<< functions
2966         in the .cpp file for the relevant class. Formatting is currently consistent
2967         with RenderTreeAsText output, to avoid breaking tests.
2968
2969         Remove custom FloatRect outputting in SVG and RemoteLayerTreeTransaction.
2970
2971         * CMakeLists.txt:
2972         * WebCore.xcodeproj/project.pbxproj:
2973         * platform/graphics/FloatPoint.cpp:
2974         (WebCore::operator<<):
2975         (WebCore::FloatPoint::dump): Deleted.
2976         * platform/graphics/FloatPoint.h:
2977         * platform/graphics/FloatRect.cpp:
2978         (WebCore::operator<<):
2979         (WebCore::FloatRect::dump): Deleted.
2980         * platform/graphics/FloatRect.h:
2981         * platform/graphics/FloatSize.cpp:
2982         (WebCore::FloatSize::FloatSize):
2983         (WebCore::operator<<):
2984         (WebCore::FloatSize::dump): Deleted.
2985         * platform/graphics/FloatSize.h:
2986         * platform/graphics/IntPoint.cpp:
2987         (WebCore::operator<<):
2988         (WebCore::IntPoint::dump): Deleted.
2989         * platform/graphics/IntPoint.h:
2990         * platform/graphics/IntRect.cpp:
2991         (WebCore::operator<<):
2992         (WebCore::IntRect::dump): Deleted.
2993         * platform/graphics/IntRect.h:
2994         * platform/graphics/IntSize.cpp:
2995         (WebCore::operator<<):
2996         (WebCore::IntSize::dump): Deleted.
2997         * platform/graphics/IntSize.h:
2998         * platform/graphics/LayoutPoint.cpp: Copied from Source/WebCore/platform/graphics/IntPoint.cpp.
2999         (WebCore::operator<<):
3000         * platform/graphics/LayoutPoint.h:
3001         * platform/graphics/LayoutRect.cpp:
3002         (WebCore::operator<<):
3003         * platform/graphics/LayoutRect.h:
3004         * platform/graphics/LayoutSize.cpp: Copied from Source/WebCore/platform/graphics/IntPoint.cpp.
3005         (WebCore::operator<<):
3006         * platform/graphics/LayoutSize.h:
3007         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3008         (WebCore::MediaSampleAVFObjC::dump):
3009         * platform/text/TextStream.cpp:
3010         (WebCore::TextStream::operator<<):
3011         * platform/text/TextStream.h:
3012         * rendering/svg/SVGRenderTreeAsText.cpp:
3013         (WebCore::operator<<): Deleted.
3014
3015 2015-10-16  Brent Fulgham  <bfulgham@apple.com>
3016
3017         Hide all plugin names except Flash, Java, and QuickTime
3018         https://bugs.webkit.org/show_bug.cgi?id=149014
3019
3020         Reviewed by Darin Adler.
3021
3022         Revise plugin interface so that sites cannot iterate over all plugins to obtain
3023         a list of installed plugins for fingerprinting purposes. Sites need to ask for
3024         specific plugins by name, rather than iterating and comparing to avoid making
3025         this information accessible for fingerprinting purposes.
3026
3027         * plugins/DOMPluginArray.cpp:
3028         (WebCore::DOMPluginArray::length): Only return length of the plugins we are
3029         allowing to be seen.
3030         (WebCore::DOMPluginArray::item): Only iterate through the plugins we are
3031         allowing to be seen.
3032         * plugins/PluginData.cpp:
3033         (WebCore::PluginData::publiclyVisiblePlugins): Added.
3034         * plugins/PluginData.h:
3035
3036 2015-10-16  Brady Eidson  <beidson@apple.com>
3037
3038         "enum class" some IDB enums.
3039         https://bugs.webkit.org/show_bug.cgi?id=150246
3040
3041         Reviewed by Alex Christensen.
3042
3043         No new tests (No change in behavior).
3044
3045         * Modules/indexeddb/IDBKeyPath.cpp:
3046         (WebCore::IDBIsValidKeyPath):
3047         (WebCore::IDBParseKeyPath):
3048         (WebCore::IDBKeyPath::IDBKeyPath):
3049         (WebCore::IDBKeyPath::isValid):
3050         (WebCore::IDBKeyPath::operator==):
3051         (WebCore::IDBKeyPath::encode):
3052         (WebCore::IDBKeyPath::decode):
3053         * Modules/indexeddb/IDBKeyPath.h:
3054         (WebCore::IDBKeyPath::IDBKeyPath):
3055         (WebCore::IDBKeyPath::type):
3056         (WebCore::IDBKeyPath::array):
3057         (WebCore::IDBKeyPath::string):
3058         (WebCore::IDBKeyPath::isNull):
3059         (WebCore::IDBKeyPath::encode):
3060         (WebCore::IDBKeyPath::decode):
3061         * Modules/indexeddb/IndexedDB.h:
3062         * Modules/indexeddb/legacy/LegacyDatabase.cpp:
3063         (WebCore::LegacyDatabase::createObjectStore):
3064         * Modules/indexeddb/legacy/LegacyObjectStore.cpp:
3065         (WebCore::LegacyObjectStore::createIndex):
3066         * bindings/js/IDBBindingUtilities.cpp:
3067         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
3068         (WebCore::injectIDBKeyIntoScriptValue):
3069         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
3070         (WebCore::canInjectIDBKeyIntoScriptValue):
3071         * bindings/js/JSIDBAnyCustom.cpp:
3072         (WebCore::toJS):
3073         * inspector/InspectorIndexedDBAgent.cpp:
3074
3075 2015-10-16  Anders Carlsson  <andersca@apple.com>
3076
3077         Add indexeddb/shared to the include paths.
3078
3079         * WebCore.vcxproj/WebCoreIncludeCommon.props:
3080
3081 2015-10-16  Antti Koivisto  <antti@apple.com>
3082
3083         Computed style should work correctly with slotted elements that have display:none
3084         https://bugs.webkit.org/show_bug.cgi?id=150237
3085
3086         Reviewed by Andreas Kling.
3087
3088         If an element has display:none we don't normally retain or even compute its style (as it is not rendered).
3089         If getComputedStyle is invoked for such element we resolve the style (along with any ancestors) and cache
3090         it separately to rare data. This path needs to work with slotted elements in shadow trees.
3091
3092         This patch also make computedStyle() iterative rather than recursive.
3093
3094         Test: fast/shadow-dom/computed-style-display-none.html
3095
3096         * dom/Document.cpp:
3097         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
3098
3099             Pass in the parent style instead of invoking computedStyle() recursively.
3100
3101         * dom/Document.h:
3102         * dom/Element.cpp:
3103         (WebCore::beforeOrAfterPseudoElement):
3104         (WebCore::Element::existingComputedStyle):
3105         (WebCore::Element::resolveComputedStyle):
3106
3107             Iterative resolve function that uses composed tree iterator.
3108
3109         (WebCore::Element::computedStyle):
3110
3111             Factor into helpers.
3112
3113         * dom/Element.h:
3114         * dom/Node.cpp:
3115         (WebCore::Node::computedStyle):
3116
3117             Use the composed tree iterator.
3118
3119 2015-10-16  David Hyatt  <hyatt@apple.com>
3120
3121         ASSERT in imported/blink/fast/block/float/overhanging-float-crashes-when-sibling-becomes-formatting-context.html
3122         https://bugs.webkit.org/show_bug.cgi?id=150249
3123
3124         Reviewed by Myles Maxfield.
3125
3126         Covered by existing tests.
3127
3128         * css/CSSValue.cpp:
3129         (WebCore::CSSValue::equals):
3130         Make sure the "unset" value has an equals implementation.
3131
3132 2015-10-16  Brady Eidson  <beidson@apple.com>
3133
3134         Modern IDB: Handle versionchange events.
3135         https://bugs.webkit.org/show_bug.cgi?id=150149
3136
3137         Reviewed by Alex Christensen.
3138
3139         Test: storage/indexeddb/modern/versionchange-event.html
3140         
3141         - IDBVersionChangeEvents are now dispatched to open connections when a
3142           version upgrade request comes in.
3143         - Once all of those open connections have closed, the version upgrade 
3144           request is handled.
3145
3146         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3147         (WebCore::IDBClient::IDBConnectionToServer::fireVersionChangeEvent):
3148         (WebCore::IDBClient::IDBConnectionToServer::registerDatabaseConnection):
3149         (WebCore::IDBClient::IDBConnectionToServer::unregisterDatabaseConnection):
3150         * Modules/indexeddb/client/IDBConnectionToServer.h:
3151
3152         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
3153         (WebCore::IDBClient::IDBDatabase::fireVersionChangeEvent):
3154         * Modules/indexeddb/client/IDBDatabaseImpl.h:
3155
3156         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3157         (WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
3158         (WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
3159         (WebCore::IDBServer::UniqueIDBDatabase::invokeTransactionScheduler):
3160         (WebCore::IDBServer::UniqueIDBDatabase::transactionSchedulingTimerFired):
3161         * Modules/indexeddb/server/UniqueIDBDatabase.h:
3162
3163 2015-10-16  Zalan Bujtas  <zalan@apple.com>
3164
3165         First line box in paragraph using initial-letter overflows.
3166         https://bugs.webkit.org/show_bug.cgi?id=147977
3167         <rdar://problem/22901553>
3168
3169         Reviewed by David Hyatt.
3170
3171         When initial-letter float is present, we should shrink the first
3172         line even if it's not intersected with the block's current height.
3173         This is because of the sunken behaviour of initial-letter. 
3174
3175         Test: fast/css-generated-content/initial-letter-first-line-wrapping.html
3176
3177         * rendering/RenderBlockFlow.h:
3178         * rendering/RenderBlockLineLayout.cpp:
3179         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
3180         * rendering/line/BreakingContext.h:
3181         (WebCore::BreakingContext::handleFloat):
3182         * rendering/line/LineBreaker.cpp:
3183         (WebCore::LineBreaker::skipLeadingWhitespace):
3184         * rendering/line/LineBreaker.h:
3185         (WebCore::LineBreaker::positionNewFloatOnLine):
3186         * rendering/line/LineWidth.cpp:
3187         (WebCore::newFloatShrinksLine):
3188         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3189         * rendering/line/LineWidth.h:
3190
3191 2015-10-16  Keith Rollin  <krollin@apple.com>
3192
3193         The value sanitization algorithm for input[type=url] should strip whitespaces
3194         https://bugs.webkit.org/show_bug.cgi?id=148864
3195         rdar://problem/22589358
3196
3197         Reviewed by Chris Dumez.
3198
3199         Follow the sanitization algorithm specified in:
3200         https://html.spec.whatwg.org/multipage/forms.html#url-state-(type=url)
3201
3202         Chrome also has the same issue with url.html. Firefox passes.  All
3203         three browsers have multiple issues with type-change-state.html, with
3204         each browser having a different set of failures. Addressing this in
3205         WebKit is another issue outside the scope of bz=148864. For now, I'm
3206         updating that test to capture current WebKit behavior.
3207
3208         No new tests (covered by existing tests):
3209         - web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
3210         - web-platform-tests/html/semantics/forms/the-input-element/url.html
3211
3212         * html/TextFieldInputType.h:
3213         * html/URLInputType.cpp:
3214         (WebCore::URLInputType::sanitizeValue):
3215         * html/URLInputType.h:
3216
3217 2015-10-16  Antti Koivisto  <antti@apple.com>
3218
3219         Remove NodeRenderingTraversal
3220         https://bugs.webkit.org/show_bug.cgi?id=150226
3221
3222         Reviewed by Chris Dumez.
3223
3224         It has been reduced to an implementation detail of FocusController. Move the remaining
3225         functions there as they have no general utility (and are wrong for focus navigation too).
3226
3227         * CMakeLists.txt:
3228         * WebCore.xcodeproj/project.pbxproj:
3229         * dom/DOMAllInOne.cpp:
3230         * dom/NodeRenderingTraversal.cpp: Removed.
3231         * dom/NodeRenderingTraversal.h: Removed.
3232         * page/FocusController.cpp:
3233         (WebCore::firstChildInScope):
3234         (WebCore::lastChildInScope):
3235         (WebCore::parentInScope):
3236         (WebCore::nextInScope):
3237         (WebCore::previousInScope):
3238         (WebCore::FocusNavigationScope::FocusNavigationScope):
3239         (WebCore::FocusNavigationScope::focusNavigationScopeOf):
3240         (WebCore::FocusController::findElementWithExactTabIndex):
3241         (WebCore::nextElementWithGreaterTabIndex):
3242         (WebCore::previousElementWithLowerTabIndex):
3243         (WebCore::FocusController::nextFocusableElement):
3244         (WebCore::FocusController::previousFocusableElement):
3245
3246 2015-10-16  David Hyatt  <hyatt@apple.com>
3247
3248         Build fix. "all" keyword introduction exposed a typo bug in the grid-area property definition.
3249
3250         * css/CSSPropertyNames.in:
3251
3252 2015-10-16  Tim Horton  <timothy_horton@apple.com>
3253
3254         Hook up autolayout intrinsic sizing for WKWebView
3255         https://bugs.webkit.org/show_bug.cgi?id=150219
3256         <rdar://problem/20016905>
3257
3258         Reviewed by Simon Fraser.
3259
3260         New API test: WebKit2.AutoLayoutIntegration.
3261
3262         * page/FrameView.cpp:
3263         (WebCore::FrameView::autoSizeIfEnabled):
3264         When autosizing a document in which the body expands to the size of 
3265         the view (a feature of quirks mode), the first (width-determining)
3266         autosizing will resize the view to the document height (which is at 
3267         least the body height), and the second time around, the height will
3268         not decrease (because it was expanded to the size of the view).
3269
3270         Instead, the first time around, we should use the computed width,
3271         but shrink the height back down to the minimum, and then expand
3272         only as much as needed to fit the content.
3273
3274 2015-10-16  Brady Eidson  <beidson@apple.com>
3275
3276         Modern IDB: Support IDBDatabase.close().
3277         https://bugs.webkit.org/show_bug.cgi?id=150150
3278
3279         Reviewed by Alex Christensen.
3280
3281         No new tests (Covered by changes to storage/indexeddb/modern/opendatabase-versions.html).
3282
3283         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3284         (WebCore::IDBClient::IDBConnectionToServer::databaseConnectionClosed):
3285         * Modules/indexeddb/client/IDBConnectionToServer.h:
3286         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3287
3288         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
3289         (WebCore::IDBClient::IDBDatabase::IDBDatabase):
3290         (WebCore::IDBClient::IDBDatabase::~IDBDatabase):
3291         (WebCore::IDBClient::IDBDatabase::close):
3292         (WebCore::IDBClient::IDBDatabase::maybeCloseInServer):
3293         (WebCore::IDBClient::IDBDatabase::commitTransaction):
3294         * Modules/indexeddb/client/IDBDatabaseImpl.h:
3295         (WebCore::IDBClient::IDBDatabase::databaseConnectionIdentifier):
3296
3297         * Modules/indexeddb/client/IDBRequestImpl.cpp:
3298         (WebCore::IDBClient::IDBRequest::result):
3299
3300         * Modules/indexeddb/server/IDBServer.cpp:
3301         (WebCore::IDBServer::IDBServer::databaseConnectionClosed):
3302         * Modules/indexeddb/server/IDBServer.h:
3303
3304         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3305         (WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
3306         (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): Deleted.
3307         * Modules/indexeddb/server/UniqueIDBDatabase.h:
3308
3309         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
3310         (WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
3311         (WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
3312         (WebCore::IDBServer::UniqueIDBDatabaseConnection::hasNonFinishedTransactions):
3313         (WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionClosedFromClient):
3314         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
3315
3316         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3317         (WebCore::InProcessIDBServer::databaseConnectionClosed):
3318         * Modules/indexeddb/shared/InProcessIDBServer.h:
3319
3320 2015-10-16  Chris Dumez  <cdumez@apple.com>
3321
3322         HTMLPreloadScanner should preload iframes
3323         https://bugs.webkit.org/show_bug.cgi?id=150097
3324         <rdar://problem/23094475>
3325
3326         Reviewed by Antti Koivisto.
3327
3328         HTMLPreloadScanner should preload iframes to decrease page load time.
3329
3330         Tests:
3331         - fast/preloader/frame-src.html
3332         - http/tests/loading/preload-no-store-frame-src.html
3333
3334         * html/parser/HTMLPreloadScanner.cpp:
3335         (WebCore::TokenPreloadScanner::tagIdFor):
3336         (WebCore::TokenPreloadScanner::initiatorFor):
3337         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
3338         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
3339         (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
3340         (WebCore::TokenPreloadScanner::StartTagScanner::setUrlToLoad): Deleted.
3341         (WebCore::TokenPreloadScanner::StartTagScanner::charset): Deleted.
3342         * html/parser/HTMLPreloadScanner.h:
3343
3344 2015-10-16  David Hyatt  <hyatt@apple.com>
3345
3346         Implement the "all" CSS property.
3347         https://bugs.webkit.org/show_bug.cgi?id=116966
3348
3349         Reviewed by Zalan Bujtas.
3350
3351         Added new tests in fast/css.
3352
3353         * css/CSSComputedStyleDeclaration.cpp:
3354         (WebCore::ComputedStyleExtractor::propertyValue):
3355         Don't support "all" from computed style for now.
3356
3357         * css/CSSParser.cpp:
3358         (WebCore::CSSParser::parseValue):
3359         Make sure to bail after checking inherit/unset/initial for all, since you can't actually
3360         accept longhand values in the shorthand declarations.
3361
3362         (WebCore::CSSParser::parseAnimationProperty):
3363         "all" for animations is a special value and should not be confused with the property. It
3364         animates everything and does not omit unicode-bidi/direction the way the "all" property does.
3365
3366         * css/CSSPropertyNames.in:
3367         Add the "all" property to the list and use a special keyword in the Longhands value, "all",
3368         that makeprop.pl will look for. This way we don't have to dump every single CSS property
3369         into the Longhands expression, since that would be nuts.
3370
3371         * css/StyleProperties.cpp:
3372         (WebCore::StyleProperties::getPropertyValue):
3373         Look for a common value across all properties supported by "all". That way you can get
3374         back inherit/initial/unset from it.
3375
3376         * css/makeprop.pl:
3377         Make the perl script look for "all" in the longhand list, and if it sees it, put every
3378         single CSS property into the list for the all shorthand.
3379
3380 2015-10-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3381
3382         Binding generator should use templated JSXXConstructor
3383         https://bugs.webkit.org/show_bug.cgi?id=149952
3384
3385         Reviewed by Darin Adler.
3386
3387         Adding constructor templates:
3388         - JSDOMConstructor: usual JS constructors
3389         - JSDOMNamedConstructor: for named constructors
3390         - JSDOMConstructorNotConstructable: for objects that cannot be constructed directly from JS.
3391
3392         Binding generator is using these 3 templates and is generating specializations for construct, initializeProperties and s_info.
3393         These templates may also be used for private or custom constructors as examplified by JSImageConstructor
3394         and JSReadableStream reader and controller private constructors.
3395
3396         Updated binding generator to use those templates.
3397         Updated JSImageConstructor.cpp to use JSDOMNamedConstructor.
3398         Updated default template implementation of JSBuiltinConstructor::createObject.
3399         Updated generated helper routines of binding generator to fit with the templates.
3400
3401         A further patch should remove DOMConstructorWithDocument and DOMConstructorJSBuiltinObject. 
3402
3403         Covered by binding tests.
3404
3405         * bindings/js/JSDOMConstructor.h:
3406         (WebCore::JSDOMConstructorNotConstructable::create):
3407         (WebCore::JSDOMConstructorNotConstructable::createStructure):
3408         (WebCore::JSDOMConstructorNotConstructable::JSDOMConstructorNotConstructable):
3409         (WebCore::JSDOMConstructorNotConstructable::initializeProperties):
3410         (WebCore::JSDOMConstructorNotConstructable<JSClass>::finishCreation):
3411         (WebCore::JSDOMConstructor::create):
3412         (WebCore::JSDOMConstructor::createStructure):
3413         (WebCore::JSDOMConstructor::JSDOMConstructor):
3414         (WebCore::JSDOMConstructor::initializeProperties):
3415         (WebCore::JSDOMConstructor<JSClass>::finishCreation):
3416         (WebCore::JSDOMConstructor<JSClass>::getConstructData):
3417         (WebCore::JSDOMNamedConstructor::create):
3418         (WebCore::JSDOMNamedConstructor::createStructure):
3419         (WebCore::JSDOMNamedConstructor::JSDOMNamedConstructor):
3420         (WebCore::JSDOMNamedConstructor::initializeProperties):
3421         (WebCore::JSDOMNamedConstructor<JSClass>::finishCreation):
3422         (WebCore::JSDOMNamedConstructor<JSClass>::getConstructData):
3423         * bindings/js/JSDOMWindowCustom.cpp:
3424         (WebCore::JSDOMWindow::image):
3425         * bindings/js/JSImageConstructor.cpp:
3426         (WebCore::JSImageConstructor::initializeProperties):
3427         (WebCore::JSImageConstructor::construct):
3428         (WebCore::createImageConstructor):
3429         * bindings/js/JSImageConstructor.h:
3430         * bindings/scripts/CodeGeneratorJS.pm:
3431         (GetConstructorTemplateClassName):
3432         (GenerateConstructorDeclaration):
3433         (GenerateOverloadedConstructorDefinition):
3434         (GenerateConstructorDefinition):
3435         (GenerateConstructorHelperMethods):
3436         (GenerateImplementation): Deleted.
3437         (GenerateConstructorDefinitions): Deleted.
3438         (HasCustomSetter): Deleted.
3439         (HasCustomMethod): Deleted.
3440         (NeedsConstructorProperty): Deleted.
3441         (ComputeFunctionSpecial): Deleted.
3442         (AddJSBuiltinIncludesIfNeeded): Deleted.
3443         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3444         (WebCore::JSTestActiveDOMObjectConstructor::initializeProperties):
3445         (WebCore::JSTestActiveDOMObjectPrototype::finishCreation): Deleted.
3446         (WebCore::JSTestActiveDOMObject::JSTestActiveDOMObject): Deleted.
3447         * bindings/scripts/test/JS/JSTestCallback.cpp:
3448         (WebCore::JSTestCallbackConstructor::initializeProperties):
3449         (WebCore::JSTestCallback::callbackWithNoParam): Deleted.
3450         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
3451         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::construct):
3452         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::initializeProperties):
3453         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation): Deleted.
3454         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject): Deleted.
3455         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::createPrototype): Deleted.
3456         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::getPrototype): Deleted.
3457         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::destroy): Deleted.
3458         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3459         (WebCore::JSTestCustomNamedGetterConstructor::initializeProperties):
3460         (WebCore::JSTestCustomNamedGetterPrototype::finishCreation): Deleted.
3461         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter): Deleted.
3462         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3463         (WebCore::JSTestEventConstructorConstructor::construct):
3464         (WebCore::JSTestEventConstructorConstructor::initializeProperties):
3465         (WebCore::JSTestEventConstructorPrototype::finishCreation): Deleted.
3466         (WebCore::JSTestEventConstructor::JSTestEventConstructor): Deleted.
3467         (WebCore::JSTestEventConstructor::getPrototype): Deleted.
3468         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3469         (WebCore::JSTestEventTargetConstructor::initializeProperties):
3470         (WebCore::JSTestEventTargetPrototype::finishCreation): Deleted.
3471         * bindings/scripts/test/JS/JSTestException.cpp:
3472         (WebCore::JSTestExceptionConstructor::initializeProperties):
3473         (WebCore::JSTestExceptionPrototype::finishCreation): Deleted.
3474         (WebCore::JSTestException::JSTestException): Deleted.
3475         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3476         (WebCore::JSTestGenerateIsReachableConstructor::initializeProperties):
3477         (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): Deleted.
3478         (WebCore::JSTestGenerateIsReachable::JSTestGenerateIsReachable): Deleted.