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