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