Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-11-02  Hyunduk Kim  <hyunduk.kim@samsung.com>
2
3         Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
4         https://bugs.webkit.org/show_bug.cgi?id=150436
5
6         Reviewed by Darin Adler.
7
8         Got the new test case from
9         https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html 
10         Tests: http\tests\media\media-source\mediasource-is-type-supported.html
11
12         * Modules/mediasource/MediaSource.cpp:
13         (WebCore::MediaSource::isTypeSupported):
14
15 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
16
17         Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
18         https://bugs.webkit.org/show_bug.cgi?id=150613
19
20         Reviewed by Darin Adler.
21
22         Renaming impl to wrapped in classes and binding generated classes.
23         No change in behavior.
24
25         * Modules/plugins/QuickTimePluginReplacement.mm:
26         (WebCore::JSQuickTimePluginReplacement::timedMetaData):
27         (WebCore::JSQuickTimePluginReplacement::accessLog):
28         (WebCore::JSQuickTimePluginReplacement::errorLog):
29         * bindings/js/JSAttrCustom.cpp:
30         (WebCore::JSAttr::visitAdditionalChildren):
31         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
32         (WebCore::JSAudioBufferSourceNode::setBuffer):
33         * bindings/js/JSAudioTrackCustom.cpp:
34         (WebCore::JSAudioTrack::visitAdditionalChildren):
35         (WebCore::JSAudioTrack::setKind):
36         (WebCore::JSAudioTrack::setLanguage):
37         * bindings/js/JSAudioTrackListCustom.cpp:
38         (WebCore::JSAudioTrackList::visitAdditionalChildren):
39         * bindings/js/JSBiquadFilterNodeCustom.cpp:
40         (WebCore::JSBiquadFilterNode::setType):
41         * bindings/js/JSCSSRuleCustom.cpp:
42         (WebCore::JSCSSRule::visitAdditionalChildren):
43         * bindings/js/JSCSSRuleListCustom.cpp:
44         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
45         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
46         (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
47         (WebCore::getPropertyValueFallback):
48         (WebCore::cssPropertyGetterPixelOrPosPrefix):
49         (WebCore::cssPropertyGetter):
50         (WebCore::JSCSSStyleDeclaration::putDelegate):
51         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
52         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
53         * bindings/js/JSCSSValueCustom.cpp:
54         (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
55         (WebCore::JSCSSValueOwner::finalize):
56         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
57         (WebCore::toHTMLCanvasStyle):
58         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
59         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
60         (WebCore::JSCanvasRenderingContext2D::fillStyle):
61         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
62         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
63         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
64         * bindings/js/JSCanvasRenderingContextCustom.cpp:
65         (WebCore::JSCanvasRenderingContext::visitAdditionalChildren):
66         * bindings/js/JSCharacterDataCustom.cpp:
67         (WebCore::JSCharacterData::before):
68         (WebCore::JSCharacterData::after):
69         (WebCore::JSCharacterData::replaceWith):
70         * bindings/js/JSCommandLineAPIHostCustom.cpp:
71         (WebCore::JSCommandLineAPIHost::inspectedObject):
72         (WebCore::JSCommandLineAPIHost::getEventListeners):
73         (WebCore::JSCommandLineAPIHost::inspect):
74         (WebCore::JSCommandLineAPIHost::databaseId):
75         (WebCore::JSCommandLineAPIHost::storageId):
76         * bindings/js/JSCryptoCustom.cpp:
77         (WebCore::JSCrypto::getRandomValues):
78         * bindings/js/JSCryptoKeyCustom.cpp:
79         (WebCore::JSCryptoKey::algorithm):
80         * bindings/js/JSCryptoKeyPairCustom.cpp:
81         (WebCore::JSCryptoKeyPair::visitAdditionalChildren):
82         * bindings/js/JSCustomEventCustom.cpp:
83         (WebCore::JSCustomEvent::detail):
84         * bindings/js/JSCustomXPathNSResolver.cpp:
85         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
86         * bindings/js/JSDOMBinding.cpp:
87         (WebCore::reportException):
88         (WebCore::activeDOMWindow):
89         (WebCore::firstDOMWindow):
90         * bindings/js/JSDOMFormDataCustom.cpp:
91         (WebCore::toHTMLFormElementOrNull):
92         (WebCore::JSDOMFormData::append):
93         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
94         (WebCore::JSDOMMimeTypeArray::nameGetter):
95         * bindings/js/JSDOMNamedFlowCollectionCustom.cpp:
96         (WebCore::JSDOMNamedFlowCollection::nameGetter):
97         * bindings/js/JSDOMPluginArrayCustom.cpp:
98         (WebCore::JSDOMPluginArray::nameGetter):
99         * bindings/js/JSDOMPluginCustom.cpp:
100         (WebCore::JSDOMPlugin::nameGetter):
101         * bindings/js/JSDOMStringListCustom.cpp:
102         (WebCore::JSDOMStringList::toWrapped):
103         * bindings/js/JSDOMStringMapCustom.cpp:
104         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
105         (WebCore::JSDOMStringMap::getOwnPropertyNames):
106         (WebCore::JSDOMStringMap::deleteProperty):
107         (WebCore::JSDOMStringMap::putDelegate):
108         * bindings/js/JSDOMTokenListCustom.cpp:
109         (WebCore::JSDOMTokenList::toggle):
110         * bindings/js/JSDOMWindowBase.cpp:
111         (WebCore::shouldAllowAccessFrom):
112         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
113         (WebCore::JSDOMWindowBase::updateDocument):
114         (WebCore::JSDOMWindowBase::scriptExecutionContext):
115         (WebCore::JSDOMWindowBase::printErrorMessage):
116         (WebCore::JSDOMWindowBase::supportsProfiling):
117         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
118         (WebCore::JSDOMWindowBase::shouldInterruptScript):
119         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
120         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
121         (WebCore::JSDOMWindowBase::moduleLoaderResolve):
122         (WebCore::JSDOMWindowBase::moduleLoaderFetch):
123         (WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
124         * bindings/js/JSDOMWindowBase.h:
125         * bindings/js/JSDOMWindowCustom.cpp:
126         (WebCore::JSDOMWindow::visitAdditionalChildren):
127         (WebCore::childFrameGetter):
128         (WebCore::namedItemGetter):
129         (WebCore::jsDOMWindowWebKit):
130         (WebCore::jsDOMWindowIndexedDB):
131         (WebCore::JSDOMWindow::getOwnPropertySlot):
132         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
133         (WebCore::JSDOMWindow::put):
134         (WebCore::JSDOMWindow::putByIndex):
135         (WebCore::JSDOMWindow::deleteProperty):
136         (WebCore::JSDOMWindow::deletePropertyByIndex):
137         (WebCore::JSDOMWindow::getEnumerableLength):
138         (WebCore::JSDOMWindow::getStructurePropertyNames):
139         (WebCore::JSDOMWindow::getGenericPropertyNames):
140         (WebCore::JSDOMWindow::getPropertyNames):
141         (WebCore::JSDOMWindow::getOwnPropertyNames):
142         (WebCore::JSDOMWindow::defineOwnProperty):
143         (WebCore::JSDOMWindow::setLocation):
144         (WebCore::JSDOMWindow::open):
145         (WebCore::JSDOMWindow::showModalDialog):
146         (WebCore::JSDOMWindow::postMessage):
147         (WebCore::JSDOMWindow::setTimeout):
148         (WebCore::JSDOMWindow::setInterval):
149         (WebCore::JSDOMWindow::addEventListener):
150         (WebCore::JSDOMWindow::removeEventListener):
151         (WebCore::JSDOMWindow::toWrapped):
152         * bindings/js/JSDOMWindowShell.cpp:
153         (WebCore::JSDOMWindowShell::setWindow):
154         (WebCore::JSDOMWindowShell::wrapped):
155         * bindings/js/JSDOMWindowShell.h:
156         * bindings/js/JSDOMWrapper.h:
157         (WebCore::JSDOMWrapper::wrapped):
158         (WebCore::JSDOMWrapper::JSDOMWrapper):
159         * bindings/js/JSDataCueCustom.cpp:
160         (WebCore::JSDataCue::value):
161         (WebCore::JSDataCue::setValue):
162         * bindings/js/JSDataTransferCustom.cpp:
163         (WebCore::JSDataTransfer::types):
164         * bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:
165         (WebCore::JSDedicatedWorkerGlobalScope::postMessage):
166         * bindings/js/JSDeviceMotionEventCustom.cpp:
167         (WebCore::JSDeviceMotionEvent::acceleration):
168         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
169         (WebCore::JSDeviceMotionEvent::rotationRate):
170         (WebCore::JSDeviceMotionEvent::interval):
171         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
172         * bindings/js/JSDeviceOrientationEventCustom.cpp:
173         (WebCore::JSDeviceOrientationEvent::alpha):
174         (WebCore::JSDeviceOrientationEvent::beta):
175         (WebCore::JSDeviceOrientationEvent::gamma):
176         (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
177         (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
178         (WebCore::JSDeviceOrientationEvent::absolute):
179         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
180         * bindings/js/JSDocumentCustom.cpp:
181         (WebCore::JSDocument::prepend):
182         (WebCore::JSDocument::append):
183         * bindings/js/JSDocumentFragmentCustom.cpp:
184         (WebCore::JSDocumentFragment::prepend):
185         (WebCore::JSDocumentFragment::append):
186         * bindings/js/JSDocumentTypeCustom.cpp:
187         (WebCore::JSDocumentType::before):
188         (WebCore::JSDocumentType::after):
189         (WebCore::JSDocumentType::replaceWith):
190         * bindings/js/JSElementCustom.cpp:
191         (WebCore::JSElement::before):
192         (WebCore::JSElement::after):
193         (WebCore::JSElement::replaceWith):
194         (WebCore::JSElement::prepend):
195         (WebCore::JSElement::append):
196         * bindings/js/JSEventCustom.cpp:
197         (WebCore::JSEvent::clipboardData):
198         * bindings/js/JSEventListener.cpp:
199         (WebCore::JSEventListener::handleEvent):
200         * bindings/js/JSEventTargetCustom.cpp:
201         * bindings/js/JSFileReaderCustom.cpp:
202         (WebCore::JSFileReader::result):
203         * bindings/js/JSGeolocationCustom.cpp:
204         (WebCore::JSGeolocation::getCurrentPosition):
205         (WebCore::JSGeolocation::watchPosition):
206         * bindings/js/JSHTMLAllCollectionCustom.cpp:
207         (WebCore::namedItems):
208         (WebCore::callHTMLAllCollection):
209         (WebCore::JSHTMLAllCollection::item):
210         * bindings/js/JSHTMLCanvasElementCustom.cpp:
211         (WebCore::JSHTMLCanvasElement::getContext):
212         (WebCore::JSHTMLCanvasElement::probablySupportsContext):
213         (WebCore::JSHTMLCanvasElement::toDataURL):
214         * bindings/js/JSHTMLCollectionCustom.cpp:
215         (WebCore::JSHTMLCollection::nameGetter):
216         * bindings/js/JSHTMLDocumentCustom.cpp:
217         (WebCore::JSHTMLDocument::nameGetter):
218         (WebCore::JSHTMLDocument::all):
219         (WebCore::findCallingDocument):
220         (WebCore::JSHTMLDocument::open):
221         (WebCore::documentWrite):
222         * bindings/js/JSHTMLElementCustom.cpp:
223         (WebCore::JSHTMLElement::pushEventHandlerScope):
224         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
225         (WebCore::namedItems):
226         * bindings/js/JSHTMLFormElementCustom.cpp:
227         (WebCore::JSHTMLFormElement::nameGetter):
228         * bindings/js/JSHTMLFrameElementCustom.cpp:
229         (WebCore::JSHTMLFrameElement::setLocation):
230         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
231         (WebCore::JSHTMLFrameSetElement::nameGetter):
232         * bindings/js/JSHTMLInputElementCustom.cpp:
233         (WebCore::JSHTMLInputElement::selectionStart):
234         (WebCore::JSHTMLInputElement::setSelectionStart):
235         (WebCore::JSHTMLInputElement::selectionEnd):
236         (WebCore::JSHTMLInputElement::setSelectionEnd):
237         (WebCore::JSHTMLInputElement::selectionDirection):
238         (WebCore::JSHTMLInputElement::setSelectionDirection):
239         (WebCore::JSHTMLInputElement::setSelectionRange):
240         * bindings/js/JSHTMLMediaElementCustom.cpp:
241         (WebCore::JSHTMLMediaElement::setController):
242         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
243         (WebCore::JSHTMLOptionsCollection::nameGetter):
244         (WebCore::JSHTMLOptionsCollection::setLength):
245         (WebCore::JSHTMLOptionsCollection::indexSetter):
246         (WebCore::JSHTMLOptionsCollection::remove):
247         * bindings/js/JSHTMLSelectElementCustom.cpp:
248         (WebCore::JSHTMLSelectElement::remove):
249         (WebCore::JSHTMLSelectElement::indexSetter):
250         * bindings/js/JSHTMLTemplateElementCustom.cpp:
251         (WebCore::JSHTMLTemplateElement::content):
252         * bindings/js/JSHistoryCustom.cpp:
253         (WebCore::JSHistory::getOwnPropertySlotDelegate):
254         (WebCore::JSHistory::putDelegate):
255         (WebCore::JSHistory::deleteProperty):
256         (WebCore::JSHistory::deletePropertyByIndex):
257         (WebCore::JSHistory::getOwnPropertyNames):
258         (WebCore::JSHistory::state):
259         (WebCore::JSHistory::pushState):
260         (WebCore::JSHistory::replaceState):
261         * bindings/js/JSIDBDatabaseCustom.cpp:
262         (WebCore::JSIDBDatabase::createObjectStore):
263         * bindings/js/JSIDBObjectStoreCustom.cpp:
264         (WebCore::JSIDBObjectStore::createIndex):
265         * bindings/js/JSInspectorFrontendHostCustom.cpp:
266         (WebCore::JSInspectorFrontendHost::showContextMenu):
267         * bindings/js/JSLocationCustom.cpp:
268         (WebCore::JSLocation::getOwnPropertySlotDelegate):
269         (WebCore::JSLocation::putDelegate):
270         (WebCore::JSLocation::deleteProperty):
271         (WebCore::JSLocation::deletePropertyByIndex):
272         (WebCore::JSLocation::getOwnPropertyNames):
273         (WebCore::JSLocation::toStringFunction):
274         * bindings/js/JSMediaSourceStatesCustom.cpp:
275         (WebCore::JSMediaSourceStates::width):
276         (WebCore::JSMediaSourceStates::height):
277         (WebCore::JSMediaSourceStates::frameRate):
278         (WebCore::JSMediaSourceStates::aspectRatio):
279         (WebCore::JSMediaSourceStates::facingMode):
280         (WebCore::JSMediaSourceStates::volume):
281         * bindings/js/JSMessageChannelCustom.cpp:
282         (WebCore::JSMessageChannel::visitAdditionalChildren):
283         * bindings/js/JSMessageEventCustom.cpp:
284         (WebCore::JSMessageEvent::data):
285         (WebCore::handleInitMessageEvent):
286         * bindings/js/JSMessagePortCustom.cpp:
287         (WebCore::JSMessagePort::visitAdditionalChildren):
288         (WebCore::JSMessagePort::postMessage):
289         * bindings/js/JSMockContentFilterSettingsCustom.cpp:
290         (WebCore::JSMockContentFilterSettings::decisionPoint):
291         (WebCore::JSMockContentFilterSettings::setDecisionPoint):
292         (WebCore::JSMockContentFilterSettings::decision):
293         (WebCore::JSMockContentFilterSettings::setDecision):
294         (WebCore::JSMockContentFilterSettings::unblockRequestDecision):
295         (WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
296         * bindings/js/JSMutationObserverCustom.cpp:
297         (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):
298         * bindings/js/JSNamedNodeMapCustom.cpp:
299         (WebCore::JSNamedNodeMap::nameGetter):
300         * bindings/js/JSNavigatorCustom.cpp:
301         (WebCore::JSNavigator::webkitGetUserMedia):
302         * bindings/js/JSNodeCustom.cpp:
303         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
304         (WebCore::JSNode::insertBefore):
305         (WebCore::JSNode::replaceChild):
306         (WebCore::JSNode::removeChild):
307         (WebCore::JSNode::appendChild):
308         (WebCore::JSNode::visitAdditionalChildren):
309         * bindings/js/JSNodeIteratorCustom.cpp:
310         (WebCore::JSNodeIterator::visitAdditionalChildren):
311         * bindings/js/JSNodeListCustom.cpp:
312         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
313         * bindings/js/JSNodeOrString.cpp:
314         (WebCore::toNodeOrStringVector):
315         * bindings/js/JSOscillatorNodeCustom.cpp:
316         (WebCore::JSOscillatorNode::setType):
317         * bindings/js/JSPannerNodeCustom.cpp:
318         (WebCore::JSPannerNode::setPanningModel):
319         (WebCore::JSPannerNode::setDistanceModel):
320         * bindings/js/JSPluginElementFunctions.cpp:
321         (WebCore::pluginScriptObjectFromPluginViewBase):
322         (WebCore::pluginScriptObject):
323         (WebCore::pluginElementGetCallData):
324         * bindings/js/JSPopStateEventCustom.cpp:
325         (WebCore::JSPopStateEvent::state):
326         * bindings/js/JSRTCStatsResponseCustom.cpp:
327         (WebCore::JSRTCStatsResponse::nameGetter):
328         * bindings/js/JSSQLResultSetRowListCustom.cpp:
329         (WebCore::JSSQLResultSetRowList::item):
330         * bindings/js/JSSQLTransactionCustom.cpp:
331         (WebCore::JSSQLTransaction::executeSql):
332         * bindings/js/JSSVGLengthCustom.cpp:
333         (WebCore::JSSVGLength::value):
334         (WebCore::JSSVGLength::setValue):
335         (WebCore::JSSVGLength::convertToSpecifiedUnits):
336         * bindings/js/JSStorageCustom.cpp:
337         (WebCore::JSStorage::nameGetter):
338         (WebCore::JSStorage::deleteProperty):
339         (WebCore::JSStorage::getOwnPropertyNames):
340         (WebCore::JSStorage::putDelegate):
341         * bindings/js/JSStyleSheetCustom.cpp:
342         (WebCore::JSStyleSheet::visitAdditionalChildren):
343         * bindings/js/JSStyleSheetListCustom.cpp:
344         (WebCore::JSStyleSheetList::nameGetter):
345         * bindings/js/JSSubtleCryptoCustom.cpp:
346         (WebCore::JSSubtleCrypto::encrypt):
347         (WebCore::JSSubtleCrypto::decrypt):
348         (WebCore::JSSubtleCrypto::sign):
349         (WebCore::JSSubtleCrypto::verify):
350         (WebCore::JSSubtleCrypto::wrapKey):
351         (WebCore::JSSubtleCrypto::unwrapKey):
352         * bindings/js/JSTextTrackCueCustom.cpp:
353         (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
354         (WebCore::JSTextTrackCue::visitAdditionalChildren):
355         * bindings/js/JSTextTrackCustom.cpp:
356         (WebCore::JSTextTrack::visitAdditionalChildren):
357         (WebCore::JSTextTrack::setKind):
358         (WebCore::JSTextTrack::setLanguage):
359         * bindings/js/JSTextTrackListCustom.cpp:
360         (WebCore::JSTextTrackList::visitAdditionalChildren):
361         * bindings/js/JSTrackCustom.cpp:
362         (WebCore::toTrack):
363         * bindings/js/JSTrackEventCustom.cpp:
364         (WebCore::JSTrackEvent::track):
365         * bindings/js/JSTreeWalkerCustom.cpp:
366         (WebCore::JSTreeWalker::visitAdditionalChildren):
367         * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
368         (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):
369         * bindings/js/JSVideoTrackCustom.cpp:
370         (WebCore::JSVideoTrack::visitAdditionalChildren):
371         (WebCore::JSVideoTrack::setKind):
372         (WebCore::JSVideoTrack::setLanguage):
373         * bindings/js/JSVideoTrackListCustom.cpp:
374         (WebCore::JSVideoTrackList::visitAdditionalChildren):
375         * bindings/js/JSWebGL2RenderingContextCustom.cpp:
376         (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
377         (WebCore::JSWebGL2RenderingContext::getIndexedParameter):
378         * bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
379         (WebCore::getObjectParameter):
380         (WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
381         (WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
382         (WebCore::JSWebGLRenderingContextBase::getExtension):
383         (WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
384         (WebCore::JSWebGLRenderingContextBase::getParameter):
385         (WebCore::JSWebGLRenderingContextBase::getProgramParameter):
386         (WebCore::JSWebGLRenderingContextBase::getShaderParameter):
387         (WebCore::JSWebGLRenderingContextBase::getSupportedExtensions):
388         (WebCore::JSWebGLRenderingContextBase::getUniform):
389         (WebCore::JSWebGLRenderingContextBase::uniform1fv):
390         (WebCore::JSWebGLRenderingContextBase::uniform1iv):
391         (WebCore::JSWebGLRenderingContextBase::uniform2fv):
392         (WebCore::JSWebGLRenderingContextBase::uniform2iv):
393         (WebCore::JSWebGLRenderingContextBase::uniform3fv):
394         (WebCore::JSWebGLRenderingContextBase::uniform3iv):
395         (WebCore::JSWebGLRenderingContextBase::uniform4fv):
396         (WebCore::JSWebGLRenderingContextBase::uniform4iv):
397         (WebCore::JSWebGLRenderingContextBase::uniformMatrix2fv):
398         (WebCore::JSWebGLRenderingContextBase::uniformMatrix3fv):
399         (WebCore::JSWebGLRenderingContextBase::uniformMatrix4fv):
400         (WebCore::JSWebGLRenderingContextBase::vertexAttrib1fv):
401         (WebCore::JSWebGLRenderingContextBase::vertexAttrib2fv):
402         (WebCore::JSWebGLRenderingContextBase::vertexAttrib3fv):
403         (WebCore::JSWebGLRenderingContextBase::vertexAttrib4fv):
404         * bindings/js/JSWebGLRenderingContextCustom.cpp:
405         (WebCore::JSWebGLRenderingContext::visitAdditionalChildren):
406         * bindings/js/JSWorkerCustom.cpp:
407         (WebCore::JSWorker::postMessage):
408         (WebCore::constructJSWorker):
409         * bindings/js/JSWorkerGlobalScopeBase.cpp:
410         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
411         (WebCore::JSWorkerGlobalScopeBase::scriptExecutionContext):
412         * bindings/js/JSWorkerGlobalScopeBase.h:
413         (WebCore::JSWorkerGlobalScopeBase::wrapped):
414         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
415         (WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
416         (WebCore::JSWorkerGlobalScope::importScripts):
417         (WebCore::JSWorkerGlobalScope::setTimeout):
418         (WebCore::JSWorkerGlobalScope::setInterval):
419         * bindings/js/JSXMLHttpRequestCustom.cpp:
420         (WebCore::JSXMLHttpRequest::visitAdditionalChildren):
421         (WebCore::JSXMLHttpRequest::open):
422         (WebCore::JSXMLHttpRequest::send):
423         (WebCore::JSXMLHttpRequest::responseText):
424         (WebCore::JSXMLHttpRequest::response):
425         * bindings/js/JSXPathResultCustom.cpp:
426         (WebCore::JSXPathResult::visitAdditionalChildren):
427         * bindings/js/JSXSLTProcessorCustom.cpp:
428         (WebCore::JSXSLTProcessor::setParameter):
429         (WebCore::JSXSLTProcessor::getParameter):
430         (WebCore::JSXSLTProcessor::removeParameter):
431         * bindings/js/ScheduledAction.cpp:
432         (WebCore::ScheduledAction::execute):
433         * bindings/js/ScriptCachedFrameData.cpp:
434         (WebCore::ScriptCachedFrameData::restore):
435         * bindings/js/ScriptController.cpp:
436         (WebCore::ScriptController::clearWindowShell):
437         (WebCore::ScriptController::collectIsolatedContexts):
438         * bindings/js/ScriptState.cpp:
439         (WebCore::domWindowFromExecState):
440         * bindings/objc/DOM.mm:
441         (+[DOMNode _nodeFromJSWrapper:]):
442         * bindings/objc/DOMUtility.mm:
443         (JSC::createDOMWrapper):
444         * bindings/objc/WebScriptObject.mm:
445         (-[WebScriptObject _isSafeScript]):
446         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
447         * bindings/scripts/CodeGeneratorJS.pm:
448         (GenerateGetOwnPropertySlotBody):
449         (GenerateHeader):
450         (GetIndexedGetterExpression):
451         (GenerateImplementation):
452         (NativeToJSValue):
453         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
454         (WebCore::jsTestActiveDOMObjectExcitingAttr):
455         (WebCore::jsTestActiveDOMObjectConstructor):
456         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
457         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
458         (WebCore::JSTestActiveDOMObjectOwner::finalize):
459         (WebCore::JSTestActiveDOMObject::toWrapped):
460         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
461         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
462         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
463         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
464         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
465         (WebCore::JSTestCustomNamedGetterOwner::finalize):
466         (WebCore::JSTestCustomNamedGetter::toWrapped):
467         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
468         (WebCore::jsTestEventConstructorAttr1):
469         (WebCore::jsTestEventConstructorAttr2):
470         (WebCore::JSTestEventConstructorOwner::finalize):
471         (WebCore::JSTestEventConstructor::toWrapped):
472         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
473         (WebCore::JSTestEventTarget::getOwnPropertySlot):
474         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
475         (WebCore::JSTestEventTarget::getOwnPropertyNames):
476         (WebCore::jsTestEventTargetPrototypeFunctionItem):
477         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
478         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
479         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
480         (WebCore::JSTestEventTarget::visitChildren):
481         (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
482         (WebCore::JSTestEventTargetOwner::finalize):
483         (WebCore::JSTestEventTarget::toWrapped):
484         * bindings/scripts/test/JS/JSTestException.cpp:
485         (WebCore::jsTestExceptionName):
486         (WebCore::JSTestExceptionOwner::finalize):
487         (WebCore::JSTestException::toWrapped):
488         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
489         (WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):
490         (WebCore::JSTestGenerateIsReachableOwner::finalize):
491         (WebCore::JSTestGenerateIsReachable::toWrapped):
492         * bindings/scripts/test/JS/JSTestInterface.cpp:
493         (WebCore::jsTestInterfaceImplementsStr1):
494         (WebCore::jsTestInterfaceImplementsStr2):
495         (WebCore::jsTestInterfaceImplementsNode):
496         (WebCore::jsTestInterfaceSupplementalStr1):
497         (WebCore::jsTestInterfaceSupplementalStr2):
498         (WebCore::jsTestInterfaceSupplementalNode):
499         (WebCore::setJSTestInterfaceImplementsStr2):
500         (WebCore::setJSTestInterfaceImplementsNode):
501         (WebCore::setJSTestInterfaceSupplementalStr2):
502         (WebCore::setJSTestInterfaceSupplementalNode):
503         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
504         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
505         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
506         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
507         (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
508         (WebCore::JSTestInterfaceOwner::finalize):
509         (WebCore::JSTestInterface::toWrapped):
510         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
511         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
512         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
513         (WebCore::JSTestMediaQueryListListener::toWrapped):
514         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
515         (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
516         (WebCore::JSTestNamedConstructorOwner::finalize):
517         (WebCore::JSTestNamedConstructor::toWrapped):
518         * bindings/scripts/test/JS/JSTestNode.cpp:
519         (WebCore::jsTestNodeName):
520         (WebCore::setJSTestNodeName):
521         (WebCore::JSTestNode::visitChildren):
522         * bindings/scripts/test/JS/JSTestNode.h:
523         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
524         (WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
525         (WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
526         (WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
527         (WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
528         (WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
529         (WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
530         (WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
531         (WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
532         (WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
533         (WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
534         (WebCore::JSTestNondeterministicOwner::finalize):
535         (WebCore::JSTestNondeterministic::toWrapped):
536         * bindings/scripts/test/JS/JSTestObj.cpp:
537         (WebCore::jsTestObjReadOnlyLongAttr):
538         (WebCore::jsTestObjReadOnlyStringAttr):
539         (WebCore::jsTestObjReadOnlyTestObjAttr):
540         (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
541         (WebCore::jsTestObjEnumAttr):
542         (WebCore::jsTestObjByteAttr):
543         (WebCore::jsTestObjOctetAttr):
544         (WebCore::jsTestObjShortAttr):
545         (WebCore::jsTestObjUnsignedShortAttr):
546         (WebCore::jsTestObjLongAttr):
547         (WebCore::jsTestObjLongLongAttr):
548         (WebCore::jsTestObjUnsignedLongLongAttr):
549         (WebCore::jsTestObjStringAttr):
550         (WebCore::jsTestObjTestObjAttr):
551         (WebCore::jsTestObjXMLObjAttr):
552         (WebCore::jsTestObjCreate):
553         (WebCore::jsTestObjReflectedStringAttr):
554         (WebCore::jsTestObjReflectedIntegralAttr):
555         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
556         (WebCore::jsTestObjReflectedBooleanAttr):
557         (WebCore::jsTestObjReflectedURLAttr):
558         (WebCore::jsTestObjReflectedCustomIntegralAttr):
559         (WebCore::jsTestObjReflectedCustomBooleanAttr):
560         (WebCore::jsTestObjReflectedCustomURLAttr):
561         (WebCore::jsTestObjTypedArrayAttr):
562         (WebCore::jsTestObjAttrWithGetterException):
563         (WebCore::jsTestObjAttrWithSetterException):
564         (WebCore::jsTestObjStringAttrWithGetterException):
565         (WebCore::jsTestObjStringAttrWithSetterException):
566         (WebCore::jsTestObjStrictTypeCheckingAttribute):
567         (WebCore::jsTestObjOnfoo):
568         (WebCore::jsTestObjWithScriptStateAttribute):
569         (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
570         (WebCore::jsTestObjWithScriptExecutionContextAttribute):
571         (WebCore::jsTestObjWithScriptStateAttributeRaises):
572         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
573         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
574         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
575         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
576         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
577         (WebCore::jsTestObjConditionalAttr1):
578         (WebCore::jsTestObjConditionalAttr2):
579         (WebCore::jsTestObjConditionalAttr3):
580         (WebCore::jsTestObjCachedAttribute1):
581         (WebCore::jsTestObjCachedAttribute2):
582         (WebCore::jsTestObjAnyAttribute):
583         (WebCore::jsTestObjContentDocument):
584         (WebCore::jsTestObjMutablePoint):
585         (WebCore::jsTestObjImmutablePoint):
586         (WebCore::jsTestObjStrawberry):
587         (WebCore::jsTestObjStrictFloat):
588         (WebCore::jsTestObjDescription):
589         (WebCore::jsTestObjId):
590         (WebCore::jsTestObjHash):
591         (WebCore::jsTestObjReplaceableAttribute):
592         (WebCore::jsTestObjNullableDoubleAttribute):
593         (WebCore::jsTestObjNullableLongAttribute):
594         (WebCore::jsTestObjNullableBooleanAttribute):
595         (WebCore::jsTestObjNullableStringAttribute):
596         (WebCore::jsTestObjNullableLongSettableAttribute):
597         (WebCore::jsTestObjNullableStringValue):
598         (WebCore::jsTestObjAttribute):
599         (WebCore::jsTestObjAttributeWithReservedEnumType):
600         (WebCore::jsTestObjPutForwardsAttribute):
601         (WebCore::jsTestObjPutForwardsNullableAttribute):
602         (WebCore::setJSTestObjEnumAttr):
603         (WebCore::setJSTestObjByteAttr):
604         (WebCore::setJSTestObjOctetAttr):
605         (WebCore::setJSTestObjShortAttr):
606         (WebCore::setJSTestObjUnsignedShortAttr):
607         (WebCore::setJSTestObjLongAttr):
608         (WebCore::setJSTestObjLongLongAttr):
609         (WebCore::setJSTestObjUnsignedLongLongAttr):
610         (WebCore::setJSTestObjStringAttr):
611         (WebCore::setJSTestObjTestObjAttr):
612         (WebCore::setJSTestObjXMLObjAttr):
613         (WebCore::setJSTestObjCreate):
614         (WebCore::setJSTestObjReflectedStringAttr):
615         (WebCore::setJSTestObjReflectedIntegralAttr):
616         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
617         (WebCore::setJSTestObjReflectedBooleanAttr):
618         (WebCore::setJSTestObjReflectedURLAttr):
619         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
620         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
621         (WebCore::setJSTestObjReflectedCustomURLAttr):
622         (WebCore::setJSTestObjTypedArrayAttr):
623         (WebCore::setJSTestObjAttrWithGetterException):
624         (WebCore::setJSTestObjAttrWithSetterException):
625         (WebCore::setJSTestObjStringAttrWithGetterException):
626         (WebCore::setJSTestObjStringAttrWithSetterException):
627         (WebCore::setJSTestObjStrictTypeCheckingAttribute):
628         (WebCore::setJSTestObjOnfoo):
629         (WebCore::setJSTestObjWithScriptStateAttribute):
630         (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
631         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
632         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
633         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
634         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
635         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
636         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
637         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
638         (WebCore::setJSTestObjConditionalAttr1):
639         (WebCore::setJSTestObjConditionalAttr2):
640         (WebCore::setJSTestObjConditionalAttr3):
641         (WebCore::setJSTestObjAnyAttribute):
642         (WebCore::setJSTestObjMutablePoint):
643         (WebCore::setJSTestObjImmutablePoint):
644         (WebCore::setJSTestObjStrawberry):
645         (WebCore::setJSTestObjStrictFloat):
646         (WebCore::setJSTestObjId):
647         (WebCore::setJSTestObjNullableLongSettableAttribute):
648         (WebCore::setJSTestObjNullableStringValue):
649         (WebCore::setJSTestObjAttributeWithReservedEnumType):
650         (WebCore::setJSTestObjPutForwardsAttribute):
651         (WebCore::setJSTestObjPutForwardsNullableAttribute):
652         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
653         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
654         (WebCore::jsTestObjPrototypeFunctionByteMethod):
655         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
656         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
657         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
658         (WebCore::jsTestObjPrototypeFunctionLongMethod):
659         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
660         (WebCore::jsTestObjPrototypeFunctionObjMethod):
661         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
662         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
663         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
664         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
665         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
666         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
667         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
668         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
669         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
670         (WebCore::jsTestObjPrototypeFunctionPrivateMethod):
671         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
672         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
673         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
674         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
675         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
676         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
677         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
678         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
679         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
680         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
681         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
682         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
683         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
684         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
685         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
686         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
687         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
688         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
689         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
690         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
691         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
692         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
693         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
694         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
695         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
696         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
697         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
698         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
699         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
700         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
701         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
702         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
703         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
704         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
705         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
706         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
707         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
708         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
709         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
710         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
711         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
712         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
713         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
714         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
715         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
716         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
717         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
718         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
719         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
720         (WebCore::jsTestObjPrototypeFunctionConvert1):
721         (WebCore::jsTestObjPrototypeFunctionConvert2):
722         (WebCore::jsTestObjPrototypeFunctionConvert4):
723         (WebCore::jsTestObjPrototypeFunctionConvert5):
724         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
725         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
726         (WebCore::jsTestObjPrototypeFunctionOrange):
727         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
728         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
729         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
730         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
731         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
732         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
733         (WebCore::jsTestObjPrototypeFunctionAny):
734         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
735         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
736         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
737         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
738         (WebCore::JSTestObjOwner::finalize):
739         (WebCore::JSTestObj::toWrapped):
740         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
741         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
742         (WebCore::JSTestOverloadedConstructors::toWrapped):
743         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
744         (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames):
745         (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
746         (WebCore::JSTestOverrideBuiltinsOwner::finalize):
747         (WebCore::JSTestOverrideBuiltins::toWrapped):
748         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
749         (WebCore::jsTestSerializedScriptValueInterfaceValue):
750         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
751         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
752         (WebCore::jsTestSerializedScriptValueInterfacePorts):
753         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
754         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
755         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
756         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
757         (WebCore::JSTestSerializedScriptValueInterface::toWrapped):
758         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
759         (WebCore::jsTestTypedefsUnsignedLongLongAttr):
760         (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
761         (WebCore::jsTestTypedefsAttrWithGetterException):
762         (WebCore::jsTestTypedefsAttrWithSetterException):
763         (WebCore::jsTestTypedefsStringAttrWithGetterException):
764         (WebCore::jsTestTypedefsStringAttrWithSetterException):
765         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
766         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
767         (WebCore::setJSTestTypedefsAttrWithGetterException):
768         (WebCore::setJSTestTypedefsAttrWithSetterException):
769         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
770         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
771         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
772         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
773         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
774         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
775         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
776         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
777         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
778         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
779         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
780         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
781         (WebCore::JSTestTypedefsOwner::finalize):
782         (WebCore::JSTestTypedefs::toWrapped):
783         * bindings/scripts/test/JS/JSattribute.cpp:
784         (WebCore::jsattributeReadonly):
785         (WebCore::JSattributeOwner::finalize):
786         (WebCore::JSattribute::toWrapped):
787         * bindings/scripts/test/JS/JSreadonly.cpp:
788         (WebCore::JSreadonlyOwner::finalize):
789         (WebCore::JSreadonly::toWrapped):
790         * bridge/runtime_method.cpp:
791         (JSC::callRuntimeMethod):
792         * inspector/InspectorController.cpp:
793         (WebCore::InspectorController::canAccessInspectedScriptState):
794
795 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
796
797         IDL functions and attributes should be JSBuiltin by default if interface is marked as JSBuiltinConstructor
798         https://bugs.webkit.org/show_bug.cgi?id=150438
799
800         Reviewed by Darin Adler.
801
802         Binding generator is now deducing that function/attribute is JSBuiltin if the interface is marked as JSBuiltin.
803         One exception is custom setters, getters or functions which remain C++ handled.
804         Updated streams API IDLs accordingly.
805
806         Binding generator knows whether class needs a DOM class by checking whether the interface is marked as JSBuiltin.
807         Binding generator knows that class uses a JS built-in constructor if marked as JSBuiltin+Constructor.
808         In particular, JSBuiltIn+CustomConstructor means that a DOM class is not needed and constructor is not JS built-in.
809
810         Applied JSBuiltin+CustomConstructor to ReadableStreamReader and ReadableStreamController.
811         Removing ReadableStreamReader and ReadableStreamController classes.
812
813         Removed unneeded "Default" keyword for cancel function in WebIDL.
814
815         Added a binding test case.
816         No change in behavior.
817
818         * Modules/streams/ByteLengthQueuingStrategy.idl: Marking interface as JSBuiltin and Constructable.
819         * Modules/streams/CountQueuingStrategy.idl: Ditto.
820         * Modules/streams/ReadableStream.idl: Ditto.
821         * Modules/streams/ReadableStreamController.h: Removed.
822         * Modules/streams/ReadableStreamController.idl: Marking interface as JSBuiltin and Constructable.
823         * Modules/streams/ReadableStreamReader.h: Removed.
824         * Modules/streams/ReadableStreamReader.idl: Marking interface as JSBuiltin and Constructable.
825         * Modules/streams/WritableStream.idl: Ditto.
826         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
827         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject): Updated according new constructor.
828         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject): Ditto.
829         * bindings/scripts/CodeGeneratorJS.pm:
830         (NeedsImplementationClass):
831         (GetAttributeGetterName):
832         (GetAttributeSetterName):
833         (GetFunctionName):
834         (InstanceNeedsVisitChildren):
835         (GenerateHeader):
836         (GenerateAttributesHashTable):
837         (GenerateImplementation):
838         (GetConstructorTemplateClassName):
839         (GenerateConstructorDefinition):
840         (GenerateConstructorHelperMethods):
841         (IsConstructable):
842         (ComputeFunctionSpecial):
843         (IsJSBuiltin):
844         (IsJSBuiltinConstructor):
845         (AddJSBuiltinIncludesIfNeeded):
846         (GetJSBuiltinFunctionName): Deleted.
847         (GetJSBuiltinFunctionNameFromString): Deleted.
848         (GetJSBuiltinScopeName): Deleted.
849         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp:
850         (webkit_dom_test_js_builtin_constructor_set_property):
851         (webkit_dom_test_js_builtin_constructor_get_property):
852         (webkit_dom_test_js_builtin_constructor_class_init):
853         (webkit_dom_test_js_builtin_constructor_test_function):
854         (webkit_dom_test_js_builtin_constructor_get_test_attribute):
855         (webkit_dom_test_js_builtin_constructor_set_test_attribute):
856         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h:
857         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
858         (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
859         (WebCore::JSTestJSBuiltinConstructor::getOwnPropertySlot):
860         (WebCore::jsTestJSBuiltinConstructorTestAttribute):
861         (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
862         (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
863         (WebCore::setJSTestJSBuiltinConstructorTestAttribute):
864         (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
865         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestFunction):
866         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
867         (WebCore::JSTestJSBuiltinConstructorOwner::isReachableFromOpaqueRoots):
868         (WebCore::JSTestJSBuiltinConstructorOwner::finalize):
869         (WebCore::toJSNewlyCreated):
870         (WebCore::toJS):
871         (WebCore::JSTestJSBuiltinConstructor::toWrapped):
872         (WebCore::JSTestJSBuiltinConstructorPrototype::createStructure): Deleted.
873         (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties): Deleted.
874         (WebCore::JSTestJSBuiltinConstructor::createPrototype): Deleted.
875         (WebCore::JSTestJSBuiltinConstructor::getPrototype): Deleted.
876         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
877         (WebCore::JSTestJSBuiltinConstructor::create):
878         (WebCore::JSTestJSBuiltinConstructor::finishCreation):
879         (WebCore::wrapperOwner):
880         (WebCore::toJS):
881         (WebCore::JSTestJSBuiltinConstructor::createStructure): Deleted.
882         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h:
883         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:
884         (-[DOMTestJSBuiltinConstructor testAttribute]):
885         (-[DOMTestJSBuiltinConstructor setTestAttribute:]):
886         (-[DOMTestJSBuiltinConstructor testAttributeCustom]):
887         (-[DOMTestJSBuiltinConstructor testAttributeRWCustom]):
888         (-[DOMTestJSBuiltinConstructor setTestAttributeRWCustom:]):
889         (-[DOMTestJSBuiltinConstructor testFunction]):
890         (-[DOMTestJSBuiltinConstructor testCustomFunction]):
891         * bindings/scripts/test/TestJSBuiltinConstructor.idl:
892
893 2015-10-29  Sergio Villar Senin  <svillar@igalia.com>
894
895         [CSS Grid Layout] min-content row does not always shrink
896         https://bugs.webkit.org/show_bug.cgi?id=144581
897
898         Reviewed by Zalan Bujtas.
899
900         Grid items height must be recomputed whenever the grid tracks
901         change if the items had been previously stretched. In those
902         cases we have to clear the override height and layout the item
903         with the new row size.
904
905         Tests: fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html
906                fast/css-grid-layout/relayout-indefinite-heights.html
907
908         * rendering/RenderGrid.cpp:
909         (WebCore::RenderGrid::logicalContentHeightForChild):
910
911 2015-11-01  Brady Eidson  <beidson@apple.com>
912
913         Modern IDB: IBDObjectStore.count() support.
914         https://bugs.webkit.org/show_bug.cgi?id=150785
915
916         Reviewed by Darin Adler.
917
918         Tests: storage/indexeddb/modern/idbobjectstore-count-1.html
919                storage/indexeddb/modern/idbobjectstore-count-failures.html
920
921         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
922         (WebCore::IDBClient::IDBConnectionToServer::getCount):
923         (WebCore::IDBClient::IDBConnectionToServer::didGetCount):
924         * Modules/indexeddb/client/IDBConnectionToServer.h:
925         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
926         
927         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
928         (WebCore::IDBClient::IDBObjectStore::count):
929         (WebCore::IDBClient::IDBObjectStore::doCount):
930         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
931         
932         * Modules/indexeddb/client/IDBRequestImpl.cpp:
933         (WebCore::IDBClient::IDBRequest::setResult):
934         * Modules/indexeddb/client/IDBRequestImpl.h:
935         
936         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
937         (WebCore::IDBClient::IDBTransaction::requestCount):
938         (WebCore::IDBClient::IDBTransaction::getCountOnServer):
939         (WebCore::IDBClient::IDBTransaction::didGetCountOnServer):
940         * Modules/indexeddb/client/IDBTransactionImpl.h:
941         
942         * Modules/indexeddb/server/IDBBackingStore.h:
943         
944         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
945         (WebCore::IDBServer::IDBConnectionToClient::didGetCount):
946         * Modules/indexeddb/server/IDBConnectionToClient.h:
947         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
948         
949         * Modules/indexeddb/server/IDBServer.cpp:
950         (WebCore::IDBServer::IDBServer::getCount):
951         * Modules/indexeddb/server/IDBServer.h:
952         
953         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
954         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
955         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
956         
957         * Modules/indexeddb/server/MemoryObjectStore.cpp:
958         (WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
959         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange):
960         (WebCore::IDBServer::MemoryObjectStore::lowestKeyWithRecordInRange):
961         * Modules/indexeddb/server/MemoryObjectStore.h:
962         
963         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
964         (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
965         (WebCore::IDBServer::UniqueIDBDatabase::getCount):
966         (WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
967         (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetCount):
968         (WebCore::IDBServer::UniqueIDBDatabase::performCountCallback):
969         * Modules/indexeddb/server/UniqueIDBDatabase.h:
970         
971         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
972         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
973         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
974         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
975         
976         * Modules/indexeddb/shared/IDBResultData.cpp:
977         (WebCore::IDBResultData::IDBResultData):
978         (WebCore::IDBResultData::getCountSuccess):
979         * Modules/indexeddb/shared/IDBResultData.h:
980         (WebCore::IDBResultData::resultInteger):
981         
982         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
983         (WebCore::InProcessIDBServer::didGetCount):
984         (WebCore::InProcessIDBServer::getCount):
985         * Modules/indexeddb/shared/InProcessIDBServer.h:
986
987 2015-11-01  Darin Adler  <darin@apple.com>
988
989         Tidy handling of type=color in HTMLInputElement a bit
990         https://bugs.webkit.org/show_bug.cgi?id=150786
991
992         Reviewed by Andreas Kling.
993
994         * html/ColorInputType.cpp: Fix formatting.
995         (WebCore::ColorInputType::fallbackValue): Use ASCIILiteral for slightly
996         better performance.
997         (WebCore::ColorInputType::sanitizeValue): Use convertToASCIILowercase,
998         since there is no need for the general purpose Unicode lowercasing here;
999         those non-ASCII characters aren't allowed by isValidColorString.
1000         (WebCore::ColorInputType::suggestions): Rewrote data list code to remove
1001         peculiarities such as using a null check to terminate the loop instead of
1002         the collection length, calling back to HTMLInputElement just to get the
1003         isValidColorString function called. Also used reserveInitialCapacity and
1004         uncheckedAppend for better memory use in the result vector.
1005         (WebCore::ColorInputType::selectColor): Added.
1006
1007         * html/ColorInputType.h: Made derivation from ColorChooserClient private.
1008         Made most functions private. Added overrides for valueAsColor and selectColor,
1009         now both virtual functions in InputType.
1010
1011         * html/HTMLInputElement.cpp: Removed now-unneeded include of ColorInputType.h.
1012         (WebCore::HTMLInputElement::valueAsColor): Added. Calls through to the InputType.
1013         In a later patch, will be used by accessibility code to get the color so it
1014         does not have to replicate the color parsing logic from this element.
1015         (WebCore::HTMLInputElement::selectColor): Renamed from selectColorInColorChooser,
1016         because the longer name is not clearer. Also made this non-conditional.
1017
1018         * html/HTMLInputElement.h: Added valueAsColor, renamed selectColorInColorChooser
1019         to selectColor and made it available unconditionally.
1020
1021         * html/InputType.cpp:
1022         (WebCore::InputType::valueAsColor): Added. Returns transparent color.
1023         (WebCore::InputType::selectColor): Added. Does nothing by default.
1024
1025         * html/InputType.h: Added virtual valueAsColor and selectColor. Also tidied
1026         up the header a bit and removed unneeded Noncopyable (since this class has
1027         a reference for one of the data members and so is intrinsically not copyable).
1028         Made isColorControl available unconditionally.
1029
1030         * testing/Internals.cpp:
1031         (WebCore::Internals::selectColorInColorChooser): Removed conditionals and
1032         made this call selectColor rather than selectColorInColorChooser.
1033
1034         * testing/Internals.h: Made selectColorInColorChooser unconditional.
1035
1036         * testing/Internals.idl: Made selectColorInColorChooser unconditionally
1037         present. Not important to optimize the test internals class by leaving it
1038         out when INPUT_TYPE_COLOR is not enabled.
1039
1040 2015-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>
1041
1042         [ES6] Support Generator Syntax
1043         https://bugs.webkit.org/show_bug.cgi?id=150769
1044
1045         Reviewed by Geoffrey Garen.
1046
1047         Added ENABLE_ES6_GENERATORS flag.
1048
1049         * Configurations/FeatureDefines.xcconfig:
1050
1051 2015-11-01  Myles C. Maxfield  <mmaxfield@apple.com>
1052
1053         Clean up some CSS & Font code
1054         https://bugs.webkit.org/show_bug.cgi?id=150767
1055
1056         Reviewed by Darin Adler.
1057
1058         This patch migrates some CSS code to use references instead of pointers.
1059         It also migrates some Font code to use RefPtr instead of PassRefPtr.
1060
1061         No new tests because there is no behavior change.
1062
1063         * css/CSSDefaultStyleSheets.cpp:
1064         (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
1065         (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
1066         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
1067         * css/CSSFontSelector.cpp:
1068         (WebCore::createFontFace):
1069         (WebCore::CSSFontSelector::addFontFaceRule):
1070         * css/CSSFontSelector.h:
1071         * css/DocumentRuleSets.cpp:
1072         (WebCore::DocumentRuleSets::initUserStyle):
1073         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
1074         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
1075         * css/RuleSet.cpp:
1076         (WebCore::RuleSet::addChildRules):
1077         (WebCore::RuleSet::addRulesFromSheet):
1078         * css/RuleSet.h:
1079         * css/StyleInvalidationAnalysis.cpp:
1080         (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
1081         * platform/graphics/Font.cpp:
1082         (WebCore::Font::verticalRightOrientationFont):
1083         (WebCore::Font::uprightOrientationFont):
1084         (WebCore::Font::smallCapsFont):
1085         (WebCore::Font::emphasisMarkFont):
1086         (WebCore::Font::brokenIdeographFont):
1087         (WebCore::Font::nonSyntheticItalicFont):
1088         (WebCore::Font::createScaledFont):
1089         * platform/graphics/Font.h:
1090         (WebCore::Font::variantFont):
1091         * platform/graphics/cocoa/FontCocoa.mm:
1092         (WebCore::Font::platformCreateScaledFont):
1093         * svg/SVGFontFaceElement.h:
1094
1095 2015-11-01  Darin Adler  <darin@apple.com>
1096
1097         Remove some dead and unneeded code (ScrollbarThemeSafari, RenderThemeSafari, OPENCL, a little color space logic)
1098         https://bugs.webkit.org/show_bug.cgi?id=150783
1099
1100         Reviewed by Tim Horton.
1101
1102         * PlatformWinCairo.cmake: Removed ScrollbarThemeSafari.cpp, no reason to compile it.
1103
1104         * platform/graphics/ca/GraphicsLayerCA.cpp:
1105         (WebCore::GraphicsLayerCA::setContentsToImage): Removed the code that set a color space
1106         on an image if it's set to device color space. This has been dead code for many releases
1107         of OS X and iOS at this point.
1108
1109         * platform/graphics/filters/FEColorMatrix.h: Removed some ENABLE(OPENCL)-only code.
1110         * platform/graphics/filters/FEFlood.h: Ditto.
1111         * platform/graphics/filters/FEMerge.h: Ditto.
1112         * platform/graphics/filters/FETurbulence.h: Ditto.
1113         * platform/graphics/filters/FilterEffect.cpp:
1114         (WebCore::FilterEffect::applyAll): Removed.
1115         (WebCore::FilterEffect::apply): Removed ENABLE(OPENCL)-only code.
1116         (WebCore::FilterEffect::platformApplyOpenCL): Removed.
1117         (WebCore::FilterEffect::clearResult): Removed ENABLE(OPENCL)-only code.
1118         (WebCore::FilterEffect::asImageBuffer): Ditto.
1119         (WebCore::FilterEffect::openCLImageToImageBuffer): Removed.
1120         (WebCore::FilterEffect::createOpenCLImageResult): Removed.
1121         (WebCore::FilterEffect::transformResultColorSpace): Removed ENABLE(OPENCL)-only code.
1122
1123         * platform/graphics/filters/FilterEffect.h: Removed ENABLE(OPENCL)-only code.
1124         * platform/graphics/filters/SourceAlpha.h: Ditto.
1125         * platform/graphics/filters/SourceGraphic.h: Ditto.
1126
1127         * platform/win/ScrollbarThemeSafari.cpp: Removed.
1128         * platform/win/ScrollbarThemeSafari.h: Removed.
1129
1130         * rendering/RenderThemeMac.mm: Removed an obsolete comment.
1131
1132         * rendering/RenderThemeSafari.cpp: Removed.
1133         * rendering/RenderThemeSafari.h: Removed.
1134
1135         * svg/graphics/filters/SVGFEImage.h: Removed ENABLE(OPENCL)-only code.
1136
1137 2015-11-01  Andreas Kling  <akling@apple.com>
1138
1139         Move the ResourceUsageOverlay out of the way by default.
1140         <https://webkit.org/b/150776>
1141
1142         Reviewed by Darin Adler.
1143
1144         Have the ResourceUsageOverlay show up in the bottom center of the viewport
1145         by default, instead of the top left. This way, you won't have to drag it
1146         out of the way all the time.
1147
1148         * page/ResourceUsageOverlay.cpp:
1149         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
1150         (WebCore::ResourceUsageOverlay::initialize):
1151         * page/ResourceUsageOverlay.h:
1152         * page/cocoa/ResourceUsageOverlayCocoa.mm:
1153         (WebCore::ResourceUsageOverlay::platformInitialize):
1154
1155 2015-11-01  Philip Chimento  <philip.chimento@gmail.com>
1156
1157         [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
1158         https://bugs.webkit.org/show_bug.cgi?id=144560
1159
1160         Reviewed by Darin Adler.
1161
1162         * platform/graphics/PlatformDisplay.cpp: Only include the
1163         X11-specific GDK header on PLATFORM(X11). In other cases the
1164         normal gdk.h header is needed, which would otherwise be pulled in
1165         by gdkx.h.
1166         * platform/graphics/opentype/OpenTypeMathData.cpp: Change check
1167         for FourCharCode type from OS(DARWIN) to PLATFORM(COCOA). We
1168         can't remove it altogether because OT_MAKE_TAG doesn't work for
1169         all platforms.
1170
1171 2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1172
1173         [GTK] Use RunLoop::Timer in main thread shared timer GTK+ implementation
1174         https://bugs.webkit.org/show_bug.cgi?id=150754
1175
1176         Reviewed by Darin Adler.
1177
1178         It's more efficient because it uses a persistent source and it
1179         simplifies the code even more.
1180
1181         * platform/MainThreadSharedTimer.cpp:
1182         (WebCore::MainThreadSharedTimer::fired): Make it non-const to be
1183         able to use it as function callback of a RunLoop::Timer.
1184         * platform/MainThreadSharedTimer.h:
1185         * platform/gtk/MainThreadSharedTimerGtk.cpp:
1186         (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
1187         Initialize the RunLoop::Timer and set the prioriry.
1188         (WebCore::MainThreadSharedTimer::setFireInterval):
1189         (WebCore::MainThreadSharedTimer::stop):
1190
1191 2015-10-31  Andreas Kling  <akling@apple.com>
1192
1193         Add a debug overlay with information about web process resource usage.
1194         <https://webkit.org/b/150599>
1195
1196         Unreviewed follow-up to r191849.
1197
1198         Add missing call to uninstall the PageOverlay if the ResourceUsageOverlay is being
1199         disabled through the setting. This way you don't end up with an unremovable overlay
1200         in the MiniBrowser.
1201
1202         * page/ResourceUsageOverlay.cpp:
1203         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
1204
1205 2015-10-31  Brady Eidson  <beidson@apple.com>
1206
1207         IDB: Date objects don't work as keys or values.
1208         https://bugs.webkit.org/show_bug.cgi?id=150743
1209
1210         Reviewed by Darin Adler.
1211
1212         Test: storage/indexeddb/modern/date-basic.html
1213
1214         The combination of the autogenerated bindings with Deprecated::ScriptValue was
1215         losing the fidelity of "Date" objects being Dates, and not just normal Objects.
1216         
1217         This was breaking their usage as IDBKeys.
1218         
1219         Custom binding + reworking the IDBObjectStore IDLs to use JSValue instead of ScriptValue
1220         fixes this handily.
1221         
1222         * Modules/indexeddb/IDBObjectStore.h:
1223         * Modules/indexeddb/IDBObjectStore.idl:
1224         
1225         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1226         (WebCore::IDBClient::IDBObjectStore::add):
1227         (WebCore::IDBClient::IDBObjectStore::put):
1228         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
1229         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
1230         
1231         * Modules/indexeddb/legacy/LegacyObjectStore.cpp:
1232         (WebCore::LegacyObjectStore::add):
1233         (WebCore::LegacyObjectStore::put):
1234         * Modules/indexeddb/legacy/LegacyObjectStore.h:
1235         
1236         * bindings/js/IDBBindingUtilities.cpp:
1237         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
1238         (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
1239         (WebCore::canInjectIDBKeyIntoScriptValue):
1240         (WebCore::scriptValueToIDBKey):
1241         * bindings/js/IDBBindingUtilities.h:
1242
1243         * bindings/js/JSIDBObjectStoreCustom.cpp:
1244         (WebCore::putOrAdd):
1245         (WebCore::JSIDBObjectStore::putRecord):
1246         (WebCore::JSIDBObjectStore::add):
1247
1248 2015-10-31  Andreas Kling  <akling@apple.com>
1249
1250         Add a debug overlay with information about web process resource usage.
1251         <https://webkit.org/b/150599>
1252
1253         Reviewed by Darin Adler.
1254
1255         A new kind of PageOverlay is added behind the ENABLE(RESOURCE_USAGE_OVERLAY) flag.
1256         It's owned by Page, but not instantiated unless the Settings::resourceUsageOverlayVisible flag is set.
1257
1258         All ResourceUsageOverlay objects share a single sampler thread. The thread currently runs every 500ms
1259         and samples CPU usage, dirty memory regions, and GC heap size/capacity.
1260
1261         Most things in here are currently quite Mac-specific, but I will be iterating on this towards a more
1262         cross-platform friendly solution.
1263
1264         There are two small changes to PageOverlay in order to support dragging the resource usage overlay:
1265
1266             - A "should ignore mouse events outside bounds" state flag. This is on by default
1267               but turned off during a drag.
1268             - PageOverlay::bounds() will now return the override frame verbatim if one is set,
1269               instead of returning it relocated to 0,0.
1270
1271         Note that this is intended as a tool for WebKit engine developers to better understand memory usage.
1272         It's not a goal to expose this information to end users.
1273
1274         * WebCore.xcodeproj/project.pbxproj:
1275         * page/Page.cpp:
1276         (WebCore::Page::setResourceUsageOverlayVisible):
1277         * page/Page.h:
1278         * page/PageOverlay.cpp:
1279         (WebCore::PageOverlay::bounds):
1280         (WebCore::PageOverlay::mouseEvent):
1281         * page/PageOverlay.h:
1282         * page/ResourceUsageOverlay.cpp: Added.
1283         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
1284         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
1285         (WebCore::ResourceUsageOverlay::mouseEvent):
1286         * page/ResourceUsageOverlay.h: Added.
1287         * page/Settings.cpp:
1288         (WebCore::Settings::setResourceUsageOverlayVisible):
1289         * page/Settings.h:
1290         (WebCore::Settings::resourceUsageOverlayVisible):
1291         * page/cocoa/ResourceUsageOverlayCocoa.mm: Added.
1292         (-[WebOverlayLayer initWithResourceUsageOverlay:]):
1293         (-[WebOverlayLayer drawInContext:]):
1294         (WebCore::RingBuffer::RingBuffer):
1295         (WebCore::RingBuffer::append):
1296         (WebCore::RingBuffer::last):
1297         (WebCore::RingBuffer::forEach):
1298         (WebCore::RingBuffer::incrementIndex):
1299         (WebCore::RingBuffer::decrementIndex):
1300         (WebCore::sharedData):
1301         (WebCore::ResourceUsageOverlay::platformInitialize):
1302         (WebCore::ResourceUsageOverlay::platformDestroy):
1303         (WebCore::drawCpuHistory):
1304         (WebCore::drawGCHistory):
1305         (WebCore::drawSlice):
1306         (WebCore::drawPlate):
1307         (WebCore::drawMemoryPie):
1308         (WebCore::formatByteNumber):
1309         (WebCore::showText):
1310         (WebCore::ResourceUsageOverlay::draw):
1311         (WebCore::dirtyPagesPerVMTag):
1312         (WebCore::cpuUsage):
1313         (WebCore::runSamplerThread):
1314         * platform/spi/cocoa/MachVMSPI.h:
1315
1316 2015-10-31  Brady Eidson  <beidson@apple.com>
1317
1318         storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html is flaky.
1319         https://bugs.webkit.org/show_bug.cgi?id=150735
1320
1321         Reviewed by Darin Adler.
1322
1323         No new tests (Covered by existing tests).
1324
1325         Transactions were liable to commit too early because IDBRequests could be waiting
1326         to dispatch their error/success events but their operations would no longer be
1327         registered with the transaction.
1328         
1329         Having outstanding requests should also keep a transaction from committing, just
1330         like having outstanding operations should.
1331         
1332         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
1333         (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
1334         
1335         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1336         (WebCore::IDBClient::IDBRequest::dispatchEvent):
1337         
1338         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1339         (WebCore::IDBClient::IDBTransaction::addRequest):
1340         (WebCore::IDBClient::IDBTransaction::removeRequest):
1341         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
1342         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
1343         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
1344         (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
1345         (WebCore::IDBClient::IDBTransaction::operationDidComplete):
1346         * Modules/indexeddb/client/IDBTransactionImpl.h:
1347         
1348         * Modules/indexeddb/client/TransactionOperation.h:
1349         (WebCore::IDBClient::TransactionOperation::completed):
1350
1351 2015-10-31  Philippe Normand  <pnormand@igalia.com>
1352
1353         [GStreamer][Mac] Fix WebAudio build
1354         https://bugs.webkit.org/show_bug.cgi?id=150030
1355
1356         Reviewed by Darin Adler.
1357
1358         Wrap Accelerate.framework API calls around USE(ACCELERATE) ifdefs.
1359
1360         * platform/audio/Biquad.cpp:
1361         (WebCore::Biquad::Biquad):
1362         (WebCore::Biquad::process):
1363         (WebCore::Biquad::reset):
1364         * platform/audio/Biquad.h:
1365         * platform/audio/DirectConvolver.cpp:
1366         (WebCore::DirectConvolver::process):
1367         * platform/audio/FFTFrame.h:
1368         * platform/audio/VectorMath.cpp:
1369
1370 2015-10-31  Brian Burg  <bburg@apple.com>
1371
1372         Builtins generator should put WebCore-only wrappers in the per-builtin header
1373         https://bugs.webkit.org/show_bug.cgi?id=150539
1374
1375         Reviewed by Youenn Fablet.
1376
1377         Fix includes of removed XXXWrapper.h headers.
1378
1379         * CMakeLists.txt:
1380         * DerivedSources.make:
1381         * WebCore.xcodeproj/project.pbxproj:
1382         * bindings/js/WebCoreJSBuiltinInternals.h:
1383         * bindings/js/WebCoreJSBuiltins.h:
1384
1385 2015-10-31  Yusuke Suzuki  <utatane.tea@gmail.com>
1386
1387         Add the support for Symbol attributes on IDL
1388         https://bugs.webkit.org/show_bug.cgi?id=150586
1389
1390         Reviewed by Ryosuke Niwa.
1391
1392         This patch addes readonly attribute support for Symbols.
1393         It involves the IDL generator functionality converting Native type (PrivateName) to Symbol.
1394
1395         * bindings/scripts/CodeGeneratorGObject.pm:
1396         (SkipAttribute):
1397         (SkipFunction):
1398         * bindings/scripts/CodeGeneratorJS.pm:
1399         (NativeToJSValue):
1400         * bindings/scripts/CodeGeneratorObjC.pm:
1401         (SkipFunction):
1402         (SkipAttribute):
1403         * bindings/scripts/test/JS/JSTestObj.cpp:
1404         (WebCore::jsTestObjReadOnlySymbolAttr):
1405         (WebCore::jsTestObjConstructorStaticReadOnlySymbolAttr):
1406         * bindings/scripts/test/TestObj.idl:
1407
1408 2015-10-30  Brady Eidson  <beidson@apple.com>
1409
1410         Modern IDB: Support IDBObjectStore.get() for IDBKeyRanges.
1411         https://bugs.webkit.org/show_bug.cgi?id=150718
1412
1413         Reviewed by Alex Christensen.
1414
1415         Test: storage/indexeddb/modern/get-keyrange.html
1416
1417         * Modules/indexeddb/IDBKeyRangeData.cpp:
1418         (WebCore::IDBKeyRangeData::IDBKeyRangeData):
1419         * Modules/indexeddb/IDBKeyRangeData.h:
1420         
1421         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1422         (WebCore::IDBClient::IDBConnectionToServer::getRecord):
1423         * Modules/indexeddb/client/IDBConnectionToServer.h:
1424         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1425         
1426         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1427         (WebCore::IDBClient::IDBObjectStore::get):
1428         
1429         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1430         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
1431         (WebCore::IDBClient::IDBTransaction::getRecordOnServer):
1432         * Modules/indexeddb/client/IDBTransactionImpl.h:
1433         
1434         * Modules/indexeddb/server/IDBBackingStore.h:
1435         
1436         * Modules/indexeddb/server/IDBServer.cpp:
1437         (WebCore::IDBServer::IDBServer::getRecord):
1438         * Modules/indexeddb/server/IDBServer.h:
1439         
1440         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
1441         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
1442         
1443         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1444         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
1445         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1446         
1447         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1448         (WebCore::IDBServer::MemoryObjectStore::deleteRecord):
1449         (WebCore::IDBServer::MemoryObjectStore::setKeyValue):
1450         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange): Using a std::set, find the appropriate
1451           key in the range, and return the value if one exists.
1452         (WebCore::IDBServer::MemoryObjectStore::valueForKey): Deleted.
1453         * Modules/indexeddb/server/MemoryObjectStore.h:
1454         
1455         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1456         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
1457         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
1458         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1459         
1460         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1461         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
1462         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1463         
1464         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1465         (WebCore::InProcessIDBServer::getRecord):
1466         * Modules/indexeddb/shared/InProcessIDBServer.h:
1467
1468 2015-10-30  Brady Eidson  <beidson@apple.com>
1469
1470         Modern IDB: IDBObjectStore.clear() support.
1471         https://bugs.webkit.org/show_bug.cgi?id=150733
1472
1473         Reviewed by Alex Christensen.
1474
1475         Tests: storage/indexeddb/modern/idbobjectstore-clear-1.html
1476                storage/indexeddb/modern/idbobjectstore-clear-2.html
1477
1478         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1479         (WebCore::IDBClient::IDBConnectionToServer::clearObjectStore):
1480         (WebCore::IDBClient::IDBConnectionToServer::didClearObjectStore):
1481         * Modules/indexeddb/client/IDBConnectionToServer.h:
1482         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1483         
1484         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1485         (WebCore::IDBClient::IDBObjectStore::clear):
1486         
1487         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1488         (WebCore::IDBClient::IDBRequest::setResultToUndefined):
1489         * Modules/indexeddb/client/IDBRequestImpl.h:
1490         
1491         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1492         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
1493         (WebCore::IDBClient::IDBTransaction::clearObjectStoreOnServer):
1494         (WebCore::IDBClient::IDBTransaction::didClearObjectStoreOnServer):
1495         * Modules/indexeddb/client/IDBTransactionImpl.h:
1496
1497         * Modules/indexeddb/server/IDBBackingStore.h:
1498
1499         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
1500         (WebCore::IDBServer::IDBConnectionToClient::didClearObjectStore):
1501         * Modules/indexeddb/server/IDBConnectionToClient.h:
1502         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
1503
1504         * Modules/indexeddb/server/IDBServer.cpp:
1505         (WebCore::IDBServer::IDBServer::clearObjectStore):
1506         * Modules/indexeddb/server/IDBServer.h:
1507
1508         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
1509         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
1510         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
1511         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
1512         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
1513         (WebCore::IDBServer::MemoryBackingStoreTransaction::isAborting):
1514
1515         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1516         (WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
1517         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1518
1519         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1520         (WebCore::IDBServer::MemoryObjectStore::clear):
1521         (WebCore::IDBServer::MemoryObjectStore::replaceKeyValueStore):
1522         * Modules/indexeddb/server/MemoryObjectStore.h:
1523
1524         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1525         (WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
1526         (WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore):
1527         (WebCore::IDBServer::UniqueIDBDatabase::didPerformClearObjectStore):
1528         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1529
1530         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
1531         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didClearObjectStore):
1532         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
1533
1534         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1535         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
1536         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1537
1538         * Modules/indexeddb/shared/IDBResultData.cpp:
1539         (WebCore::IDBResultData::clearObjectStoreSuccess):
1540         * Modules/indexeddb/shared/IDBResultData.h:
1541
1542         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1543         (WebCore::InProcessIDBServer::didClearObjectStore):
1544         (WebCore::InProcessIDBServer::clearObjectStore):
1545         * Modules/indexeddb/shared/InProcessIDBServer.h:
1546
1547 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
1548
1549         CSSParserVariable leaks seen on leaks bots
1550         https://bugs.webkit.org/show_bug.cgi?id=150724
1551
1552         Reviewed by Darin Adler.
1553
1554         * css/CSSParserValues.cpp:
1555         (WebCore::destroy):
1556         Cleanup variable CSSParserValues.
1557
1558 2015-10-30  Alex Christensen  <achristensen@webkit.org>
1559
1560         Fix Windows build.
1561
1562         * PlatformWin.cmake:
1563         Add missing files.
1564
1565 2015-10-30  Beth Dakin  <bdakin@apple.com>
1566
1567         Tapping and holding a link should have a share option
1568         https://bugs.webkit.org/show_bug.cgi?id=150693
1569         -and corresponding-
1570         rdar://problem/21319702
1571
1572         Reviewed by Tim Horton.
1573
1574         * English.lproj/Localizable.strings:
1575
1576 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
1577
1578         Minor CGColor leaks seen on bots allocated in WebSystemBackdropLayer.mm
1579         https://bugs.webkit.org/show_bug.cgi?id=150722
1580
1581         Reviewed by Andreas Kling.
1582
1583         * platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm:
1584         (-[WebLightSystemBackdropLayer init]):
1585         (-[WebDarkSystemBackdropLayer init]):
1586
1587 2015-10-30  Csaba Osztrogonác  <ossy@webkit.org>
1588
1589         [EFL] Fix the debug build after r191758
1590         https://bugs.webkit.org/show_bug.cgi?id=150719
1591
1592         Reviewed by Alex Christensen.
1593
1594         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1595         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
1596
1597 2015-10-30  Dan Bernstein  <mitz@apple.com>
1598
1599         Fixed the build.
1600
1601         * platform/graphics/Image.cpp:
1602         (WebCore::Image::draw): Deleted an infinitely-recursive implementation that caused the
1603           compiler to emit an error.
1604         * platform/graphics/Image.h:
1605         (WebCore::Image::draw): Made this pure virtual.
1606
1607 2015-10-30  Brady Eidson  <beidson@apple.com>
1608
1609         Modern IDB: IDBObjectStore.add() support.
1610         https://bugs.webkit.org/show_bug.cgi?id=150711
1611
1612         Reviewed by Alex Christensen.
1613
1614         Test: storage/indexeddb/modern/basic-add.html
1615
1616         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1617         (WebCore::IDBClient::IDBObjectStore::add):
1618
1619         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1620         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
1621
1622 2015-10-30  Hunseop Jeong  <hs85.jeong@samsung.com>
1623
1624         Use modern for-loops in WebCore/dom.
1625         https://bugs.webkit.org/show_bug.cgi?id=150664
1626
1627         Reviewed by Darin Adler.
1628
1629         No new tests because there is no behavior change.
1630
1631         * dom/AuthorStyleSheets.cpp:
1632         (WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
1633         (WebCore::filterEnabledNonemptyCSSStyleSheets):
1634         (WebCore::AuthorStyleSheets::activeStyleSheetsContains):
1635         * dom/CheckedRadioButtons.cpp:
1636         (WebCore::RadioButtonGroup::updateValidityForAllButtons):
1637         * dom/ClientRectList.cpp:
1638         (WebCore::ClientRectList::ClientRectList):
1639         (WebCore::ClientRectList::~ClientRectList):
1640         * dom/ContainerNode.cpp:
1641         (WebCore::ContainerNode::insertBefore):
1642         * dom/DOMNamedFlowCollection.cpp:
1643         (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
1644         (WebCore::DOMNamedFlowCollection::length):
1645         (WebCore::DOMNamedFlowCollection::item):
1646         (WebCore::DOMNamedFlowCollection::namedItem):
1647         * dom/DOMStringList.cpp:
1648         (WebCore::DOMStringList::contains):
1649         * dom/Document.cpp:
1650         (WebCore::Document::Document):
1651         (WebCore::Document::~Document):
1652         (WebCore::Document::removedLastRef):
1653         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
1654         (WebCore::Document::updateHoverActiveState):
1655         * dom/DocumentMarkerController.cpp:
1656         (WebCore::DocumentMarkerController::copyMarkers):
1657         (WebCore::DocumentMarkerController::removeMarkers):
1658         (WebCore::DocumentMarkerController::repaintMarkers):
1659         (DocumentMarkerController::showMarkers):
1660         * dom/ElementData.cpp:
1661         (WebCore::UniqueElementData::findAttributeByName):
1662         * dom/EventDispatcher.cpp:
1663         (WebCore::EventPath::updateTouchLists):
1664         (WebCore::EventPath::hasEventListeners):
1665         * dom/EventListenerMap.cpp:
1666         (WebCore::EventListenerMap::contains):
1667         (WebCore::EventListenerMap::containsCapturing):
1668         (WebCore::EventListenerMap::eventTypes):
1669         (WebCore::EventListenerMap::add):
1670         (WebCore::EventListenerMap::find):
1671         (WebCore::copyListenersNotCreatedFromMarkupToTarget):
1672         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
1673         (WebCore::EventListenerIterator::EventListenerIterator):
1674         * dom/EventTarget.cpp:
1675         (WebCore::EventTarget::removeEventListener):
1676         (WebCore::EventTarget::getAttributeEventListener):
1677         (WebCore::EventTarget::removeAllEventListeners):
1678         * dom/IdTargetObserverRegistry.cpp:
1679         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
1680         * dom/MessagePort.cpp:
1681         (WebCore::MessagePort::postMessage):
1682         (WebCore::MessagePort::disentanglePorts):
1683         * dom/MutationObserver.cpp:
1684         (WebCore::MutationObserver::observe):
1685         (WebCore::MutationObserver::deliver):
1686         (WebCore::MutationObserver::deliverAllMutations):
1687         * dom/NamedFlowCollection.cpp:
1688         (WebCore::NamedFlowCollection::namedFlows):
1689         (WebCore::NamedFlowCollection::createCSSOMSnapshot):
1690         * dom/Node.cpp:
1691         (WebCore::Node::notifyMutationObserversNodeWillDetach):
1692         * dom/Range.cpp:
1693         (WebCore::Range::processNodes):
1694         (WebCore::Range::processAncestorsAndTheirSiblings):
1695         (WebCore::Range::absoluteBoundingBox):
1696         (WebCore::Range::collectSelectionRects):
1697         * dom/ScriptRunner.cpp:
1698         (WebCore::ScriptRunner::timerFired):
1699         * dom/ScriptedAnimationController.cpp:
1700         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1701         * dom/SelectorQuery.cpp:
1702         (WebCore::SelectorDataList::matches):
1703         (WebCore::SelectorDataList::executeFastPathForIdSelector):
1704         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
1705         (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
1706         (WebCore::SelectorDataList::execute):
1707         * dom/TreeScopeAdopter.cpp:
1708         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1709
1710 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1711
1712         Make every port implement MainThreadSharedTimer instead of using global functions
1713         https://bugs.webkit.org/show_bug.cgi?id=150498
1714
1715         Reviewed by Darin Adler.
1716
1717         Move MainThreadSharedTimer to its own files and add the common
1718         implementation there.
1719
1720         * CMakeLists.txt: Add MainThreadSharedTimer.cpp.
1721         * PlatformEfl.cmake: Update filenames.
1722         * PlatformGTK.cmake: Ditto.
1723         * PlatformMac.cmake: Ditto.
1724         * PlatformWin.cmake: Ditto.
1725         * platform/MainThreadSharedTimer.cpp: Copied from Source/WebCore/platform/efl/SharedTimerEfl.cpp.
1726         (WebCore::MainThreadSharedTimer::singleton):
1727         (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
1728         (WebCore::MainThreadSharedTimer::setFiredFunction):
1729         (WebCore::MainThreadSharedTimer::fired):
1730         * platform/MainThreadSharedTimer.h: Copied from Source/WebCore/platform/gtk/SharedTimerGtk.cpp.
1731         * platform/SharedTimer.h: Remove MainThreadSharedTimer
1732         implementation and reindent the code.
1733         (WebCore::SharedTimer::SharedTimer):
1734         (WebCore::SharedTimer::~SharedTimer):
1735         (WebCore::SharedTimer::invalidate):
1736         * platform/ThreadTimers.cpp:
1737         (WebCore::ThreadTimers::ThreadTimers): Use MainThreadSharedTimer::singleton().
1738         (WebCore::ThreadTimers::setSharedTimer): Use a lambda function
1739         instead of a pointer to a static method.
1740         (WebCore::ThreadTimers::sharedTimerFired): Deleted.
1741         * platform/ThreadTimers.h: Removed unsused static method sharedTimerFired.
1742         * platform/cf/MainThreadSharedTimerCF.cpp: Renamed from Source/WebCore/platform/cf/SharedTimerCF.cpp.
1743         (WebCore::applicationDidBecomeActive):
1744         (WebCore::setupPowerObserver):
1745         (WebCore::timerFired):
1746         (WebCore::restartSharedTimer):
1747         (WebCore::MainThreadSharedTimer::invalidate):
1748         (WebCore::MainThreadSharedTimer::setFireInterval):
1749         (WebCore::MainThreadSharedTimer::stop):
1750         * platform/efl/MainThreadSharedTimerEfl.cpp: Renamed from Source/WebCore/platform/efl/SharedTimerEfl.cpp.
1751         (WebCore::timerEvent):
1752         (WebCore::MainThreadSharedTimer::stop):
1753         (WebCore::MainThreadSharedTimer::setFireInterval):
1754         (WebCore::MainThreadSharedTimer::invalidate):
1755         * platform/gtk/MainThreadSharedTimerGtk.cpp: Renamed from Source/WebCore/platform/gtk/SharedTimerGtk.cpp.
1756         (WebCore::MainThreadSharedTimer::setFireInterval):
1757         (WebCore::MainThreadSharedTimer::stop):
1758         (WebCore::MainThreadSharedTimer::invalidate):
1759         * platform/win/MainThreadSharedTimerWin.cpp: Renamed from Source/WebCore/platform/win/SharedTimerWin.cpp.
1760         (WebCore::TimerWindowWndProc):
1761         (WebCore::initializeOffScreenTimerWindow):
1762         (WebCore::queueTimerProc):
1763         (WebCore::MainThreadSharedTimer::setFireInterval):
1764         (WebCore::MainThreadSharedTimer::stop):
1765         (WebCore::MainThreadSharedTimer::invalidate):
1766         * workers/WorkerRunLoop.cpp: Update WorkerSharedTimer
1767         implementation to use std::function instead of a pointer. Also
1768         mark the class as final and the virtual implementations as override.
1769
1770 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1771
1772         [GTK] Use RunLoop::Timer instead of GMainLoopSource
1773         https://bugs.webkit.org/show_bug.cgi?id=150592
1774
1775         Reviewed by Žan Doberšek.
1776
1777         * platform/network/ResourceHandle.h:
1778         * platform/network/ResourceHandleInternal.h:
1779         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1780         * platform/network/soup/ResourceHandleSoup.cpp:
1781         (WebCore::cleanupSoupRequestOperation):
1782         (WebCore::ResourceHandle::timeoutFired):
1783         (WebCore::ResourceHandle::sendPendingRequest):
1784         (WebCore::ResourceHandle::platformSetDefersLoading):
1785
1786 2015-10-30  Hunseop Jeong  <hs85.jeong@samsung.com>
1787
1788         REGRESSION(r191776): EFL build broken.
1789         https://bugs.webkit.org/show_bug.cgi?id=150713
1790
1791         Reviewed by Csaba Osztrogonác.
1792
1793         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1794         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
1795
1796 2015-10-29  Brady Eidson  <beidson@apple.com>
1797
1798         Modern IDB: autoIncrement support.
1799         https://bugs.webkit.org/show_bug.cgi?id=150695
1800
1801         Reviewed by Alex Christensen.
1802
1803         Test: storage/indexeddb/modern/autoincrement-abort.html
1804
1805         * Modules/indexeddb/server/IDBBackingStore.h:
1806         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
1807         (WebCore::IDBServer::MemoryBackingStoreTransaction::addNewObjectStore):
1808         (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingObjectStore):
1809         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
1810         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
1811         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1812         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
1813         (WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber):
1814         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1815         * Modules/indexeddb/server/MemoryObjectStore.h:
1816         (WebCore::IDBServer::MemoryObjectStore::currentKeyGeneratorValue):
1817         (WebCore::IDBServer::MemoryObjectStore::setKeyGeneratorValue):
1818         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1819         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
1820
1821 2015-10-29  Alex Christensen  <achristensen@webkit.org>
1822
1823         Make WebCore a framework in Mac CMake build
1824         https://bugs.webkit.org/show_bug.cgi?id=150702
1825
1826         Reviewed by Geoffrey Garen.
1827
1828         * CMakeLists.txt:
1829         * PlatformEfl.cmake:
1830         * PlatformGTK.cmake:
1831         * PlatformMac.cmake:
1832
1833 2015-10-29  Alex Christensen  <achristensen@webkit.org>
1834
1835         CMake build fix.
1836
1837         * editing/mac/EditorMac.mm:
1838         (WebCore::Editor::WebContentReader::readFilenames):
1839         Before r191553, text was a local variable and could be changed.
1840         This restores the same behavior and compiles correctly when ATTACHMENT_ELEMENT is disabled.
1841         * platform/mac/CursorMac.mm:
1842         (WebCore::Cursor::Cursor):
1843         (WebCore::Cursor::operator=):
1844         Added preprocessor macros.
1845
1846 2015-10-29  Brady Eidson  <beidson@apple.com>
1847
1848         Modern IDB: deleteObjectStore support.
1849         https://bugs.webkit.org/show_bug.cgi?id=150673
1850
1851         Reviewed by Alex Christensen.
1852
1853         Tests: storage/indexeddb/modern/deleteobjectstore-1.html
1854                storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html
1855                storage/indexeddb/modern/idbobjectstore-get-failures.html
1856
1857         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1858         (WebCore::IDBClient::IDBConnectionToServer::deleteObjectStore):
1859         (WebCore::IDBClient::IDBConnectionToServer::didDeleteObjectStore):
1860         * Modules/indexeddb/client/IDBConnectionToServer.h:
1861         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1862
1863         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
1864         (WebCore::IDBClient::IDBDatabase::deleteObjectStore):
1865         (WebCore::IDBClient::IDBDatabase::willCommitTransaction):
1866         (WebCore::IDBClient::IDBDatabase::willAbortTransaction):
1867         (WebCore::IDBClient::IDBDatabase::commitTransaction): Deleted.
1868         (WebCore::IDBClient::IDBDatabase::abortTransaction): Deleted.
1869         * Modules/indexeddb/client/IDBDatabaseImpl.h:
1870
1871         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1872         (WebCore::IDBClient::IDBObjectStore::markAsDeleted):
1873         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
1874
1875         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1876         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
1877         (WebCore::IDBClient::IDBTransaction::abort):
1878         (WebCore::IDBClient::IDBTransaction::abortOnServer):
1879         (WebCore::IDBClient::IDBTransaction::commit):
1880         (WebCore::IDBClient::IDBTransaction::commitOnServer):
1881         (WebCore::IDBClient::IDBTransaction::deleteObjectStore):
1882         (WebCore::IDBClient::IDBTransaction::deleteObjectStoreOnServer):
1883         (WebCore::IDBClient::IDBTransaction::didDeleteObjectStoreOnServer):
1884         (WebCore::IDBClient::IDBTransaction::activate):
1885         (WebCore::IDBClient::IDBTransaction::activationTimerFired): Deleted.
1886         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer): Deleted.
1887         (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer): Deleted.
1888         (WebCore::IDBClient::IDBTransaction::getRecordOnServer): Deleted.
1889         (WebCore::IDBClient::IDBTransaction::putOrAddOnServer): Deleted.
1890         * Modules/indexeddb/client/IDBTransactionImpl.h:
1891         
1892         * Modules/indexeddb/client/TransactionOperation.h:
1893         (WebCore::IDBClient::TransactionOperation::completed):
1894         (WebCore::IDBClient::createTransactionOperation):
1895         
1896         * Modules/indexeddb/server/IDBBackingStore.h:
1897         
1898         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
1899         (WebCore::IDBServer::IDBConnectionToClient::didDeleteObjectStore):
1900         * Modules/indexeddb/server/IDBConnectionToClient.h:
1901         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
1902         
1903         * Modules/indexeddb/server/IDBServer.cpp:
1904         (WebCore::IDBServer::IDBServer::deleteObjectStore):
1905         * Modules/indexeddb/server/IDBServer.h:
1906         
1907         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
1908         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
1909         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
1910         (WebCore::IDBServer::MemoryBackingStoreTransaction::finish):
1911         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
1912         
1913         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1914         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
1915         (WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
1916         (WebCore::IDBServer::MemoryIDBBackingStore::restoreObjectStoreForVersionChangeAbort):
1917         (WebCore::IDBServer::MemoryIDBBackingStore::takeObjectStoreByName):
1918         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1919         
1920         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1921         (WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
1922         (WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
1923         (WebCore::IDBServer::UniqueIDBDatabase::performDeleteObjectStore):
1924         (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteObjectStore):
1925         (WebCore::IDBServer::UniqueIDBDatabase::createObjectStore): Deleted.
1926         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1927         
1928         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
1929         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didDeleteObjectStore):
1930         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
1931         
1932         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1933         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
1934         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1935         
1936         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
1937         (WebCore::IDBDatabaseInfo::deleteObjectStore):
1938         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
1939         
1940         * Modules/indexeddb/shared/IDBResultData.cpp:
1941         (WebCore::IDBResultData::deleteObjectStoreSuccess):
1942         * Modules/indexeddb/shared/IDBResultData.h:
1943         
1944         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1945         (WebCore::InProcessIDBServer::didDeleteObjectStore):
1946         (WebCore::InProcessIDBServer::deleteObjectStore):
1947         * Modules/indexeddb/shared/InProcessIDBServer.h:
1948
1949 2015-10-29  Simon Fraser  <simon.fraser@apple.com>
1950
1951         Very slow typing on pages with wheel event handlers on the body, and deep content
1952         https://bugs.webkit.org/show_bug.cgi?id=150692
1953         rdar://problem/23242631
1954
1955         Reviewed by Zalan Bujtas.
1956         
1957         On a large page with a wheel event handler on the body, we would call
1958         Element::absoluteEventHandlerBounds() for every element under the body,
1959         and compute an absolute bounds for each one. This is very slow.
1960         
1961         For now, optimize computing a region for the <body> by just using the document
1962         bounds, which will always be as big or larger. It's OK for this region to
1963         be an overestimate.
1964
1965         * dom/Document.cpp:
1966         (WebCore::Document::absoluteRegionForEventTargets):
1967
1968 2015-10-29  Wenson Hsieh  <wenson_hsieh@apple.com>
1969
1970         Date input values should not overlap with menu list dropdown button on iOS
1971         https://bugs.webkit.org/show_bug.cgi?id=150681
1972         <rdar://problem/19965078>
1973
1974         Reviewed by Zalan Bujtas.
1975
1976         Adds a right margin on iOS date and time inputs so that the inner div does
1977         not render the value of the date on top of the dropdown button on the right
1978         of the menu list.
1979
1980         Tests: fast/forms/date/date-input-rendering-basic.html
1981                fast/forms/time/time-input-rendering-basic.html
1982
1983         * css/html.css:
1984         (input::-webkit-date-and-time-value):
1985
1986 2015-10-29  Alex Christensen  <achristensen@webkit.org>
1987
1988         Fix Mac CMake build
1989         https://bugs.webkit.org/show_bug.cgi?id=150686
1990
1991         Reviewed by Filip Pizlo.
1992
1993         * PlatformMac.cmake:
1994
1995 2015-10-29  Csaba Osztrogonác  <ossy@webkit.org>
1996
1997         One more URTBF after r191731.
1998
1999         * rendering/svg/RenderSVGResourcePattern.cpp:
2000
2001 2015-10-29  Csaba Osztrogonác  <ossy@webkit.org>
2002
2003         URTBF after r191731.
2004
2005         * rendering/svg/RenderSVGResourcePattern.cpp:
2006
2007 2015-10-29  Zalan Bujtas  <zalan@apple.com>
2008
2009         Fix ENABLE(TREE_DEBUGGING) release build.
2010
2011         Unreviewed build fix.
2012
2013         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2014         * dom/Position.cpp:
2015
2016 2015-10-29  Beth Dakin  <bdakin@apple.com>
2017
2018         Overlay scrollbars disappear during manual drag-scroll
2019         https://bugs.webkit.org/show_bug.cgi?id=150646
2020         -and corresponding-
2021         rdar://problem/23145734
2022
2023         Reviewed by Tim Horton.
2024
2025         New ScrollAnimator function so that we can tell the ScrollbarPainter whether 
2026         or not the mouse is tracking the scrollbar.
2027         * platform/ScrollAnimator.h:
2028         (WebCore::ScrollAnimator::ScrollAnimator::mouseIsDownInScrollbar):
2029         * platform/ScrollableArea.cpp:
2030         (WebCore::ScrollableArea::mouseIsDownInScrollbar):
2031         * platform/ScrollableArea.h:
2032
2033         Call into the new ScrollAnimator function of mouseDown and mouseUp.
2034         * platform/Scrollbar.cpp:
2035         (WebCore::Scrollbar::mouseUp):
2036         (WebCore::Scrollbar::mouseDown):
2037
2038         Add setTracking to the ScrollbarPainter.
2039         * platform/mac/NSScrollerImpDetails.h:
2040
2041         Implement mouseIsDownInScrollbar to call setTracking appropriately and to set 
2042         begin/endScrollGesture since drag scrolling does not normally trigger that 
2043         state change.
2044         * platform/mac/ScrollAnimatorMac.h:
2045         * platform/mac/ScrollAnimatorMac.mm:
2046         (WebCore::ScrollAnimatorMac::mouseIsDownInScrollbar):
2047
2048 2015-10-29  Eric Carlson  <eric.carlson@apple.com>
2049
2050         MediaPlayer::getSupportedTypes only returns types from the last engine registered
2051         https://bugs.webkit.org/show_bug.cgi?id=150669
2052
2053         Reviewed by Jer Noble.
2054
2055         No new tests, fixes existing tests.
2056
2057         * platform/graphics/MediaPlayer.cpp:
2058         (WebCore::MediaPlayer::getSupportedTypes):
2059         (WebCore::MediaPlayer::isAvailable):
2060
2061 2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>
2062
2063         Web Inspector: Clean up and audit TimelineRecordFactory records
2064         https://bugs.webkit.org/show_bug.cgi?id=150660
2065
2066         Reviewed by Brian Burg.
2067
2068         Cleanup included removing unused methods and payload data that the
2069         frontend wasn't likely to use. Also added ASCIILiteral and removed
2070         unnecessary includes.
2071
2072         * inspector/InspectorNetworkAgent.cpp:
2073         * inspector/InspectorPageAgent.cpp:
2074         * inspector/InspectorTimelineAgent.cpp:
2075         (WebCore::InspectorTimelineAgent::willLayout):
2076         * inspector/InspectorTimelineAgent.h:
2077         * inspector/TimelineRecordFactory.cpp:
2078         (WebCore::TimelineRecordFactory::createGenericRecord):
2079         (WebCore::TimelineRecordFactory::createFunctionCallData):
2080         (WebCore::TimelineRecordFactory::createConsoleProfileData):
2081         (WebCore::TimelineRecordFactory::createEventDispatchData):
2082         (WebCore::TimelineRecordFactory::createGenericTimerData):
2083         (WebCore::TimelineRecordFactory::createTimerInstallData):
2084         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
2085         (WebCore::TimelineRecordFactory::createTimeStampData):
2086         (WebCore::TimelineRecordFactory::createParseHTMLData):
2087         (WebCore::TimelineRecordFactory::createAnimationFrameData):
2088         (WebCore::TimelineRecordFactory::createPaintData):
2089         (WebCore::TimelineRecordFactory::appendLayoutRoot):
2090         (WebCore::TimelineRecordFactory::createBackgroundRecord): Deleted.
2091         (WebCore::TimelineRecordFactory::createLayoutData): Deleted.
2092         * inspector/TimelineRecordFactory.h:
2093         (WebCore::TimelineRecordFactory::TimelineRecordFactory):
2094
2095 2015-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
2096
2097         Exploitable crash happens when an SVG contains an indirect resource inheritance cycle
2098         https://bugs.webkit.org/show_bug.cgi?id=150203
2099
2100         Reviewed by Brent Fulgham.
2101
2102         Detecting cycles in SVG resource references happens in two places.
2103         1. In SVGResourcesCycleSolver::resolveCycles() which it is called from 
2104            SVGResourcesCache::addResourcesFromRenderer(). When a cycle is deleted,
2105            SVGResourcesCycleSolver::breakCycle() is called to break the link. In
2106            the case of a cyclic resource inheritance, SVGResources::resetLinkedResource()
2107            is called to break this cycle.
2108         2. SVGPatternElement::collectPatternAttributes() which is called from
2109            RenderSVGResourcePattern::buildPattern(). The purpose is to resolve
2110            the pattern attributes and to build a tile image which can be used to
2111            fill the SVG element renderer. Detecting the cyclic resource reference
2112            in this function is not sufficient and can detect simple cycles like
2113             <pattern id="a" xlink:href="#b"/>
2114             <pattern id="b" xlink:href="#a"/>.
2115            But it does not detect cycles like:
2116             <pattern id="a">
2117                 <rect fill="url(#b)"/>
2118             </pattern>
2119             <pattern id="b" xlink:href="#a"/>.
2120    
2121         The fix is to get rid of SVGPatternElement::collectPatternAttributes() which
2122         uses SVGURIReference::targetElementFromIRIString() to navigates through the
2123         referenced resource elements and tries to detect cycles. Instead we can
2124         implement RenderSVGResourcePattern::collectPatternAttributes() which calls
2125         SVGResourcesCache::cachedResourcesForRenderer() to get the SVGResources
2126         of the pattern. Then we use SVGResources::linkedResource() to navigate the
2127         resource inheritance tree. The cached SVGResources is guaranteed to be free
2128         of cycles.
2129
2130         Tests: svg/custom/pattern-content-inheritance-cycle.svg
2131
2132         * rendering/svg/RenderSVGResourcePattern.cpp:
2133         (WebCore::RenderSVGResourcePattern::collectPatternAttributes):
2134         Collect the pattern attributes through the cachedResourcesForRenderer().
2135         
2136         (WebCore::RenderSVGResourcePattern::buildPattern):
2137         Direct the call to the renderer function.
2138         
2139         * rendering/svg/RenderSVGResourcePattern.h:
2140         
2141         * rendering/svg/RenderSVGRoot.cpp:
2142         (WebCore::RenderSVGRoot::layout):
2143         RenderSVGRoot needs to call SVGResourcesCache::clientStyleChanged() for all
2144         the invalidated resources. If an attribute of an SVG resource was updated
2145         dynamically, the cached SVGResources associated with the renderer of this
2146         resource was stale.
2147         
2148         * rendering/svg/SVGRenderTreeAsText.cpp:
2149         (WebCore::writeSVGResourceContainer):
2150         Direct the call to the renderer function.        
2151         
2152         * svg/SVGPatternElement.cpp:
2153         (WebCore::SVGPatternElement::collectPatternAttributes):
2154         (WebCore::setPatternAttributes): Deleted.
2155         collectPatternAttributes() is a replacement of setPatternAttributes().
2156         
2157 2015-10-29  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2158
2159         [Streams API] Turn WS states into integers and fix state initialization
2160         https://bugs.webkit.org/show_bug.cgi?id=150667
2161
2162         Reviewed by Youenn Fablet.
2163
2164         The goal of this patch is turning the writable stream states into integers instead of strings.
2165
2166         First readable stream states were reworked to be shared with writable stream too, they are now just @stream*.
2167
2168         Next step was having writable stream using integers instead of strings and translating those integers back to
2169         strings to be able to return them correctly with the writable stream state attribute.
2170
2171         The state initialization was fixed and now it is not needed to check for the state to be undefined.
2172
2173         Rework, no new tests needed.
2174
2175         * Modules/streams/ReadableStream.js:
2176         (initializeReadableStream):
2177         * Modules/streams/ReadableStreamController.js:
2178         (enqueue):
2179         (error):
2180         (close):
2181         * Modules/streams/ReadableStreamInternals.js:
2182         (privateInitializeReadableStreamReader):
2183         (errorReadableStream):
2184         (cancelReadableStream):
2185         (finishClosingReadableStream):
2186         (closeReadableStream):
2187         (closeReadableStreamReader):
2188         (enqueueInReadableStream):
2189         (readFromReadableStreamReader):
2190         * Modules/streams/ReadableStreamReader.js:
2191         (cancel):
2192         * Modules/streams/WritableStream.js:
2193         (initializeWritableStream):
2194         (abort):
2195         (close):
2196         (write):
2197         (state):
2198         * Modules/streams/WritableStreamInternals.js:
2199         (syncWritableStreamStateWithQueue):
2200         (errorWritableStream):
2201         * bindings/js/JSDOMWindowBase.cpp:
2202         (WebCore::JSDOMWindowBase::finishCreation):
2203         * bindings/js/WebCoreBuiltinNames.h:
2204
2205 2015-10-28  Brady Eidson  <beidson@apple.com>
2206
2207         Modern IDB: Support IDBDatabase.transaction() (and transaction scheduling in general).
2208         https://bugs.webkit.org/show_bug.cgi?id=150614
2209
2210         Reviewed by Alex Christensen.
2211
2212         Tests: storage/indexeddb/modern/idbdatabase-transaction-failures.html
2213                storage/indexeddb/modern/transaction-scheduler-1.html
2214                storage/indexeddb/modern/transaction-scheduler-2.html
2215                storage/indexeddb/modern/transaction-scheduler-3.html
2216                storage/indexeddb/modern/transaction-scheduler-4.html
2217                storage/indexeddb/modern/transaction-scheduler-5.html
2218                storage/indexeddb/modern/transaction-scheduler-6.html
2219
2220         * Modules/indexeddb/IDBDatabase.idl:
2221
2222         * Modules/indexeddb/IndexedDB.h:
2223
2224         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2225         (WebCore::IDBClient::IDBConnectionToServer::establishTransaction):
2226         (WebCore::IDBClient::IDBConnectionToServer::didStartTransaction):
2227         (WebCore::IDBClient::IDBConnectionToServer::hasRecordOfTransaction):
2228         * Modules/indexeddb/client/IDBConnectionToServer.h:
2229         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2230
2231         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
2232         (WebCore::IDBClient::IDBDatabase::transaction):
2233         (WebCore::IDBClient::IDBDatabase::didStartTransaction):
2234         * Modules/indexeddb/client/IDBDatabaseImpl.h:
2235
2236         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2237         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
2238         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
2239         (WebCore::IDBClient::IDBTransaction::didStart):
2240         (WebCore::IDBClient::IDBTransaction::establishOnServer):
2241         (WebCore::IDBClient::IDBTransaction::activate):
2242         (WebCore::IDBClient::IDBTransaction::deactivate):
2243         * Modules/indexeddb/client/IDBTransactionImpl.h:
2244
2245         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2246         (WebCore::IDBServer::IDBConnectionToClient::didStartTransaction):
2247         * Modules/indexeddb/server/IDBConnectionToClient.h:
2248         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2249
2250         * Modules/indexeddb/server/IDBServer.cpp:
2251         (WebCore::IDBServer::IDBServer::establishTransaction):
2252         * Modules/indexeddb/server/IDBServer.h:
2253
2254         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2255         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
2256         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
2257         (WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
2258         (WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
2259         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord):
2260         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
2261         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
2262         (WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore):
2263         (WebCore::IDBServer::MemoryIDBBackingStore::unregisterObjectStore):
2264         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2265
2266         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2267         (WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
2268         (WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
2269         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction):
2270         (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
2271         (WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
2272         (WebCore::IDBServer::UniqueIDBDatabase::transactionSchedulingTimerFired):
2273         (WebCore::IDBServer::UniqueIDBDatabase::activateTransactionInBackingStore):
2274         (WebCore::IDBServer::UniqueIDBDatabase::performActivateTransactionInBackingStore):
2275         (WebCore::IDBServer::UniqueIDBDatabase::didPerformActivateTransactionInBackingStore):
2276         (WebCore::IDBServer::scopesOverlap):
2277         (WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction):
2278         (WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted):
2279         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2280
2281         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
2282         (WebCore::IDBServer::UniqueIDBDatabaseConnection::establishTransaction):
2283         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
2284
2285         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2286         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::create):
2287         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
2288         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers):
2289         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::didActivateInBackingStore):
2290         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2291         
2292         * Modules/indexeddb/shared/IDBTransactionInfo.cpp:
2293         (WebCore::IDBTransactionInfo::clientTransaction):
2294         (WebCore::IDBTransactionInfo::isolatedCopy):
2295         * Modules/indexeddb/shared/IDBTransactionInfo.h:
2296         
2297         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2298         (WebCore::InProcessIDBServer::establishTransaction):
2299         (WebCore::InProcessIDBServer::didStartTransaction):
2300         * Modules/indexeddb/shared/InProcessIDBServer.h:
2301         
2302         * bindings/js/IDBBindingUtilities.cpp:
2303         (WebCore::deserializeIDBValueData):
2304         
2305         * bindings/js/JSIDBDatabaseCustom.cpp:
2306         (WebCore::JSIDBDatabase::transaction):
2307         
2308         * bindings/js/ScriptState.cpp:
2309         (WebCore::execStateFromPage):
2310
2311 2015-10-28  Eric Carlson  <eric.carlson@apple.com>
2312
2313         [MediaStream] Play MediaStream through media element and rendered to canvas
2314         https://bugs.webkit.org/show_bug.cgi?id=150449
2315
2316         Reviewed by Jer Noble.
2317
2318         * Modules/mediastream/MediaStream.cpp:
2319         (WebCore::MediaStream::create): Don't die a recursive death.
2320         (WebCore::MediaStream::MediaStream): setClient -> addObserver. Set private stream's public stream pointer.
2321         (WebCore::MediaStream::~MediaStream): setClient -> addObserver. Clear private stream's public stream pointer.
2322         (WebCore::MediaStream::didAddTrack): Short circuit calling internalAddTrack when the track is unknown.
2323         (WebCore::MediaStream::didRemoveTrack): ASSERT that the track is known.
2324         * Modules/mediastream/MediaStream.h:
2325
2326         * Modules/mediastream/MediaStreamTrack.cpp:
2327         (WebCore::MediaStreamTrack::trackProducingDataChanged): New.
2328         (WebCore::MediaStreamTrack::trackEnabledChanged): New.
2329         * Modules/mediastream/MediaStreamTrack.h:
2330
2331         * Modules/mediastream/RTCPeerConnection.cpp:
2332         (WebCore::RTCPeerConnection::didRemoveRemoteStream): Use the new MediaStreamPrivate::publicStream() method.
2333
2334         * Modules/webaudio/MediaStreamAudioSource.cpp:
2335 ]        (WebCore::MediaStreamAudioSource::capabilities): capabilities isn't const.
2336         * Modules/webaudio/MediaStreamAudioSource.h:
2337
2338         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2339         (WebCore::MediaStreamAudioSourceNode::setFormat): Reformat to make it use early return.
2340
2341         * WebCore.xcodeproj/project.pbxproj: Remove MediaStreamPrivateAVFObjC.mm/h, they are no longer necessary.
2342
2343         * platform/graphics/MediaPlayer.cpp:
2344         (WebCore::buildMediaEnginesVector): Register MediaPlayerPrivateMediaStreamAVFObjC engine.
2345
2346         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2347         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2348         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC): Cleanup, add logging.
2349         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC): Add
2350           logging, remove private stream observer.
2351         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::registerMediaEngine): Cleanup.
2352         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::isAvailable): Ditto.
2353         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::getSupportedTypes): Return an empty vector.
2354         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Use the MediaStreamPrivate passed instead
2355           of creating a new private stream. 
2356         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause output.
2357         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::prepareToPlay): Add logging.
2358         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): m_previewLayer -> m_videoBackgroundLayer.
2359         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setPausedImageVisible): New, show/hide the preview layer and configure
2360           the background layer so we show a still image even though the capture device continues to run. Start/stop clock.
2361         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Don't need to start the source, that happens in in load. Just
2362           set flags and hide the paused image.
2363         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Don't stop the source, it may be shared by more than one 
2364           stream/track. Just set the playing flag and show the paused image.
2365         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paused): Fix.
2366         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::internalSetVolume): New, called by setMuted and setVolume.
2367         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume): New.
2368         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Don't mute the source, it doesn't do what you think.
2369         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Pass-through to stream.
2370         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto.
2371         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime): Return clock time.
2372         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): New.
2373         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Update readyState.
2374         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateIntrinsicSize): Update intrinsic size, create layers if necessary.
2375         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createPreviewLayers): Create preview layers.
2376         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Update for changed characteristics.
2377         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::seekable): 'seekable' must return an empty TimeRanges object.
2378         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext): New.
2379         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):
2380         (WebCore::mimeTypeCache): Deleted.
2381         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformMedia): Deleted.
2382         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Deleted.
2383         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Deleted.
2384         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::sizeChanged): Deleted.
2385         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::maxMediaTimeSeekable): Deleted.
2386         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::minMediaTimeSeekable): Deleted.
2387         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createImageFromSampleBuffer): Deleted.
2388         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsAcceleratedRendering): Deleted.
2389         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::movieLoadType): Deleted.
2390         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::extraMemoryCost): Deleted.
2391
2392         Delete MediaStreamPrivateAVFObjC.mm/.h as they aren't necessary. 
2393         * platform/graphics/avfoundation/objc/MediaStreamPrivateAVFObjC.h: Removed.
2394         * platform/graphics/avfoundation/objc/MediaStreamPrivateAVFObjC.mm: Removed.
2395
2396         * platform/mediastream/MediaStreamPrivate.cpp:
2397         (WebCore::MediaStreamPrivate::MediaStreamPrivate): Add track observer!
2398         (WebCore::MediaStreamPrivate::addObserver): New.
2399         (WebCore::MediaStreamPrivate::removeObserver): New.
2400         (WebCore::MediaStreamPrivate::updateActiveState): Remember the first active video track.
2401         (WebCore::MediaStreamPrivate::addTrack): Notify observers.
2402         (WebCore::MediaStreamPrivate::removeTrack): Ditto.
2403         (WebCore::MediaStreamPrivate::startProducingData): Pass-through to tracks.
2404         (WebCore::MediaStreamPrivate::stopProducingData): Ditto.
2405         (WebCore::MediaStreamPrivate::isProducingData): Ditto.
2406         (WebCore::MediaStreamPrivate::hasVideo): Ditto.
2407         (WebCore::MediaStreamPrivate::hasAudio): Ditto.
2408         (WebCore::MediaStreamPrivate::platformLayer): Ditto.
2409         (WebCore::MediaStreamPrivate::paintCurrentFrameInContext): Either pass-through to first active video
2410           track, or paint the context black.
2411         (WebCore::MediaStreamPrivate::currentFrameImage): Pass-through to first active video track.
2412         (WebCore::MediaStreamPrivate::characteristicsChanged): Inform observers.
2413         (WebCore::MediaStreamPrivate::trackMutedChanged):
2414         (WebCore::MediaStreamPrivate::trackStatesChanged):
2415         (WebCore::MediaStreamPrivate::trackEnabledChanged):
2416         (WebCore::MediaStreamPrivate::trackProducingDataChanged):
2417         (WebCore::MediaStreamPrivate::scheduleDeferredTask): New, call a function asynchronously on
2418           the main thread.
2419         * platform/mediastream/MediaStreamPrivate.h:
2420
2421         * platform/mediastream/MediaStreamTrackPrivate.cpp:
2422         (WebCore::MediaStreamTrackPrivate::endTrack):
2423         (WebCore::MediaStreamTrackPrivate::sourceProducingDataChanged): New, inform observers.
2424         (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Ditto.
2425         * platform/mediastream/MediaStreamTrackPrivate.h:
2426
2427         * platform/mediastream/RealtimeMediaSource.cpp:
2428         (WebCore::RealtimeMediaSource::isProducingDataDidChange): New, inform observers.
2429         (WebCore::RealtimeMediaSource::setEnabled): Ditto.
2430         (WebCore::RealtimeMediaSource::stop): Call reset();
2431         * platform/mediastream/RealtimeMediaSource.h: Don't declare "capabilities" as const so 
2432           capabilities can be created and initialized lazily.
2433
2434         * platform/mediastream/mac/AVAudioCaptureSource.h:
2435         * platform/mediastream/mac/AVAudioCaptureSource.mm:
2436         (WebCore::AVAudioCaptureSource::initializeCapabilities): New.
2437         (WebCore::AVAudioCaptureSource::addObserver): Hold the lock while calling observers so the list
2438           can't be mutated.
2439         (WebCore::AVAudioCaptureSource::setupCaptureSession): Log and fail if the session won't add the
2440           input or output.
2441         (WebCore::AVAudioCaptureSource::shutdownCaptureSession): Cleanup.
2442         (WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't block
2443           if it isn't possible to acquire the lock. Hold the lock while calling observers.
2444         (WebCore::AVAudioCaptureSource::capabilities): Deleted.
2445
2446         * platform/mediastream/mac/AVCaptureDeviceManager.mm:
2447         (WebCore::refreshCaptureDeviceList): Don't include devices that can't be used.
2448         (WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):  Use AVCaptureDeviceManager::sourceWithUID
2449           so constraints are considered.
2450         (WebCore::AVCaptureDeviceManager::sourceWithUID): Don't consider disabled devices. Always
2451           create a new capture device so each track starts out with a unique source.
2452         * platform/mediastream/mac/AVMediaCaptureSource.h:
2453
2454         * platform/mediastream/mac/AVMediaCaptureSource.mm:
2455         (WebCore::globaAudioCaptureSerialQueue):
2456         (WebCore::AVMediaCaptureSource::AVMediaCaptureSource):
2457         (WebCore::AVMediaCaptureSource::~AVMediaCaptureSource): Remove KVO observers.
2458         (WebCore::AVMediaCaptureSource::startProducingData): m_isRunning is changed in captureSessionIsRunningDidChange.
2459         (WebCore::AVMediaCaptureSource::stopProducingData): Ditto.
2460         (WebCore::AVMediaCaptureSource::capabilities): New.
2461         (WebCore::AVMediaCaptureSource::setupSession): Add KVObservers for the properties we care about.
2462         (WebCore::AVMediaCaptureSource::reset): New, cleanup.
2463         (WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Dispatch to the main thread 
2464           to set m_isRunning, call isProducingDataDidChange so observers can find out.
2465         (WebCore::sessionKVOProperties):
2466         (-[WebCoreAVMediaCaptureSourceObserver disconnect]):
2467         (-[WebCoreAVMediaCaptureSourceObserver captureOutput:didOutputSampleBuffer:fromConnection:]):
2468         (-[WebCoreAVMediaCaptureSourceObserver observeValueForKeyPath:ofObject:change:context:]): Respond
2469           to running changes.
2470         (WebCore::AVMediaCaptureSource::captureSessionStoppedRunning): Deleted.
2471         (-[WebCoreAVMediaCaptureSourceObserver captureSessionStoppedRunning:]): Deleted.
2472
2473         * platform/mediastream/mac/AVVideoCaptureSource.h:
2474         * platform/mediastream/mac/AVVideoCaptureSource.mm:
2475         (WebCore::AVVideoCaptureSource::initializeCapabilities): Partial implementation.
2476         (WebCore::AVVideoCaptureSource::setupCaptureSession):  Log and fail if the session won't add the
2477           input or output.
2478         (WebCore::AVVideoCaptureSource::shutdownCaptureSession): Cleanup.
2479         (WebCore::AVVideoCaptureSource::updateFramerate): Renamed from calculateFramerate.
2480         (WebCore::AVVideoCaptureSource::currentFrameImage): Return an Image.
2481         (WebCore::AVVideoCaptureSource::platformLayer): New.
2482         (WebCore::AVVideoCaptureSource::capabilities): Deleted.
2483         (WebCore::AVVideoCaptureSource::calculateFramerate): Deleted.
2484
2485         * platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
2486         * platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
2487         (WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC): AudioConverterRef is
2488           not a CF/ObjC object so we can't use a RetainPtr<> for it.
2489         (WebCore::WebAudioSourceProviderAVFObjC::provideInput): Ditto.
2490         (WebCore::WebAudioSourceProviderAVFObjC::prepare): Ditto.
2491         (WebCore::WebAudioSourceProviderAVFObjC::unprepare): Ditto.
2492         (WebCore::WebAudioSourceProviderAVFObjC::process): Fix typo in logging.
2493
2494         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
2495         (WebCore::MockSource::capabilities): Update for capabilities change.
2496
2497         * platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h: Update for capabilities change.
2498
2499 2015-10-28  Chris Dumez  <cdumez@apple.com>
2500
2501         Regression(r191673): [WIN][EFL][GTK] layout tests using data URLs time out
2502         https://bugs.webkit.org/show_bug.cgi?id=150661
2503
2504         Reviewed by Gyuyoung Kim.
2505
2506         Do a partial revert of r191673. For some reason, using a Timer in
2507         DataURLDecoder does not work (it does not fire). Since non COCOA ports
2508         don't support RunLoopTimer, this patch reintroduces the use of
2509         callOnMainThread() on non-COCOA ports.
2510
2511         * platform/network/DataURLDecoder.cpp:
2512         (WebCore::DataURLDecoder::decode):
2513         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer): Deleted.
2514
2515 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
2516
2517         Web Inspector: Rename InspectorResourceAgent to InspectorNetworkAgent
2518         https://bugs.webkit.org/show_bug.cgi?id=150654
2519
2520         Reviewed by Geoffrey Garen.
2521
2522         * CMakeLists.txt:
2523         * WebCore.vcxproj/WebCore.vcxproj:
2524         * WebCore.vcxproj/WebCore.vcxproj.filters:
2525         * WebCore.xcodeproj/project.pbxproj:
2526         * inspector/InspectorAllInOne.cpp:
2527         * inspector/InspectorController.cpp:
2528         (WebCore::InspectorController::InspectorController):
2529         * inspector/InspectorController.h:
2530         * inspector/InspectorDOMDebuggerAgent.h:
2531         * inspector/InspectorFrontendClient.h:
2532         * inspector/InspectorInstrumentation.cpp:
2533         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
2534         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
2535         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
2536         (WebCore::InspectorInstrumentation::willSendRequestImpl):
2537         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
2538         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
2539         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
2540         (WebCore::InspectorInstrumentation::didReceiveDataImpl):
2541         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
2542         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
2543         (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
2544         (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
2545         (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
2546         (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
2547         (WebCore::InspectorInstrumentation::scriptImportedImpl):
2548         (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
2549         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2550         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
2551         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
2552         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
2553         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
2554         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
2555         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
2556         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
2557         (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
2558         * inspector/InspectorLayerTreeAgent.h:
2559         * inspector/InspectorNetworkAgent.cpp: Renamed from Source/WebCore/inspector/InspectorResourceAgent.cpp.
2560         (WebCore::InspectorNetworkAgent::InspectorNetworkAgent):
2561         (WebCore::InspectorNetworkAgent::didCreateFrontendAndBackend):
2562         (WebCore::InspectorNetworkAgent::willDestroyFrontendAndBackend):
2563         (WebCore::buildObjectForHeaders):
2564         (WebCore::buildObjectForTiming):
2565         (WebCore::buildObjectForResourceRequest):
2566         (WebCore::buildObjectForResourceResponse):
2567         (WebCore::buildObjectForCachedResource):
2568         (WebCore::InspectorNetworkAgent::~InspectorNetworkAgent):
2569         (WebCore::InspectorNetworkAgent::timestamp):
2570         (WebCore::InspectorNetworkAgent::willSendRequest):
2571         (WebCore::InspectorNetworkAgent::markResourceAsCached):
2572         (WebCore::InspectorNetworkAgent::didReceiveResponse):
2573         (WebCore::isErrorStatusCode):
2574         (WebCore::InspectorNetworkAgent::didReceiveData):
2575         (WebCore::InspectorNetworkAgent::didFinishLoading):
2576         (WebCore::InspectorNetworkAgent::didFailLoading):
2577         (WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
2578         (WebCore::InspectorNetworkAgent::setInitialScriptContent):
2579         (WebCore::InspectorNetworkAgent::didReceiveScriptResponse):
2580         (WebCore::InspectorNetworkAgent::didFinishXHRLoading):
2581         (WebCore::InspectorNetworkAgent::didReceiveXHRResponse):
2582         (WebCore::InspectorNetworkAgent::willLoadXHRSynchronously):
2583         (WebCore::InspectorNetworkAgent::didLoadXHRSynchronously):
2584         (WebCore::InspectorNetworkAgent::willDestroyCachedResource):
2585         (WebCore::InspectorNetworkAgent::willRecalculateStyle):
2586         (WebCore::InspectorNetworkAgent::didRecalculateStyle):
2587         (WebCore::InspectorNetworkAgent::didScheduleStyleRecalculation):
2588         (WebCore::InspectorNetworkAgent::buildInitiatorObject):
2589         (WebCore::InspectorNetworkAgent::didCreateWebSocket):
2590         (WebCore::InspectorNetworkAgent::willSendWebSocketHandshakeRequest):
2591         (WebCore::InspectorNetworkAgent::didReceiveWebSocketHandshakeResponse):
2592         (WebCore::InspectorNetworkAgent::didCloseWebSocket):
2593         (WebCore::InspectorNetworkAgent::didReceiveWebSocketFrame):
2594         (WebCore::InspectorNetworkAgent::didSendWebSocketFrame):
2595         (WebCore::InspectorNetworkAgent::didReceiveWebSocketFrameError):
2596         (WebCore::InspectorNetworkAgent::enable):
2597         (WebCore::InspectorNetworkAgent::disable):
2598         (WebCore::InspectorNetworkAgent::setExtraHTTPHeaders):
2599         (WebCore::InspectorNetworkAgent::getResponseBody):
2600         (WebCore::InspectorNetworkAgent::setCacheDisabled):
2601         (WebCore::InspectorNetworkAgent::loadResource):
2602         (WebCore::InspectorNetworkAgent::mainFrameNavigated):
2603         * inspector/InspectorNetworkAgent.h: Renamed from Source/WebCore/inspector/InspectorResourceAgent.h.
2604         * inspector/InspectorPageAgent.h:
2605         * inspector/InstrumentingAgents.cpp:
2606         (WebCore::InstrumentingAgents::reset):
2607         * inspector/InstrumentingAgents.h:
2608         (WebCore::InstrumentingAgents::inspectorNetworkAgent):
2609         (WebCore::InstrumentingAgents::setInspectorNetworkAgent):
2610         (WebCore::InstrumentingAgents::inspectorResourceAgent): Deleted.
2611         (WebCore::InstrumentingAgents::setInspectorResourceAgent): Deleted.
2612         * inspector/NetworkResourcesData.h:
2613
2614 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
2615
2616         Web Inspector: Remove unused / duplicate WebSocket timeline records
2617         https://bugs.webkit.org/show_bug.cgi?id=150647
2618
2619         Reviewed by Timothy Hatcher.
2620
2621         * Modules/websockets/WebSocketChannel.cpp:
2622         (WebCore::WebSocketChannel::connect):
2623         Only send what is needed by inspector now.
2624
2625         * inspector/InspectorInstrumentation.h:
2626         (WebCore::InspectorInstrumentation::didCreateWebSocket):
2627         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
2628         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
2629         (WebCore::InspectorInstrumentation::didCloseWebSocket):
2630         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
2631         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
2632         (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
2633         These can all fast return if there is no frontend because the inspector
2634         doesn't record any information about web sockets until a frontend is connected.
2635         The inspector in this case just sends events to the frontend when things happen.
2636
2637         * inspector/InspectorInstrumentation.cpp:
2638         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
2639         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
2640         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
2641         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
2642         Stop messaging the Timeline agent, we already message the Resource agent.
2643
2644         * inspector/InspectorTimelineAgent.cpp:
2645         (WebCore::InspectorTimelineAgent::didCreateWebSocket): Deleted.
2646         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest): Deleted.
2647         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse): Deleted.
2648         (WebCore::InspectorTimelineAgent::didDestroyWebSocket): Deleted.
2649         * inspector/InspectorTimelineAgent.h:
2650         * inspector/TimelineRecordFactory.h:
2651         (WebCore::TimelineRecordFactory::createWebSocketCreateData): Deleted.
2652         (WebCore::TimelineRecordFactory::createGenericWebSocketData): Deleted.
2653         This is all duplicate information from the network domain.
2654
2655 2015-10-28  Andy Estes  <aestes@apple.com>
2656
2657         [Content Filtering] Crash when allowing a 0-byte resource to load
2658         https://bugs.webkit.org/show_bug.cgi?id=150644
2659         <rdar://problem/23288538>
2660
2661         Reviewed by Darin Adler.
2662
2663         Test: contentfiltering/allow-empty-document.html
2664
2665         * loader/ContentFilter.cpp:
2666         (WebCore::ContentFilter::deliverResourceData): resourceBuffer will be null if the resource contained no data.
2667
2668 2015-10-28  Chris Dumez  <cdumez@apple.com>
2669
2670         Assertion failure in WebCore::FrameLoader::stopLoading() running fast/events tests
2671         https://bugs.webkit.org/show_bug.cgi?id=150624
2672
2673         Reviewed by Darin Adler.
2674
2675         After r191652, a form's target attribute can no longer refer to a frame's id,
2676         only its name. This is because the frame's id no longer sets the Window name
2677         when the frame's name attribute is missing. This caused a change in behavior
2678         for the fast/events/form-iframe-target-before-load-crash*.html tests, which
2679         exposed a pre-existing bug.
2680
2681         This patch updates the fast/events/form-iframe-target-before-load-crash*.html
2682         tests so they keep testing the same thing as before r191652. It also adds a
2683         variant to keep covering the newly exposed bug.
2684
2685         The issue was that the frame was no longer navigated when submitting the form
2686         (due to the form's target not matching the frame name). Therefore, when
2687         removing the iframe from the document, its navigation has not started yet and
2688         DocumentLoadTiming::navigationStart() is not initialized yet when
2689         FrameLoader::stopLoading() is called and we hit an assertion. This patch
2690         replaces the assertion with an if check as we now know it can happen and we
2691         have test coverage for it.
2692
2693         Test: fast/events/form-iframe-target-before-load-crash.html
2694
2695         * loader/FrameLoader.cpp:
2696         (WebCore::FrameLoader::stopLoading):
2697
2698 2015-10-28  Brian Burg  <bburg@apple.com>
2699
2700         Builtins generator should emit ENABLE(FEATURE) guards based on @conditional annotation
2701         https://bugs.webkit.org/show_bug.cgi?id=150536
2702
2703         Reviewed by Yusuke Suzuki.
2704
2705         Replace @optional=FEATURE with @conditional=ENABLE(FEATURE) in builtins files.
2706
2707         * Modules/streams/ByteLengthQueuingStrategy.js:
2708         * Modules/streams/CountQueuingStrategy.js:
2709         * Modules/streams/ReadableStream.js:
2710         * Modules/streams/ReadableStreamController.js:
2711         * Modules/streams/ReadableStreamInternals.js:
2712         * Modules/streams/ReadableStreamReader.js:
2713         * Modules/streams/StreamInternals.js:
2714         * Modules/streams/WritableStream.js:
2715         * Modules/streams/WritableStreamInternals.js:
2716
2717 2015-10-28  Zalan Bujtas  <zalan@apple.com>
2718
2719         Should never be reached failure in WebCore::backgroundRectForBox
2720         https://bugs.webkit.org/show_bug.cgi?id=150232
2721
2722         Reviewed by Simon Fraser.
2723
2724         We should never end up with simple container for composited layer when background-clip: text is present.
2725         (not even when the box has no decoration to paint)
2726
2727         Test: fast/backgrounds/background-clip-text-with-simple-container.html
2728
2729         * rendering/RenderLayerBacking.cpp:
2730         (WebCore::RenderLayerBacking::paintsBoxDecorations):
2731         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2732         (WebCore::backgroundRectForBox):
2733
2734 2015-10-28  Chris Dumez  <cdumez@apple.com>
2735
2736         Use RunLoopTimer in DataURLDecoder to avoid issues related to runloops
2737         https://bugs.webkit.org/show_bug.cgi?id=150609
2738         <rdar://problem/22702894>
2739
2740         Reviewed by Antti Koivisto.
2741
2742         Use RunLoopTimer in DataURLDecoder to avoid issues related to RunLoops.
2743         In particular, the callOnMainThread() call could fail to dispatch the
2744         decoding result to the main thread if the client-side would spin its own
2745         RunLoop.
2746
2747         This is similar to the approach used in DocumentLoader for
2748         DocumentLoaderTimer.
2749
2750         No new tests, verified through manual testing.
2751
2752         * WebCore.xcodeproj/project.pbxproj:
2753         * loader/ResourceLoader.cpp:
2754         (WebCore::ResourceLoader::loadDataURL):
2755         * page/Page.cpp:
2756         (WebCore::Page::Page):
2757         * page/Page.h:
2758         * page/mac/PageMac.mm: Renamed from Source/WebCore/page/mac/PageMac.cpp.
2759         (WebCore::Page::platformInitialize):
2760         (WebCore::Page::addSchedulePair):
2761         (WebCore::Page::removeSchedulePair):
2762         * platform/network/DataURLDecoder.cpp:
2763         (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
2764         (WebCore::DataURLDecoder::DecodingResultDispatcher::DecodingResultDispatcher):
2765         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
2766         (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
2767         (WebCore::DataURLDecoder::createDecodeTask):
2768         (WebCore::DataURLDecoder::decode):
2769         * platform/network/DataURLDecoder.h:
2770
2771 2015-10-28  Brady Eidson  <beidson@apple.com>
2772
2773         Modern IDB: Implement most readonly attributes of IDBObjectStore.
2774         https://bugs.webkit.org/show_bug.cgi?id=150617
2775
2776         Reviewed by Alex Christensen.
2777
2778         Test: storage/indexeddb/modern/objectstore-attributes.html
2779
2780         * Modules/indexeddb/IDBObjectStore.h:
2781
2782         * Modules/indexeddb/client/IDBAnyImpl.cpp:
2783         (WebCore::IDBClient::IDBAny::IDBAny):
2784         * Modules/indexeddb/client/IDBAnyImpl.h:
2785         (WebCore::IDBClient::IDBAny::create):
2786
2787         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2788         (WebCore::IDBClient::IDBObjectStore::name):
2789         (WebCore::IDBClient::IDBObjectStore::keyPathAny):
2790         (WebCore::IDBClient::IDBObjectStore::keyPath):
2791         (WebCore::IDBClient::IDBObjectStore::transaction):
2792         (WebCore::IDBClient::IDBObjectStore::id): Deleted.
2793         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
2794
2795         * Modules/indexeddb/legacy/LegacyObjectStore.h:
2796         (WebCore::LegacyObjectStore::transaction):
2797
2798 2015-10-28  Hunseop Jeong  <hs85.jeong@samsung.com>
2799
2800         Replace 0 and NULL with nullptr in WebCore/editing.
2801         https://bugs.webkit.org/show_bug.cgi?id=150555
2802
2803         Reviewed by Darin Adler.
2804
2805         No new tests because there is no behavior change.
2806
2807         * editing/ApplyStyleCommand.cpp:
2808         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
2809         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
2810         (WebCore::ApplyStyleCommand::applyInlineStyle):
2811         * editing/ApplyStyleCommand.h:
2812         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement):
2813         * editing/CompositeEditCommand.cpp:
2814         (WebCore::CompositeEditCommand::applyCommandToComposite):
2815         (WebCore::CompositeEditCommand::deleteInsignificantText):
2816         * editing/DeleteSelectionCommand.cpp:
2817         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
2818         (WebCore::DeleteSelectionCommand::initializeStartEnd):
2819         * editing/EditCommand.cpp:
2820         (WebCore::EditCommand::EditCommand):
2821         * editing/EditCommand.h:
2822         * editing/EditingStyle.cpp:
2823         (WebCore::HTMLElementEquivalent::HTMLElementEquivalent):
2824         * editing/EditingStyle.h:
2825         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
2826         * editing/Editor.h:
2827         * editing/EditorCommand.cpp:
2828         (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding):
2829         (WebCore::Editor::Command::Command):
2830         * editing/FrameSelection.cpp:
2831         (WebCore::DragCaretController::setCaretPosition):
2832         (WebCore::FrameSelection::directionOfSelection):
2833         * editing/MarkupAccumulator.cpp:
2834         (WebCore::MarkupAccumulator::entityMaskForText):
2835         * editing/MarkupAccumulator.h:
2836         * editing/RenderedPosition.cpp:
2837         (WebCore::rendererFromPosition):
2838         (WebCore::RenderedPosition::RenderedPosition):
2839         * editing/RenderedPosition.h:
2840         (WebCore::RenderedPosition::operator==):
2841         (WebCore::RenderedPosition::uncachedInlineBox):
2842         (WebCore::RenderedPosition::RenderedPosition):
2843         * editing/ReplaceSelectionCommand.cpp:
2844         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
2845         * editing/SetNodeAttributeCommand.cpp:
2846         (WebCore::SetNodeAttributeCommand::doUnapply):
2847         * editing/SmartReplaceCF.cpp:
2848         (WebCore::getSmartSet):
2849         * editing/SpellChecker.cpp:
2850         (WebCore::SpellCheckRequest::SpellCheckRequest):
2851         (WebCore::SpellCheckRequest::didSucceed):
2852         (WebCore::SpellCheckRequest::didCancel):
2853         (WebCore::SpellCheckRequest::setCheckerAndSequence):
2854         (WebCore::SpellCheckRequest::requesterDestroyed):
2855         (WebCore::SpellChecker::SpellChecker):
2856         * editing/SpellChecker.h:
2857         * editing/VisiblePosition.cpp:
2858         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2859         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2860         (WebCore::VisiblePosition::localCaretRect):
2861         (WebCore::enclosingBlockFlowElement):
2862         * editing/VisibleUnits.cpp:
2863         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
2864         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
2865         (WebCore::visualWordPosition):
2866         (WebCore::previousLinePosition):
2867         (WebCore::nextLinePosition):
2868         * editing/htmlediting.cpp:
2869         (WebCore::highestEnclosingNodeOfType):
2870         (WebCore::highestNodeToRemoveInPruning):
2871         * editing/htmlediting.h:
2872         (WebCore::firstPositionInOrBeforeNode):
2873         * editing/ios/EditorIOS.mm:
2874         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
2875         (WebCore::Editor::fontForSelection):
2876         * editing/mac/AlternativeTextUIController.mm:
2877         (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
2878         * editing/mac/EditorMac.mm:
2879         (WebCore::Editor::fontForSelection):
2880         * editing/markup.cpp:
2881         * editing/markup.h:
2882
2883 2015-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2884
2885         [Streams API] Add write method to writable stream
2886         https://bugs.webkit.org/show_bug.cgi?id=150589
2887
2888         Reviewed by Darin Adler.
2889
2890         Write method implemented on writable streams according to the spec.
2891
2892         Current test set suffices. Expectations are updated accordingly.
2893
2894         * Modules/streams/WritableStream.js:
2895         (write):
2896
2897 2015-10-27  Hunseop Jeong  <hs85.jeong@samsung.com>
2898
2899         [Cairo] Incorrect dashed and dotted border painting after r177686.
2900         https://bugs.webkit.org/show_bug.cgi?id=141967
2901
2902         Reviewed by Gyuyoung Kim.
2903
2904         Fix the incorrect dashed/dotted border painting in cairo.
2905
2906         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2907         (WebCore::GraphicsContext::drawLine):
2908         (WebCore::calculateStrokePatternOffset): Deleted.
2909         (WebCore::drawLineOnCairoContext): Deleted.
2910
2911 2015-10-27  Chris Dumez  <cdumez@apple.com>
2912
2913         id of iframe incorrectly sets window name
2914         https://bugs.webkit.org/show_bug.cgi?id=150565
2915
2916         Reviewed by Darin Adler.
2917
2918         As per the specification, the iframe's contentWindow name should be an
2919         empty string if the frame's name attribute is unset:
2920         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-name
2921
2922         Instead, WebKit was using the iframe's id as window name if the name
2923         was unset.
2924
2925         Firefox, IE and Chrome behave according to the specification.
2926
2927         This is a merge of the following Blink commit:
2928         https://src.chromium.org/viewvc/blink?revision=169803&view=revision
2929
2930         Test: fast/frames/iframe-no-name.html
2931
2932         * html/HTMLFrameElementBase.cpp:
2933         (WebCore::HTMLFrameElementBase::parseAttribute):
2934         (WebCore::HTMLFrameElementBase::insertedInto): Deleted.
2935
2936 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
2937
2938         Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
2939         https://bugs.webkit.org/show_bug.cgi?id=150615
2940
2941         Reviewed by Timothy Hatcher.
2942
2943         The timestamp only event data is already available from `Page.domContentEventFired`
2944         and `Page.loadEventFired` events. We can drop the Timeline specific events in
2945         favor of these which have existed for a very long time (before iOS 7).
2946
2947         * inspector/InspectorInstrumentation.cpp:
2948         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
2949         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Deleted.
2950         * inspector/InspectorTimelineAgent.cpp:
2951         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): Deleted.
2952         (WebCore::InspectorTimelineAgent::didMarkLoadEvent): Deleted.
2953         (WebCore::toProtocol): Deleted.
2954         * inspector/InspectorTimelineAgent.h:
2955         * inspector/TimelineRecordFactory.cpp:
2956         (WebCore::TimelineRecordFactory::createMarkData): Deleted.
2957         * inspector/TimelineRecordFactory.h:
2958
2959 2015-10-27  Jiewen Tan  <jiewen_tan@apple.com>
2960
2961         Null dereference loading Blink layout test editing/execCommand/format-block-uneditable-crash.html
2962         https://bugs.webkit.org/show_bug.cgi?id=150207
2963         <rdar://problem/23137066>
2964
2965         Reviewed by Enrica Casucci.
2966
2967         This is a merge of Blink r200238:
2968         https://codereview.chromium.org/1280263002
2969
2970         Test: editing/execCommand/format-block-uneditable-crash.html
2971
2972         * editing/ApplyBlockElementCommand.cpp:
2973         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
2974         splitTextNode() will return early if the given text node is not editable. Hence, check
2975         its editablity before calling the method.
2976
2977 2015-10-27  Brady Eidson  <beidson@apple.com>
2978
2979         Modern IDB: IDBTransaction.objectStore() support.
2980         https://bugs.webkit.org/show_bug.cgi?id=150607
2981
2982         Reviewed by Alex Christensen.
2983
2984         Tests: storage/indexeddb/modern/aborted-put.html
2985                storage/indexeddb/modern/idbtransaction-objectstore-failures.html
2986
2987         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2988         (WebCore::IDBClient::IDBObjectStore::put):
2989         
2990         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2991         (WebCore::IDBClient::IDBTransaction::objectStore):
2992         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
2993         * Modules/indexeddb/client/IDBTransactionImpl.h:
2994         
2995         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2996         (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingObjectStore):
2997         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
2998         
2999         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3000         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
3001         
3002         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
3003         (WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
3004         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
3005         
3006         * Modules/indexeddb/shared/IDBTransactionInfo.h:
3007         (WebCore::IDBTransactionInfo::objectStores):
3008
3009 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
3010
3011         Web Inspector: Remove unused / duplicated XHR timeline instrumentation
3012         https://bugs.webkit.org/show_bug.cgi?id=150605
3013
3014         Reviewed by Timothy Hatcher.
3015
3016         These records are just duplicates of "EventDispatch" records for XHR
3017         load and readystatechange events. Due to the nesting, the XHR records
3018         were themselves never getting looked at, and their data (URL / readyState)
3019         not shown in the frontend.
3020
3021         * inspector/InspectorInstrumentation.cpp:
3022         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl): Deleted.
3023         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl): Deleted.
3024         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl): Deleted.
3025         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl): Deleted.
3026         * inspector/InspectorInstrumentation.h:
3027         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): Deleted.
3028         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent): Deleted.
3029         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): Deleted.
3030         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent): Deleted.
3031         * inspector/InspectorTimelineAgent.cpp:
3032         (WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent): Deleted.
3033         (WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent): Deleted.
3034         (WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent): Deleted.
3035         (WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent): Deleted.
3036         (WebCore::toProtocol): Deleted.
3037         * inspector/InspectorTimelineAgent.h:
3038         * inspector/TimelineRecordFactory.cpp:
3039         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): Deleted.
3040         (WebCore::TimelineRecordFactory::createXHRLoadData): Deleted.
3041         * inspector/TimelineRecordFactory.h:
3042         * xml/XMLHttpRequest.cpp:
3043         (WebCore::XMLHttpRequest::callReadyStateChangeListener): Deleted.
3044
3045 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
3046
3047         Web Inspector: Do not send RenderingFrame TimelineRecords that have no children
3048         https://bugs.webkit.org/show_bug.cgi?id=150600
3049
3050         Reviewed by Timothy Hatcher.
3051
3052         * inspector/InspectorTimelineAgent.cpp:
3053         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3054         The frontend already filters out empty RenderingFrame records
3055         (in TimelineManager.prototype._processRecord). Filter them out
3056         on the backend to reduce protocol traffic / noise.
3057
3058 2015-10-27  Alex Christensen  <achristensen@webkit.org>
3059
3060         Cancel navigation policy checks like we do content policy checks.
3061         https://bugs.webkit.org/show_bug.cgi?id=150582
3062         rdar://problem/22077579
3063
3064         Reviewed by Brent Fulgham.
3065
3066         This was verified manually and I'll write a layout test for it soon.
3067
3068         * loader/DocumentLoader.cpp:
3069         (WebCore::DocumentLoader::DocumentLoader):
3070         (WebCore::DocumentLoader::~DocumentLoader):
3071         (WebCore::DocumentLoader::willSendRequest):
3072         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
3073         (WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):
3074         * loader/DocumentLoader.h:
3075         Add a bool to keep track of whether we are waiting for navigation policy checks, like we do with content policy checks.
3076         Without this check, sometimes callbacks are made to DocumentLoaders that do not exist any more because they do not get
3077         cancelled by cancelPolicyCheckIfNeeded when detaching from the frame.
3078
3079 2015-10-27  Brady Eidson  <beidson@apple.com>
3080
3081         Modern IDB: Support IDBObjectStore.put/get support.
3082         https://bugs.webkit.org/show_bug.cgi?id=150468
3083
3084         Reviewed by Alex Christensen.
3085
3086         Tests: storage/indexeddb/modern/basic-put.html
3087                storage/indexeddb/modern/keypath-basic.html
3088
3089         * CMakeLists.txt:
3090         * WebCore.xcodeproj/project.pbxproj:
3091
3092         * Modules/indexeddb/IDBKeyData.cpp:
3093         (WebCore::IDBKeyData::deletedValue):
3094         (WebCore::IDBKeyData::operator<):
3095         (WebCore::IDBKeyData::operator==):
3096         * Modules/indexeddb/IDBKeyData.h:
3097         (WebCore::IDBKeyData::isValid):
3098         (WebCore::IDBKeyData::operator!=):
3099         (WebCore::IDBKeyData::hash):
3100         (WebCore::IDBKeyData::isDeletedValue):
3101         (WebCore::IDBKeyDataHash::hash):
3102         (WebCore::IDBKeyDataHash::equal):
3103         (WebCore::IDBKeyDataHashTraits::constructDeletedValue):
3104         (WebCore::IDBKeyDataHashTraits::isDeletedValue):
3105         (WebCore::IDBKeyDataHashTraits::emptyValue):
3106         (WebCore::IDBKeyDataHashTraits::isEmptyValue):
3107
3108         * Modules/indexeddb/IndexedDB.h:
3109
3110         * Modules/indexeddb/client/IDBAnyImpl.cpp:
3111         (WebCore::IDBClient::IDBAny::IDBAny):
3112         (WebCore::IDBClient::IDBAny::modernIDBObjectStore):
3113         * Modules/indexeddb/client/IDBAnyImpl.h:
3114         (WebCore::IDBClient::IDBAny::create):
3115
3116         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3117         (WebCore::IDBClient::IDBConnectionToServer::createObjectStore):
3118         (WebCore::IDBClient::IDBConnectionToServer::didCreateObjectStore):
3119         (WebCore::IDBClient::IDBConnectionToServer::putOrAdd):
3120         (WebCore::IDBClient::IDBConnectionToServer::didPutOrAdd):
3121         (WebCore::IDBClient::IDBConnectionToServer::getRecord):
3122         (WebCore::IDBClient::IDBConnectionToServer::didGetRecord):
3123         (WebCore::IDBClient::IDBConnectionToServer::saveOperation):
3124         (WebCore::IDBClient::IDBConnectionToServer::completeOperation):
3125         * Modules/indexeddb/client/IDBConnectionToServer.h:
3126         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3127
3128         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3129         (WebCore::IDBClient::IDBObjectStore::autoIncrement):
3130         (WebCore::IDBClient::IDBObjectStore::put):
3131         (WebCore::IDBClient::IDBObjectStore::get):
3132         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
3133         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
3134         (WebCore::IDBClient::IDBObjectStore::info):
3135
3136         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
3137         (WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest): Deleted.
3138
3139         * Modules/indexeddb/client/IDBRequestImpl.cpp:
3140         (WebCore::IDBClient::IDBRequest::create):
3141         (WebCore::IDBClient::IDBRequest::IDBRequest):
3142         (WebCore::IDBClient::IDBRequest::sourceObjectStoreIdentifier):
3143         (WebCore::IDBClient::IDBRequest::hasPendingActivity):
3144         (WebCore::IDBClient::IDBRequest::dispatchEvent):
3145         (WebCore::IDBClient::IDBRequest::setResult):
3146         (WebCore::IDBClient::IDBRequest::setResultToStructuredClone):
3147         (WebCore::IDBClient::IDBRequest::requestCompleted):
3148         (WebCore::IDBClient::IDBRequest::onError):
3149         (WebCore::IDBClient::IDBRequest::onSuccess):
3150         * Modules/indexeddb/client/IDBRequestImpl.h:
3151
3152         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3153         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
3154         (WebCore::IDBClient::IDBTransaction::hasPendingActivity):
3155         (WebCore::IDBClient::IDBTransaction::isActive):
3156         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
3157         (WebCore::IDBClient::IDBTransaction::commit):
3158         (WebCore::IDBClient::IDBTransaction::didAbort):
3159         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
3160         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3161         (WebCore::IDBClient::IDBTransaction::getRecordOnServer):
3162         (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
3163         (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
3164         (WebCore::IDBClient::IDBTransaction::putOrAddOnServer):
3165         (WebCore::IDBClient::IDBTransaction::didPutOrAddOnServer):
3166         (WebCore::IDBClient::IDBTransaction::activate):
3167         (WebCore::IDBClient::IDBTransaction::deactivate):
3168         * Modules/indexeddb/client/IDBTransactionImpl.h:
3169         (WebCore::IDBClient::IDBTransaction::isReadOnly):
3170         (WebCore::IDBClient::TransactionActivator::TransactionActivator):
3171         (WebCore::IDBClient::TransactionActivator::~TransactionActivator):
3172
3173         * Modules/indexeddb/client/TransactionOperation.cpp: 
3174         (WebCore::IDBClient::TransactionOperation::TransactionOperation):
3175         * Modules/indexeddb/client/TransactionOperation.h:
3176         (WebCore::IDBClient::TransactionOperation::objectStoreIdentifier):
3177         (WebCore::IDBClient::TransactionOperation::transaction):
3178         (WebCore::IDBClient::createTransactionOperation):
3179
3180         * Modules/indexeddb/server/IDBBackingStore.h:
3181         
3182         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
3183         (WebCore::IDBServer::IDBConnectionToClient::didPutOrAdd):
3184         (WebCore::IDBServer::IDBConnectionToClient::didGetRecord):
3185         * Modules/indexeddb/server/IDBConnectionToClient.h:
3186         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
3187
3188         * Modules/indexeddb/server/IDBServer.cpp:
3189         (WebCore::IDBServer::IDBServer::putOrAdd):
3190         (WebCore::IDBServer::IDBServer::getRecord):
3191         * Modules/indexeddb/server/IDBServer.h:
3192
3193         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
3194         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
3195         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
3196         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
3197
3198         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3199         (WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
3200         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord):
3201         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
3202         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
3203         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3204
3205         * Modules/indexeddb/server/MemoryObjectStore.cpp:
3206         (WebCore::IDBServer::MemoryObjectStore::containsRecord):
3207         (WebCore::IDBServer::MemoryObjectStore::deleteRecord):
3208         (WebCore::IDBServer::MemoryObjectStore::putRecord):
3209         (WebCore::IDBServer::MemoryObjectStore::valueForKey):
3210         * Modules/indexeddb/server/MemoryObjectStore.h:
3211
3212         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3213         (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
3214         (WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
3215         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
3216         (WebCore::IDBServer::UniqueIDBDatabase::didPerformPutOrAdd):
3217         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
3218         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
3219         (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetRecord):
3220         (WebCore::IDBServer::UniqueIDBDatabase::performKeyDataCallback):
3221         (WebCore::IDBServer::UniqueIDBDatabase::performValueDataCallback):
3222         * Modules/indexeddb/server/UniqueIDBDatabase.h:
3223
3224         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
3225         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::isReadOnly):
3226         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
3227         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
3228         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
3229
3230         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
3231         (WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
3232         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
3233
3234         * Modules/indexeddb/shared/IDBError.cpp:
3235         (WebCore::idbErrorName):
3236         (WebCore::idbErrorDescription):
3237         * Modules/indexeddb/shared/IDBError.h:
3238
3239         * Modules/indexeddb/shared/IDBRequestData.cpp:
3240         (WebCore::IDBRequestData::IDBRequestData):
3241         (WebCore::IDBRequestData::serverConnectionIdentifier):
3242         (WebCore::IDBRequestData::objectStoreIdentifier):
3243         * Modules/indexeddb/shared/IDBRequestData.h:
3244
3245         * Modules/indexeddb/shared/IDBResultData.cpp:
3246         (WebCore::IDBResultData::IDBResultData):
3247         (WebCore::IDBResultData::putOrAddSuccess):
3248         (WebCore::IDBResultData::getRecordSuccess):
3249         * Modules/indexeddb/shared/IDBResultData.h:
3250         (WebCore::IDBResultData::resultKey):
3251         (WebCore::IDBResultData::resultData):
3252
3253         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3254         (WebCore::InProcessIDBServer::didPutOrAdd):
3255         (WebCore::InProcessIDBServer::didGetRecord):
3256         (WebCore::InProcessIDBServer::putOrAdd):
3257         (WebCore::InProcessIDBServer::getRecord):
3258         * Modules/indexeddb/shared/InProcessIDBServer.h:
3259
3260         * bindings/js/IDBBindingUtilities.cpp:
3261         (WebCore::idbKeyToJSValue):
3262         (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
3263         (WebCore::canInjectIDBKeyIntoScriptValue):
3264         (WebCore::deserializeIDBValueData):
3265         (WebCore::scriptValueToIDBKey):
3266         (WebCore::idbKeyDataToScriptValue):
3267         * bindings/js/IDBBindingUtilities.h:
3268
3269         * platform/CrossThreadCopier.cpp:
3270         (WebCore::ThreadSafeDataBuffer>::copy):
3271         * platform/CrossThreadCopier.h:
3272
3273         * platform/ThreadSafeDataBuffer.h: Added.
3274         (WebCore::ThreadSafeDataBufferImpl::ThreadSafeDataBufferImpl):
3275         (WebCore::ThreadSafeDataBuffer::adoptVector):
3276         (WebCore::ThreadSafeDataBuffer::copyVector):
3277         (WebCore::ThreadSafeDataBuffer::ThreadSafeDataBuffer):
3278         (WebCore::ThreadSafeDataBuffer::data):
3279
3280 2015-10-27  Tim Horton  <timothy_horton@apple.com>
3281
3282         WKView being inside WKWebView leads to weird API issues
3283         https://bugs.webkit.org/show_bug.cgi?id=150174
3284
3285         Reviewed by Anders Carlsson.
3286
3287         * platform/spi/cg/CoreGraphicsSPI.h:
3288
3289 2015-10-27  Zhuo Li  <zachli@apple.com>
3290
3291         Add WebKit API to clear data type Search Field Recent Searches.
3292         https://bugs.webkit.org/show_bug.cgi?id=150019.
3293
3294         Reviewed by Anders Carlsson.
3295
3296         * platform/cocoa/SearchPopupMenuCocoa.h: Add a function to remove recent searches based on
3297         time.
3298         * platform/cocoa/SearchPopupMenuCocoa.mm:
3299         (WebCore::typeCheckedRecentSearchesArray): Return nil if the recent searches array is
3300         corrupted, otherwise return the array.
3301         (WebCore::typeCheckedDateInRecentSearch): Return nil if the date in recent search is
3302         corrupted, otherwise return the date.
3303         (WebCore::typeCheckedRecentSearchesRemovingRecentSearchesAddedAfterDate): Return nil if the recent searches plist is
3304         corrupted, otherwise return the recent searches plist.
3305         (WebCore::writeEmptyRecentSearchesPlist): Replace the existing recent searches plist if there is
3306         any with a clean one.
3307         (WebCore::loadRecentSearches): Use -typeCheckedRecentSearchesArray and -typeCheckedDateInRecentSearch.
3308         (WebCore::removeRecentlyModifiedRecentSearches):
3309         When the time passed in is equivalent to [NSDate distantPast], clear all recent searches in
3310         the Recent Searches plist. Otherwise, we only clear the recent searches that were created
3311         after or at the time that is passed in as the parameter. If all recent searches associated
3312         with an autosave name were created after or at the time that is passed in as the parameter,
3313         remove this autosave name key and all of its values in the plist. If all recent searches
3314         associated with every autosave name in the plist were created after or at the time that is
3315         passed in as the parameter, clear all recent searches in the Recent Searches plist.
3316
3317         Also, we clear all recent searches in the Recent Searches plist when we find the plist is
3318         corrupted.
3319
3320 2015-10-27  Keith Rollin  <krollin@apple.com>
3321
3322         Do not sanitize user input for input[type=url]
3323         https://bugs.webkit.org/show_bug.cgi?id=150346
3324         <rdar://problem/23243240>
3325
3326         Reviewed by Darin Adler.
3327
3328         Do not sanitize user input in text-based input fields that support
3329         the Selection API, in order to not break JavaScript code that expects
3330         element.value to match what's on the screen.
3331
3332         Test: fast/forms/input-user-input-sanitization.html
3333
3334         * html/TextFieldInputType.cpp:
3335         (WebCore::TextFieldInputType::subtreeHasChanged):
3336
3337 2015-10-20  Zalan Bujtas  <zalan@apple.com>
3338
3339         Subpixel layout: Convert RenderTable* and AutoTableLayout to use LayoutUnit.
3340         https://bugs.webkit.org/show_bug.cgi?id=149366
3341
3342         Reviewed by David Hyatt.
3343
3344         This patch enables non-integral cell space distribution for both
3345         auto and fixed table layout.
3346         Due to the tight layout, float is used to calculate each cell's dimension/position and
3347         we convert them to LayoutUnits while said values are set on the renderer.
3348         Due to the (lack of) LayoutUnit precision, a fudge factor is applied on table cell's minimum width.   
3349
3350         Collapsed table borders are still integral based, tracked here: webkit.org/b/150383
3351
3352         Covered by existing tests.
3353
3354         (WebCore::RenderTableSection::firstLineBaseline): Baseline is still integral (same as normal line layout)
3355         * rendering/RenderTreeAsText.cpp: flooring produces the least amount of rebaseline diff (still over 1200 tests). It doesn't really matter which direction we round
3356         as long as it is consistent.
3357         (WebCore::writeTextRun):
3358         (WebCore::writeSimpleLine):
3359         * platform/graphics/LayoutRect.h:
3360         (WebCore::LayoutRect::LayoutRect):
3361         * rendering/AutoTableLayout.cpp:
3362         (WebCore::AutoTableLayout::recalcColumn):
3363         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
3364         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
3365         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
3366         (WebCore::AutoTableLayout::layout):
3367         * rendering/AutoTableLayout.h:
3368         * rendering/FixedTableLayout.cpp:
3369         (WebCore::FixedTableLayout::calcWidthArray):
3370         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
3371         (WebCore::FixedTableLayout::layout):
3372         * rendering/FixedTableLayout.h:
3373         * rendering/RenderBlock.cpp:
3374         (WebCore::RenderBlock::computePreferredLogicalWidths):
3375         * rendering/RenderTable.cpp:
3376         (WebCore::RenderTable::updateLogicalWidth):
3377         (WebCore::RenderTable::distributeExtraLogicalHeight):
3378         (WebCore::RenderTable::layout):
3379         (WebCore::RenderTable::addOverflowFromChildren):
3380         (WebCore::RenderTable::computePreferredLogicalWidths):
3381         (WebCore::RenderTable::offsetWidthForColumn):
3382         (WebCore::RenderTable::calcBorderStart):
3383         (WebCore::RenderTable::calcBorderEnd):
3384         (WebCore::RenderTable::outerBorderBefore):
3385         (WebCore::RenderTable::outerBorderAfter):
3386         (WebCore::RenderTable::outerBorderStart):
3387         (WebCore::RenderTable::outerBorderEnd):
3388         * rendering/RenderTable.h:
3389         (WebCore::RenderTable::hBorderSpacing):
3390         (WebCore::RenderTable::vBorderSpacing):
3391         (WebCore::RenderTable::outerBorderLeft):
3392         (WebCore::RenderTable::outerBorderRight):
3393         (WebCore::RenderTable::outerBorderTop):
3394         (WebCore::RenderTable::outerBorderBottom):
3395         (WebCore::RenderTable::columnPositions):
3396         (WebCore::RenderTable::setColumnPosition):
3397         * rendering/RenderTableCell.cpp:
3398         (WebCore::RenderTableCell::logicalWidthFromColumns):
3399         (WebCore::RenderTableCell::computeIntrinsicPadding):
3400         (WebCore::RenderTableCell::setCellLogicalWidth):
3401         (WebCore::RenderTableCell::layout):
3402         (WebCore::RenderTableCell::paddingTop):
3403         (WebCore::RenderTableCell::paddingBottom):
3404         (WebCore::RenderTableCell::paddingLeft):
3405         (WebCore::RenderTableCell::paddingRight):
3406         (WebCore::RenderTableCell::paddingBefore):
3407         (WebCore::RenderTableCell::paddingAfter):
3408         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3409         (WebCore::RenderTableCell::borderLeft):
3410         (WebCore::RenderTableCell::borderRight):