Assertion failure in WebCore::FrameLoader::stopLoading() running fast/events tests
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-10-28  Chris Dumez  <cdumez@apple.com>
2
3         Assertion failure in WebCore::FrameLoader::stopLoading() running fast/events tests
4         https://bugs.webkit.org/show_bug.cgi?id=150624
5
6         Reviewed by Darin Adler.
7
8         After r191652, a form's target attribute can no longer refer to a frame's id,
9         only its name. This is because the frame's id no longer sets the Window name
10         when the frame's name attribute is missing. This caused a change in behavior
11         for the fast/events/form-iframe-target-before-load-crash*.html tests, which
12         exposed a pre-existing bug.
13
14         This patch updates the fast/events/form-iframe-target-before-load-crash*.html
15         tests so they keep testing the same thing as before r191652. It also adds a
16         variant to keep covering the newly exposed bug.
17
18         The issue was that the frame was no longer navigated when submitting the form
19         (due to the form's target not matching the frame name). Therefore, when
20         removing the iframe from the document, its navigation has not started yet and
21         DocumentLoadTiming::navigationStart() is not initialized yet when
22         FrameLoader::stopLoading() is called and we hit an assertion. This patch
23         replaces the assertion with an if check as we now know it can happen and we
24         have test coverage for it.
25
26         Test: fast/events/form-iframe-target-before-load-crash.html
27
28         * loader/FrameLoader.cpp:
29         (WebCore::FrameLoader::stopLoading):
30
31 2015-10-28  Brian Burg  <bburg@apple.com>
32
33         Builtins generator should emit ENABLE(FEATURE) guards based on @conditional annotation
34         https://bugs.webkit.org/show_bug.cgi?id=150536
35
36         Reviewed by Yusuke Suzuki.
37
38         Replace @optional=FEATURE with @conditional=ENABLE(FEATURE) in builtins files.
39
40         * Modules/streams/ByteLengthQueuingStrategy.js:
41         * Modules/streams/CountQueuingStrategy.js:
42         * Modules/streams/ReadableStream.js:
43         * Modules/streams/ReadableStreamController.js:
44         * Modules/streams/ReadableStreamInternals.js:
45         * Modules/streams/ReadableStreamReader.js:
46         * Modules/streams/StreamInternals.js:
47         * Modules/streams/WritableStream.js:
48         * Modules/streams/WritableStreamInternals.js:
49
50 2015-10-28  Zalan Bujtas  <zalan@apple.com>
51
52         Should never be reached failure in WebCore::backgroundRectForBox
53         https://bugs.webkit.org/show_bug.cgi?id=150232
54
55         Reviewed by Simon Fraser.
56
57         We should never end up with simple container for composited layer when background-clip: text is present.
58         (not even when the box has no decoration to paint)
59
60         Test: fast/backgrounds/background-clip-text-with-simple-container.html
61
62         * rendering/RenderLayerBacking.cpp:
63         (WebCore::RenderLayerBacking::paintsBoxDecorations):
64         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
65         (WebCore::backgroundRectForBox):
66
67 2015-10-28  Chris Dumez  <cdumez@apple.com>
68
69         Use RunLoopTimer in DataURLDecoder to avoid issues related to runloops
70         https://bugs.webkit.org/show_bug.cgi?id=150609
71         <rdar://problem/22702894>
72
73         Reviewed by Antti Koivisto.
74
75         Use RunLoopTimer in DataURLDecoder to avoid issues related to RunLoops.
76         In particular, the callOnMainThread() call could fail to dispatch the
77         decoding result to the main thread if the client-side would spin its own
78         RunLoop.
79
80         This is similar to the approach used in DocumentLoader for
81         DocumentLoaderTimer.
82
83         No new tests, verified through manual testing.
84
85         * WebCore.xcodeproj/project.pbxproj:
86         * loader/ResourceLoader.cpp:
87         (WebCore::ResourceLoader::loadDataURL):
88         * page/Page.cpp:
89         (WebCore::Page::Page):
90         * page/Page.h:
91         * page/mac/PageMac.mm: Renamed from Source/WebCore/page/mac/PageMac.cpp.
92         (WebCore::Page::platformInitialize):
93         (WebCore::Page::addSchedulePair):
94         (WebCore::Page::removeSchedulePair):
95         * platform/network/DataURLDecoder.cpp:
96         (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
97         (WebCore::DataURLDecoder::DecodingResultDispatcher::DecodingResultDispatcher):
98         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
99         (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
100         (WebCore::DataURLDecoder::createDecodeTask):
101         (WebCore::DataURLDecoder::decode):
102         * platform/network/DataURLDecoder.h:
103
104 2015-10-28  Brady Eidson  <beidson@apple.com>
105
106         Modern IDB: Implement most readonly attributes of IDBObjectStore.
107         https://bugs.webkit.org/show_bug.cgi?id=150617
108
109         Reviewed by Alex Christensen.
110
111         Test: storage/indexeddb/modern/objectstore-attributes.html
112
113         * Modules/indexeddb/IDBObjectStore.h:
114
115         * Modules/indexeddb/client/IDBAnyImpl.cpp:
116         (WebCore::IDBClient::IDBAny::IDBAny):
117         * Modules/indexeddb/client/IDBAnyImpl.h:
118         (WebCore::IDBClient::IDBAny::create):
119
120         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
121         (WebCore::IDBClient::IDBObjectStore::name):
122         (WebCore::IDBClient::IDBObjectStore::keyPathAny):
123         (WebCore::IDBClient::IDBObjectStore::keyPath):
124         (WebCore::IDBClient::IDBObjectStore::transaction):
125         (WebCore::IDBClient::IDBObjectStore::id): Deleted.
126         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
127
128         * Modules/indexeddb/legacy/LegacyObjectStore.h:
129         (WebCore::LegacyObjectStore::transaction):
130
131 2015-10-28  Hunseop Jeong  <hs85.jeong@samsung.com>
132
133         Replace 0 and NULL with nullptr in WebCore/editing.
134         https://bugs.webkit.org/show_bug.cgi?id=150555
135
136         Reviewed by Darin Adler.
137
138         No new tests because there is no behavior change.
139
140         * editing/ApplyStyleCommand.cpp:
141         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
142         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
143         (WebCore::ApplyStyleCommand::applyInlineStyle):
144         * editing/ApplyStyleCommand.h:
145         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement):
146         * editing/CompositeEditCommand.cpp:
147         (WebCore::CompositeEditCommand::applyCommandToComposite):
148         (WebCore::CompositeEditCommand::deleteInsignificantText):
149         * editing/DeleteSelectionCommand.cpp:
150         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
151         (WebCore::DeleteSelectionCommand::initializeStartEnd):
152         * editing/EditCommand.cpp:
153         (WebCore::EditCommand::EditCommand):
154         * editing/EditCommand.h:
155         * editing/EditingStyle.cpp:
156         (WebCore::HTMLElementEquivalent::HTMLElementEquivalent):
157         * editing/EditingStyle.h:
158         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
159         * editing/Editor.h:
160         * editing/EditorCommand.cpp:
161         (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding):
162         (WebCore::Editor::Command::Command):
163         * editing/FrameSelection.cpp:
164         (WebCore::DragCaretController::setCaretPosition):
165         (WebCore::FrameSelection::directionOfSelection):
166         * editing/MarkupAccumulator.cpp:
167         (WebCore::MarkupAccumulator::entityMaskForText):
168         * editing/MarkupAccumulator.h:
169         * editing/RenderedPosition.cpp:
170         (WebCore::rendererFromPosition):
171         (WebCore::RenderedPosition::RenderedPosition):
172         * editing/RenderedPosition.h:
173         (WebCore::RenderedPosition::operator==):
174         (WebCore::RenderedPosition::uncachedInlineBox):
175         (WebCore::RenderedPosition::RenderedPosition):
176         * editing/ReplaceSelectionCommand.cpp:
177         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
178         * editing/SetNodeAttributeCommand.cpp:
179         (WebCore::SetNodeAttributeCommand::doUnapply):
180         * editing/SmartReplaceCF.cpp:
181         (WebCore::getSmartSet):
182         * editing/SpellChecker.cpp:
183         (WebCore::SpellCheckRequest::SpellCheckRequest):
184         (WebCore::SpellCheckRequest::didSucceed):
185         (WebCore::SpellCheckRequest::didCancel):
186         (WebCore::SpellCheckRequest::setCheckerAndSequence):
187         (WebCore::SpellCheckRequest::requesterDestroyed):
188         (WebCore::SpellChecker::SpellChecker):
189         * editing/SpellChecker.h:
190         * editing/VisiblePosition.cpp:
191         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
192         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
193         (WebCore::VisiblePosition::localCaretRect):
194         (WebCore::enclosingBlockFlowElement):
195         * editing/VisibleUnits.cpp:
196         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
197         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
198         (WebCore::visualWordPosition):
199         (WebCore::previousLinePosition):
200         (WebCore::nextLinePosition):
201         * editing/htmlediting.cpp:
202         (WebCore::highestEnclosingNodeOfType):
203         (WebCore::highestNodeToRemoveInPruning):
204         * editing/htmlediting.h:
205         (WebCore::firstPositionInOrBeforeNode):
206         * editing/ios/EditorIOS.mm:
207         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
208         (WebCore::Editor::fontForSelection):
209         * editing/mac/AlternativeTextUIController.mm:
210         (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
211         * editing/mac/EditorMac.mm:
212         (WebCore::Editor::fontForSelection):
213         * editing/markup.cpp:
214         * editing/markup.h:
215
216 2015-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>
217
218         [Streams API] Add write method to writable stream
219         https://bugs.webkit.org/show_bug.cgi?id=150589
220
221         Reviewed by Darin Adler.
222
223         Write method implemented on writable streams according to the spec.
224
225         Current test set suffices. Expectations are updated accordingly.
226
227         * Modules/streams/WritableStream.js:
228         (write):
229
230 2015-10-27  Hunseop Jeong  <hs85.jeong@samsung.com>
231
232         [Cairo] Incorrect dashed and dotted border painting after r177686.
233         https://bugs.webkit.org/show_bug.cgi?id=141967
234
235         Reviewed by Gyuyoung Kim.
236
237         Fix the incorrect dashed/dotted border painting in cairo.
238
239         * platform/graphics/cairo/GraphicsContextCairo.cpp:
240         (WebCore::GraphicsContext::drawLine):
241         (WebCore::calculateStrokePatternOffset): Deleted.
242         (WebCore::drawLineOnCairoContext): Deleted.
243
244 2015-10-27  Chris Dumez  <cdumez@apple.com>
245
246         id of iframe incorrectly sets window name
247         https://bugs.webkit.org/show_bug.cgi?id=150565
248
249         Reviewed by Darin Adler.
250
251         As per the specification, the iframe's contentWindow name should be an
252         empty string if the frame's name attribute is unset:
253         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-name
254
255         Instead, WebKit was using the iframe's id as window name if the name
256         was unset.
257
258         Firefox, IE and Chrome behave according to the specification.
259
260         This is a merge of the following Blink commit:
261         https://src.chromium.org/viewvc/blink?revision=169803&view=revision
262
263         Test: fast/frames/iframe-no-name.html
264
265         * html/HTMLFrameElementBase.cpp:
266         (WebCore::HTMLFrameElementBase::parseAttribute):
267         (WebCore::HTMLFrameElementBase::insertedInto): Deleted.
268
269 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
270
271         Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
272         https://bugs.webkit.org/show_bug.cgi?id=150615
273
274         Reviewed by Timothy Hatcher.
275
276         The timestamp only event data is already available from `Page.domContentEventFired`
277         and `Page.loadEventFired` events. We can drop the Timeline specific events in
278         favor of these which have existed for a very long time (before iOS 7).
279
280         * inspector/InspectorInstrumentation.cpp:
281         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
282         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Deleted.
283         * inspector/InspectorTimelineAgent.cpp:
284         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): Deleted.
285         (WebCore::InspectorTimelineAgent::didMarkLoadEvent): Deleted.
286         (WebCore::toProtocol): Deleted.
287         * inspector/InspectorTimelineAgent.h:
288         * inspector/TimelineRecordFactory.cpp:
289         (WebCore::TimelineRecordFactory::createMarkData): Deleted.
290         * inspector/TimelineRecordFactory.h:
291
292 2015-10-27  Jiewen Tan  <jiewen_tan@apple.com>
293
294         Null dereference loading Blink layout test editing/execCommand/format-block-uneditable-crash.html
295         https://bugs.webkit.org/show_bug.cgi?id=150207
296         <rdar://problem/23137066>
297
298         Reviewed by Enrica Casucci.
299
300         This is a merge of Blink r200238:
301         https://codereview.chromium.org/1280263002
302
303         Test: editing/execCommand/format-block-uneditable-crash.html
304
305         * editing/ApplyBlockElementCommand.cpp:
306         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
307         splitTextNode() will return early if the given text node is not editable. Hence, check
308         its editablity before calling the method.
309
310 2015-10-27  Brady Eidson  <beidson@apple.com>
311
312         Modern IDB: IDBTransaction.objectStore() support.
313         https://bugs.webkit.org/show_bug.cgi?id=150607
314
315         Reviewed by Alex Christensen.
316
317         Tests: storage/indexeddb/modern/aborted-put.html
318                storage/indexeddb/modern/idbtransaction-objectstore-failures.html
319
320         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
321         (WebCore::IDBClient::IDBObjectStore::put):
322         
323         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
324         (WebCore::IDBClient::IDBTransaction::objectStore):
325         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
326         * Modules/indexeddb/client/IDBTransactionImpl.h:
327         
328         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
329         (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingObjectStore):
330         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
331         
332         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
333         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
334         
335         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
336         (WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
337         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
338         
339         * Modules/indexeddb/shared/IDBTransactionInfo.h:
340         (WebCore::IDBTransactionInfo::objectStores):
341
342 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
343
344         Web Inspector: Remove unused / duplicated XHR timeline instrumentation
345         https://bugs.webkit.org/show_bug.cgi?id=150605
346
347         Reviewed by Timothy Hatcher.
348
349         These records are just duplicates of "EventDispatch" records for XHR
350         load and readystatechange events. Due to the nesting, the XHR records
351         were themselves never getting looked at, and their data (URL / readyState)
352         not shown in the frontend.
353
354         * inspector/InspectorInstrumentation.cpp:
355         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl): Deleted.
356         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl): Deleted.
357         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl): Deleted.
358         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl): Deleted.
359         * inspector/InspectorInstrumentation.h:
360         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): Deleted.
361         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent): Deleted.
362         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): Deleted.
363         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent): Deleted.
364         * inspector/InspectorTimelineAgent.cpp:
365         (WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent): Deleted.
366         (WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent): Deleted.
367         (WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent): Deleted.
368         (WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent): Deleted.
369         (WebCore::toProtocol): Deleted.
370         * inspector/InspectorTimelineAgent.h:
371         * inspector/TimelineRecordFactory.cpp:
372         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): Deleted.
373         (WebCore::TimelineRecordFactory::createXHRLoadData): Deleted.
374         * inspector/TimelineRecordFactory.h:
375         * xml/XMLHttpRequest.cpp:
376         (WebCore::XMLHttpRequest::callReadyStateChangeListener): Deleted.
377
378 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
379
380         Web Inspector: Do not send RenderingFrame TimelineRecords that have no children
381         https://bugs.webkit.org/show_bug.cgi?id=150600
382
383         Reviewed by Timothy Hatcher.
384
385         * inspector/InspectorTimelineAgent.cpp:
386         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
387         The frontend already filters out empty RenderingFrame records
388         (in TimelineManager.prototype._processRecord). Filter them out
389         on the backend to reduce protocol traffic / noise.
390
391 2015-10-27  Alex Christensen  <achristensen@webkit.org>
392
393         Cancel navigation policy checks like we do content policy checks.
394         https://bugs.webkit.org/show_bug.cgi?id=150582
395         rdar://problem/22077579
396
397         Reviewed by Brent Fulgham.
398
399         This was verified manually and I'll write a layout test for it soon.
400
401         * loader/DocumentLoader.cpp:
402         (WebCore::DocumentLoader::DocumentLoader):
403         (WebCore::DocumentLoader::~DocumentLoader):
404         (WebCore::DocumentLoader::willSendRequest):
405         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
406         (WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):
407         * loader/DocumentLoader.h:
408         Add a bool to keep track of whether we are waiting for navigation policy checks, like we do with content policy checks.
409         Without this check, sometimes callbacks are made to DocumentLoaders that do not exist any more because they do not get
410         cancelled by cancelPolicyCheckIfNeeded when detaching from the frame.
411
412 2015-10-27  Brady Eidson  <beidson@apple.com>
413
414         Modern IDB: Support IDBObjectStore.put/get support.
415         https://bugs.webkit.org/show_bug.cgi?id=150468
416
417         Reviewed by Alex Christensen.
418
419         Tests: storage/indexeddb/modern/basic-put.html
420                storage/indexeddb/modern/keypath-basic.html
421
422         * CMakeLists.txt:
423         * WebCore.xcodeproj/project.pbxproj:
424
425         * Modules/indexeddb/IDBKeyData.cpp:
426         (WebCore::IDBKeyData::deletedValue):
427         (WebCore::IDBKeyData::operator<):
428         (WebCore::IDBKeyData::operator==):
429         * Modules/indexeddb/IDBKeyData.h:
430         (WebCore::IDBKeyData::isValid):
431         (WebCore::IDBKeyData::operator!=):
432         (WebCore::IDBKeyData::hash):
433         (WebCore::IDBKeyData::isDeletedValue):
434         (WebCore::IDBKeyDataHash::hash):
435         (WebCore::IDBKeyDataHash::equal):
436         (WebCore::IDBKeyDataHashTraits::constructDeletedValue):
437         (WebCore::IDBKeyDataHashTraits::isDeletedValue):
438         (WebCore::IDBKeyDataHashTraits::emptyValue):
439         (WebCore::IDBKeyDataHashTraits::isEmptyValue):
440
441         * Modules/indexeddb/IndexedDB.h:
442
443         * Modules/indexeddb/client/IDBAnyImpl.cpp:
444         (WebCore::IDBClient::IDBAny::IDBAny):
445         (WebCore::IDBClient::IDBAny::modernIDBObjectStore):
446         * Modules/indexeddb/client/IDBAnyImpl.h:
447         (WebCore::IDBClient::IDBAny::create):
448
449         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
450         (WebCore::IDBClient::IDBConnectionToServer::createObjectStore):
451         (WebCore::IDBClient::IDBConnectionToServer::didCreateObjectStore):
452         (WebCore::IDBClient::IDBConnectionToServer::putOrAdd):
453         (WebCore::IDBClient::IDBConnectionToServer::didPutOrAdd):
454         (WebCore::IDBClient::IDBConnectionToServer::getRecord):
455         (WebCore::IDBClient::IDBConnectionToServer::didGetRecord):
456         (WebCore::IDBClient::IDBConnectionToServer::saveOperation):
457         (WebCore::IDBClient::IDBConnectionToServer::completeOperation):
458         * Modules/indexeddb/client/IDBConnectionToServer.h:
459         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
460
461         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
462         (WebCore::IDBClient::IDBObjectStore::autoIncrement):
463         (WebCore::IDBClient::IDBObjectStore::put):
464         (WebCore::IDBClient::IDBObjectStore::get):
465         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
466         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
467         (WebCore::IDBClient::IDBObjectStore::info):
468
469         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
470         (WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest): Deleted.
471
472         * Modules/indexeddb/client/IDBRequestImpl.cpp:
473         (WebCore::IDBClient::IDBRequest::create):
474         (WebCore::IDBClient::IDBRequest::IDBRequest):
475         (WebCore::IDBClient::IDBRequest::sourceObjectStoreIdentifier):
476         (WebCore::IDBClient::IDBRequest::hasPendingActivity):
477         (WebCore::IDBClient::IDBRequest::dispatchEvent):
478         (WebCore::IDBClient::IDBRequest::setResult):
479         (WebCore::IDBClient::IDBRequest::setResultToStructuredClone):
480         (WebCore::IDBClient::IDBRequest::requestCompleted):
481         (WebCore::IDBClient::IDBRequest::onError):
482         (WebCore::IDBClient::IDBRequest::onSuccess):
483         * Modules/indexeddb/client/IDBRequestImpl.h:
484
485         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
486         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
487         (WebCore::IDBClient::IDBTransaction::hasPendingActivity):
488         (WebCore::IDBClient::IDBTransaction::isActive):
489         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
490         (WebCore::IDBClient::IDBTransaction::commit):
491         (WebCore::IDBClient::IDBTransaction::didAbort):
492         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
493         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
494         (WebCore::IDBClient::IDBTransaction::getRecordOnServer):
495         (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
496         (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
497         (WebCore::IDBClient::IDBTransaction::putOrAddOnServer):
498         (WebCore::IDBClient::IDBTransaction::didPutOrAddOnServer):
499         (WebCore::IDBClient::IDBTransaction::activate):
500         (WebCore::IDBClient::IDBTransaction::deactivate):
501         * Modules/indexeddb/client/IDBTransactionImpl.h:
502         (WebCore::IDBClient::IDBTransaction::isReadOnly):
503         (WebCore::IDBClient::TransactionActivator::TransactionActivator):
504         (WebCore::IDBClient::TransactionActivator::~TransactionActivator):
505
506         * Modules/indexeddb/client/TransactionOperation.cpp: 
507         (WebCore::IDBClient::TransactionOperation::TransactionOperation):
508         * Modules/indexeddb/client/TransactionOperation.h:
509         (WebCore::IDBClient::TransactionOperation::objectStoreIdentifier):
510         (WebCore::IDBClient::TransactionOperation::transaction):
511         (WebCore::IDBClient::createTransactionOperation):
512
513         * Modules/indexeddb/server/IDBBackingStore.h:
514         
515         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
516         (WebCore::IDBServer::IDBConnectionToClient::didPutOrAdd):
517         (WebCore::IDBServer::IDBConnectionToClient::didGetRecord):
518         * Modules/indexeddb/server/IDBConnectionToClient.h:
519         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
520
521         * Modules/indexeddb/server/IDBServer.cpp:
522         (WebCore::IDBServer::IDBServer::putOrAdd):
523         (WebCore::IDBServer::IDBServer::getRecord):
524         * Modules/indexeddb/server/IDBServer.h:
525
526         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
527         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
528         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
529         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
530
531         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
532         (WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
533         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord):
534         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
535         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
536         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
537
538         * Modules/indexeddb/server/MemoryObjectStore.cpp:
539         (WebCore::IDBServer::MemoryObjectStore::containsRecord):
540         (WebCore::IDBServer::MemoryObjectStore::deleteRecord):
541         (WebCore::IDBServer::MemoryObjectStore::putRecord):
542         (WebCore::IDBServer::MemoryObjectStore::valueForKey):
543         * Modules/indexeddb/server/MemoryObjectStore.h:
544
545         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
546         (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
547         (WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
548         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
549         (WebCore::IDBServer::UniqueIDBDatabase::didPerformPutOrAdd):
550         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
551         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
552         (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetRecord):
553         (WebCore::IDBServer::UniqueIDBDatabase::performKeyDataCallback):
554         (WebCore::IDBServer::UniqueIDBDatabase::performValueDataCallback):
555         * Modules/indexeddb/server/UniqueIDBDatabase.h:
556
557         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
558         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::isReadOnly):
559         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
560         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
561         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
562
563         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
564         (WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
565         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
566
567         * Modules/indexeddb/shared/IDBError.cpp:
568         (WebCore::idbErrorName):
569         (WebCore::idbErrorDescription):
570         * Modules/indexeddb/shared/IDBError.h:
571
572         * Modules/indexeddb/shared/IDBRequestData.cpp:
573         (WebCore::IDBRequestData::IDBRequestData):
574         (WebCore::IDBRequestData::serverConnectionIdentifier):
575         (WebCore::IDBRequestData::objectStoreIdentifier):
576         * Modules/indexeddb/shared/IDBRequestData.h:
577
578         * Modules/indexeddb/shared/IDBResultData.cpp:
579         (WebCore::IDBResultData::IDBResultData):
580         (WebCore::IDBResultData::putOrAddSuccess):
581         (WebCore::IDBResultData::getRecordSuccess):
582         * Modules/indexeddb/shared/IDBResultData.h:
583         (WebCore::IDBResultData::resultKey):
584         (WebCore::IDBResultData::resultData):
585
586         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
587         (WebCore::InProcessIDBServer::didPutOrAdd):
588         (WebCore::InProcessIDBServer::didGetRecord):
589         (WebCore::InProcessIDBServer::putOrAdd):
590         (WebCore::InProcessIDBServer::getRecord):
591         * Modules/indexeddb/shared/InProcessIDBServer.h:
592
593         * bindings/js/IDBBindingUtilities.cpp:
594         (WebCore::idbKeyToJSValue):
595         (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
596         (WebCore::canInjectIDBKeyIntoScriptValue):
597         (WebCore::deserializeIDBValueData):
598         (WebCore::scriptValueToIDBKey):
599         (WebCore::idbKeyDataToScriptValue):
600         * bindings/js/IDBBindingUtilities.h:
601
602         * platform/CrossThreadCopier.cpp:
603         (WebCore::ThreadSafeDataBuffer>::copy):
604         * platform/CrossThreadCopier.h:
605
606         * platform/ThreadSafeDataBuffer.h: Added.
607         (WebCore::ThreadSafeDataBufferImpl::ThreadSafeDataBufferImpl):
608         (WebCore::ThreadSafeDataBuffer::adoptVector):
609         (WebCore::ThreadSafeDataBuffer::copyVector):
610         (WebCore::ThreadSafeDataBuffer::ThreadSafeDataBuffer):
611         (WebCore::ThreadSafeDataBuffer::data):
612
613 2015-10-27  Tim Horton  <timothy_horton@apple.com>
614
615         WKView being inside WKWebView leads to weird API issues
616         https://bugs.webkit.org/show_bug.cgi?id=150174
617
618         Reviewed by Anders Carlsson.
619
620         * platform/spi/cg/CoreGraphicsSPI.h:
621
622 2015-10-27  Zhuo Li  <zachli@apple.com>
623
624         Add WebKit API to clear data type Search Field Recent Searches.
625         https://bugs.webkit.org/show_bug.cgi?id=150019.
626
627         Reviewed by Anders Carlsson.
628
629         * platform/cocoa/SearchPopupMenuCocoa.h: Add a function to remove recent searches based on
630         time.
631         * platform/cocoa/SearchPopupMenuCocoa.mm:
632         (WebCore::typeCheckedRecentSearchesArray): Return nil if the recent searches array is
633         corrupted, otherwise return the array.
634         (WebCore::typeCheckedDateInRecentSearch): Return nil if the date in recent search is
635         corrupted, otherwise return the date.
636         (WebCore::typeCheckedRecentSearchesRemovingRecentSearchesAddedAfterDate): Return nil if the recent searches plist is
637         corrupted, otherwise return the recent searches plist.
638         (WebCore::writeEmptyRecentSearchesPlist): Replace the existing recent searches plist if there is
639         any with a clean one.
640         (WebCore::loadRecentSearches): Use -typeCheckedRecentSearchesArray and -typeCheckedDateInRecentSearch.
641         (WebCore::removeRecentlyModifiedRecentSearches):
642         When the time passed in is equivalent to [NSDate distantPast], clear all recent searches in
643         the Recent Searches plist. Otherwise, we only clear the recent searches that were created
644         after or at the time that is passed in as the parameter. If all recent searches associated
645         with an autosave name were created after or at the time that is passed in as the parameter,
646         remove this autosave name key and all of its values in the plist. If all recent searches
647         associated with every autosave name in the plist were created after or at the time that is
648         passed in as the parameter, clear all recent searches in the Recent Searches plist.
649
650         Also, we clear all recent searches in the Recent Searches plist when we find the plist is
651         corrupted.
652
653 2015-10-27  Keith Rollin  <krollin@apple.com>
654
655         Do not sanitize user input for input[type=url]
656         https://bugs.webkit.org/show_bug.cgi?id=150346
657         <rdar://problem/23243240>
658
659         Reviewed by Darin Adler.
660
661         Do not sanitize user input in text-based input fields that support
662         the Selection API, in order to not break JavaScript code that expects
663         element.value to match what's on the screen.
664
665         Test: fast/forms/input-user-input-sanitization.html
666
667         * html/TextFieldInputType.cpp:
668         (WebCore::TextFieldInputType::subtreeHasChanged):
669
670 2015-10-20  Zalan Bujtas  <zalan@apple.com>
671
672         Subpixel layout: Convert RenderTable* and AutoTableLayout to use LayoutUnit.
673         https://bugs.webkit.org/show_bug.cgi?id=149366
674
675         Reviewed by David Hyatt.
676
677         This patch enables non-integral cell space distribution for both
678         auto and fixed table layout.
679         Due to the tight layout, float is used to calculate each cell's dimension/position and
680         we convert them to LayoutUnits while said values are set on the renderer.
681         Due to the (lack of) LayoutUnit precision, a fudge factor is applied on table cell's minimum width.   
682
683         Collapsed table borders are still integral based, tracked here: webkit.org/b/150383
684
685         Covered by existing tests.
686
687         (WebCore::RenderTableSection::firstLineBaseline): Baseline is still integral (same as normal line layout)
688         * rendering/RenderTreeAsText.cpp: flooring produces the least amount of rebaseline diff (still over 1200 tests). It doesn't really matter which direction we round
689         as long as it is consistent.
690         (WebCore::writeTextRun):
691         (WebCore::writeSimpleLine):
692         * platform/graphics/LayoutRect.h:
693         (WebCore::LayoutRect::LayoutRect):
694         * rendering/AutoTableLayout.cpp:
695         (WebCore::AutoTableLayout::recalcColumn):
696         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
697         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
698         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
699         (WebCore::AutoTableLayout::layout):
700         * rendering/AutoTableLayout.h:
701         * rendering/FixedTableLayout.cpp:
702         (WebCore::FixedTableLayout::calcWidthArray):
703         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
704         (WebCore::FixedTableLayout::layout):
705         * rendering/FixedTableLayout.h:
706         * rendering/RenderBlock.cpp:
707         (WebCore::RenderBlock::computePreferredLogicalWidths):
708         * rendering/RenderTable.cpp:
709         (WebCore::RenderTable::updateLogicalWidth):
710         (WebCore::RenderTable::distributeExtraLogicalHeight):
711         (WebCore::RenderTable::layout):
712         (WebCore::RenderTable::addOverflowFromChildren):
713         (WebCore::RenderTable::computePreferredLogicalWidths):
714         (WebCore::RenderTable::offsetWidthForColumn):
715         (WebCore::RenderTable::calcBorderStart):
716         (WebCore::RenderTable::calcBorderEnd):
717         (WebCore::RenderTable::outerBorderBefore):
718         (WebCore::RenderTable::outerBorderAfter):
719         (WebCore::RenderTable::outerBorderStart):
720         (WebCore::RenderTable::outerBorderEnd):
721         * rendering/RenderTable.h:
722         (WebCore::RenderTable::hBorderSpacing):
723         (WebCore::RenderTable::vBorderSpacing):
724         (WebCore::RenderTable::outerBorderLeft):
725         (WebCore::RenderTable::outerBorderRight):
726         (WebCore::RenderTable::outerBorderTop):
727         (WebCore::RenderTable::outerBorderBottom):
728         (WebCore::RenderTable::columnPositions):
729         (WebCore::RenderTable::setColumnPosition):
730         * rendering/RenderTableCell.cpp:
731         (WebCore::RenderTableCell::logicalWidthFromColumns):
732         (WebCore::RenderTableCell::computeIntrinsicPadding):
733         (WebCore::RenderTableCell::setCellLogicalWidth):
734         (WebCore::RenderTableCell::layout):
735         (WebCore::RenderTableCell::paddingTop):
736         (WebCore::RenderTableCell::paddingBottom):
737         (WebCore::RenderTableCell::paddingLeft):
738         (WebCore::RenderTableCell::paddingRight):
739         (WebCore::RenderTableCell::paddingBefore):
740         (WebCore::RenderTableCell::paddingAfter):
741         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
742         (WebCore::RenderTableCell::borderLeft):
743         (WebCore::RenderTableCell::borderRight):
744         (WebCore::RenderTableCell::borderTop):
745         (WebCore::RenderTableCell::borderBottom):
746         (WebCore::RenderTableCell::borderStart):
747         (WebCore::RenderTableCell::borderEnd):
748         (WebCore::RenderTableCell::borderBefore):
749         (WebCore::RenderTableCell::borderAfter):
750         (WebCore::RenderTableCell::borderHalfLeft):
751         (WebCore::RenderTableCell::borderHalfRight):
752         (WebCore::RenderTableCell::borderHalfTop):
753         (WebCore::RenderTableCell::borderHalfBottom):
754         (WebCore::RenderTableCell::borderHalfStart):
755         (WebCore::RenderTableCell::borderHalfEnd):
756         (WebCore::RenderTableCell::borderHalfBefore):
757         (WebCore::RenderTableCell::borderHalfAfter):
758         (WebCore::CollapsedBorders::addBorder):
759         (WebCore::RenderTableCell::paintCollapsedBorders):
760         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
761         (WebCore::RenderTableCell::paintBoxDecorations):
762         (WebCore::RenderTableCell::paintMask):
763         * rendering/RenderTableCell.h:
764         (WebCore::RenderTableCell::logicalHeightForRowSizing):
765         * rendering/RenderTableSection.cpp:
766         (WebCore::RenderTableSection::calcRowLogicalHeight):
767         (WebCore::RenderTableSection::layout):
768         (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
769         (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
770         (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
771         (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
772         (WebCore::RenderTableSection::layoutRows):
773         (WebCore::RenderTableSection::calcOuterBorderBefore):
774         (WebCore::RenderTableSection::calcOuterBorderAfter):
775         (WebCore::RenderTableSection::calcOuterBorderStart):
776         (WebCore::RenderTableSection::calcOuterBorderEnd):
777         (WebCore::RenderTableSection::logicalRectForWritingModeAndDirection):
778         (WebCore::RenderTableSection::dirtiedColumns):
779         (WebCore::RenderTableSection::spannedColumns):
780         (WebCore::RenderTableSection::offsetLeftForRowGroupBorder):
781         (WebCore::RenderTableSection::offsetTopForRowGroupBorder):
782         (WebCore::RenderTableSection::verticalRowGroupBorderHeight):
783         (WebCore::RenderTableSection::horizontalRowGroupBorderWidth):
784         (WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
785         (WebCore::RenderTableSection::setLogicalPositionForCell):
786         * rendering/RenderTableSection.h:
787         (WebCore::RenderTableSection::outerBorderLeft):
788         (WebCore::RenderTableSection::outerBorderRight):
789         (WebCore::RenderTableSection::outerBorderTop):
790         (WebCore::RenderTableSection::outerBorderBottom):
791         * rendering/style/CollapsedBorderValue.h:
792         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
793         (WebCore::CollapsedBorderValue::width):
794
795 2015-10-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
796
797         [Streams API] Add close method to writable stream
798         https://bugs.webkit.org/show_bug.cgi?id=150560
799
800         Reviewed by Darin Adler.
801
802         Added the close method which requires three additional writable stream internal functions plus a queuing
803         function to retrieve a value from the queue according to the spec.
804
805         Current test set suffices. Expectations were updated accordingly.
806
807         * Modules/streams/StreamInternals.js:
808         (peekQueueValue):
809         * Modules/streams/WritableStream.js:
810         (close):
811         * Modules/streams/WritableStreamInternals.js:
812         (callOrScheduleWritableStreamAdvanceQueue):
813         (writableStreamAdvanceQueue):
814         (closeWritableStream): Added as per spec.
815
816 2015-10-26  Brady Eidson  <beidson@apple.com>
817
818         Make IDBKeyData from a struct to a class.
819         https://bugs.webkit.org/show_bug.cgi?id=150576
820
821         Reviewed by Alex Christensen.
822
823         No new tests (No change in behavior).
824
825         * Modules/indexeddb/IDBKeyData.cpp:
826         (WebCore::IDBKeyData::IDBKeyData):
827         (WebCore::IDBKeyData::maybeCreateIDBKey):
828         (WebCore::IDBKeyData::isolatedCopy):
829         (WebCore::IDBKeyData::encode):
830         (WebCore::IDBKeyData::decode):
831         (WebCore::IDBKeyData::compare):
832         (WebCore::IDBKeyData::loggingString):
833         (WebCore::IDBKeyData::setArrayValue):
834         (WebCore::IDBKeyData::setStringValue):
835         (WebCore::IDBKeyData::setDateValue):
836         (WebCore::IDBKeyData::setNumberValue):
837         * Modules/indexeddb/IDBKeyData.h:
838         (WebCore::IDBKeyData::IDBKeyData):
839         (WebCore::IDBKeyData::minimum):
840         (WebCore::IDBKeyData::maximum):
841         (WebCore::IDBKeyData::isNull):
842         (WebCore::IDBKeyData::type):
843         (WebCore::IDBKeyData::encode):
844         (WebCore::IDBKeyData::decode):
845         * Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp:
846         (WebCore::GetOperation::perform):
847         * bindings/js/IDBBindingUtilities.h:
848         * platform/CrossThreadCopier.h:
849
850 2015-10-26  Philip Chimento  <philip.chimento@gmail.com>
851
852         [GTK] [Stable] Build GL texture mapper only if USE_TEXTURE_MAPPER_GL
853         https://bugs.webkit.org/show_bug.cgi?id=148606
854
855         Unreviewed, build-only change.
856
857         No new tests, build-only change.
858
859         * PlatformGTK.cmake: Remove sources requiring GL from list of
860         sources that are built when USE_TEXTURE_MAPPER is true, and add a
861         separate condition within the USE_TEXTURE_MAPPER condition to
862         build those sources when USE_TEXTURE_MAPPER_GL is true.
863
864 2015-10-26  Simon Fraser  <simon.fraser@apple.com>
865
866         Remove redundant GraphicsContext::clip(const Path&, WindRule)
867         https://bugs.webkit.org/show_bug.cgi?id=150584
868
869         Reviewed by Tim Horton.
870
871         GraphicsContext had both clipPath(const Path&, WindRule) and clip(const Path&, WindRule),
872         which were mostly the same other than GraphicsContext::clipPath() not clipping if the path
873         was empty (added, I think by mistake, in r72926), and not calling m_data->clip().
874
875         Make clipPath() be the winner, and have it behave like clip() with empty paths, and call m_data->clip().
876
877         * platform/graphics/GraphicsContext.cpp:
878         (WebCore::GraphicsContext::clipRoundedRect):
879         * platform/graphics/GraphicsContext.h:
880         * platform/graphics/cairo/GraphicsContextCairo.cpp:
881         (WebCore::GraphicsContext::clipPath):
882         (WebCore::GraphicsContext::clip): Deleted.
883         * platform/graphics/cg/GraphicsContextCG.cpp:
884         (WebCore::GraphicsContext::clipPath):
885         (WebCore::GraphicsContext::canvasClip):
886         (WebCore::GraphicsContext::clip): Deleted.
887         * rendering/RenderBoxModelObject.cpp:
888         (WebCore::RenderBoxModelObject::paintBoxShadow): Making a path, calling addRoundedRect() and then clipping
889         to the path is the same as context.clipRoundedRect().
890         * rendering/mathml/RenderMathMLRadicalOperator.cpp:
891         (WebCore::RenderMathMLRadicalOperator::paint):
892
893 2015-10-26  Zalan Bujtas  <zalan@apple.com>
894
895         Floating box is misplaced after content change.
896         https://bugs.webkit.org/show_bug.cgi?id=150271
897
898         Reviewed by David Hyatt.
899
900         Collapse anonymous block when as the result of a sibling removal only floating siblings are left.
901
902         Test: fast/block/collapse-anon-block-with-float-siblings-only.html
903
904         * rendering/RenderBlock.cpp:
905         (WebCore::canCollapseAnonymousBlock):
906         (WebCore::canMergeContiguousAnonymousBlocks):
907         (WebCore::RenderBlock::collapseAnonymousBoxChild):
908         (WebCore::RenderBlock::removeChild):
909         (WebCore::canMergeAnonymousBlock): Deleted.
910         * rendering/RenderBlock.h:
911         * rendering/RenderElement.cpp:
912         (WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):
913
914 2015-10-26  Jiewen Tan  <jiewen_tan@apple.com>
915
916         Null dereference loading Blink layout test editing/execCommand/crash-replacing-list-by-list.html
917         https://bugs.webkit.org/show_bug.cgi?id=149288
918         <rdar://problem/22746310>
919
920         Reviewed by Chris Dumez.
921
922         This is a merge of Blink r170821:
923         https://codereview.chromium.org/220233013
924
925         Test: editing/execCommand/crash-replacing-list-by-list.html
926
927         * editing/ReplaceSelectionCommand.cpp:
928         (WebCore::ReplaceSelectionCommand::insertAsListItems):
929
930 2015-10-26  Jiewen Tan  <jiewen_tan@apple.com>
931
932         Null dereference loading Blink layout test editing/execCommand/insert-image-changing-visibility-crash.html
933         https://bugs.webkit.org/show_bug.cgi?id=150208
934         <rdar://problem/23137109>
935
936         Reviewed by Chris Dumez.
937
938         This is a merge from Blink r168502:
939         https://codereview.chromium.org/183893018
940
941         Test: editing/execCommand/insert-image-changing-visibility-crash.html
942
943         * editing/ReplaceSelectionCommand.cpp:
944         (WebCore::ReplaceSelectionCommand::doApply):
945         We should check again the visibility of the inserted position again since
946         the replacement might change the visibility.
947
948 2015-10-26  Jiewen Tan  <jiewen_tan@apple.com>
949
950         Null dereference loading Blink layout test editing/execCommand/insert-ordered-list-crash.html
951         https://bugs.webkit.org/show_bug.cgi?id=150209
952         <rdar://problem/23137198>
953
954         Reviewed by Chris Dumez.
955
956         This is a merge from Blink r168006:
957         https://codereview.chromium.org/181283002
958
959         Test: editing/execCommand/insert-ordered-list-crash.html
960
961         * editing/InsertListCommand.cpp:
962         (WebCore::InsertListCommand::doApply):
963         setEndingSelection() might change endingSelection(), we should check again.
964
965 2015-10-26  Jiewen Tan  <jiewen_tan@apple.com>
966
967         Null dereference loading Blink layout test editing/execCommand/insert-html-to-document-element-crash.html
968         https://bugs.webkit.org/show_bug.cgi?id=149294
969         <rdar://problem/22746657>
970
971         Reviewed by Darin Adler.
972
973         This is a merge of Blink r175019:
974         https://codereview.chromium.org/300143012
975
976         Test: editing/execCommand/insert-html-to-document-element-crash.html
977
978         * editing/ReplaceSelectionCommand.cpp:
979         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
980         check nullable value |element->parentNode()| before using it.
981
982 2015-10-26  Jiewen Tan  <jiewen_tan@apple.com>
983
984         Null dereference loading Blink layout test editing/execCommand/indent-nested-blockquotes-crash.html
985         https://bugs.webkit.org/show_bug.cgi?id=149291
986         <rdar://problem/22746473>
987
988         Reviewed by Darin Adler.
989
990         This is a merge of Blink r172967:
991         https://codereview.chromium.org/251723003
992
993         Test: editing/execCommand/indent-nested-blockquotes-crash.html
994
995         * editing/CompositeEditCommand.cpp:
996         (WebCore::CompositeEditCommand::insertNodeAfter):
997
998 2015-10-26  Brady Eidson  <beidson@apple.com>
999
1000         Modern IDB: Backing store objectStores (plumbing for b/150468).
1001         https://bugs.webkit.org/show_bug.cgi?id=150543
1002
1003         Reviewed by Alex Christensen.
1004
1005         No new tests (No change in behavior, plumbing for future testability)
1006
1007         * CMakeLists.txt:
1008         * WebCore.xcodeproj/project.pbxproj:
1009
1010         * Modules/indexeddb/server/IDBBackingStore.h:
1011
1012         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
1013         (WebCore::IDBServer::MemoryBackingStoreTransaction::addNewObjectStore):
1014         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
1015         (WebCore::IDBServer::MemoryBackingStoreTransaction::commit):
1016         (WebCore::IDBServer::MemoryBackingStoreTransaction::finish):
1017         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
1018         (WebCore::IDBServer::MemoryBackingStoreTransaction::isWriting):
1019
1020         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1021         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
1022         (WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
1023         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1024
1025         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1026         (WebCore::IDBServer::MemoryObjectStore::create):
1027         (WebCore::IDBServer::MemoryObjectStore::MemoryObjectStore):
1028         (WebCore::IDBServer::MemoryObjectStore::~MemoryObjectStore):
1029         (WebCore::IDBServer::MemoryObjectStore::writeTransactionStarted):
1030         (WebCore::IDBServer::MemoryObjectStore::writeTransactionFinished):
1031         * Modules/indexeddb/server/MemoryObjectStore.h:
1032         (WebCore::IDBServer::MemoryObjectStore::info):
1033
1034         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1035         (WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
1036
1037         * Modules/indexeddb/shared/IDBError.cpp:
1038         (WebCore::idbErrorName):
1039         (WebCore::idbErrorDescription):
1040         * Modules/indexeddb/shared/IDBError.h:
1041
1042 2015-10-26  Jiewen Tan  <jiewen_tan@apple.com>
1043
1044         Null dereference loading Blink layout test editing/execCommand/indent-inline-box-crash.html
1045         https://bugs.webkit.org/show_bug.cgi?id=149290
1046         <rdar://problem/22746435>
1047
1048         Reviewed by Alex Christensen.
1049
1050         This is a merge of Blink r174952:
1051         https://codereview.chromium.org/297203004
1052
1053         Test: editing/execCommand/indent-inline-box-crash.html
1054
1055         * editing/IndentOutdentCommand.cpp:
1056         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
1057
1058 2015-10-26  Jiewen Tan  <jiewen_tan@apple.com>
1059
1060         Null dereference loading Blink layout test editing/execCommand/indent-no-visible-contents-crash.html
1061         https://bugs.webkit.org/show_bug.cgi?id=149292
1062         <rdar://problem/22746530>
1063
1064         Reviewed by Alex Christensen.
1065
1066         This is a merge of Blink r176735:
1067         https://codereview.chromium.org/349143002
1068
1069         Test: editing/execCommand/indent-no-visible-contents-crash.html
1070
1071         * editing/CompositeEditCommand.cpp:
1072         (WebCore::CompositeEditCommand::moveParagraphWithClones):
1073         Sometimes callers of this method will pass null startOfParagraphToMove || endOfParagraphToMove,
1074         hence check them before proceeding.
1075
1076 2015-10-26  Anders Carlsson  <andersca@apple.com>
1077
1078         Remove dead context menu code
1079         https://bugs.webkit.org/show_bug.cgi?id=150567
1080
1081         Reviewed by Tim Horton.
1082
1083         * loader/EmptyClients.h:
1084         * page/ContextMenuClient.h:
1085         * page/ContextMenuController.cpp:
1086         (WebCore::ContextMenuController::showContextMenu): Deleted.
1087
1088 2015-10-26  Simon Fraser  <simon.fraser@apple.com>
1089
1090         Implement 'round' and 'space' values for border-image
1091         https://bugs.webkit.org/show_bug.cgi?id=14185
1092
1093         Reviewed by Tim Horton.
1094         
1095         Add support for "round" and "space" values for border-image-repeat.
1096         Following "stretch" and "repeat", the code is added to Image::drawTiled().
1097         
1098         For "round", we compute an integral number of copies of the image that fit,
1099         and then adjust the tile scale.
1100         
1101         For "space", we also compute an integral number N of copies that will fit,
1102         and then divide the remaining space amongst N+1 gaps, adjusting the tiling
1103         phase so that with an even number of images, a gap is centered.
1104
1105         Tests: fast/borders/border-image-round.html
1106                fast/borders/border-image-space.html
1107
1108         * platform/graphics/Image.cpp:
1109         (WebCore::Image::drawTiled):
1110         * platform/graphics/cg/GraphicsContextCG.cpp:
1111         (WebCore::GraphicsContext::drawPattern):
1112
1113 2015-10-26  Simon Fraser  <simon.fraser@apple.com>
1114
1115         Incorrect repeated background-size behavior in keyframes
1116         https://bugs.webkit.org/show_bug.cgi?id=150309
1117
1118         Reviewed by Zalan Bujtas.
1119         
1120         After computing the style for a keyframe, we failed to propagate unset
1121         fill-layer properties to all layers, which caused incorrect behavior when
1122         there were multiple background images, but only one value on a background
1123         property in the keyframes.
1124         
1125         Fix by calling adjustRenderStyle() on keyframe styles, which invokes
1126         style.adjustBackgroundLayers() which fixes the bug.
1127
1128         Test: animations/multiple-backgrounds.html
1129
1130         * css/StyleResolver.cpp:
1131         (WebCore::StyleResolver::styleForKeyframe):
1132
1133 2015-10-26  Chris Dumez  <cdumez@apple.com>
1134
1135         Indexing an object with an integer that is not a supported property index should not call the named property getter
1136         https://bugs.webkit.org/show_bug.cgi?id=148871
1137         <rdar://problem/22589952>
1138
1139         Reviewed by Darin Adler.
1140
1141         Indexing an object with an integer that is not a supported property
1142         index should not call the named property getter, as per the Web IDL
1143         specification:
1144         https://heycam.github.io/webidl/#idl-indexed-properties (Note in blue)
1145
1146         Firefox and Chrome both already behave according to the specification
1147         here so this patch aligns our behavior with other browsers as well.
1148
1149         No new tests, already covered by existing test.
1150
1151         * bindings/scripts/CodeGeneratorJS.pm:
1152         (GenerateGetOwnPropertySlotBody):
1153         (GenerateImplementation):
1154         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1155         (WebCore::JSTestEventTarget::getOwnPropertySlot):
1156         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): Deleted.
1157         (WebCore::jsTestEventTargetConstructor): Deleted.
1158
1159 2015-10-26  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1160
1161         [Streams API] Implement abort method on writable streams
1162         https://bugs.webkit.org/show_bug.cgi?id=150444
1163
1164         Reviewed by Darin Adler.
1165
1166         Abort method on writable streams implemented according to the spec.
1167
1168         Current test set suffices. Expectations are updated accordingly.
1169
1170         * Modules/streams/StreamInternals.js:
1171         (promiseInvokeOrFallbackOrNoop): Implemented according to the spec.
1172         * Modules/streams/WritableStream.js:
1173         (abort): Implemented according to the spec.
1174
1175 2015-10-25  Hunseop Jeong  <hs85.jeong@samsung.com>
1176
1177         Use modern for-loops in WebCore/editing.
1178         https://bugs.webkit.org/show_bug.cgi?id=150354
1179
1180         Reviewed by Darin Adler.
1181
1182         No new tests because there is no behavior change.
1183
1184         * editing/AlternativeTextController.cpp:
1185         (WebCore::AlternativeTextController::applyAlternativeTextToRange):
1186         (WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
1187         (WebCore::AlternativeTextController::rootViewRectForRange):
1188         (WebCore::AlternativeTextController::markCorrection):
1189         * editing/ApplyStyleCommand.cpp:
1190         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1191         (WebCore::dummySpanAncestorForNode):
1192         (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
1193         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
1194         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1195         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
1196         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
1197         (WebCore::ApplyStyleCommand::joinChildTextNodes):
1198         * editing/CompositeEditCommand.cpp:
1199         (WebCore::EditCommandComposition::reapply):
1200         (WebCore::EditCommandComposition::getNodesInCommand):
1201         (WebCore::CompositeEditCommand::removeChildrenInRange):
1202         (WebCore::CompositeEditCommand::removeNode):
1203         (WebCore::copyMarkers):
1204         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1205         (WebCore::CompositeEditCommand::deleteInsignificantText):
1206         * editing/DictationCommand.cpp:
1207         (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
1208         (WebCore::DictationCommand::collectDictationAlternativesInRange):
1209         * editing/EditingStyle.cpp:
1210         (WebCore::isEditingProperty):
1211         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
1212         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
1213         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
1214         (WebCore::styleFromMatchedRulesForElement):
1215         (WebCore::diffTextDecorations):
1216         * editing/Editor.cpp:
1217         (WebCore::Editor::setComposition):
1218         (WebCore::Editor::markAndReplaceFor):
1219         * editing/EditorCommand.cpp:
1220         (WebCore::createCommandMap):
1221         * editing/MarkupAccumulator.cpp:
1222         (WebCore::MarkupAccumulator::totalLength):
1223         * editing/MergeIdenticalElementsCommand.cpp:
1224         (WebCore::MergeIdenticalElementsCommand::doApply):
1225         (WebCore::MergeIdenticalElementsCommand::doUnapply):
1226         * editing/ReplaceSelectionCommand.cpp:
1227         (WebCore::ReplacementFragment::removeUnrenderedNodes):
1228         (WebCore::ReplacementFragment::removeInterchangeNodes):
1229         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1230         (WebCore::removeHeadContents):
1231         * editing/SpellChecker.cpp:
1232         (WebCore::SpellChecker::~SpellChecker):
1233         (WebCore::SpellChecker::client):
1234         (WebCore::SpellChecker::enqueueRequest):
1235         * editing/SplitElementCommand.cpp:
1236         (WebCore::SplitElementCommand::executeApply):
1237         (WebCore::SplitElementCommand::doApply):
1238         (WebCore::SplitElementCommand::doUnapply):
1239         * editing/TextCheckingHelper.cpp:
1240         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
1241         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
1242         * editing/WrapContentsInDummySpanCommand.cpp:
1243         (WebCore::WrapContentsInDummySpanCommand::executeApply):
1244         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
1245         * editing/ios/EditorIOS.mm:
1246         (WebCore::Editor::createFragmentAndAddResources):
1247         * editing/mac/EditorMac.mm:
1248         (WebCore::Editor::WebContentReader::readFilenames):
1249         (WebCore::Editor::createFragmentAndAddResources):
1250         * editing/markup.cpp:
1251         (WebCore::completeURLs):
1252
1253 2015-10-25  Simon Fraser  <simon.fraser@apple.com>
1254
1255         Support bezier paths in clip-path property
1256         https://bugs.webkit.org/show_bug.cgi?id=149996
1257
1258         Reviewed by Darin Adler.
1259         
1260         Support path() in the -webkit-clip-path property, as specified in
1261         https://drafts.csswg.org/css-shapes-2/#supported-basic-shapes
1262         
1263         Added BasicShapePath and CSSBasicShapePath, which both represent the path
1264         as a SVGPathByteStream and wind rule.
1265         
1266         Make BasicShape::canBlend() a virtual function, and implement it on each subclass.
1267         Make various BasicShape subclass function overrides private, other than windRule()
1268         wich is called on derived classes in a few places.
1269         
1270         Add SVGPathBlender::canBlendPaths() which returns true if the given paths can be
1271         interpolated. Uses the same logic as blendAnimatedPath(), without doing any interpolation.
1272         
1273         RenderElement::createsGroup() is fixed to have clip-path trigger a group,
1274         which fixes rendering of clip-path with a descendant compositing layer.
1275
1276         Tests: compositing/masks/clip-path-composited-descendent.html
1277                css3/masking/clip-path-with-path.html
1278                transitions/clip-path-path-transitions.html
1279
1280         * css/BasicShapeFunctions.cpp:
1281         (WebCore::valueForBasicShape):
1282         (WebCore::basicShapeForValue):
1283         * css/CSSBasicShapes.cpp:
1284         (WebCore::CSSBasicShapePath::CSSBasicShapePath):
1285         (WebCore::CSSBasicShapePath::pathData):
1286         (WebCore::buildPathString):
1287         (WebCore::CSSBasicShapePath::cssText):
1288         (WebCore::CSSBasicShapePath::equals):
1289         * css/CSSBasicShapes.h:
1290         * css/CSSParser.cpp:
1291         (WebCore::CSSParser::parseBasicShapePath):
1292         (WebCore::CSSParser::parseBasicShape):
1293         * css/CSSParser.h:
1294         * rendering/RenderElement.h:
1295         (WebCore::RenderElement::createsGroup):
1296         * rendering/style/BasicShapes.cpp:
1297         (WebCore::BasicShapeCircle::canBlend):
1298         (WebCore::BasicShapeEllipse::canBlend):
1299         (WebCore::BasicShapePolygon::canBlend):
1300         (WebCore::BasicShapePath::BasicShapePath):
1301         (WebCore::BasicShapePath::path):
1302         (WebCore::BasicShapePath::operator==):
1303         (WebCore::BasicShapePath::canBlend):
1304         (WebCore::BasicShapePath::blend):
1305         (WebCore::BasicShapeInset::canBlend):
1306         (WebCore::BasicShape::canBlend): Deleted.
1307         * rendering/style/BasicShapes.h:
1308         * svg/SVGPathBlender.cpp:
1309         (WebCore::SVGPathBlender::addAnimatedPath):
1310         (WebCore::SVGPathBlender::blendAnimatedPath):
1311         (WebCore::SVGPathBlender::canBlendPaths):
1312         (WebCore::SVGPathBlender::SVGPathBlender):
1313         (WebCore::SVGPathBlender::blendMoveToSegment):
1314         (WebCore::SVGPathBlender::blendLineToSegment):
1315         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
1316         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
1317         (WebCore::SVGPathBlender::blendCurveToCubicSegment):
1318         (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
1319         (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
1320         (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
1321         (WebCore::SVGPathBlender::blendArcToSegment):
1322         * svg/SVGPathBlender.h:
1323         * svg/SVGPathByteStream.h:
1324         (WebCore::SVGPathByteStream::operator==):
1325         * svg/SVGPathUtilities.cpp:
1326         (WebCore::canBlendSVGPathByteStreams):
1327         * svg/SVGPathUtilities.h:
1328
1329 2015-10-25  Gwang Yoon Hwang  <yoon@igalia.com>
1330
1331         [TexMap] Fix a misused flag for GstGL
1332         https://bugs.webkit.org/show_bug.cgi?id=150545
1333
1334         Reviewed by Žan Doberšek.
1335
1336         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1337         (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
1338         We should pass TextureMapperGL::Flags to the TextureMapperGL::drawTexture instead of
1339         BitmapTexture::Flags.
1340
1341 2015-10-25  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1342
1343         Use ImplementedAs for MediaDevices.getUserMediaFromJS
1344         https://bugs.webkit.org/show_bug.cgi?id=150439
1345
1346         Reviewed by Darin Adler.
1347
1348         No change in behavior.
1349
1350         * Modules/mediastream/MediaDevices.h: Removing getUserMediaFromJS C++ function.
1351         * Modules/mediastream/MediaDevices.idl: Marking getUserMediaFromJS as ImplementedAS=getUserMedia
1352
1353 2015-10-24  Gwang Yoon Hwang  <yoon@igalia.com>
1354
1355         Remove setApplyDeviceScaleFactorInCompositor
1356         https://bugs.webkit.org/show_bug.cgi?id=150538
1357
1358         Reviewed by Tim Horton.
1359
1360         It was used to support the device scale factor for chromium port and blackberry
1361         port. But it was removed quite a while ago.
1362
1363         * page/Settings.in:
1364         applyDeviceScaleFactorInCompositor: Deleted
1365         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1366         (WebCore::CompositingCoordinator::CompositingCoordinator): Remove uses
1367         of applyDeviceScaleFactorInCompositor.
1368
1369 2015-10-24  Tim Horton  <timothy_horton@apple.com>
1370
1371         Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors
1372         https://bugs.webkit.org/show_bug.cgi?id=150525
1373
1374         Reviewed by Darin Adler.
1375
1376         Adjusted API test to cover this: WKWebView.EvaluateJavaScriptErrorCases.
1377
1378         * bindings/js/JSDOMBinding.cpp:
1379         (WebCore::reportException):
1380         * bindings/js/JSDOMBinding.h:
1381         Fill in the given struct with computed exception data if it was given.
1382
1383         * bindings/js/ScriptController.cpp:
1384         (WebCore::ScriptController::evaluateInWorld):
1385         (WebCore::ScriptController::evaluate):
1386         (WebCore::ScriptController::executeScript):
1387         * bindings/js/ScriptController.h:
1388         Plumb aforementioned struct through ScriptController.
1389
1390 2015-10-24  Gwang Yoon Hwang  <yoon@igalia.com>
1391
1392         [TexMap] Clean up BitmapTexture and BitmapTextureGL.
1393         https://bugs.webkit.org/show_bug.cgi?id=143298
1394
1395         Reviewed by Žan Doberšek.
1396
1397         No new tests, this is just a refactor.
1398
1399         * platform/graphics/texmap/BitmapTexture.h:
1400         (WebCore::BitmapTexture::canReuseWith): Deleted.
1401         Reuseability of a BitmapTexture is only decided by its size.
1402         We can use size() instead of this method.
1403
1404         * platform/graphics/texmap/BitmapTextureGL.h:
1405         (WebCore::driverSupportsExternalTextureBGRA): Deleted.
1406         We do not have to check a suitable texture format in every
1407         update/reset. It is enough to store the formats in construction time
1408         and reuse them.
1409
1410 2015-10-24  Simon Fraser  <simon.fraser@apple.com>
1411
1412         REGRESSION (r187121): Delayed instantaneous animations not honouring ' forwards' fill-mode
1413         https://bugs.webkit.org/show_bug.cgi?id=150326
1414
1415         Reviewed by Darin Adler.
1416         
1417         With a zero-duration, delayed fill-forwards animation, we'd end up trying
1418         to interpolate between the last and first keyframes, and picking the first
1419         because AnimationBase::progress() had a special case for zero duration. Removing
1420         this check fixes the bug.
1421
1422         Test: animations/fill-mode-forwards-zero-duration.html
1423
1424         * page/animation/AnimationBase.cpp:
1425         (WebCore::AnimationBase::progress):
1426
1427 2015-10-23  Chris Dumez  <cdumez@apple.com>
1428
1429         RadioNodeList should be exposed on Window
1430         https://bugs.webkit.org/show_bug.cgi?id=148869
1431         <rdar://problem/22589828>
1432
1433         Reviewed by Ryosuke Niwa.
1434
1435         RadioNodeList should be exposed on on the global Window object, as per
1436         the HTML specification:
1437         https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist
1438
1439         This patch addresses the issue, and aligns our behavior with Firefox
1440         and Chrome.
1441
1442         No new tests, already covered by existing tests.
1443
1444         * html/RadioNodeList.idl:
1445
1446 2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>
1447
1448         Web Inspector: Remove unused ScrollLayer Timeline EventType
1449         https://bugs.webkit.org/show_bug.cgi?id=150518
1450
1451         Reviewed by Timothy Hatcher.
1452
1453         * inspector/InspectorInstrumentation.cpp:
1454         (WebCore::InspectorInstrumentation::willScrollLayerImpl): Deleted.
1455         (WebCore::InspectorInstrumentation::didScrollLayerImpl): Deleted.
1456         * inspector/InspectorInstrumentation.h:
1457         (WebCore::InspectorInstrumentation::willScrollLayer): Deleted.
1458         (WebCore::InspectorInstrumentation::didScrollLayer): Deleted.
1459         * inspector/InspectorTimelineAgent.cpp:
1460         (WebCore::InspectorTimelineAgent::willScroll): Deleted.
1461         (WebCore::InspectorTimelineAgent::didScroll): Deleted.
1462         * inspector/InspectorTimelineAgent.h:
1463         * rendering/RenderLayer.cpp:
1464         (WebCore::RenderLayer::scrollTo): Deleted.
1465
1466 2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>
1467
1468         Web Inspector: Clean up InspectorInstrumentation includes
1469         https://bugs.webkit.org/show_bug.cgi?id=150523
1470
1471         Reviewed by Timothy Hatcher.
1472
1473         * Modules/webdatabase/DatabaseManager.cpp:
1474         * WebCore.vcxproj/WebCore.vcxproj:
1475         * WebCore.vcxproj/WebCore.vcxproj.filters:
1476         * WebCore.xcodeproj/project.pbxproj:
1477         * css/MediaQueryEvaluator.cpp:
1478         * dom/EventDispatcher.cpp:
1479         * dom/ExtensionStyleSheets.cpp:
1480         * inspector/InspectorController.h:
1481         * inspector/InspectorDOMDebuggerAgent.cpp:
1482         * inspector/InspectorDatabaseInstrumentation.h: Removed.
1483         * inspector/InspectorInstrumentation.h:
1484         (WebCore::InspectorInstrumentation::didOpenDatabase):
1485         * inspector/InspectorPageAgent.cpp:
1486         * inspector/InspectorTimelineAgent.cpp:
1487         (WebCore::toProtocol): Deleted.
1488         * loader/ResourceLoadScheduler.cpp:
1489         * loader/mac/ResourceLoaderMac.mm:
1490         * page/Screen.cpp:
1491         * rendering/TextAutosizer.cpp:
1492         * testing/Internals.cpp:
1493         (WebCore::Internals::consoleMessageArgumentCounts): Deleted.
1494         * testing/Internals.h:
1495         * testing/Internals.idl:
1496         * workers/AbstractWorker.cpp:
1497
1498 2015-10-23  Simon Fraser  <simon.fraser@apple.com>
1499
1500         Avoid SVG-induced layouts inside Element::absoluteEventBounds()
1501         https://bugs.webkit.org/show_bug.cgi?id=150516
1502
1503         Reviewed by Zalan Bujtas.
1504
1505         Speculative fix for a crash under RenderObject::localToContainerQuad() when
1506         computing the wheel event handler region, which uses Element::absoluteEventHandlerBounds().
1507         Element::absoluteEventBounds() was calling SVGElement::getBoundingBox() in a way
1508         that could trigger a layout.
1509
1510         * dom/Element.cpp:
1511         (WebCore::Element::absoluteEventBounds):
1512
1513 2015-10-23  Alex Christensen  <achristensen@webkit.org>
1514
1515         Progress towards CMake on Mac
1516         https://bugs.webkit.org/show_bug.cgi?id=150517
1517
1518         Reviewed by Tim Horton.
1519
1520         * PlatformMac.cmake:
1521
1522 2015-10-23  Per Arne Vollan  <peavo@outlook.com>
1523
1524         [WinCairo] Improve test results for fast layouttests.
1525         https://bugs.webkit.org/show_bug.cgi?id=150464
1526
1527         Reviewed by Alex Christensen.
1528
1529         Disable the Mac ascent hack for WinCairo.
1530
1531         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1532         (WebCore::Font::platformInit):
1533
1534 2015-10-23  Simon Fraser  <simon.fraser@apple.com>
1535
1536         REGRESSION (r187121): Multiple-keyframe animations not honouring ' forwards' fill-mode
1537         https://bugs.webkit.org/show_bug.cgi?id=150328
1538
1539         Reviewed by Dean Jackson.
1540         
1541         AnimationBase::getElapsedTime() for a finished animation would return 1 (a progress),
1542         rather than a time value as the caller expects. Fix it to return the total duration
1543         if the animation has finished. This fixes the bug.
1544         
1545         Change CompositeAnimation::pauseAnimationAtTime() to be more permissive, allowing
1546         testing of filling-forwards animations with the pause API.
1547
1548         Test: animations/fill-forwards-end-state.html
1549
1550         * page/animation/AnimationBase.cpp:
1551         (WebCore::AnimationBase::getElapsedTime):
1552         * page/animation/CompositeAnimation.cpp:
1553         (WebCore::CompositeAnimation::pauseAnimationAtTime):
1554
1555 2015-10-23  Chris Dumez  <cdumez@apple.com>
1556
1557         A label element not in a document should not label an element in a document
1558         https://bugs.webkit.org/show_bug.cgi?id=148863
1559         <rdar://problem/22589300>
1560
1561         Reviewed by Ryosuke Niwa.
1562
1563         As per the HTML specification, a label element's 'for' attribute may be
1564         specified to indicate a form control with which the caption is to be
1565         associated. If the attribute is specified, the attribute's value must
1566         be the ID of a labelable element in the same Document as the label
1567         element:
1568         https://html.spec.whatwg.org/multipage/forms.html#attr-label-for
1569
1570         However, our code was failing to check if the label element was actually
1571         in the document before calling document.getElementById(). In such case,
1572         we would potentially return a labelable Element that is not in the same
1573         document as the label Element. This patch fixes the problem.
1574
1575         The new behavior is consistent with Firefox.
1576
1577         No new tests, already covered by existing test.
1578
1579         * html/HTMLLabelElement.cpp:
1580         (WebCore::HTMLLabelElement::control):
1581
1582 2015-10-23  Antoine Quint  <graouts@apple.com>
1583
1584         Support for SVG `beginEvent` event and `onbegin` attribute
1585         https://bugs.webkit.org/show_bug.cgi?id=150442
1586
1587         Reviewed by Dean Jackson.
1588
1589         Add support for the SVG `beginEvent` event, which is fired as an SVG timing element enters its active interval.
1590         Also add support for the SVG `onbegin` attribute which allows the definition of a JS event listener declaratively
1591         for the SVG `beginEvent` event.
1592
1593         Tests: svg/animations/begin-event-attribute.svg
1594                svg/animations/begin-event-script.svg
1595                svg/animations/begin-event-syncbase.svg
1596
1597         * dom/EventNames.h:
1598         * svg/animation/SVGSMILElement.cpp:
1599         (WebCore::smilBeginEventSender):
1600         (WebCore::smilEndEventSender):
1601         (WebCore::SVGSMILElement::~SVGSMILElement):
1602         (WebCore::SVGSMILElement::parseAttribute):
1603         (WebCore::SVGSMILElement::progress):
1604         (WebCore::SVGSMILElement::dispatchPendingEvent):
1605         * svg/svgattrs.in:
1606
1607 2015-10-23  Hyemi Shin  <hyemi.sin@samsung.com>
1608
1609         ConvolverNode.buffer must have same sample-rate as the AudioContext 
1610         https://bugs.webkit.org/show_bug.cgi?id=150385 
1611
1612         Reviewed by Chris Dumez.
1613
1614         ConvolverNode.buffer must be of the same sample-rate as the AudioContext
1615         or an NOT_SUPPORTED_ERR exception MUST be thrown.
1616
1617         Test : webaudio/convolver-setBuffer-different-samplerate.html
1618
1619         * Modules/webaudio/ConvolverNode.cpp:
1620         (WebCore::ConvolverNode::setBuffer):
1621         * Modules/webaudio/ConvolverNode.h:
1622         * Modules/webaudio/ConvolverNode.idl:
1623
1624 2015-10-22  Myles C. Maxfield  <mmaxfield@apple.com>
1625
1626         [OS X] Migrate GraphicsContext::drawLineForDocumentMarker() away from LocalCurrentGraphicsContext
1627         https://bugs.webkit.org/show_bug.cgi?id=150483
1628
1629         Reviewed by Simon Fraser.
1630
1631         LocalCurrentGraphicsContext is an ugly hack to work around the problem that many NS* functions
1632         operate on the current context rather than a context passed as an argument. This patch
1633         migrates from NSRectFillUsingOperation() which has this behavior to CGContextDrawTiledImage()
1634         which performs the same operation but with a passed-in CGContextRef. An added benefit is that
1635         we don't have to mess around with pattern-based NSColors. 
1636
1637         No new tests because there is no behavior change.
1638
1639         * platform/graphics/mac/GraphicsContextMac.mm:
1640         (WebCore::findImage):
1641         (WebCore::GraphicsContext::updateDocumentMarkerResources):
1642         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1643         (WebCore::makePatternColor): Deleted.
1644
1645 2015-10-22  Sam Weinig  <sam@webkit.org>
1646
1647         Navigations on the same host (but with different schemes and ports) should not trigger universal links
1648         <rdar://problem/22811325>
1649         https://bugs.webkit.org/show_bug.cgi?id=150481
1650
1651         Reviewed by Dan Bernstein.
1652
1653         Add new helper which efficiently compares the hosts of two URLs.
1654
1655         * platform/URL.cpp:
1656         (WebCore::hostsAreEqual):
1657         * platform/URL.h:
1658
1659 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
1660
1661         Web Inspector: Remove unused Timeline GCEvent Record type
1662         https://bugs.webkit.org/show_bug.cgi?id=150477
1663
1664         Reviewed by Timothy Hatcher.
1665
1666         This event is dispatched through the Heap domain, not Timelines.
1667
1668         * inspector/TimelineRecordFactory.cpp:
1669         (WebCore::TimelineRecordFactory::createGCEventData): Deleted.
1670         * inspector/TimelineRecordFactory.h:
1671
1672 2015-10-22  Gordon Sheridan  <gordon_sheridan@apple.com>
1673
1674         Fix build for clang-700.0.59.5 by replacing deprecated calls to convert points between screen and window coordinates for Mac.
1675         https://bugs.webkit.org/show_bug.cgi?id=150379
1676
1677         Reviewed by Andy Estes.
1678
1679         Provide WAKWindow versions of the non-deprecated methods for converting an NSRect between
1680         window and screen coordinates, which replace the deprecated methods that operated on an NSPoint.
1681
1682         * platform/ios/wak/WAKWindow.h:
1683         * platform/ios/wak/WAKWindow.mm:
1684         (-[WAKWindow convertRectToScreen:]): Added.
1685         (-[WAKWindow convertRectFromScreen:]): Added.
1686
1687 2015-10-22  Alex Christensen  <achristensen@webkit.org>
1688
1689         Fix Mac CMake build after r191433.
1690
1691         * PlatformMac.cmake:
1692         Use CMakeLists.txt to generate UserAgentScripts.h and cpp.
1693
1694 2015-10-22  Daniel Bates  <dabates@apple.com>
1695
1696         Unreviewed, rolling out r191113.
1697
1698         Rollout r144451 since it regressed the visibility of the
1699         search cancel button when a search field is empty or showing
1700         placeholder text. Further investigation is needed.
1701
1702         Reverted changeset:
1703
1704         "[iOS] DOM click event may not be dispatched when page has
1705         :active style and <input type="search">"
1706         https://bugs.webkit.org/show_bug.cgi?id=144451
1707         http://trac.webkit.org/changeset/191113
1708
1709 2015-10-22  Simon Fraser  <simon.fraser@apple.com>
1710
1711         Add ways to log to log channels via a functional syntax, and via a TextStream
1712         https://bugs.webkit.org/show_bug.cgi?id=150472
1713  
1714         Reviewed by Tim Horton.
1715  
1716         Make it possible to write to a WTFLogChannel with a std::function that returns
1717         a const char*, and with stream syntax.
1718  
1719         Enhance TextStream to allow it to generate single-line output.
1720
1721         * platform/Logging.cpp:
1722         (WebCore::logFunctionResult):
1723         * platform/Logging.h:
1724         * platform/text/TextStream.cpp:
1725         (WebCore::TextStream::startGroup):
1726         (WebCore::TextStream::endGroup):
1727         (WebCore::TextStream::nextLine):
1728         (WebCore::TextStream::writeIndent):
1729         * platform/text/TextStream.h:
1730         (WebCore::TextStream::TextStream):
1731
1732 2015-10-22  Alex Christensen  <achristensen@webkit.org>
1733
1734         Progress towards CMake on Mac
1735         https://bugs.webkit.org/show_bug.cgi?id=150466
1736
1737         Reviewed by Chris Dumez.
1738
1739         * PlatformMac.cmake:
1740         * crypto/mac/SerializedCryptoKeyWrapMac.mm:
1741         (WebCore::createAndStoreMasterKey):
1742         * page/mac/WheelEventDeltaFilterMac.mm:
1743         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
1744
1745 2015-10-22  Myles C. Maxfield  <mmaxfield@apple.com>
1746
1747         [Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
1748         https://bugs.webkit.org/show_bug.cgi?id=150460
1749
1750         Reviewed by Tim Horton.
1751
1752         No reason to use WKSI for these calls.
1753
1754         No new tests because there is no behavior change.
1755
1756         * platform/graphics/cg/GraphicsContextCG.cpp:
1757         (WebCore::GraphicsContext::applyStrokePattern):
1758         (WebCore::GraphicsContext::applyFillPattern):
1759         (WebCore::GraphicsContext::setPlatformShadow):
1760         * platform/graphics/cg/GraphicsContextCG.h:
1761         (WebCore::getUserToBaseCTM):
1762         * platform/graphics/cg/ImageBufferCG.cpp:
1763         (WebCore::ImageBuffer::putByteArray):
1764         * platform/graphics/mac/GraphicsContextMac.mm:
1765         (WebCore::setPatternPhaseInUserSpace):
1766         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1767         * platform/ios/WebCoreSystemInterfaceIOS.mm:
1768         * platform/mac/WebCoreSystemInterface.h:
1769         * platform/mac/WebCoreSystemInterface.mm:
1770
1771 2015-10-22  Brady Eidson  <beidson@apple.com>
1772
1773         Modern IDB: Basic createObjectStore implementation.
1774         https://bugs.webkit.org/show_bug.cgi?id=150455
1775
1776         Reviewed by Alex Christensen.
1777
1778         Tests: storage/indexeddb/modern/createobjectstore-basic.html
1779                storage/indexeddb/modern/createobjectstore-failures.html
1780
1781         * CMakeLists.txt:
1782         * WebCore.xcodeproj/project.pbxproj:
1783
1784         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1785         (WebCore::IDBClient::IDBConnectionToServer::createObjectStore):
1786         (WebCore::IDBClient::IDBConnectionToServer::didCreateObjectStore):
1787         * Modules/indexeddb/client/IDBConnectionToServer.h:
1788         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1789         
1790         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
1791         (WebCore::IDBClient::IDBDatabase::objectStoreNames):
1792         (WebCore::IDBClient::IDBDatabase::createObjectStore):
1793         (WebCore::IDBClient::IDBDatabase::didAbortTransaction):
1794         * Modules/indexeddb/client/IDBDatabaseImpl.h:
1795         (WebCore::IDBClient::IDBDatabase::serverConnection):
1796         
1797         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: Added.
1798         (WebCore::IDBClient::IDBObjectStore::create):
1799         (WebCore::IDBClient::IDBObjectStore::IDBObjectStore):
1800         (WebCore::IDBClient::IDBObjectStore::~IDBObjectStore):
1801         (WebCore::IDBClient::IDBObjectStore::id):
1802         (WebCore::IDBClient::IDBObjectStore::name):
1803         (WebCore::IDBClient::IDBObjectStore::keyPathAny):
1804         (WebCore::IDBClient::IDBObjectStore::keyPath):
1805         (WebCore::IDBClient::IDBObjectStore::indexNames):
1806         (WebCore::IDBClient::IDBObjectStore::transaction):
1807         (WebCore::IDBClient::IDBObjectStore::autoIncrement):
1808         (WebCore::IDBClient::IDBObjectStore::add):
1809         (WebCore::IDBClient::IDBObjectStore::put):
1810         (WebCore::IDBClient::IDBObjectStore::openCursor):
1811         (WebCore::IDBClient::IDBObjectStore::get):
1812         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
1813         (WebCore::IDBClient::IDBObjectStore::clear):
1814         (WebCore::IDBClient::IDBObjectStore::createIndex):
1815         (WebCore::IDBClient::IDBObjectStore::index):
1816         (WebCore::IDBClient::IDBObjectStore::deleteIndex):
1817         (WebCore::IDBClient::IDBObjectStore::count):
1818         * Modules/indexeddb/client/IDBObjectStoreImpl.h: Added.
1819
1820         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
1821         (WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
1822
1823         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1824         (WebCore::IDBClient::IDBTransaction::serverConnection):
1825         (WebCore::IDBClient::IDBTransaction::objectStore):
1826         (WebCore::IDBClient::IDBTransaction::scheduleOperation):
1827         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
1828         (WebCore::IDBClient::IDBTransaction::finishAbortOrCommit):
1829         (WebCore::IDBClient::IDBTransaction::didAbort):
1830         (WebCore::IDBClient::IDBTransaction::didCommit):
1831         (WebCore::IDBClient::IDBTransaction::createObjectStore):
1832         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
1833         (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer):
1834         * Modules/indexeddb/client/IDBTransactionImpl.h:
1835         (WebCore::IDBClient::IDBTransaction::originalDatabaseInfo):
1836         (WebCore::IDBClient::IDBTransaction::isVersionChange):
1837         
1838         * Modules/indexeddb/client/TransactionOperation.h: Added.
1839         (WebCore::IDBClient::TransactionOperation::perform):
1840         (WebCore::IDBClient::TransactionOperation::completed):
1841         (WebCore::IDBClient::TransactionOperation::identifier):
1842         (WebCore::IDBClient::TransactionOperation::transactionIdentifier):
1843         (WebCore::IDBClient::TransactionOperation::TransactionOperation):
1844         (WebCore::IDBClient::createTransactionOperation):
1845         
1846         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
1847         (WebCore::IDBServer::IDBConnectionToClient::didCreateObjectStore):
1848         * Modules/indexeddb/server/IDBConnectionToClient.h:
1849         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
1850         
1851         * Modules/indexeddb/server/IDBServer.cpp:
1852         (WebCore::IDBServer::IDBServer::createObjectStore):
1853         * Modules/indexeddb/server/IDBServer.h:
1854         
1855         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1856         (WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
1857         (WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
1858         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateObjectStore):
1859         (WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
1860         (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
1861         (WebCore::IDBServer::UniqueIDBDatabase::abortTransaction): Deleted.
1862         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1863         
1864         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
1865         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateObjectStore):
1866         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
1867         
1868         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1869         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::isVersionChange):
1870         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
1871         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1872         
1873         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
1874         (WebCore::IDBDatabaseInfo::hasObjectStore):
1875         (WebCore::IDBDatabaseInfo::createNewObjectStore):
1876         (WebCore::IDBDatabaseInfo::addExistingObjectStore):
1877         (WebCore::IDBDatabaseInfo::objectStoreNames):
1878         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
1879         
1880         * Modules/indexeddb/shared/IDBObjectStoreInfo.cpp: Copied from Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.cpp.
1881         (WebCore::IDBObjectStoreInfo::IDBObjectStoreInfo):
1882         (WebCore::IDBObjectStoreInfo::isolatedCopy):
1883         * Modules/indexeddb/shared/IDBObjectStoreInfo.h: Copied from Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.h.
1884         (WebCore::IDBObjectStoreInfo::identifier):
1885         (WebCore::IDBObjectStoreInfo::name):
1886         (WebCore::IDBObjectStoreInfo::keyPath):
1887         (WebCore::IDBObjectStoreInfo::autoIncrement):
1888
1889         * Modules/indexeddb/shared/IDBRequestData.cpp:
1890         (WebCore::IDBRequestData::IDBRequestData):
1891         (WebCore::IDBRequestData::requestIdentifier):
1892         (WebCore::IDBRequestData::transactionIdentifier):
1893         * Modules/indexeddb/shared/IDBRequestData.h:
1894         (WebCore::IDBRequestData::databaseIdentifier):
1895         (WebCore::IDBRequestData::requestIdentifier): Deleted.
1896
1897         * Modules/indexeddb/shared/IDBResultData.cpp:
1898         (WebCore::IDBResultData::IDBResultData):
1899         (WebCore::IDBResultData::createObjectStoreSuccess):
1900         * Modules/indexeddb/shared/IDBResultData.h:
1901
1902         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1903         (WebCore::InProcessIDBServer::didCreateObjectStore):
1904         (WebCore::InProcessIDBServer::createObjectStore):
1905         * Modules/indexeddb/shared/InProcessIDBServer.h:
1906
1907         * platform/CrossThreadCopier.cpp:
1908         (WebCore::IDBObjectStoreInfo>::copy):
1909         * platform/CrossThreadCopier.h:
1910
1911 2015-10-22  Alex Christensen  <achristensen@webkit.org>
1912
1913         Initial NSURLSession WebResourceLoader implementation
1914         https://bugs.webkit.org/show_bug.cgi?id=150355
1915
1916         Reviewed by Antti Koivisto.
1917
1918         * platform/network/cf/AuthenticationChallenge.h:
1919         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Export constructor for use in WebKit2.
1920
1921 2015-10-22  Frederic Wang  <fred.wang@free.fr>
1922
1923         [Mac] Add support for the USE_TYPO_METRICS flag
1924         https://bugs.webkit.org/show_bug.cgi?id=150394
1925
1926         Reviewed by Myles C. Maxfield.
1927
1928         Make the Cocoa backend use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
1929
1930         No new tests because this is already tested by fonts/use-typo-metrics-1.html
1931
1932         * platform/graphics/cocoa/FontCocoa.mm:
1933         (WebCore::fontHasMathTable): Add a function to verify whether a font has a MATH table.
1934         (WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that is the case.
1935
1936 2015-10-22  Wenson Hsieh  <wenson_hsieh@apple.com>
1937
1938         Implement touch-action: manipulation; for iOS
1939         https://bugs.webkit.org/show_bug.cgi?id=149854
1940         <rdar://problem/23017145>
1941
1942         Reviewed by Benjamin Poulain.
1943
1944         Implements the manipulation value for the CSS property touch-action. Adds support for
1945         parsing the touch-action property and two of its values: auto and manipulation.
1946
1947         Tests: css3/touch-action/touch-action-computed-style.html
1948                css3/touch-action/touch-action-manipulation-fast-clicks.html
1949                css3/touch-action/touch-action-parsing.html
1950
1951         * css/CSSComputedStyleDeclaration.cpp:
1952         (WebCore::ComputedStyleExtractor::propertyValue):
1953         * css/CSSParser.cpp:
1954         (WebCore::isValidKeywordPropertyAndValue):
1955         (WebCore::isKeywordPropertyID):
1956         (WebCore::CSSParser::parseValue):
1957         * css/CSSPrimitiveValueMappings.h:
1958         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1959         (WebCore::CSSPrimitiveValue::operator TouchAction):
1960         * css/CSSPropertyNames.in:
1961         * css/CSSValueKeywords.in:
1962         * dom/Element.cpp:
1963         (WebCore::Element::allowsDoubleTapGesture): Here, we determine whether an element that resulted from
1964             hit-testing a touch should allow double-tap gestures. To do this, we walk up the element's parents,
1965             stopping when we detect an element that disallows double tap gestures by having a touch-action other
1966             than auto or by hitting the root node.
1967         * dom/Element.h:
1968         * dom/Node.h:
1969         (WebCore::Node::allowsDoubleTapGesture):
1970         * rendering/style/RenderStyle.h:
1971         * rendering/style/RenderStyleConstants.h:
1972         * rendering/style/StyleRareNonInheritedData.cpp:
1973         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1974         (WebCore::StyleRareNonInheritedData::operator==):
1975         * rendering/style/StyleRareNonInheritedData.h:
1976
1977 2015-10-22  Ryosuke Niwa  <rniwa@webkit.org>
1978
1979         REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
1980         https://bugs.webkit.org/show_bug.cgi?id=150428
1981
1982         Reviewed by Antti Koivisto.
1983
1984         The bug was caused by updateFocusAppearance in WebPage::restoreSelectionInFocusedEditableElement
1985         revealing the focused element which was added in r181972. Fixed the bug by adding an option to
1986         suppress this behavior here.
1987
1988         * dom/Document.cpp:
1989         (WebCore::Document::Document):
1990         (WebCore::Document::updateFocusAppearanceSoon):
1991         * dom/Document.h:
1992         * dom/Element.cpp:
1993         (WebCore::Element::focus):
1994         (WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
1995         (WebCore::Element::updateFocusAppearance):
1996         * dom/Element.h:
1997         * history/CachedPage.cpp:
1998         (WebCore::CachedPage::restore):
1999         * html/HTMLAreaElement.cpp:
2000         (WebCore::HTMLAreaElement::updateFocusAppearance):
2001         * html/HTMLAreaElement.h:
2002         * html/HTMLInputElement.cpp:
2003         (WebCore::HTMLInputElement::updateFocusAppearance):
2004         (WebCore::HTMLInputElement::runPostTypeUpdateTasks):
2005         (WebCore::HTMLInputElement::didAttachRenderers):
2006         * html/HTMLInputElement.h:
2007         * html/HTMLTextAreaElement.cpp:
2008         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
2009         * html/HTMLTextAreaElement.h:
2010
2011 2015-10-22  Joonghun Park  <jh718.park@samsung.com>
2012
2013         [EFL] Fix build break since r191439
2014         https://bugs.webkit.org/show_bug.cgi?id=150441
2015
2016         Reviewed by Csaba Osztrogonác.
2017
2018         No new tests, no new behaviours.
2019
2020         * platform/Logging.cpp:
2021         (WebCore::registerNotifyCallback):
2022
2023 2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2024
2025         Unreviewed. Fix GTK+ build after r191423.
2026
2027         Deprecate removed class WebKitDOMHTMLBaseFontElement.
2028
2029         * PlatformGTK.cmake:
2030         * bindings/gobject/WebKitDOMDeprecated.cpp:
2031         (webkit_dom_html_base_font_element_init):
2032         (webkit_dom_html_base_font_element_class_init):
2033         (webkit_dom_html_base_font_element_get_color):
2034         (webkit_dom_html_base_font_element_set_color):
2035         (webkit_dom_html_base_font_element_get_face):
2036         (webkit_dom_html_base_font_element_set_face):
2037         (webkit_dom_html_base_font_element_get_size):
2038         (webkit_dom_html_base_font_element_set_size):
2039         * bindings/gobject/WebKitDOMDeprecated.h:
2040         * bindings/gobject/WebKitDOMDeprecated.symbols:
2041         * bindings/gobject/WebKitDOMHTMLPrivate.cpp:
2042         * html/HTMLBaseFontElement.h:
2043         * html/HTMLBaseFontElement.idl:
2044
2045 2015-10-22  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2046
2047         [Streams API] Add writable stream attributes
2048         https://bugs.webkit.org/show_bug.cgi?id=150389
2049
2050         Reviewed by Darin Adler.
2051
2052         This patch adds the three writable stream attributes, which are closed, ready and state. They are implemented
2053         according to the spec.
2054
2055         Current test set suffices, expectations were adjusted accordingly.
2056
2057         * Modules/streams/WritableStream.js:
2058         (initializeWritableStream): Style fix.
2059         (closed):
2060         (ready):
2061         (state): Implemented according to the spec.
2062         * Modules/streams/WritableStreamInternals.js:
2063         (isWritableStream): Implemented according to the spec.
2064
2065 2015-10-22  Frederic Wang  <fred.wang@free.fr>
2066
2067         Rollout r190440 for the moment. It broke the build.
2068
2069         * platform/graphics/cocoa/FontCocoa.mm:
2070         (WebCore::Font::platformInit): Deleted.
2071
2072 2015-10-22  Frederic Wang  <fred.wang@free.fr>
2073
2074         Unreviewed compilation fix on Mac.
2075
2076         * platform/graphics/cocoa/FontCocoa.mm:
2077         (WebCore::Font::platformInit): Use a pointer for the third argument of CFArrayContainsValue.
2078
2079 2015-10-21  Frederic Wang  <fred.wang@free.fr>
2080
2081         Unreviewed compilation fix on Mac.
2082
2083         * platform/graphics/cocoa/FontCocoa.mm:
2084         (WebCore::Font::platformInit): Add missing font argument.
2085
2086 2015-10-21  Frederic Wang  <fred.wang@free.fr>
2087
2088         [Mac] Add support for the USE_TYPO_METRICS flag
2089         https://bugs.webkit.org/show_bug.cgi?id=150394
2090
2091         Reviewed by Myles C. Maxfield.
2092
2093         Make the Cocoa backend use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
2094
2095         No new tests because this is already tested by fonts/use-typo-metrics-1.html
2096
2097         * platform/graphics/cocoa/FontCocoa.mm:
2098         (WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that is the case.
2099
2100 2015-10-21  Zalan Bujtas  <zalan@apple.com>
2101
2102         Print out the render tree from command line.
2103         https://bugs.webkit.org/show_bug.cgi?id=150416
2104
2105         Use system-wide notification server (https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/notify_register_dispatch.3.html)
2106         to print out the render tree for the live documents.
2107
2108         Usage: notifyutil -p com.apple.WebKit.showRenderTree
2109
2110         Reviewed by Simon Fraser.
2111
2112         No change in functionality.
2113
2114         * platform/Logging.cpp:
2115         (WebCore::registerNotifyCallback):
2116         * platform/Logging.h:
2117         * rendering/RenderObject.cpp:
2118         (WebCore::RenderObject::RenderObject):
2119         (WebCore::printRenderTreeForLiveDocuments):
2120
2121 2015-10-21  Alex Christensen  <achristensen@webkit.org>
2122
2123         Fix CMake clean build after r191423.
2124
2125         * CMakeLists.txt:
2126         HTMLBaseFontElement.idl no longer generates any JavaScript bindings.
2127
2128 2015-10-21  Brian Burg  <bburg@apple.com>
2129
2130         Unreviewed, CMake build fix after r191433.
2131
2132         * CMakeLists.txt: add WritableStreamInternals.js to WebCore_BUILTINS_SOURCES.
2133
2134 2015-10-21  Brian Burg  <bburg@apple.com>
2135
2136         Restructure generate-js-bindings script to be modular and testable
2137         https://bugs.webkit.org/show_bug.cgi?id=149929
2138
2139         Reviewed by Alex Christensen.
2140
2141         * CMakeLists.txt:
2142
2143             Define JavaScriptCore_SCRIPTS_DIR explicitly so the add_custom_command and
2144             shared file lists are identical between JavaScriptCore and WebCore.
2145
2146             The output files additionally depend on all builtin generator script files.
2147
2148         * DerivedSources.make:
2149
2150             Use JavaScriptCore_SCRIPTS_DIR so that the rule for code generation and
2151             shared file lists are identical between JavaScriptCore and WebCore.
2152
2153             The output files additionally depend on all builtin generator script files.
2154
2155         * WebCore.xcodeproj/project.pbxproj:
2156
2157             Define JavaScriptCore_SCRIPTS_DIR before calling DerivedSources.make.
2158             This will eventually be merged with the other similar script paths.
2159
2160         * bindings/js/JSDOMWindowBase.cpp:
2161         (WebCore::JSDOMWindowBase::finishCreation):
2162
2163             Update the generated builtin macro names.
2164
2165         * generate-js-builtins: Removed.
2166
2167 2015-10-21  Alex Christensen  <achristensen@webkit.org>
2168
2169         Recommit r191428.
2170
2171         I don't think it was supposed to be reverted in r191429, and it really does fix the build.
2172
2173         * loader/EmptyClients.h:
2174         (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
2175         Remove customizeMenu again.
2176
2177 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2178
2179         [EFL][GTK][WK2] Fix build break since r191402, r191401
2180         https://bugs.webkit.org/show_bug.cgi?id=150432
2181
2182         Unreviewed EFL and GTK build fix.
2183
2184         * loader/EmptyClients.h:
2185
2186 2015-10-21  Alex Christensen  <achristensen@webkit.org>
2187
2188         Build fix after r191422.
2189
2190         * page/ContextMenuClient.h:
2191         (WebCore::ContextMenuClient::~ContextMenuClient):
2192         Completely remove customizeMenu.
2193
2194 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2195
2196         Remove unnecessary default quota setting in DatabaseContext::databaseExceededQuota
2197         https://bugs.webkit.org/show_bug.cgi?id=150356
2198
2199         Reviewed by Darin Adler.
2200
2201         All ports have supported DatabaseContext::databaseExceededQuota(). Thus we don't need to
2202         keep a test code to extend database quota anymore.
2203
2204         * Modules/webdatabase/DatabaseContext.cpp:
2205         (WebCore::DatabaseContext::databaseExceededQuota): Deleted.
2206
2207 2015-10-21  Chris Dumez  <cdumez@apple.com>
2208
2209         Un-expose obsolete HTMLBaseFontElement
2210         https://bugs.webkit.org/show_bug.cgi?id=150397
2211
2212         Reviewed by Anders Carlsson.
2213
2214         Un-expose obsolete HTMLBaseFontElement:
2215         - https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features
2216
2217         This means that we no longer expose HTMLBaseFontElement on the global
2218         Window object. Firefox and Chrome do not expose it either.
2219
2220         Also, document.createElement("basefont") now returns an HTMLUnknownElement
2221         as per the specification. Firefox and Chrome return a generic HTMLElement
2222         instead but I don't think this is a big compatibility risk.
2223
2224         No new tests, already covered by existing tests.
2225
2226         * html/HTMLBaseFontElement.cpp:
2227         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
2228         * html/HTMLBaseFontElement.h:
2229         * html/HTMLBaseFontElement.idl:
2230         * html/HTMLTagNames.in:
2231
2232 2015-10-21  Anders Carlsson  <andersca@apple.com>
2233
2234         Get rid of WebContextMenuClient::customizeMenu, it's no longer used
2235         https://bugs.webkit.org/show_bug.cgi?id=150427
2236
2237         Reviewed by Tim Horton.
2238         * loader/EmptyClients.cpp:
2239         (WebCore::EmptyContextMenuClient::customizeMenu): Deleted.
2240         * loader/EmptyClients.h:
2241         * page/ContextMenuController.cpp:
2242         (WebCore::ContextMenuController::showContextMenu):
2243
2244 2015-10-21  Anders Carlsson  <andersca@apple.com>
2245
2246         Remove dead MHTML code
2247         https://bugs.webkit.org/show_bug.cgi?id=150426
2248
2249         Reviewed by Tim Horton.
2250
2251         * loader/archive/mhtml/MHTMLArchive.cpp:
2252         (WebCore::MHTMLArchive::generateMHTMLData):
2253         (WebCore::MHTMLArchive::generateMHTMLDataUsingBinaryEncoding): Deleted.
2254         * loader/archive/mhtml/MHTMLArchive.h:
2255
2256 2015-10-21  Dean Jackson  <dino@apple.com>
2257
2258         Null dereference loading Blink layout test svg/filters/display-none-filter-primitive.html
2259         https://bugs.webkit.org/show_bug.cgi?id=150212
2260         <rdar://problem/23137376>
2261
2262         Reviewed by Brent Fulgham.
2263
2264         Handle the case where a filter element doesn't have a renderer. Inspired by the Blink
2265         commit:
2266         https://chromium.googlesource.com/chromium/src.git/+/fb79f7fc46552d45127acd2959a23662ad8f271e
2267
2268         Test: svg/filters/display-none-filter-primitive.html
2269
2270         * rendering/svg/RenderSVGResourceFilter.cpp:
2271         (WebCore::RenderSVGResourceFilter::buildPrimitives):
2272         * svg/graphics/filters/SVGFilterBuilder.cpp:
2273         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
2274
2275 2015-10-21  Brady Eidson  <beidson@apple.com>
2276
2277         Modern IDB: Add basic transaction aborting.
2278         https://bugs.webkit.org/show_bug.cgi?id=150148
2279
2280         Reviewed by Alex Christensen.
2281
2282         Tests: storage/indexeddb/modern/double-abort.html
2283                storage/indexeddb/modern/versionchange-abort-then-reopen.html
2284
2285         * CMakeLists.txt:
2286         * WebCore.xcodeproj/project.pbxproj:
2287         
2288         * Modules/indexeddb/IndexedDB.h:
2289         
2290         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2291         (WebCore::IDBClient::IDBConnectionToServer::abortTransaction):
2292         (WebCore::IDBClient::IDBConnectionToServer::didAbortTransaction):
2293         * Modules/indexeddb/client/IDBConnectionToServer.h:
2294         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2295         
2296         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
2297         (WebCore::IDBClient::IDBDatabase::abortTransaction):
2298         (WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction):
2299         * Modules/indexeddb/client/IDBDatabaseImpl.h:
2300         
2301         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2302         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
2303         (WebCore::IDBClient::IDBTransaction::abort):
2304         (WebCore::IDBClient::IDBTransaction::isFinishedOrFinishing):
2305         (WebCore::IDBClient::IDBTransaction::activationTimerFired):
2306         (WebCore::IDBClient::IDBTransaction::didAbort):
2307         * Modules/indexeddb/client/IDBTransactionImpl.h:
2308         
2309         * Modules/indexeddb/server/IDBBackingStore.h:
2310         
2311         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2312         (WebCore::IDBServer::IDBConnectionToClient::didAbortTransaction):
2313         * Modules/indexeddb/server/IDBConnectionToClient.h:
2314         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2315         
2316         * Modules/indexeddb/server/IDBServer.cpp:
2317         (WebCore::IDBServer::IDBServer::abortTransaction):
2318         * Modules/indexeddb/server/IDBServer.h:
2319         
2320         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2321         (WebCore::IDBServer::MemoryBackingStoreTransaction::create):
2322         (WebCore::IDBServer::MemoryBackingStoreTransaction::MemoryBackingStoreTransaction):
2323         (WebCore::IDBServer::MemoryBackingStoreTransaction::~MemoryBackingStoreTransaction):
2324         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
2325         (WebCore::IDBServer::MemoryBackingStoreTransaction::commit):
2326         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
2327         (WebCore::IDBServer::MemoryBackingStoreTransaction::isVersionChange):
2328         
2329         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2330         (WebCore::IDBServer::MemoryIDBBackingStore::setDatabaseInfo):
2331         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
2332         (WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction):
2333         (WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction):
2334         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2335
2336         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2337         (WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
2338         (WebCore::IDBServer::UniqueIDBDatabase::beginTransactionInBackingStore):
2339         (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
2340         (WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
2341         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction):
2342         (WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
2343         (WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
2344         (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
2345         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2346         
2347         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
2348         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):
2349         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
2350         
2351         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2352         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
2353         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::originalDatabaseInfo):
2354         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort):
2355         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2356         
2357         * Modules/indexeddb/shared/IDBError.cpp:
2358         (WebCore::idbErrorName):
2359         (WebCore::idbErrorDescription):
2360         * Modules/indexeddb/shared/IDBError.h:
2361
2362         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2363         (WebCore::InProcessIDBServer::didAbortTransaction):
2364         (WebCore::InProcessIDBServer::abortTransaction):
2365         * Modules/indexeddb/shared/InProcessIDBServer.h:
2366
2367 2015-10-21  Chris Dumez  <cdumez@apple.com>
2368
2369         bgsound should use HTMLUnknownElement interface
2370         https://bugs.webkit.org/show_bug.cgi?id=148857
2371         <rdar://problem/22589036>
2372
2373         Reviewed by Sam Weinig.
2374
2375         The blink, bgsound, isindex, multicol, nextid, and spacer elements must
2376         use the HTMLUnknownElement interface, as per the HTML specification:
2377         https://html.spec.whatwg.org/multipage/obsolete.html#other-elements,-attributes-and-apis
2378
2379         WebKit was using HTMLUnknownElement for all of them except bgsound.
2380         This patch fixes the issue and aligns our behavior with Chrome and
2381         Firefox.
2382
2383         No new tests, already covered by existing tests.
2384
2385         * html/HTMLTagNames.in:
2386
2387 2015-10-21  Antoine Quint  <graouts@apple.com>
2388
2389         Support for the SVG `onend` attribute
2390         https://bugs.webkit.org/show_bug.cgi?id=150393
2391
2392         Reviewed by Dean Jackson.
2393
2394         Add support for the SVG `onend` attribute to SVG timing and animation elements, which allow the definition
2395         of a JS event listener declaratively for the SVG `endEvent` event.
2396
2397         Tests: svg/animations/end-event-attribute-expected.svg
2398                svg/animations/end-event-attribute.svg
2399                svg/animations/end-event-syncbase-expected.svg
2400                svg/animations/end-event-syncbase.svg
2401
2402         * dom/EventNames.h:
2403         * svg/animation/SVGSMILElement.cpp:
2404         (WebCore::SVGSMILElement::parseAttribute):
2405         * svg/svgattrs.in:
2406
2407 2015-10-21  Nan Wang  <n_wang@apple.com>
2408
2409         AX: Expose table size and cell indexes on iOS
2410         https://bugs.webkit.org/show_bug.cgi?id=150366
2411
2412         Add support to expose table row/column count and cell indexes on iOS.
2413
2414         Reviewed by Chris Fleizach.
2415
2416         Test: accessibility/aria-table-attributes.html
2417
2418         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2419         (-[WebAccessibilityObjectWrapper tableParent]):
2420         (-[WebAccessibilityObjectWrapper accessibilityElementForRow:andColumn:]):
2421         (-[WebAccessibilityObjectWrapper accessibilityRowCount]):
2422         (-[WebAccessibilityObjectWrapper accessibilityColumnCount]):
2423         (-[WebAccessibilityObjectWrapper accessibilityARIARowCount]):
2424         (-[WebAccessibilityObjectWrapper accessibilityARIAColumnCount]):
2425         (-[WebAccessibilityObjectWrapper accessibilityARIARowIndex]):
2426         (-[WebAccessibilityObjectWrapper accessibilityARIAColumnIndex]):
2427         (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
2428
2429 2015-10-21  Chris Dumez  <cdumez@apple.com>
2430
2431         HTMLIFrameElement.sandbox should be a DOMSettableTokenList
2432         https://bugs.webkit.org/show_bug.cgi?id=150377
2433
2434         Reviewed by Ryosuke Niwa.
2435
2436         HTMLIFrameElement.sandbox should be a DOMSettableTokenList as per the
2437         HTML specification:
2438         - https://html.spec.whatwg.org/multipage/embedded-content.html#htmliframeelement
2439
2440         Chrome and Firefox match the specification but Safari/WebKit was uding
2441         a DOMString.
2442
2443         Test: fast/frames/sandbox-attribute.html
2444
2445         * html/HTMLIFrameElement.cpp:
2446         (WebCore::HTMLIFrameElement::sandbox):
2447         (WebCore::HTMLIFrameElement::parseAttribute):
2448         * html/HTMLIFrameElement.h:
2449         * html/HTMLIFrameElement.idl:
2450
2451 2015-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2452
2453         ASSERTION FAILED: markFontData in FontCascade::emphasisMarkHeight
2454         https://bugs.webkit.org/show_bug.cgi?id=150171
2455
2456         Reviewed by Myles C. Maxfield.
2457
2458         It happens with several tests like fast/ruby/text-emphasis.html in
2459         the GTK Debug bot. The tests seem to pass in Release and the rendering
2460         looks correct as well removing the assert. The thing is that
2461         for some reason we can get an empty GlyphData from
2462         FontCascade::getEmphasisMarkGlyphData() when it ends up falling
2463         back to system (FontCascadeFonts::glyphDataForSystemFallback).
2464
2465         * platform/graphics/FontCascade.cpp:
2466         (WebCore::FontCascade::getEmphasisMarkGlyphData): Return
2467         Optional<GlyphData> instead of returning a boolean and an out
2468         parameter. If we get an invalid GlyphData, Nullopt is
2469         returned. Also use a SurrogatePairAwareTextIterator to handle
2470         surrogate pairs.
2471         (WebCore::FontCascade::emphasisMarkAscent):
2472         (WebCore::FontCascade::emphasisMarkDescent):
2473         (WebCore::FontCascade::emphasisMarkHeight):
2474         (WebCore::FontCascade::drawEmphasisMarks):
2475         * platform/graphics/FontCascade.h:
2476         * platform/graphics/GlyphPage.h:
2477         (WebCore::GlyphData::isValid): Return whether the GlyphData is valid.
2478
2479 2015-10-20  Sergio Villar Senin  <svillar@igalia.com>
2480
2481         [css-grid] Fix availableLogicalSpace computation with non-zero baseSize flex tracks
2482         https://bugs.webkit.org/show_bug.cgi?id=150359
2483
2484         Reviewed by Zalan Bujtas.
2485
2486         The availableLogicalSpace computation was incorrect whenever
2487         the flex tracks had a non-zero baseSize before the 1fr unit
2488         size resolution. That happened because when assigning the new
2489         baseSize to the flex track, we were unconditionally
2490         subtracting the whole baseSize to the
2491         availableLogicalSpace. That's correct if the track is a "pure"
2492         flex track, i.e. 2fr, but if the track had a non-zero baseSize
2493         (like minmax(10px, 1fr)) then both the new and the old base
2494         sizes were incorrectly used to compute the
2495         availableLogicalSpace.
2496
2497         We can test the amount of remaining freeSpace by using content
2498         distribution to align and item place on a non-zero baseSize
2499         flex track. The content distribution will be accurate if and
2500         only if the availableLogicalSpace computation is correct.
2501
2502         Test: fast/css-grid-layout/flex-content-distribution.html
2503
2504         * rendering/RenderGrid.cpp:
2505         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
2506
2507 2015-10-21  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2508
2509         [Streams API] Construct a writable stream
2510         https://bugs.webkit.org/show_bug.cgi?id=150360
2511
2512         Reviewed by Darin Adler.
2513
2514         This patch initializes a writable stream according to the spec. To do it we need two internal functions, which
2515         are syncWritableStreamStateWithQueue and errorWritableStream, which are also implemented as a quite direct
2516         translation from the spec.
2517
2518         Current test set suffices, expectations are updated accordingly.
2519
2520         * CMakeLists.txt:
2521         * DerivedSources.make:
2522         * WebCore.xcodeproj/project.pbxproj:
2523         * bindings/js/JSDOMWindowBase.cpp:
2524         * bindings/js/WebCoreBuiltinNames.h:
2525         * bindings/js/WebCoreJSBuiltinInternals.h:
2526         * bindings/js/WebCoreJSBuiltins.cpp:
2527         * bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
2528         * Modules/streams/WritableStream.js:
2529         (initializeWritableStream): Function that acts as constructor of WritableStream.
2530         * Modules/streams/WritableStreamInternals.js:
2531         (syncWritableStreamStateWithQueue):
2532         (errorWritableStream): As per spec.
2533
2534 2015-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2535
2536         NetworkProcess: DNS prefetch happens in the Web Process
2537         https://bugs.webkit.org/show_bug.cgi?id=147824
2538
2539         Reviewed by Chris Dumez.
2540
2541         Use FrameLoaderClient to do the DNS prefetch.
2542
2543         * html/HTMLAnchorElement.cpp:
2544         (WebCore::HTMLAnchorElement::parseAttribute):
2545         * loader/EmptyClients.h:
2546         * loader/FrameLoaderClient.h:
2547         * loader/LinkLoader.cpp:
2548         (WebCore::LinkLoader::loadLink):
2549         * page/Chrome.cpp:
2550         (WebCore::Chrome::mouseDidMoveOverElement):
2551
2552 2015-10-21  Frederic Wang  <fred.wang@free.fr>
2553
2554         [FreeType] Add support for the USE_TYPO_METRICS flag
2555         https://bugs.webkit.org/show_bug.cgi?id=150340
2556
2557         Reviewed by Martin Robinson.
2558
2559         Test: fonts/use-typo-metrics-1.html
2560
2561         Make the FreeType backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.
2562         Similar work should be done for other backends, see bug 131839.
2563
2564         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2565         (WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that's the case.
2566
2567 2015-10-20  Hunseop Jeong  <hs85.jeong@samsung.com>
2568
2569         Replace 0 and NULL with nullptr in WebCore/loader.
2570         https://bugs.webkit.org/show_bug.cgi?id=149657
2571
2572         Reviewed by Darin Adler.
2573
2574         No new tests because there is no behavior change.
2575
2576         * loader/CookieJar.cpp:
2577         (WebCore::networkingContext):
2578         * loader/DocumentLoader.cpp:
2579         (WebCore::DocumentLoader::DocumentLoader):
2580         (WebCore::DocumentLoader::frameLoader):
2581         (WebCore::DocumentLoader::popArchiveForSubframe):
2582         (WebCore::DocumentLoader::clearArchiveResources):
2583         (WebCore::DocumentLoader::clearMainResource):
2584         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
2585         * loader/DocumentThreadableLoader.cpp:
2586         (WebCore::DocumentThreadableLoader::cancel):
2587         (WebCore::DocumentThreadableLoader::setDefersLoading):
2588         (WebCore::DocumentThreadableLoader::clearResource):
2589         * loader/EmptyClients.cpp:
2590         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
2591         (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
2592         * loader/EmptyClients.h:
2593         * loader/FTPDirectoryParser.cpp:
2594         (WebCore::parseOneFTPLine):
2595         * loader/FTPDirectoryParser.h:
2596         (WebCore::ListResult::clear):
2597         * loader/FormSubmission.cpp:
2598         (WebCore::FormSubmission::create):
2599         * loader/FrameLoader.cpp:
2600         (WebCore::FrameLoader::clear):
2601         (WebCore::FrameLoader::stopAllLoaders):
2602         (WebCore::FrameLoader::clearProvisionalLoad):
2603         (WebCore::FrameLoader::transitionToCommitted):
2604         (WebCore::FrameLoader::closeAndRemoveChild):
2605         (WebCore::FrameLoader::detachFromParent):
2606         (WebCore::FrameLoader::detachViewsAndDocumentLoader):
2607         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2608         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2609         * loader/FrameLoader.h:
2610         (WebCore::FrameLoader::stateMachine):
2611         * loader/FrameNetworkingContext.h:
2612         (WebCore::FrameNetworkingContext::invalidate):
2613         * loader/HistoryController.cpp:
2614         (WebCore::HistoryController::replaceState):
2615         * loader/ImageLoader.cpp:
2616         (WebCore::ImageLoader::ImageLoader):
2617         (WebCore::ImageLoader::updateFromElement):
2618         * loader/NetscapePlugInStreamLoader.cpp:
2619         (WebCore::NetscapePlugInStreamLoader::releaseResources):
2620         * loader/ResourceLoadNotifier.h:
2621         * loader/ResourceLoadScheduler.cpp:
2622         (WebCore::resourceLoadScheduler):
2623         * loader/SubresourceLoader.cpp:
2624         (WebCore::SubresourceLoader::releaseResources):
2625         * loader/TextResourceDecoder.cpp:
2626         (WebCore::TextResourceDecoder::TextResourceDecoder):
2627         * loader/ThreadableLoaderClientWrapper.h:
2628         (WebCore::ThreadableLoaderClientWrapper::clearClient):
2629         (WebCore::ThreadableLoaderClientWrapper::done):
2630         * loader/appcache/ApplicationCache.cpp:
2631         (WebCore::fallbackURLLongerThan):
2632         (WebCore::ApplicationCache::ApplicationCache):
2633         (WebCore::ApplicationCache::resourceForRequest):
2634         * loader/appcache/ApplicationCache.h:
2635         (WebCore::ApplicationCache::fallbackURLs):
2636         * loader/appcache/ApplicationCacheGroup.cpp:
2637         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
2638         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
2639         (WebCore::ApplicationCacheGroup::selectCache):
2640         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
2641         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
2642         (WebCore::ApplicationCacheGroup::manifestNotFound):
2643         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2644         * loader/appcache/ApplicationCacheHost.cpp:
2645         (WebCore::ApplicationCacheHost::ApplicationCacheHost):
2646         (WebCore::ApplicationCacheHost::setApplicationCache):
2647         * loader/appcache/ApplicationCacheHost.h:
2648         (WebCore::ApplicationCacheHost::candidateApplicationCacheGroup):
2649         * loader/appcache/ApplicationCacheStorage.cpp:
2650         (WebCore::StorageIDJournal::Record::Record):
2651         (WebCore::StorageIDJournal::Record::restore):
2652         (WebCore::ApplicationCacheStorage::loadCacheGroup):
2653         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2654         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
2655         (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
2656         (WebCore::ApplicationCacheStorage::loadCache):
2657         * loader/appcache/DOMApplicationCache.cpp:
2658         (WebCore::DOMApplicationCache::disconnectFrameForPageCache):
2659         (WebCore::DOMApplicationCache::willDestroyGlobalObjectInFrame):
2660         (WebCore::DOMApplicationCache::applicationCacheHost):
2661         (WebCore::DOMApplicationCache::scriptExecutionContext):
2662         (WebCore::DOMApplicationCache::toEventType):
2663         * loader/archive/ArchiveFactory.cpp:
2664         (WebCore::ArchiveFactory::create):
2665         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
2666         * loader/archive/ArchiveResourceCollection.cpp:
2667         (WebCore::ArchiveResourceCollection::archiveResourceForURL):
2668         * loader/archive/cf/LegacyWebArchive.cpp:
2669         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2670         (WebCore::LegacyWebArchive::createResource):
2671         (WebCore::LegacyWebArchive::create):
2672         (WebCore::LegacyWebArchive::rawDataRepresentation):
2673         * loader/archive/cf/LegacyWebArchiveMac.mm:
2674         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2675         * loader/archive/mhtml/MHTMLArchive.cpp:
2676         (WebCore::MHTMLArchive::create):
2677         (WebCore::MHTMLArchive::generateMHTMLData):
2678         * loader/archive/mhtml/MHTMLParser.cpp:
2679         (WebCore::MHTMLParser::parseArchiveWithHeader):
2680         (WebCore::MHTMLParser::parseNextPart):
2681         * loader/cache/CachedImage.cpp:
2682         (WebCore::CachedImage::CachedImage):
2683         * loader/cache/CachedImageClient.h:
2684         (WebCore::CachedImageClient::imageChanged):
2685         (WebCore::CachedImageClient::newImageAnimationFrameAvailable):
2686         * loader/cache/CachedRawResource.cpp:
2687         (WebCore::CachedRawResource::calculateIncrementalDataChunk):
2688         * loader/cache/CachedRawResourceClient.h:
2689         (WebCore::CachedRawResourceClient::dataReceived):
2690         (WebCore::CachedRawResourceClient::redirectReceived):
2691         (WebCore::CachedRawResourceClient::getOrCreateReadBuffer):
2692         * loader/cache/CachedResource.cpp:
2693         (WebCore::CachedResource::CachedResource):
2694         (WebCore::CachedResource::clearResourceToRevalidate):
2695         * loader/cache/CachedResourceClientWalker.h:
2696         (WebCore::CachedResourceClientWalker::next):
2697         * loader/cache/CachedResourceHandle.cpp:
2698         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
2699         * loader/cache/CachedResourceLoader.cpp:
2700         (WebCore::createResource):
2701         (WebCore::CachedResourceLoader::CachedResourceLoader):
2702         (WebCore::CachedResourceLoader::~CachedResourceLoader):
2703         (WebCore::CachedResourceLoader::canRequest): Return value is bool.
2704         (WebCore::CachedResourceLoader::requestResource):
2705         * loader/cache/CachedResourceLoader.h:
2706         (WebCore::CachedResourceLoader::document):
2707         (WebCore::CachedResourceLoader::setDocument):
2708         (WebCore::CachedResourceLoader::clearDocumentLoader):
2709         * loader/cache/CachedSVGDocumentReference.cpp:
2710         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
2711         * loader/cf/ResourceLoaderCFNet.cpp:
2712         (WebCore::ResourceLoader::shouldCacheResponse): Return value is bool.
2713         * loader/icon/IconDatabase.cpp:
2714         (WebCore::IconDatabase::synchronousIconForPageURL):
2715         (WebCore::IconDatabase::synchronousNativeIconForPageURL):
2716         (WebCore::IconDatabase::setIconDataForIconURL):
2717         (WebCore::IconDatabase::getOrCreatePageURLRecord):
2718         (WebCore::IconDatabase::cleanupSyncThread):
2719         * loader/icon/IconDatabaseBase.cpp:
2720         (WebCore::IconDatabaseBase::open):
2721         (WebCore::iconDatabase):
2722         * loader/icon/IconDatabaseBase.h:
2723         (WebCore::EnumCallback::performCallback):
2724         (WebCore::EnumCallback::invalidate):
2725         (WebCore::ObjectCallback::performCallback):
2726         (WebCore::ObjectCallback::invalidate):
2727         * loader/icon/PageURLRecord.cpp:
2728         (WebCore::PageURLRecord::~PageURLRecord):
2729         (WebCore::PageURLRecord::setIconRecord):
2730         * loader/mac/ResourceLoaderMac.mm:
2731         (WebCore::ResourceLoader::willCacheResponse):
2732         * loader/soup/CachedRawResourceSoup.cpp:
2733         (WebCore::CachedRawResource::getOrCreateReadBuffer):
2734
2735 2015-10-20  Chris Dumez  <cdumez@apple.com>
2736
2737         Unreviewed, GTK API test fix after r191351.
2738
2739         Reverted API change for GTK bindings.
2740
2741         * html/HTMLOptionsCollection.idl:
2742         * html/HTMLSelectElement.idl:
2743
2744 2015-10-20  Chris Dumez  <cdumez@apple.com>
2745
2746         Unreviewed, Another GTK build fix after r191351.
2747
2748         * html/HTMLCollection.idl:
2749
2750 2015-10-20  Chris Dumez  <cdumez@apple.com>
2751
2752         Unreviewed, Another GTK build fix after r191351.
2753
2754         * html/HTMLFieldSetElement.cpp:
2755         (WebCore::HTMLFieldSetElement::elementsForNativeBindings):
2756         (WebCore::HTMLFieldSetElement::elementsForObjC): Deleted.
2757         * html/HTMLFieldSetElement.h:
2758         * html/HTMLFieldSetElement.idl:
2759
2760 2015-10-20  Chris Fleizach  <cfleizach@apple.com>
2761
2762         AX: CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AccessibilityTable::tableElement const + 116
2763         https://bugs.webkit.org/show_bug.cgi?id=150349
2764
2765         Reviewed by Brent Fulgham.
2766
2767         The crash point for this bug says that the parentElement of the firstBody is garbage when it's accessed. 
2768         Unfortunately, I could not reproduce this in-situ or with a test. 
2769         So my speculative solution is to recalculate those body elements to ensure that they're valid before we access.
2770
2771         * accessibility/AccessibilityTable.cpp:
2772         (WebCore::AccessibilityTable::tableElement):
2773         (WebCore::AccessibilityTable::isDataTable):
2774
2775 2015-10-20  Chris Dumez  <cdumez@apple.com>
2776
2777         Unreviewed, GTK build fix after r191351.
2778
2779         * html/HTMLFormElement.cpp:
2780         (WebCore::HTMLFormElement::elementsForNativeBindings):
2781         (WebCore::HTMLFormElement::elementsForObjC): Deleted.
2782         * html/HTMLFormElement.h:
2783         * html/HTMLFormElement.idl:
2784
2785 2015-10-20  Simon Fraser  <simon.fraser@apple.com>
2786
2787         Add basic TextStream output for Images
2788         https://bugs.webkit.org/show_bug.cgi?id=150350
2789
2790         Reviewed by Darin Adler.
2791
2792         Add a TextStream output operator for Image, and virtual dump() member functions
2793         that the various image types override to dump their own data.
2794         
2795         Add isFoo() functions for each image type (surprising that these didn't already
2796         exist) so we can print the image type.
2797         
2798         Make isAnimated() const, and isBitmapImage() private.
2799
2800         * platform/graphics/BitmapImage.cpp:
2801         (WebCore::BitmapImage::dump):
2802         * platform/graphics/BitmapImage.h:
2803         * platform/graphics/CrossfadeGeneratedImage.cpp:
2804         (WebCore::CrossfadeGeneratedImage::dump):
2805         * platform/graphics/CrossfadeGeneratedImage.h:
2806         * platform/graphics/GeneratedImage.cpp:
2807         * platform/graphics/GeneratedImage.h:
2808         * platform/graphics/GradientImage.cpp:
2809         (WebCore::GradientImage::dump):
2810         * platform/graphics/GradientImage.h:
2811         * platform/graphics/Image.cpp:
2812         (WebCore::Image::dump):
2813         (WebCore::operator<<):
2814         * platform/graphics/Image.h:
2815         (WebCore::Image::isGeneratedImage):
2816         (WebCore::Image::isCrossfadeGeneratedImage):
2817         (WebCore::Image::isNamedImageGeneratedImage):
2818         (WebCore::Image::isGradientImage):
2819         (WebCore::Image::isSVGImage):
2820         (WebCore::Image::isAnimated):
2821         * platform/graphics/NamedImageGeneratedImage.cpp:
2822         (WebCore::NamedImageGeneratedImage::dump):
2823         * platform/graphics/NamedImageGeneratedImage.h:
2824         * platform/graphics/cg/PDFDocumentImage.cpp:
2825         (WebCore::PDFDocumentImage::dump):
2826         * platform/graphics/cg/PDFDocumentImage.h:
2827         * svg/graphics/SVGImage.cpp:
2828         (WebCore::SVGImage::dump):
2829         * svg/graphics/SVGImage.h:
2830
2831 2015-10-20  Chris Dumez  <cdumez@apple.com>
2832
2833         Use tighter typing for collections / node lists' item() / namedItem() methods
2834         https://bugs.webkit.org/show_bug.cgi?id=150347
2835
2836         Reviewed by Darin Adler.
2837
2838         Use tighter typing for collections / node lists' item() / namedItem() methods.
2839
2840         * accessibility/AccessibilityRenderObject.cpp:
2841         (WebCore::AccessibilityRenderObject::getDocumentLinks):
2842         * dom/LiveNodeList.h:
2843         * dom/StaticNodeList.cpp:
2844         (WebCore::StaticElementList::item):
2845         * dom/StaticNodeList.h:
2846         * html/CachedHTMLCollection.h:
2847         * html/HTMLAllCollection.idl:
2848         * html/HTMLCollection.idl:
2849         * html/HTMLFieldSetElement.cpp:
2850         (WebCore::HTMLFieldSetElement::elements):
2851         (WebCore::HTMLFieldSetElement::elementsForObjC):
2852         * html/HTMLFieldSetElement.h:
2853         * html/HTMLFieldSetElement.idl:
2854         * html/HTMLFormControlsCollection.cpp:
2855         (WebCore::HTMLFormControlsCollection::customElementAfter):
2856         * html/HTMLFormControlsCollection.h:
2857         * html/HTMLFormControlsCollection.idl:
2858         * html/HTMLFormElement.cpp:
2859         (WebCore::HTMLFormElement::item):
2860         (WebCore::HTMLFormElement::elements):
2861         (WebCore::HTMLFormElement::elementsForObjC):
2862         * html/HTMLFormElement.h:
2863         * html/HTMLFormElement.idl:
2864         * html/HTMLOptionsCollection.cpp:
2865         (WebCore::HTMLOptionsCollection::add):
2866         * html/HTMLOptionsCollection.h:
2867         * html/HTMLOptionsCollection.idl:
2868         * html/HTMLSelectElement.cpp:
2869         (WebCore::HTMLSelectElement::namedItem):
2870         (WebCore::HTMLSelectElement::item):
2871         (WebCore::HTMLSelectElement::setOption):
2872         * html/HTMLSelectElement.idl:
2873         * html/HTMLTableRowElement.cpp:
2874         (WebCore::HTMLTableRowElement::deleteCell):
2875         * html/HTMLTableSectionElement.cpp:
2876         (WebCore::HTMLTableSectionElement::deleteRow):
2877         * html/RadioNodeList.cpp:
2878         (WebCore::toRadioButtonInputElement):
2879         (WebCore::RadioNodeList::value):
2880         (WebCore::RadioNodeList::setValue):
2881         * html/RadioNodeList.h:
2882         * html/RadioNodeList.idl:
2883
2884 2015-10-20  Chris Dumez  <cdumez@apple.com>
2885
2886         Only HTML spaces should be stripped from a <script>'s 'for' / 'event' attributes
2887         https://bugs.webkit.org/show_bug.cgi?id=150335
2888
2889         Reviewed by Darin Adler.
2890
2891         Only HTML spaces should be stripped from a <script>'s 'for' / 'event' attributes:
2892         https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script (step 12.3)
2893         https://html.spec.whatwg.org/multipage/infrastructure.html#space-character
2894
2895         Previously, we were uding the wrong stripping function and we were stripping
2896         some non-HTML spaces.
2897
2898         Test: fast/dom/script-for-event-spaces.html
2899
2900         * dom/ScriptElement.cpp:
2901         (WebCore::ScriptElement::isScriptForEventSupported):
2902
2903 2015-10-20  Csaba Osztrogonác  <ossy@webkit.org>
2904
2905         Fix the !ENABLE(CSS_GRID_LAYOUT) build after r191128
2906         https://bugs.webkit.org/show_bug.cgi?id=150321
2907
2908         Reviewed by Darin Adler.
2909
2910         * css/CSSGrammar.y.in: Typo fix.
2911
2912 2015-10-20  Tim Horton  <timothy_horton@apple.com>
2913
2914         Try to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10
2915
2916         * Configurations/FeatureDefines.xcconfig:
2917
2918 2015-10-13  Sergio Villar Senin  <svillar@igalia.com>
2919
2920         ASSERTION FAILED: computeMainAxisExtentForChild(child, MainOrPreferredSize, mainSize) in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax
2921         https://bugs.webkit.org/show_bug.cgi?id=149459
2922
2923         Reviewed by Darin Adler.
2924
2925         This was regressed after 189567 where min-height|width:auto
2926         support was added to flex items. The merge from Blink changes
2927         was not correctly done for assertions. In particular we were
2928         asserting if the resolved main size was not strictly greater
2929         than 0, but 0 is actually a valid value.
2930
2931         Test: fast/flexbox/crash-resolved-main-size-zero.html
2932
2933         * rendering/RenderFlexibleBox.cpp:
2934         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
2935
2936 2015-10-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2937
2938         [Streams API] Rework some readable stream internals that can be common to writable streams
2939         https://bugs.webkit.org/show_bug.cgi?id=150133
2940
2941         Reviewed by Darin Adler.
2942
2943         There are some things in ReadableStream internals that be be used also for Writable Streams so it was necessary
2944         to move some functions and refactor some code that can be shared by both implementations.
2945
2946         Queue was written with the functions declared at the implementation and keeping the improvement of having the
2947         total size calculated instead of having to transverse the whole array.
2948
2949         The strategy is kept as an object and a common method is used to validate it as per spec.
2950
2951         Promises are reworked to keep in an internal slot inside the promise object the resolve and reject
2952         functions. For convinience three functions were written, one to create the promise (and keep internally the
2953         resolve and reject functions), one to resolve and another to reject. Promises can still be created with
2954         Promise.resolve or reject as the resolve and rejectStreamsPromise functions operate under the assumption that
2955         the internal slots might not exist.
2956
2957         invokeOrNoop and promiseInvokeOrNoop were moved to the common code as they will be also used by WritableStream.
2958
2959         Current test set suffices.
2960
2961         * CMakeLists.txt:
2962         * DerivedSources.make:
2963         * WebCore.xcodeproj/project.pbxproj:
2964         * bindings/js/JSDOMWindowBase.cpp:
2965         * bindings/js/WebCoreJSBuiltinInternals.h:
2966         * bindings/js/WebCoreJSBuiltins.cpp:
2967         * bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
2968         * Modules/streams/ReadableStream.js:
2969         (initializeReadableStream): Reworked queue and strategy.
2970         * Modules/streams/ReadableStreamInternals.js:
2971         (privateInitializeReadableStreamReader):
2972         (errorReadableStream):
2973         (getReadableStreamDesiredSize):
2974         (cancelReadableStream):
2975         (closeReadableStream):
2976         (closeReadableStreamReader):
2977         (enqueueInReadableStream):
2978         (readFromReadableStreamReader): Reworked queue, strategy and promises.
2979         (invokeOrNoop): Deleted.
2980         (promiseInvokeOrNoop): Deleted.
2981         * Modules/streams/StreamInternals.js: Added.
2982         (invokeOrNoop):
2983         (promiseInvokeOrNoop): Moved from ReadableStreamInternals.js.
2984         (validateAndNormalizeQueuingStrategy):
2985         (createNewStreamsPromise):
2986         (resolveStreamsPromise):
2987         (rejectStreamsPromise):
2988         (newQueue):
2989         (dequeueValue):
2990         (enqueueValueWithSize): Added according to the spec.
2991         * bindings/js/WebCoreBuiltinNames.h: Updated private names according to the new slots.
2992
2993 2015-10-20  Yoav Weiss  <yoav@yoav.ws>
2994
2995         Rename the PICTURE_SIZES flag to CURRENTSRC
2996         https://bugs.webkit.org/show_bug.cgi?id=150275
2997
2998         Reviewed by Dean Jackson.
2999
3000         No new tests, since there is no functional change.
3001
3002         * Configurations/FeatureDefines.xcconfig:
3003         * html/HTMLImageElement.cpp:
3004         * html/HTMLImageElement.h:
3005         * html/HTMLImageElement.idl:
3006
3007 2015-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3008
3009         ASSERTION FAILED: m_state == Initialized in SubresourceLoader::didReceiveResponse()
3010         https://bugs.webkit.org/show_bug.cgi?id=150327
3011
3012         Reviewed by Antti Koivisto.
3013
3014         This is how it happens:
3015
3016         1. print() is called while the document is still loading, so
3017            m_shouldPrintWhenFinishedLoading is set to true
3018         2. DataURLDecoder::decode() finishes in the work queue thread,
3019            the completion handler is scheduled in the main thread
3020         3. The load is cancelled
3021           3.1. SubresourceLoader::willCancel sets m_state = Finishing
3022           3.2. DOMWindow::finishedLoading() is called, and since
3023                m_shouldPrintWhenFinishedLoading is true, it does the print.
3024           3.3. Cancellation finishes and ResourceLoader::releaseResources()
3025                is called that sets m_reachedTerminalState = true
3026
3027         So, between 3.1 and 3.3, the state is Finishing, but
3028         m_reachedTerminalState is false. What happens, in the GTK+ port at
3029         least, is that the nested main loop used to make print()
3030         synchronous, processes the DataURLDecoder::decode() completion
3031         handler that was pending. The completion handler returns early if
3032         m_reachedTerminalState is true, but it's not yet in this
3033         particular case. So, it ends up calling didReceiveResponse,
3034         because the decode didn't fail, when the subresource loader state
3035         is Finishing.
3036
3037         I think there are two things here. One is that we shouldn't start
3038         a print that was waiting for the load to finish when it
3039         failed. That would fix the problem. But it's probably a good idea
3040         to also check for cancellation in the DataURLDecoder::decode()
3041         completion handler.
3042
3043         Fixes printing/print-close-crash.html in GTK+ Debug.
3044
3045         * loader/ResourceLoader.cpp:
3046         (WebCore::ResourceLoader::loadDataURL): Return early from
3047         DataURLDecoder::decode() completion handler if the load was cancelled.
3048         * page/DOMWindow.cpp:
3049         (WebCore::DOMWindow::finishedLoading): Do not start a print that
3050         was witing for the load to finish when it failed.
3051
3052 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
3053
3054         FontCascade::typesettingFeatures() is not privy to font-variant-* nor font-feature-settings
3055         https://bugs.webkit.org/show_bug.cgi?id=149775
3056
3057         Reviewed by Darin Adler.
3058
3059         This patch has two pieces:
3060
3061         We used to have a boolean, enableLigatures, which affected how we perform shaping in both our
3062         simple and complex text codepaths. However, in this brave new world of font-feature-settings
3063         and font-variant-*, there are many properties which may affect shaping (and multiple kinds
3064         of ligatures). This patch renames this boolean to requiresShaping, and teaches it about all
3065         the various properties which affect text shaping.
3066
3067         Similarly, one of the places which used this enableLigatures boolean was to tell CoreText
3068         if it should disable ligatures. However, we now have much finer-grained control over
3069         ligatures during font creation. This patch moves the responsibility of dictating which
3070         font features should be enabled entirely to the Font. Therefore, getCFStringAttributes()
3071         doesn't know anything about ligatures anymore; the logic inside font creation is used
3072         instead.
3073
3074         An added benefit of moving all the font feature logic to one place is that we can implement
3075         the feature resolution algorithm described in the CSS3 fonts spec. This patch adds a test to
3076         makes sure that text-rendering, font-feature-settings, and font-variant-* play together
3077         nicely.
3078
3079         Test: fast/text/multiple-feature-properties.html
3080
3081         * platform/graphics/Font.cpp:
3082         (WebCore::Font::applyTransforms):
3083         * platform/graphics/Font.h:
3084         * platform/graphics/FontCascade.cpp:
3085         (WebCore::FontCascade::FontCascade):
3086         (WebCore::FontCascade::operator=):
3087         (WebCore::FontCascade::update):
3088         (WebCore::FontCascade::drawText):
3089         (WebCore::FontCascade::drawEmphasisMarks):
3090         (WebCore::FontCascade::width):
3091         (WebCore::FontCascade::adjustSelectionRectForText):
3092         (WebCore::FontCascade::offsetForPosition):
3093         (WebCore::FontCascade::codePath):
3094         (WebCore::FontCascade::floatWidthForSimpleText):
3095         * platform/graphics/FontCascade.h:
3096         (WebCore::FontCascade::requiresShaping):
3097         (WebCore::FontCascade::computeRequiresShaping):
3098         (WebCore::FontCascade::enableLigatures): Deleted.
3099         (WebCore::FontCascade::computeEnableLigatures): Deleted.
3100         * platform/graphics/WidthIterator.cpp:
3101         (WebCore::WidthIterator::WidthIterator):
3102         (WebCore::WidthIterator::applyFontTransforms):
3103         * platform/graphics/WidthIterator.h:
3104         * platform/graphics/cocoa/FontCacheCoreText.cpp:
3105         (WebCore::preparePlatformFont):
3106         * platform/graphics/cocoa/FontCocoa.mm:
3107         (WebCore::Font::canRenderCombiningCharacterSequence):
3108         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3109         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
3110         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
3111         (WebCore::Font::getCFStringAttributes):
3112         * svg/SVGFontData.h:
3113
3114 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
3115
3116         Shadow GraphicsContext's ImageInterpolationQuality inside GraphicsContextState
3117         https://bugs.webkit.org/show_bug.cgi?id=150306
3118
3119         Reviewed by Simon Fraser.
3120
3121         When getting the ImageInterpolationQuality, there is no need to round-trip through
3122         the platform's graphics context. This patch migrates this piece of state to the
3123         existing idiom of having a setter in GraphicsContext.cpp which sets the relevent
3124         state in GraphicsContextState and then calls into a platform-specific setter.
3125
3126         No new tests because there is no behavior change.
3127
3128         * platform/graphics/GraphicsContext.cpp:
3129         (WebCore::GraphicsContext::setImageInterpolationQuality):
3130         * platform/graphics/GraphicsContext.h:
3131         (WebCore::GraphicsContext::imageInterpolationQuality):
3132         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3133         (WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
3134         (WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
3135         (WebCore::GraphicsContext::imageInterpolationQuality): Deleted.
3136         * platform/graphics/cg/GraphicsContextCG.cpp:
3137         (WebCore::convertInterpolationQuality):
3138         (WebCore::GraphicsContext::platformInit):
3139         (WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
3140         (WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
3141         (WebCore::GraphicsContext::imageInterpolationQuality): Deleted.
3142
3143 2015-10-19  Chris Dumez  <cdumez@apple.com>
3144
3145         Drop unnecessary Node::toInputElement() virtual function
3146         https://bugs.webkit.org/show_bug.cgi?id=150341
3147
3148         Reviewed by Darin Adler.
3149
3150         Drop unnecessary Node::toInputElement() virtual function and use the
3151         usual is<HTMLInputElement>() / downcast< HTMLInputElement >() instead.
3152
3153 2015-10-19  Commit Queue  <commit-queue@webkit.org>
3154
3155         Unreviewed, rolling out r191324.
3156         https://bugs.webkit.org/show_bug.cgi?id=150352
3157
3158         Shadowing CTM's state is not necessary (Requested by litherum
3159         on #webkit).
3160
3161         Reverted changeset:
3162
3163         "Host GraphicsContext's CTM inside GraphicsContextState"
3164         https://bugs.webkit.org/show_bug.cgi?id=150146
3165         http://trac.webkit.org/changeset/191324
3166
3167 2015-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
3168
3169         Host GraphicsContext's CTM inside GraphicsContextState
3170         https://bugs.webkit.org/show_bug.cgi?id=150146
3171
3172         There are 6 operations which interact with CTMs:
3173         - Get
3174         - Set
3175         - Concatenate
3176         - Scale
3177         - Rotate
3178         - Translate
3179
3180         This patch modifies all these operations so that these operations shadow the
3181         platform's CTM inside GraphicsContextState. This way, we don't have to consult
3182         with the underlying graphics context in order to know the current CTM.
3183
3184         There are currently many places in the Core Graphics ports where we will change
3185         the platform's CTM out from under the GraphicsContext. This patch migrates
3186         those users to going through GraphicsContext, thereby preserving the integrity
3187         of the shadowed state.
3188
3189         No new tests because there is no behavior change.
3190
3191         * platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.
3192         The getter can just consult with the shadowed state.
3193         (WebCore::GraphicsContext::concatCTM):
3194         (WebCore::GraphicsContext::scale):
3195         (WebCore::GraphicsContext::rotate):
3196         (WebCore::GraphicsContext::translate):
3197         (WebCore::GraphicsContext::setCTM):
3198         (WebCore::GraphicsContext::getCTM):
3199         (WebCore::GraphicsContext::beginTransparencyLayer):
3200         (WebCore::GraphicsContext::applyDeviceScaleFactor):
3201         * platform/graphics/GraphicsContext.h:
3202         (WebCore::GraphicsContext::scale):
3203         (WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
3204         matches the platform graphics context's state.
3205         * platform/graphics/Image.h:
3206         (WebCore::Image::nativeImageForCurrentFrame):
3207         * platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.
3208         (WebCore::GraphicsContext::resetPlatformCTM):
3209         (WebCore::GraphicsContext::getPlatformCTM):
3210         (WebCore::GraphicsContext::translatePlatformCTM):
3211         (WebCore::GraphicsContext::concatPlatformCTM):
3212         (WebCore::GraphicsContext::setPlatformCTM):
3213         (WebCore::GraphicsContext::rotatePlatformCTM):
3214         (WebCore::GraphicsContext::scalePlatformCTM):
3215         (WebCore::GraphicsContext::getCTM): Deleted.
3216         (WebCore::GraphicsContext::translate): Deleted.
3217         (WebCore::GraphicsContext::concatCTM): Deleted.
3218         (WebCore::GraphicsContext::setCTM): Deleted.
3219         (WebCore::GraphicsContext::rotate): Deleted.
3220         (WebCore::GraphicsContext::scale): Deleted.
3221         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3222         Renaming functions.
3223         (WebCore::GraphicsContextPlatformPrivate::save):
3224         (WebCore::GraphicsContextPlatformPrivate::restore):
3225         (WebCore::GraphicsContextPlatformPrivate::flush):
3226         (WebCore::GraphicsContextPlatformPrivate::clip):
3227         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
3228         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
3229         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
3230         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
3231         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
3232         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
3233         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
3234         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
3235         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
3236         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
3237         * platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,
3238         migrate CTM setters to go through GraphicsContext.
3239         (WebCore::GraphicsContext::resetPlatformCTM):
3240         (WebCore::GraphicsContext::platformInit):
3241         (WebCore::GraphicsContext::drawNativeImage):
3242         (WebCore::GraphicsContext::drawPattern):
3243         (WebCore::GraphicsContext::fillPath):
3244         (WebCore::GraphicsContext::scalePlatformCTM):
3245         (WebCore::GraphicsContext::rotatePlatformCTM):
3246         (WebCore::GraphicsContext::translatePlatformCTM):
3247         (WebCore::GraphicsContext::concatPlatformCTM):
3248         (WebCore::GraphicsContext::setPlatformCTM):
3249         (WebCore::GraphicsContext::getPlatformCTM):
3250         (WebCore::GraphicsContext::scale): Deleted.
3251         (WebCore::GraphicsContext::rotate): Deleted.
3252         (WebCore::GraphicsContext::translate): Deleted.
3253         (WebCore::GraphicsContext::concatCTM): Deleted.
3254         (WebCore::GraphicsContext::setCTM): Deleted.
3255         (WebCore::GraphicsContext::getCTM): Deleted.
3256         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3257         (WebCore::GraphicsContextPlatformPrivate::save):
3258         (WebCore::GraphicsContextPlatformPrivate::restore):
3259         (WebCore::GraphicsContextPlatformPrivate::flush):
3260         (WebCore::GraphicsContextPlatformPrivate::clip):
3261         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
3262         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
3263         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
3264         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
3265         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
3266         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
3267         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
3268         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
3269         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
3270         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
3271         * platform/graphics/transforms/AffineTransform.h:
3272         (WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
3273         is not a good idea. Instead, this function is more valuable. (However, note that
3274         it is expected for values in a CTM to hold values close to 0, which means that
3275         this function might erroneously return false (similar to operator=()).
3276         * platform/graphics/win/GraphicsContextWin.cpp:
3277         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
3278         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
3279         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
3280         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
3281         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
3282         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
3283         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
3284         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
3285         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
3286         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
3287         * platform/mac/DragImageMac.mm:
3288         (WebCore::drawAtPoint):
3289         * platform/spi/cg/CoreGraphicsSPI.h:
3290
3291 2015-10-19  Tim Horton  <timothy_horton@apple.com>
3292
3293         Remove unused support for long presses from WebKit
3294         https://bugs.webkit.org/show_bug.cgi?id=150345
3295
3296         Reviewed by Beth Dakin.
3297
3298         * page/Chrome.cpp:
3299         (WebCore::Chrome::didBeginTrackingPotentialLongMousePress): Deleted.
3300         (WebCore::Chrome::didRecognizeLongMousePress): Deleted.
3301         (WebCore::Chrome::didCancelTrackingPotentialLongMousePress): Deleted.
3302         * page/Chrome.h:
3303         * page/ChromeClient.h:
3304         * page/EventHandler.cpp:
3305         (WebCore::EventHandler::EventHandler): Deleted.
3306         (WebCore::EventHandler::clear): Deleted.
3307         (WebCore::EventHandler::handleMousePressEvent): Deleted.
3308         (WebCore::EventHandler::eventMayStartDrag): Deleted.
3309         (WebCore::EventHandler::handleMouseReleaseEvent): Deleted.
3310         (WebCore::EventHandler::beginTrackingPotentialLongMousePress): Deleted.
3311         (WebCore::EventHandler::recognizeLongMousePress): Deleted.
3312         (WebCore::EventHandler::cancelTrackingPotentialLongMousePress): Deleted.
3313         (WebCore::EventHandler::clearLongMousePressState): Deleted.
3314         (WebCore::EventHandler::handleLongMousePressMouseMovedEvent): Deleted.
3315         (WebCore::EventHandler::handleMouseMoveEvent): Deleted.
3316         (WebCore::EventHandler::handleDrag): Deleted.
3317         * page/EventHandler.h:
3318         * page/Settings.in:
3319
3320 2015-10-19  Tim Horton  <timothy_horton@apple.com>
3321
3322         WKView being inside WKWebView leads to weird API issues
3323         https://bugs.webkit.org/show_bug.cgi?id=150174
3324
3325         Reviewed by Darin Adler.
3326
3327         No new tests, just moving code around.
3328
3329         * WebCore.xcodeproj/project.pbxproj:
3330         * platform/spi/mac/NSWindowSPI.h: Added.
3331
3332 2015-10-19  Simon Fraser  <simon.fraser@apple.com>
3333
3334         Restore an assertion to the way it was before r191310, which was correct.
3335
3336         * platform/graphics/GraphicsTypes.cpp:
3337         (WebCore::compositeOperatorName):
3338
3339 2015-10-19  Beth Dakin  <bdakin@apple.com>
3340
3341         Build fix.
3342
3343         * dom/EventNames.in:
3344         * dom/make_event_factory.pl:
3345         (generateImplementation):
3346
3347 2015-10-19  Csaba Osztrogonác  <ossy@webkit.org>
3348
3349         Fix the binding generator after r191176
3350         https://bugs.webkit.org/show_bug.cgi?id=150320
3351
3352         Reviewed by Darin Adler.
3353
3354         * bindings/scripts/CodeGeneratorJS.pm:
3355         (GenerateConstructorHelperMethods):
3356         * bindings/scripts/test/JS/JSTestInterface.cpp:
3357         (WebCore::JSTestInterfaceConstructor::getConstructData):
3358
3359 2015-10-19  Commit Queue  <commit-queue@webkit.org>
3360
3361         Unreviewed, rolling out r191307.
3362         https://bugs.webkit.org/show_bug.cgi?id=150338
3363
3364         broke lots of API tests, need time to figure out whats up
3365         (Requested by thorton on #webkit).
3366
3367         Reverted changeset:
3368
3369         "WKView being inside WKWebView leads to weird API issues"
3370         https://bugs.webkit.org/show_bug.cgi?id=150174
3371         http://trac.webkit.org/changeset/191307
3372
3373 2015-10-19  Commit Queue  <commit-queue@webkit.org>
3374
3375         Unreviewed, rolling out r191295, r191297, and r191301.
3376         https://bugs.webkit.org/show_bug.cgi?id=150337
3377
3378         ASSERTs in 5 tests (Requested by litherum on #webkit).
3379
3380         Reverted changesets:
3381
3382         "Host GraphicsContext's CTM inside GraphicsContextState"
3383         https://bugs.webkit.org/show_bug.cgi?id=150146
3384         http://trac.webkit.org/changeset/191295
3385
3386         "[iOS] Build fix after r191295"
3387         http://trac.webkit.org/changeset/191297
3388
3389         "Unreviewed build fix after r191295."
3390         http://trac.webkit.org/changeset/191301
3391
3392 2015-10-16  Brian Burg  <bburg@apple.com>
3393
3394         Unify handling of JavaScriptCore scripts that are used in WebCore
3395         https://bugs.webkit.org/show_bug.cgi?id=150245
3396
3397         Reviewed by Alex Christensen.
3398
3399         Use the new JavaScriptCore_SCRIPTS_DIR variable.
3400
3401         * CMakeLists.txt:
3402         * DerivedSources.make:
3403         * WebCore.xcodeproj/project.pbxproj:
3404
3405             No need to export other variables like InspectorScripts anymore.
3406
3407 2015-10-19  Simon Fraser  <simon.fraser@apple.com>
3408
3409         Add TextStream formatters for FillLayer and all it entails
3410         https://bugs.webkit.org/show_bug.cgi?id=150312
3411
3412         Reviewed by Tim Horton.
3413
3414         Add TextStream output formatters for FillLayer, and all the enum
3415         types used by it.
3416         
3417         Drive-by fixes for CompositeOperator and BlendMode string conversions.
3418         compositeOperatorNames was missing the "difference" string, and compositeOperatorName()
3419         would do an OOB memory access if blendOp was zero.
3420
3421         * CMakeLists.txt:
3422         * WebCore.xcodeproj/project.pbxproj:
3423         * platform/Length.cpp:
3424         (WebCore::operator<<):
3425         * platform/Length.h:
3426         * platform/LengthSize.cpp: Added.
3427         (WebCore::operator<<):
3428         * platform/LengthSize.h:
3429         * platform/text/TextStream.h:
3430         * rendering/style/FillLayer.cpp:
3431         (WebCore::operator<<):
3432         * rendering/style/FillLayer.h:
3433         * rendering/style/RenderStyleConstants.cpp: Added.
3434         (WebCore::operator<<):
3435         * rendering/style/RenderStyleConstants.h:
3436
3437 2015-10-19  Tim Horton  <timothy_horton@apple.com>
3438
3439         WKView being inside WKWebView leads to weird API issues
3440         https://bugs.webkit.org/show_bug.cgi?id=150174
3441
3442         Reviewed by Darin Adler.
3443
3444         No new tests, just moving code around.
3445
3446         * WebCore.xcodeproj/project.pbxproj:
3447         * platform/spi/mac/NSWindowSPI.h: Added.
3448
3449 2015-10-19  Tim Horton  <timothy_horton@apple.com>
3450
3451         Try to fix the iOS build
3452
3453         * Configurations/FeatureDefines.xcconfig:
3454
3455 2015-10-19  Alex Christensen  <achristensen@webkit.org>
3456
3457         Unreviewed build fix after r191295.
3458
3459         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3460         (WebCore::GraphicsContext::translatePlatformCTM):
3461         (WebCore::GraphicsContext::setPlatformFillColor):
3462         (WebCore::GraphicsContext::concatPlatformCTM):
3463         (WebCore::GraphicsContext::setPlatformCTM):
3464         (WebCore::GraphicsContext::setPlatformShadow):
3465         (WebCore::GraphicsContext::rotatePlatformCTM):
3466         (WebCore::GraphicsContext::scalePlatformCTM):
3467         (WebCore::GraphicsContext::clipOut):
3468         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3469         (WebCore::GraphicsContextPlatformPrivate::save):
3470         (WebCore::GraphicsContextPlatformPrivate::restore):
3471         (WebCore::GraphicsContextPlatformPrivate::flush):
3472         (WebCore::GraphicsContextPlatformPrivate::clip):
3473         (WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
3474         (WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
3475         (WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
3476         (WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
3477         (WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
3478         (WebCore::GraphicsContextPlatformPrivate::syncContext):
3479         (WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
3480         (WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
3481         (WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
3482         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
3483         (WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
3484
3485 2015-10-19  Tim Horton  <timothy_horton@apple.com>
3486
3487         Add magnify and rotate gesture event support for Mac
3488         https://bugs.webkit.org/show_bug.cgi?id=150179