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